Browse Source

fixed 分销提成规则删除问题

fushengqian 1 year ago
parent
commit
a107929496

+ 8 - 8
fuint-application/src/main/java/com/fuint/common/service/MemberService.java

@@ -34,7 +34,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 获取当前操作会员信息
      *
-     * @param userId
+     * @param userId 会员ID
      * @param accessToken
      * @return
      * */
@@ -70,8 +70,8 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 通过手机号添加会员
      *
-     * @param  merchantId
-     * @param  mobile
+     * @param  merchantId 商户ID
+     * @param  mobile 手机号
      * @throws BusinessCheckException
      * @return
      */
@@ -89,7 +89,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 根据会员名称获取会员信息
      *
-     * @param  merchantId
+     * @param  merchantId 商户ID
      * @param  name 会员名称
      * @throws BusinessCheckException
      * @return
@@ -99,7 +99,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 根据会员ID获取会员信息
      *
-     * @param  merchantId
+     * @param  merchantId 商户ID
      * @param  openId 微信openId
      * @throws BusinessCheckException
      * @return
@@ -118,7 +118,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 根据会员手机获取会员信息
      *
-     * @param merchantId
+     * @param merchantId 商户ID
      * @param  mobile 会员手机
      * @throws BusinessCheckException
      * @return
@@ -128,7 +128,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 根据会员号获取会员信息
      *
-     * @param  merchantId
+     * @param  merchantId 商户ID
      * @param  userNo 会员号
      * @throws BusinessCheckException
      * @return
