Forráskód Böngészése

手写信息采集关联商城订单

cgp 7 órája
szülő
commit
10b65fef2b

+ 2 - 2
fs-company/src/main/java/com/fs/company/controller/handwrite/HandwriteCollectionController.java

@@ -76,11 +76,11 @@ public class HandwriteCollectionController extends BaseController
         //获取当前登录用户
         Long currentUserId = SecurityUtils.getLoginUser().getUser().getUserId();
         handwriteCollection.setCompanyUserId(currentUserId);
-        return toAjax(handwriteCollectionService.insertHandwriteCollection(handwriteCollection));
+        return toAjax(handwriteCollectionService.addCollectionAndUpdateOrderStatus(handwriteCollection));
     }
 
     /**
-     * 新增手写信息采集表并更新商城订单状态
+     * 新增手写信息采集并更新商城订单关联的手写信息采集id
      */
     @PostMapping("/addCollectionAndUpdateOrderStatus")
     public AjaxResult addCollectionAndUpdateOrderStatus(@RequestBody HandwriteCollection handwriteCollection)

+ 8 - 0
fs-service/src/main/java/com/fs/handwrite/mapper/HandwriteCollectionMapper.java

@@ -58,4 +58,12 @@ public interface HandwriteCollectionMapper
      * @return 结果
      */
     public int deleteHandwriteCollectionByIds(Integer[] ids);
+
+    /**
+     * 根据id查询手写信息采集表
+     *
+     * @param ids 手写信息采集表主键
+     * @return 手写信息采集表集合
+     */
+    List<HandwriteCollection> selectHandwriteCollectionListByIds(Integer[] ids);
 }

+ 1 - 1
fs-service/src/main/java/com/fs/handwrite/service/IHandwriteCollectionService.java

@@ -42,7 +42,7 @@ public interface IHandwriteCollectionService
     public int insertHandwriteCollection(HandwriteCollection handwriteCollection);
 
     /**
-     * 新增手写信息采集表并更新商城订单状态
+     * 新增手写信息采集并更新商城订单关联的手写信息采集id
      *
      * @param handwriteCollection 手写信息采集表
      * @return 结果

+ 22 - 5
fs-service/src/main/java/com/fs/handwrite/service/impl/HandwriteCollectionServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 手写信息采集表Service业务层处理
@@ -67,8 +68,9 @@ public class HandwriteCollectionServiceImpl implements IHandwriteCollectionServi
     @Override
     public int insertHandwriteCollection(HandwriteCollection handwriteCollection)
     {
-        handwriteCollection.setCreateTime(new Date());
-        handwriteCollection.setUpdateTime(new Date());
+        Date currentTime = DateUtils.getNowDate();
+        handwriteCollection.setCreateTime(currentTime);
+        handwriteCollection.setUpdateTime(currentTime);
         handwriteCollection.setCreateBy(handwriteCollection.getCompanyUserId());
         handwriteCollection.setUpdateBy(handwriteCollection.getCompanyUserId());
         try {
@@ -96,7 +98,6 @@ public class HandwriteCollectionServiceImpl implements IHandwriteCollectionServi
         FsStoreOrderScrm fsStoreOrder=new FsStoreOrderScrm();
         fsStoreOrder.setOrderCode(handwriteCollection.getOrderCode());
         fsStoreOrder.setHandleCollectionId(handwriteCollection.getId());
-        //TODO 需要设置推送订单表的状态为已绑定信息采集标识
         return storeOrderScrmMapper.updateFsStoreOrderByOrderCode(fsStoreOrder);
     }
 
@@ -108,15 +109,31 @@ public class HandwriteCollectionServiceImpl implements IHandwriteCollectionServi
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int deleteHandwriteCollectionByIds(Integer[] ids)
     {
+        //删除之前先去查询订单信息,将订单关联的的手写信息采集id设置为空
+        List<HandwriteCollection> handwriteCollectionList = handwriteCollectionMapper.selectHandwriteCollectionListByIds(ids);
+        if (CollectionUtils.isEmpty(handwriteCollectionList)){
+            return 0;
+        }
+        List<String> orderCodeList = handwriteCollectionList.stream().map(HandwriteCollection::getOrderCode).collect(Collectors.toList());
+        int result=storeOrderScrmMapper.updateStoreOrderScrmHandIdIsNullByOrderCodeList(orderCodeList);
         return handwriteCollectionMapper.deleteHandwriteCollectionByIds(ids);
     }
 
     @Override
     public int deleteHandwriteCollectionById(Integer id)
     {
-        return handwriteCollectionMapper.deleteHandwriteCollectionById(id);
+        Integer[] ids = new Integer[]{id};
+        //删除之前先去查询订单信息,将订单关联的的手写信息采集id设置为空
+        List<HandwriteCollection> handwriteCollectionList = handwriteCollectionMapper.selectHandwriteCollectionListByIds(ids);
+        if (CollectionUtils.isEmpty(handwriteCollectionList)){
+            return 0;
+        }
+        List<String> orderCodeList = handwriteCollectionList.stream().map(HandwriteCollection::getOrderCode).collect(Collectors.toList());
+        int result=storeOrderScrmMapper.updateStoreOrderScrmHandIdIsNullByOrderCodeList(orderCodeList);
+        return handwriteCollectionMapper.deleteHandwriteCollectionByIds(ids);
     }
 
     @Override
@@ -144,7 +161,7 @@ public class HandwriteCollectionServiceImpl implements IHandwriteCollectionServi
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public CollectionOrcVO imageProcess(CollectionOrcParam collectionOrcParam) {
         if (StringUtils.isEmpty(collectionOrcParam.getImgUrl())) {
             log.error("图片地址不能为空!");

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java

@@ -1245,4 +1245,9 @@ public interface FsStoreOrderScrmMapper
      * 根据客户信息表(fs_company_customer)的客户id查询订单列表信息
      * */
     List<FsStoreOrderVO> selectStoreOrderScrmByCompanyCustomerParam(@Param("maps")FsCompanyCustomerOrderParam param);
+
+    /**
+     * 根据订单号批量修改关联的手写信息采集为NULL
+     * */
+    int updateStoreOrderScrmHandIdIsNullByOrderCodeList(@Param("orderCodeList")List<String> orderCodeList);
 }

+ 8 - 0
fs-service/src/main/resources/mapper/handwrite/HandwriteCollectionMapper.xml

@@ -50,6 +50,14 @@
         where id = #{id}
     </select>
 
+    <select id="selectHandwriteCollectionListByIds" resultType="com.fs.handwrite.domain.HandwriteCollection">
+        <include refid="selectHandwriteCollectionVo"/>
+        where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
     <insert id="insertHandwriteCollection" parameterType="HandwriteCollection" useGeneratedKeys="true" keyProperty="id">
         insert into fs_handwrite_collection
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 9 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -1015,6 +1015,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </update>
 
+    <update id="updateStoreOrderScrmHandIdIsNullByOrderCodeList">
+        update fs_store_order_scrm
+        set handle_collection_id = NULL
+        where order_code in
+        <foreach collection="orderCodeList" item="orderCode" open="(" separator="," close=")">
+            #{orderCode}
+        </foreach>
+    </update>
+
     <select id="selectStoreOrderScrmInId" resultType="com.fs.hisStore.domain.FsStoreOrderScrm">
         <include refid="selectFsStoreOrderVo"/>
         where id IN <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">