Browse Source

销售帮忙第二次确认

wjj 5 days ago
parent
commit
cd6c0914c6

+ 3 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsUserInformationCollectionService.java

@@ -93,4 +93,7 @@ public interface IFsUserInformationCollectionService extends IService<FsUserInfo
     FsUserInformationCollectionVO getCollectionByUserId(Long userId);
 
     R stopCollection(FsUserInformationCollectionSchedule param, Long operateId);
+
+    //销售帮助客户二次确认
+    R salesHelpConfirm(Long collectionId);
 }

+ 52 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -654,6 +654,10 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
                 return R.error("用户已确认");
             }
         }
+        if (collection.getStatus() == 2 ){
+            if (collection.getUserConfirm2() == 1)
+                return R.error("用户已二次确认");
+        }
         logger.info("采集信息id:{},采集信息用户id{},当前登录用户id{}",param.getId(),collection.getUserId(),param.getUserId());
         if (!Objects.equals(collection.getUserId(), param.getUserId())) {
             return R.error("用户信息不匹配,无法确认");
@@ -984,6 +988,54 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         return R.error("终止失败");
     }
 
+    @Override
+    @Transactional
+    public R salesHelpConfirm(Long collectionId) {
+        if (collectionId == null) {
+            return R.error("参数错误");
+        }
+        FsUserInformationCollection collection = fsUserInformationCollectionMapper.selectFsUserInformationCollectionById(collectionId);
+        if (collection == null) {
+            return R.error("未找到采集信息");
+        }
+        if (collection.getStatus() == 2 && collection.getUserConfirm2() == 1) {
+            return R.error("采集信息已二次确认");
+        }
+        FsUserInformationCollectionSchedule schedule = scheduleMapper.selectSecondConfirmScheduleByCollectionId(collectionId);
+        if (schedule == null) {
+            return R.error("没有二次确认进度任务");
+        }
+        //第二次确认
+        FsUserInformationCollection editCollection = new FsUserInformationCollection();
+        editCollection.setId(collectionId);
+        editCollection.setUserConfirm2(1);
+        if (collection.getUserConfirm2() == 0 && collection.getIsPackage() == 1) {
+            FsStoreOrder fsStoreOrder = storeOrderService.selectFsStoreOrderByOrderCode(collection.getPackageOrderCode());
+            if (fsStoreOrder != null) {
+                FsStoreOrder editOrder   = new FsStoreOrder();
+                editOrder.setOrderId(fsStoreOrder.getOrderId());
+                editOrder.setIsConfirm(1);
+                storeOrderService.updateFsStoreOrder(editOrder);
+            } else {
+                return R.error("没有找到订单");
+            }
+        }
+        FsUserInformationCollectionSchedule editSchedule = new FsUserInformationCollectionSchedule();
+        //----------同步修改用户信息采集进度----------
+        editSchedule.setId(schedule.getId());
+        //"已完成"任务节点
+        editSchedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_COMPLETED.getCode());
+        //"完成"任务状态
+        editSchedule.setStatus(CollectionTaskStatusEnum.COMPLETED.getCode());
+        editSchedule.setCompletedTime(DateUtils.getNowDate());
+        log.info("同步用户信息采集进度节点为:{},信息采集表id:{}",PrescriptionTaskStepEnum.WAITING_COMPLETED.getDesc(),schedule.getCollectionId());
+        if (fsUserInformationCollectionMapper.updateFsUserInformationCollection(editCollection) > 0 && scheduleMapper.updateFsUserInformationCollectionSchedule(editSchedule) > 0) {
+            return R.ok();
+        }
+        return R.error("确认失败");
+
+    }
+
     private List<AnswerVO> getAnswerVOs(List<AnswerVO> target,List<AnswerVO> source) {
         target.addAll(source);
         return target.stream()

+ 4 - 0
fs-service/src/main/java/com/fs/qw/mapper/FsUserInformationCollectionScheduleMapper.java

@@ -2,6 +2,7 @@ package com.fs.qw.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.his.domain.FsUserInformationCollectionSchedule;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -90,4 +91,7 @@ public interface FsUserInformationCollectionScheduleMapper extends BaseMapper<Fs
      * @return 结果
      */
     int deleteFsUserInformationCollectionScheduleByIds(Long[] ids);
+
+    @Select("SELECT * FROM fs_user_information_collection_schedule WHERE collection_id = #{collectionId} AND current_step = 5 AND `status` = 1")
+    FsUserInformationCollectionSchedule selectSecondConfirmScheduleByCollectionId(Long collectionId);
 }