@@ -138,7 +138,7 @@ public interface MemberService extends IService<MtUser> {
     /**
      * 根据会员ID 删除店铺信息
      *
-     * @param  id      会员ID
+     * @param  id 会员ID
      * @param  operator 操作人
      * @throws BusinessCheckException
      * @return

+ 6 - 10
fuint-application/src/main/java/com/fuint/common/service/impl/CommissionLogServiceImpl.java

@@ -215,24 +215,20 @@ public class CommissionLogServiceImpl extends ServiceImpl<MtCommissionLogMapper,
                                  mtCommissionLog.setUpdateTime(dateTime);
                                  mtCommissionLog.setStatus(StatusEnum.ENABLED.getKey());
                                  mtCommissionLog.setOperator(null);
-                                 boolean flag = true;
-                                 // 员工提成校验
+                                 // 员工提成计算
                                  if (mtCommissionRule.getTarget().equals(CommissionTargetEnum.STAFF.getKey())) {
                                      // 员工信息不能为空
-                                     if (mtCommissionLog.getStaffId() == null || mtCommissionLog.getStaffId() <= 0) {
-                                         flag = false;
+                                     if (mtCommissionLog.getStaffId() != null && mtCommissionLog.getStaffId() > 0) {
+                                         mtCommissionLogMapper.insert(mtCommissionLog);
                                      }
                                  }
-                                 // 会员分销校验
+                                 // 会员分销计算
                                  if (mtCommissionRule.getTarget().equals(CommissionTargetEnum.MEMBER.getKey())) {
                                      // 会员信息不能为空
-                                     if (mtCommissionLog.getUserId() == null || mtCommissionLog.getUserId() <= 0) {
-                                         flag = false;
+                                     if (mtCommissionLog.getUserId() != null && mtCommissionLog.getUserId() > 0) {
+                                         mtCommissionLogMapper.insert(mtCommissionLog);
                                      }
                                  }
-                                 if (flag) {
-                                     mtCommissionLogMapper.insert(mtCommissionLog);
-                                 }
                              }
                          }
                     }

+ 62 - 5
fuint-application/src/main/java/com/fuint/common/service/impl/CommissionRuleServiceImpl.java

@@ -164,7 +164,7 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
     /**
      * 根据ID获取规则信息
      *
-     * @param id
+     * @param id 规则ID
      * @return
      */
     @Override
@@ -179,11 +179,11 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
         Map<String, Object> param = new HashMap();
         param.put("RULE_ID", id);
         param.put("STATUS", StatusEnum.ENABLED.getKey());
-        List<MtCommissionRuleItem> mtCommissionRuleItem = mtCommissionRuleItemMapper.selectByMap(param);
+        List<MtCommissionRuleItem> mtCommissionRuleItems = mtCommissionRuleItemMapper.selectByMap(param);
         List<CommissionRuleItemDto> detailList = new ArrayList<>();
         String basePath = settingService.getUploadBasePath();
-        if (mtCommissionRuleItem != null && mtCommissionRuleItem.size() > 0) {
-            for (MtCommissionRuleItem item : mtCommissionRuleItem) {
+        if (mtCommissionRuleItems != null && mtCommissionRuleItems.size() > 0) {
+            for (MtCommissionRuleItem item : mtCommissionRuleItems) {
                  CommissionRuleItemDto commissionRuleItemDto = new CommissionRuleItemDto();
                  commissionRuleItemDto.setGoodsId(item.getTargetId());
                  MtGoods mtGoods = goodsService.queryGoodsById(item.getTargetId());
@@ -218,8 +218,9 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
     /**
      * 更新分销提成规则
      *
-     * @param  commissionRule
+     * @param  commissionRule 规则参数
      * @throws BusinessCheckException
+     * @return
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -255,6 +256,62 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
                 mtCommissionRuleItemMapper.deleteByRuleId(commissionRule.getId(), new Date());
             }
         }
+        String storeIds = StringUtil.join(commissionRule.getStoreIdList().toArray(), ",");
+        mtCommissionRule.setStoreIds(storeIds);
+
+        // 更新或插入
+        Date date = new Date();
+        List<Integer> itemIds = new ArrayList<>();
+        if (commissionRule.getDetailList() != null && commissionRule.getDetailList().size() > 0) {
+            for (CommissionRuleItemParam itemParam : commissionRule.getDetailList()) {
+                MtCommissionRuleItem mtCommissionRuleItem = new MtCommissionRuleItem();
+                mtCommissionRuleItem.setRuleId(mtCommissionRule.getId());
+                mtCommissionRuleItem.setType(mtCommissionRule.getType());
+                mtCommissionRuleItem.setMerchantId(mtCommissionRule.getMerchantId());
+                mtCommissionRuleItem.setStoreId(mtCommissionRule.getStoreId());
+                mtCommissionRuleItem.setStoreIds(storeIds);
+                mtCommissionRuleItem.setCreateTime(date);
+                mtCommissionRuleItem.setUpdateTime(date);
+                mtCommissionRuleItem.setOperator(commissionRule.getOperator());
+                mtCommissionRuleItem.setStatus(mtCommissionRule.getStatus());
+                mtCommissionRuleItem.setMethod(itemParam.getMethod());
+                mtCommissionRuleItem.setTarget(commissionRule.getTarget());
+                mtCommissionRuleItem.setTargetId(itemParam.getGoodsId());
+                mtCommissionRuleItem.setMember(itemParam.getMemberVal());
+                mtCommissionRuleItem.setGuest(itemParam.getVisitorVal());
+                // 判断是否已经存在,存在则更新
+                if (itemParam.getGoodsId() != null && itemParam.getGoodsId() > 0) {
+                    Map<String, Object> param = new HashMap();
+                    param.put("RULE_ID", commissionRule.getId());
+                    param.put("TARGET_ID", itemParam.getGoodsId());
+                    param.put("STATUS", StatusEnum.ENABLED.getKey());
+                    List<MtCommissionRuleItem> items = mtCommissionRuleItemMapper.selectByMap(param);
+                    if (items != null && items.size() > 0) {
+                        mtCommissionRuleItem.setId(items.get(0).getId());
+                        itemIds.add(items.get(0).getId());
+                    }
+                }
+                if (mtCommissionRuleItem.getId() != null && mtCommissionRuleItem.getId() > 0) {
+                    mtCommissionRuleItemMapper.updateById(mtCommissionRuleItem);
+                } else {
+                    mtCommissionRuleItemMapper.insert(mtCommissionRuleItem);
+                    itemIds.add(mtCommissionRuleItem.getId());
+                }
+            }
+        }
+
+        // 删除
+        Map<String, Object> params = new HashMap();
+        params.put("RULE_ID", commissionRule.getId());
+        params.put("STATUS", StatusEnum.ENABLED.getKey());
+        List<MtCommissionRuleItem> mtCommissionRuleItems = mtCommissionRuleItemMapper.selectByMap(params);
+        for (MtCommissionRuleItem item : mtCommissionRuleItems) {
+             if (!itemIds.contains(item.getId())) {
+                 item.setStatus(StatusEnum.DISABLE.getKey());
+                 mtCommissionRuleItemMapper.updateById(item);
+             }
+        }
+
         mtCommissionRule.setUpdateTime(new Date());
         mtCommissionRuleMapper.updateById(mtCommissionRule);
         return mtCommissionRule;

+ 0 - 1
fuint-application/src/main/java/com/fuint/common/service/impl/OrderServiceImpl.java

@@ -1262,7 +1262,6 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
         if (id > 0) {
             mtOrder = mtOrderMapper.selectById(mtOrder.getId());
         }
-        logger.info("orderService.updateOrder orderInfo = {}", JsonUtil.toJSONString(mtOrder));
         return mtOrder;
     }