Kaynağa Gözat

feat:自提订单功能优化

caoliqin 1 hafta önce
ebeveyn
işleme
97b5204386

+ 4 - 0
fs-service/src/main/java/com/fs/course/param/FsCourseQuestionAnswerUParam.java

@@ -33,5 +33,9 @@ public class FsCourseQuestionAnswerUParam implements Serializable
     private Long periodId;
     private Integer isOpen;
     private String appCustomerId;//客服id
+    /**
+     * 来源类型,0-sop,1-欢迎语
+     */
+    private Integer sourceType;
 
 }

+ 5 - 0
fs-service/src/main/java/com/fs/course/param/FsCourseSendRewardUParam.java

@@ -58,4 +58,9 @@ public class FsCourseSendRewardUParam implements Serializable
 
     private String appCustomerId;//客服id
 
+    /**
+     * 来源类型,0-sop,1-欢迎语
+     */
+    private Integer sourceType;
+
 }

+ 2 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsCourseQuestionBankServiceImpl.java

@@ -1596,7 +1596,8 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
 
         AppCourseWatchLog log = appCourseWatchLogMapper.selectOne(new LambdaQueryWrapper<AppCourseWatchLog>().eq(AppCourseWatchLog::getUserId, param.getUserId())
                 .eq(AppCourseWatchLog::getVideoId, param.getVideoId())
-                .eq(AppCourseWatchLog::getAppCustomerId, param.getAppCustomerId()));
+                .eq(AppCourseWatchLog::getAppCustomerId, param.getAppCustomerId())
+                .eq(AppCourseWatchLog::getSourceType, param.getSourceType()));
         if (log==null){
             return R.error("无记录");
         }

+ 1 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1409,7 +1409,7 @@ public class FsUserCourseVideoServiceImpl extends ServiceImpl<FsUserCourseVideoM
             return R.error(401,"请重新授权!");
         }
         AppCourseWatchLog watchLog = appCourseWatchLogMapper.selectOne(new LambdaQueryWrapper<AppCourseWatchLog>().eq(AppCourseWatchLog::getUserId, param.getUserId()).eq(AppCourseWatchLog::getVideoId, param.getVideoId())
-                .eq(AppCourseWatchLog::getAppCustomerId, param.getAppCustomerId()));
+                .eq(AppCourseWatchLog::getAppCustomerId, param.getAppCustomerId()).eq(AppCourseWatchLog::getSourceType, param.getSourceType()));
 //        FsCourseWatchLog watchLog = appCourseWatchLogMapper.getWatchCourseVideo(param.getUserId(),param.getVideoId(),param.getQwUserId(),param.getQwExternalId());
         if (Objects.isNull(watchLog)) {
             return R.error("无记录");

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreOrderScrm.java

@@ -206,7 +206,7 @@ public class FsStoreOrderScrm extends BaseEntity
     private String itemJson;
 
     // 直播订单类型:2
-    /**订单类型(0商城,2直播,3点播,5直播中奖,6秒杀,7限时折扣)
+    /**订单类型(0商城,2直播,3点播,5直播中奖,6秒杀,7限时折扣,10-商城自提订单)
      */
     private Integer orderType;
 

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserRecordMapper.java

@@ -35,6 +35,8 @@ public interface FsStoreProductUserRecordMapper extends BaseMapper<FsStoreProduc
 
     FsStoreProductUserTemp selectUserTempByProductId(Long productId);
 
+    FsStoreProductUserRecord selectLatestByUserId(Long userId);
+
     /**
      * 新增商品信息采集记录
      *

+ 12 - 15
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderPickServiceImpl.java

@@ -27,19 +27,8 @@ import com.fs.his.mapper.MerchantAppConfigMapper;
 import com.fs.his.service.IFsUserService;
 import com.fs.his.utils.PhoneUtil;
 import com.fs.his.utils.qrcode.QRCodeUtils;
-import com.fs.hisStore.domain.FsStoreOrderItemScrm;
-import com.fs.hisStore.domain.FsStoreOrderPick;
-import com.fs.hisStore.domain.FsStoreOrderScrm;
-import com.fs.hisStore.domain.FsStorePaymentScrm;
-import com.fs.hisStore.domain.FsStoreProductScrm;
-import com.fs.hisStore.domain.FsStoreRedeemedRecord;
-import com.fs.hisStore.domain.FsUserAddressScrm;
-import com.fs.hisStore.domain.FsUserScrm;
-import com.fs.hisStore.mapper.FsStorePaymentScrmMapper;
-import com.fs.hisStore.mapper.FsStoreOrderItemScrmMapper;
-import com.fs.hisStore.mapper.FsStoreOrderPickMapper;
-import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
-import com.fs.hisStore.mapper.FsUserAddressScrmMapper;
+import com.fs.hisStore.domain.*;
+import com.fs.hisStore.mapper.*;
 import com.fs.hisStore.param.FsStoreOrderPickAddParam;
 import com.fs.hisStore.param.FsStoreOrderPickComputeParam;
 import com.fs.hisStore.param.FsStoreOrderPickPayParam;
@@ -127,6 +116,8 @@ public class FsStoreOrderPickServiceImpl extends ServiceImpl<FsStoreOrderPickMap
     private WxPayProperties wxPayProperties;
     @Autowired
     private IFsStoreRedeemedRecordService fsStoreRedeemedRecordService;
+    @Autowired
+    private FsStoreProductUserRecordMapper fsStoreProductUserRecordMapper;
 
     /**
      * 查询自提商品订单
@@ -250,13 +241,19 @@ public class FsStoreOrderPickServiceImpl extends ServiceImpl<FsStoreOrderPickMap
         } else {
             order.setShippingType(2);
         }
-        order.setOrderType(8);
+        order.setOrderType(10);
         order.setIsPickup(1);
         order.setRedeemedStatus(1);
         order.setCompanyId(param.getCompanyId());
         order.setCompanyUserId(param.getCompanyUserId());
         order.setDeptId(param.getDeptId());
-        order.setUserRecordId(param.getUserRecordId());
+
+        // 根据用户id获取用户的信息采集id
+        FsStoreProductUserRecord fsStoreProductUserRecord = fsStoreProductUserRecordMapper.selectLatestByUserId(user.getUserId());
+        if(fsStoreProductUserRecord == null){
+            return R.error("请先填写信息采集信息");
+        }
+        order.setUserRecordId(fsStoreProductUserRecord.getId());
         order.setCreateTime(DateUtils.getNowDate());
         int rows = fsStoreOrderScrmMapper.insertFsStoreOrder(order);
         if (rows <= 0 || order.getId() == null) {

+ 8 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserRecord/FsStoreProductUserRecordMapper.xml

@@ -70,6 +70,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
+    <select id="selectLatestByUserId" parameterType="Long" resultMap="FsStoreProductUserRecordResult">
+        <include refid="selectFsStoreProductUserRecordVo"/>
+        where user_id = #{userId}
+          and is_del = 0
+        order by id desc
+        limit 1
+    </select>
+
     <select id="selectFsStoreProductUserRecordDetailById" parameterType="Long" resultType="com.fs.hisStore.vo.FsStoreProductUserRecordVO">
         <include refid="selectFsStoreProductUserRecordJoinVo"/>
         where r.id = #{id}