Prechádzať zdrojové kódy

添加全局唯一id

杜魏 4 rokov pred
rodič
commit
6ac4a3fe4d
26 zmenil súbory, kde vykonal 293 pridanie a 120 odobranie
  1. 5 0
      common/fire-common/src/main/java/com/fire/common/constants/RocketTags.java
  2. 2 6
      common/fire-dto/src/main/java/com/fire/dto/BankCard.java
  3. 2 1
      common/fire-dto/src/main/java/com/fire/dto/ChannelGroup.java
  4. 1 1
      common/fire-dto/src/main/java/com/fire/dto/ChannelInfo.java
  5. 4 2
      common/fire-dto/src/main/java/com/fire/dto/ChannelProductInfo.java
  6. 2 3
      common/fire-dto/src/main/java/com/fire/dto/ChannelSupplier.java
  7. 2 2
      common/fire-dto/src/main/java/com/fire/dto/DistributeGroup.java
  8. 2 2
      common/fire-dto/src/main/java/com/fire/dto/DistributeGroupChannel.java
  9. 1 1
      modules/admin/src/main/java/com/fire/admin/request/ChannelGroupPageParam.java
  10. 1 1
      modules/admin/src/main/java/com/fire/admin/rest/BankCardRest.java
  11. 3 3
      modules/admin/src/main/java/com/fire/admin/rest/ChannelGroupRest.java
  12. 1 1
      modules/admin/src/main/java/com/fire/admin/rest/ChannelSupplierRest.java
  13. 19 8
      modules/admin/src/main/java/com/fire/admin/rest/DistributeGroupRest.java
  14. 1 2
      modules/admin/src/main/java/com/fire/admin/service/BankCardService.java
  15. 7 1
      modules/admin/src/main/java/com/fire/admin/service/DistributeGroupService.java
  16. 1 1
      modules/admin/src/main/java/com/fire/admin/service/SupplierService.java
  17. 21 17
      modules/admin/src/main/java/com/fire/admin/service/impl/BankCardServiceImpl.java
  18. 60 8
      modules/admin/src/main/java/com/fire/admin/service/impl/ChannelGroupServiceImpl.java
  19. 21 7
      modules/admin/src/main/java/com/fire/admin/service/impl/ChannelInfoServiceImpl.java
  20. 29 5
      modules/admin/src/main/java/com/fire/admin/service/impl/ChannelProductServiceImpl.java
  21. 12 14
      modules/admin/src/main/java/com/fire/admin/service/impl/CustomerServiceImpl.java
  22. 53 5
      modules/admin/src/main/java/com/fire/admin/service/impl/DistributeGroupServiceImpl.java
  23. 31 16
      modules/admin/src/main/java/com/fire/admin/service/impl/SupplierServiceImpl.java
  24. 7 4
      modules/admin/src/main/resources/mapper/BankCardMapper.xml
  25. 1 6
      modules/admin/src/main/resources/mapper/ChannelInfoMapper.xml
  26. 4 3
      modules/admin/src/main/resources/mapper/ChannelSupplierMapper.xml

+ 5 - 0
common/fire-common/src/main/java/com/fire/common/constants/RocketTags.java

@@ -30,4 +30,9 @@ public class RocketTags {
      * 维护信息tag
      */
     public static final String MAINTENANCE_TAG = "maintenance";
+
+    /**
+     * 供应商tag
+     */
+    public static final String SUPPLIER_TAG = "supplier";
 }

+ 2 - 6
common/fire-dto/src/main/java/com/fire/dto/BankCard.java

@@ -1,7 +1,6 @@
 package com.fire.dto;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -24,8 +23,8 @@ import java.util.Date;
 public class BankCard {
 
     @ApiModelProperty("主键")
-    @TableId(type = IdType.AUTO)
-    private Integer id;
+    @TableId(type = IdType.INPUT)
+    private Long id;
 
     @ApiModelProperty("银行卡号")
     private String cardNo;
@@ -54,7 +53,4 @@ public class BankCard {
     @ApiModelProperty("区分是供应商还是客户 1-供应商 2-客户")
     private Integer distinguish;
 
-/*    @ApiModelProperty("对应供应商")
-    @TableField(exist = false)
-    private ChannelSupplier channelSupplier;*/
 }

+ 2 - 1
common/fire-dto/src/main/java/com/fire/dto/ChannelGroup.java

@@ -23,7 +23,7 @@ import java.util.Map;
 @TableName("access_channel_group")
 public class ChannelGroup {
 
-    @TableId(value = "channel_group_id", type = IdType.AUTO)
+    @TableId(value = "channel_group_id", type = IdType.INPUT)
     @ApiModelProperty("通道组id,主键")
     private Long channelGroupId;
 
@@ -47,6 +47,7 @@ public class ChannelGroup {
     private Integer isDelete;
 
     @TableField(exist = false)
+    @ApiModelProperty("分发组列表")
     private List<DistributeGroup> distributeGroups;
 
     @TableField(exist = false)

+ 1 - 1
common/fire-dto/src/main/java/com/fire/dto/ChannelInfo.java

@@ -27,7 +27,7 @@ import java.util.Map;
 @TableName("access_channel_info")
 public class ChannelInfo {
 
-    @TableId(value = "channel_id", type = IdType.AUTO)
+    @TableId(value = "channel_id", type = IdType.INPUT)
     @ApiModelProperty("通道id")
     private Long channelId;
 

+ 4 - 2
common/fire-dto/src/main/java/com/fire/dto/ChannelProductInfo.java

@@ -9,6 +9,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
+
 /**
  * @author: admin
  * @Description:
@@ -21,7 +23,7 @@ import lombok.NoArgsConstructor;
 @TableName("channel_product_info")
 public class ChannelProductInfo {
 
-    @TableId(value = "channel_product_id", type = IdType.AUTO)
+    @TableId(value = "channel_product_id", type = IdType.INPUT)
     @ApiModelProperty("主键")
     private Long channelProductId;
 
@@ -50,7 +52,7 @@ public class ChannelProductInfo {
     private Integer isValid;
 
     @ApiModelProperty("结算价格百分比")
-    private Double discount;
+    private BigDecimal discount;
 
     @TableField(exist = false)
     private ChannelInfo channelInfo;

+ 2 - 3
common/fire-dto/src/main/java/com/fire/dto/ChannelSupplier.java

@@ -21,10 +21,9 @@ import java.util.List;
 @TableName("channel_supplier")
 public class ChannelSupplier {
 
-    @TableId(value = "supplier_id", type = IdType.AUTO)
+    @TableId(value = "supplier_id", type = IdType.INPUT)
     @ApiModelProperty("供应商id")
-    @TableField(value = "supplier_id")
-    private Integer supplierId;
+    private Long supplierId;
 
     @ApiModelProperty("供应商名称")
     private String supplierName;

+ 2 - 2
common/fire-dto/src/main/java/com/fire/dto/DistributeGroup.java

@@ -23,9 +23,9 @@ import java.util.List;
 @TableName("distribute_group")
 public class DistributeGroup {
 
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.INPUT)
     @ApiModelProperty("主键")
-    private Integer distributeGroupId;
+    private Long distributeGroupId;
 
     @ApiModelProperty("分发组名称")
     private String name;

+ 2 - 2
common/fire-dto/src/main/java/com/fire/dto/DistributeGroupChannel.java

@@ -20,9 +20,9 @@ import lombok.NoArgsConstructor;
 @TableName("distribute_group_channel")
 public class DistributeGroupChannel {
 
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.INPUT)
     @ApiModelProperty("主键")
-    private Integer id;
+    private Long id;
 
     @ApiModelProperty("通道组id")
     private Integer channelGroupId;

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/request/ChannelGroupPageParam.java

@@ -18,5 +18,5 @@ import lombok.Setter;
 public class ChannelGroupPageParam extends Page {
 
     @ApiModelProperty("通道组名称")
-    private String channelGroupName;
+    private String groupName;
 }

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/rest/BankCardRest.java

@@ -41,7 +41,7 @@ public class BankCardRest {
     */
     @PostMapping("/list")
     @ApiOperation(value = "根据供应商或者客户获取该供应商或者客户的银行卡详情(distinguish:1-供应商 2-客户)", notes = "bankcard_list.py")
-    public BaseRestResponse getBankCardList(Integer relationId, Integer distinguish) {
+    public BaseRestResponse getBankCardList(Long relationId, Integer distinguish) {
         List<BankCard> bankCardList = bankCardService.getBankCardList(relationId, distinguish);
         if (bankCardList != null) {
             return new BaseRestResponse(bankCardList);

+ 3 - 3
modules/admin/src/main/java/com/fire/admin/rest/ChannelGroupRest.java

@@ -34,7 +34,7 @@ public class ChannelGroupRest {
 
     @PostMapping("list")
     @ApiOperation(value = "通道组列表", notes = "channelgroup_list.py")
-    public BaseRestResponse channelGroupList(ChannelGroupPageParam pageParam) {
+    public BaseRestResponse channelGroupList(@RequestBody ChannelGroupPageParam pageParam) {
         IPage<ChannelGroup> channelGroupList = channelGroupService.getChannelGroupList(pageParam);
         if (channelGroupList != null) {
             return new BaseRestResponse(channelGroupList);
@@ -56,14 +56,14 @@ public class ChannelGroupRest {
 
     @PostMapping("/add")
     @ApiOperation(value = "添加通道组", notes = "add_channel_group.py")
-    public BaseResponse saveChannelGroup(ChannelGroup channelGroup) {
+    public BaseResponse saveChannelGroup(@RequestBody ChannelGroup channelGroup) {
         channelGroupService.addChannelGroup(channelGroup);
         return new BaseResponse();
     }
 
     @PutMapping("/update")
     @ApiOperation(value = "修改通道组", notes = "update_channel_group.py")
-    public BaseResponse updateChannelGroup(ChannelGroup channelGroup) {
+    public BaseResponse updateChannelGroup(@RequestBody ChannelGroup channelGroup) {
         channelGroupService.updateChannelGroupById(channelGroup);
         return new BaseResponse();
     }

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/rest/ChannelSupplierRest.java

@@ -52,7 +52,7 @@ public class ChannelSupplierRest {
     @PostMapping("/update")
     @ApiOperation(value = "修改供应商", notes = "supplier_update.py")
     public BaseResponse updateSupplierBySupplierId(@RequestBody ChannelSupplier channelSupplier) {
-        supplierService.updateSupplierByRelationId(channelSupplier);
+        supplierService.updateSupplierById(channelSupplier);
         return new BaseResponse();
     }
 

+ 19 - 8
modules/admin/src/main/java/com/fire/admin/rest/DistributeGroupRest.java

@@ -3,12 +3,13 @@ package com.fire.admin.rest;
 import com.fire.admin.service.DistributeGroupService;
 import com.fire.dto.DistributeGroup;
 import com.fire.dto.response.BaseResponse;
+import com.fire.dto.response.BaseRestResponse;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * @author: admin
@@ -28,11 +29,21 @@ public class DistributeGroupRest {
         this.distributeGroupService = distributeGroupService;
     }
 
-    @PostMapping("/add")
-    @ApiOperation(value = "添加分发组", notes = "add_distributegroup.py")
-    public BaseResponse addDistributeGroup(DistributeGroup distributeGroup) {
-        distributeGroupService.insertDistributeGroup(distributeGroup);
-        return new BaseResponse();
+    @PostMapping("/list")
+    @ApiOperation(value = "分发组列表", notes = "distributeGroup_list.py")
+    public BaseRestResponse getDistributeGroup(Long channelGroupId) {
+        List<DistributeGroup> distributeGroupList = distributeGroupService.getDistributeGroupList(channelGroupId);
+        if (distributeGroupList != null) {
+            return new BaseRestResponse(distributeGroupList);
+        } else {
+            return new BaseRestResponse(null);
+        }
     }
 
+    @DeleteMapping("/delete/{distributeGroupId}")
+    @ApiOperation(value = "删除分发组", notes = "delete_distributeGroup.py")
+    public BaseResponse deleteDistributeGroup(@PathVariable("distributeGroupId") Long distributeGroupId) {
+        distributeGroupService.removeDistributeGroupById(distributeGroupId);
+        return new BaseResponse();
+    }
 }

+ 1 - 2
modules/admin/src/main/java/com/fire/admin/service/BankCardService.java

@@ -2,7 +2,6 @@ package com.fire.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fire.dto.BankCard;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -21,7 +20,7 @@ public interface BankCardService extends IService<BankCard> {
      * @Author: liuliu
      * @Date: 2021/6/3 15:00
      */
-    List<BankCard> getBankCardList(Integer relationId, Integer distinguish);
+    List<BankCard> getBankCardList(Long relationId, Integer distinguish);
 
     void saveBankCards(List<BankCard> bankCards);
 

+ 7 - 1
modules/admin/src/main/java/com/fire/admin/service/DistributeGroupService.java

@@ -3,6 +3,8 @@ package com.fire.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fire.dto.DistributeGroup;
 
+import java.util.List;
+
 /**
  * @author: admin
  * @Description:
@@ -11,6 +13,10 @@ import com.fire.dto.DistributeGroup;
  */
 public interface DistributeGroupService extends IService<DistributeGroup> {
 
-    void insertDistributeGroup(DistributeGroup distributeGroup);
+    List<DistributeGroup> getDistributeGroupList(Long channelGroupId);
+
+    void saveDistributeGroups(List<DistributeGroup> distributeGroup);
+
+    void removeDistributeGroupById(Long distributeGroupId);
 
 }

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/service/SupplierService.java

@@ -19,7 +19,7 @@ public interface SupplierService extends IService<ChannelSupplier> {
 
     List<ChannelSupplier> getSupplierInfo();
 
-    void updateSupplierByRelationId(ChannelSupplier channelSupplier);
+    void updateSupplierById(ChannelSupplier channelSupplier);
 
     void saveSupplier(ChannelSupplier channelSupplier);
 

+ 21 - 17
modules/admin/src/main/java/com/fire/admin/service/impl/BankCardServiceImpl.java

@@ -7,12 +7,15 @@ import com.fire.admin.mapper.BankCardMapper;
 import com.fire.admin.service.BankCardService;
 import com.fire.dto.BankCard;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestBody;
+import redis.clients.jedis.JedisCluster;
 
 import java.util.Date;
 import java.util.List;
 
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+
 /**
  * @author: admin
  * @Description:
@@ -23,10 +26,13 @@ import java.util.List;
 @Slf4j
 public class BankCardServiceImpl extends ServiceImpl<BankCardMapper, BankCard> implements BankCardService {
 
+    @Autowired
+    private JedisCluster jedisCluster;
+
     @Override
-    public List<BankCard> getBankCardList(Integer relationId, Integer distinguish) {
+    public List<BankCard> getBankCardList(Long relationId, Integer distinguish) {
         List<BankCard> bankCardList = new LambdaQueryChainWrapper<>(baseMapper)
-                .eq(BankCard::getRelationId, relationId)
+                .eq(relationId != null, BankCard::getRelationId, relationId)
                 .eq(distinguish != null, BankCard::getDistinguish, distinguish).list();
         if (bankCardList != null) {
             return bankCardList;
@@ -36,18 +42,19 @@ public class BankCardServiceImpl extends ServiceImpl<BankCardMapper, BankCard> i
     }
 
     @Override
-    public void saveBankCards(@RequestBody List<BankCard> bankCards) {
-        for (BankCard bankCard : bankCards) {
-            if (bankCard.getId() == null) {
-                bankCard.setCreator("admin");
-                bankCard.setCreateTime(new Date());
-            } else {
-                bankCard.setUpdator("admin");
-                bankCard.setUpdateTime(new Date());
-            }
-        }
+    public void saveBankCards(List<BankCard> bankCards) {
         if (ObjectUtil.isNotEmpty(bankCards)) {
-            boolean result = this.saveOrUpdateBatch(bankCards);
+            for (BankCard bankCard : bankCards) {
+                if (bankCard.getId() == null) {
+                    bankCard.setId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+                    bankCard.setCreator("admin");
+                    bankCard.setCreateTime(new Date());
+                } else {
+                    bankCard.setUpdator("admin");
+                    bankCard.setUpdateTime(new Date());
+                }
+            }
+            this.saveOrUpdateBatch(bankCards);
             for (BankCard bankCard : bankCards) {
                 if (bankCard.getId() == null) {
                     log.info("添加的银行卡是:【{}】", bankCards);
@@ -55,9 +62,6 @@ public class BankCardServiceImpl extends ServiceImpl<BankCardMapper, BankCard> i
                     log.info("修改的银行卡是:【{}】", bankCards);
                 }
             }
-            if (result) {
-                // TODO: 2021/5/20 向MQ推送消息
-            }
         }
     }
 

+ 60 - 8
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelGroupServiceImpl.java

@@ -1,18 +1,30 @@
 package com.fire.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fire.admin.mapper.ChannelGroupMapper;
 import com.fire.admin.request.ChannelGroupPageParam;
 import com.fire.admin.service.ChannelGroupService;
+import com.fire.admin.service.DistributeGroupService;
 import com.fire.common.exception.BaseException;
 import com.fire.dto.ChannelGroup;
 import com.fire.dto.enums.Status;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
+import redis.clients.jedis.JedisCluster;
 
+import java.util.Date;
 import java.util.List;
 
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+
 /**
  * @author: admin
  * @Description:
@@ -20,14 +32,28 @@ import java.util.List;
  * @Modified By:
  */
 @Service
+@Slf4j
 public class ChannelGroupServiceImpl extends ServiceImpl<ChannelGroupMapper, ChannelGroup> implements ChannelGroupService {
 
+    @Autowired
+    private JedisCluster jedisCluster;
+
+    @Autowired
+    private DistributeGroupService distributeGroupService;
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
     @Override
     public IPage<ChannelGroup> getChannelGroupList(ChannelGroupPageParam pageParam) {
         LambdaQueryWrapper<ChannelGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.like(pageParam.getChannelGroupName() != null, ChannelGroup::getGroupName, pageParam.getChannelGroupName());
+        lambdaQueryWrapper.like(pageParam.getGroupName() != null, ChannelGroup::getGroupName, pageParam.getGroupName())
+                .orderByDesc(ChannelGroup::getCreateTime);
         IPage<ChannelGroup> channelGroupList = baseMapper.selectPage(pageParam, lambdaQueryWrapper);
         if (channelGroupList != null) {
+            for (ChannelGroup channelGroup : channelGroupList.getRecords()) {
+                channelGroup.setDistributeGroups(distributeGroupService.getDistributeGroupList(channelGroup.getChannelGroupId()));
+            }
             return channelGroupList;
         } else {
             return null;
@@ -37,23 +63,49 @@ public class ChannelGroupServiceImpl extends ServiceImpl<ChannelGroupMapper, Cha
     @Override
     public void addChannelGroup(ChannelGroup channelGroup) {
         if (channelGroup != null) {
-            baseMapper.insert(channelGroup);
+            channelGroup.setChannelGroupId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+            channelGroup.setCreator("admin");
+            channelGroup.setCreateTime(new Date());
+            int result = baseMapper.insert(channelGroup);
+            if (result > 0) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+            }
+            log.info("添加的通道组是:【{}】", channelGroup);
+        } else {
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 
     @Override
     public void updateChannelGroupById(ChannelGroup channelGroup) {
-        int result = baseMapper.updateById(channelGroup);
-        if (result > 0) {
-            // TODO: 2021/6/3 向MQ推送消息
+        if (channelGroup != null) {
+            channelGroup.setUpdator("admin");
+            channelGroup.setUpdateTime(new Date());
+            int result = baseMapper.updateById(channelGroup);
+            if (result > 0) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+            }
+            log.info("通道组已修改为:【{}】", channelGroup);
+
+            if (ObjectUtil.isNotEmpty(channelGroup.getDistributeGroups())) {
+                distributeGroupService.saveDistributeGroups(channelGroup.getDistributeGroups());
+            }
+
+        } else {
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 
     @Override
     public void deleteChannelGroupById(Long channelGroupId) {
-        int result = baseMapper.deleteById(channelGroupId);
-        if (result > 0) {
-            // TODO: 2021/6/3 向MQ推送消息
+        if (channelGroupId != null) {
+            int result = baseMapper.deleteById(channelGroupId);
+            if (result > 0) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+            }
+            log.info("编号为【{}】的通道组删除成功!", channelGroupId);
+        } else {
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 

+ 21 - 7
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelInfoServiceImpl.java

@@ -16,12 +16,19 @@ import com.fire.dto.ChannelSupplier;
 import com.fire.dto.FireProductInfo;
 import com.fire.dto.enums.Status;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
+import redis.clients.jedis.JedisCluster;
 
 import java.util.Date;
 import java.util.List;
 
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+
 /**
  * @author: admin
  * @Description:
@@ -41,6 +48,12 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
     @Autowired
     private FireProductMapper fireProductMapper;
 
+    @Autowired
+    private JedisCluster jedisCluster;
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
     @Override
     public IPage<ChannelInfo> getChannelList(ChannelPageParam channelPageParam) {
         IPage<ChannelInfo> channelInfoList = baseMapper.selectChannelInfoList(channelPageParam);
@@ -74,10 +87,10 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
         channelInfo.setUpdator("admin");
         channelInfo.setUpdateTime(new Date());
         int result = baseMapper.updateById(channelInfo);
-        log.info("通道已修改为:【{}】", channelInfo);
         if (result > 0) {
-            // TODO: 2021/5/24 向MQ推送消息
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
         }
+        log.info("通道已修改为:【{}】", channelInfo);
         if (ObjectUtil.isNotEmpty(channelInfo.getChannelProductInfos())) {
             channelProductService.saveChannelProducts(channelInfo.getChannelProductInfos());
             log.info("添加的通道产品是:【{}】", channelInfo.getChannelProductInfos().toString());
@@ -87,25 +100,26 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
 
     @Override
     public void insertChannelInfo(ChannelInfo channelInfo) {
+        channelInfo.setChannelId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
         channelInfo.setCreator("admin");
         channelInfo.setCreateTime(new Date());
         int result = baseMapper.insert(channelInfo);
-        log.info("添加的通道是:【{}】", channelInfo);
         if (result > 0) {
-            // TODO: 2021/5/24 向MQ推送消息
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
         }
+        log.info("添加的通道是:【{}】", channelInfo);
     }
 
     @Override
     public void deleteChannelById(Long id) {
         if (id != null) {
             int result = baseMapper.deleteById(id);
-            log.info("编号为:【{}】的通道删除成功!", id);
             if (result > 0) {
-                // TODO: 2021/5/20 向MQ推送消息
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
             }
+            log.info("编号为:【{}】的通道删除成功!", id);
         } else {
-            throw new BaseException(Status.REQUEST_PARAM_ERROR.status(),Status.REQUEST_PARAM_ERROR.message());
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 }

+ 29 - 5
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelProductServiceImpl.java

@@ -7,10 +7,19 @@ import com.fire.admin.mapper.ChannelProductMapper;
 import com.fire.admin.service.ChannelProductService;
 import com.fire.dto.ChannelProductInfo;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
+import redis.clients.jedis.JedisCluster;
 
+import java.math.BigDecimal;
 import java.util.List;
 
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+
 /**
  * @author: admin
  * @Description:
@@ -21,6 +30,12 @@ import java.util.List;
 @Slf4j
 public class ChannelProductServiceImpl extends ServiceImpl<ChannelProductMapper, ChannelProductInfo> implements ChannelProductService {
 
+    @Autowired
+    private JedisCluster jedisCluster;
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
     @Override
     public List<ChannelProductInfo> getChannelProductList(Long channelId) {
         List<ChannelProductInfo> channelProductInfos = new LambdaQueryChainWrapper<>(baseMapper)
@@ -35,24 +50,33 @@ public class ChannelProductServiceImpl extends ServiceImpl<ChannelProductMapper,
     @Override
     public void saveChannelProducts(List<ChannelProductInfo> channelProductInfos) {
         if (ObjectUtil.isNotEmpty(channelProductInfos)) {
+            for (ChannelProductInfo info : channelProductInfos) {
+                if (info.getChannelProductId() == null) {
+                    info.setChannelProductId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+                }
+
+                info.setDiscount(new BigDecimal(info.getPrice()).divide(new BigDecimal(info.getFacePrice()), 2, BigDecimal.ROUND_DOWN));
+            }
             boolean result = this.saveOrUpdateBatch(channelProductInfos);
+            if (result) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+            }
             for (ChannelProductInfo info : channelProductInfos) {
-                info.setDiscount(Double.valueOf(info.getPrice() * 10000) / Double.valueOf(info.getFacePrice() * 10000));
                 if (info.getChannelProductId() == null) {
                     log.info("添加的通道产品是:【{}】", channelProductInfos);
                 } else {
                     log.info("通道产品已修改为:【{}】", channelProductInfos);
                 }
             }
-            if (result) {
-                // TODO: 2021/5/25 向MQ推送消息
-            }
         }
     }
 
     @Override
     public void deleteChannelProductById(Long channelProductId) {
-        baseMapper.deleteById(channelProductId);
+        int result = baseMapper.deleteById(channelProductId);
+        if (result > 0) {
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+        }
         log.info("编号为:【{}】的通道产品删除成功!", channelProductId);
     }
 }

+ 12 - 14
modules/admin/src/main/java/com/fire/admin/service/impl/CustomerServiceImpl.java

@@ -19,7 +19,6 @@ import com.fire.dto.CustomerInfo;
 import com.fire.dto.FlowAppInfo;
 import com.fire.dto.enums.Status;
 import com.fire.utils.date.DateUtils;
-import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,7 +28,6 @@ import redis.clients.jedis.JedisCluster;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.List;
-import java.util.stream.Collectors;
 
 import static com.fire.dto.enums.RedisKey.CUSTOMER_AMOUNT;
 import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
@@ -68,7 +66,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
         if (!infoVos.isEmpty()) {
             infoVos.forEach(info -> {
                 // TODO  返回客户的银行卡信息
-                info.setBankCards(bankCardService.getBankCardList(Integer.parseInt(String.valueOf(info.getCustomerId())), 2));
+                info.setBankCards(bankCardService.getBankCardList(Long.parseLong(String.valueOf(info.getCustomerId())), 2));
             });
         }
         return customerInfoVoIPage;
@@ -87,7 +85,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
     public void insertCustomer(CustomerDto customerDto) {
         // TODO   新增客户
         CustomerInfo customerInfo = CustomerInfo.builder()
-                .customerId( jedisCluster.incr(GLOBAL_ID_INCR.key()))
+                .customerId(jedisCluster.incr(GLOBAL_ID_INCR.key()))
                 .partnerId(customerDto.getPartnerId())
                 .customerName(customerDto.getCustomerName().trim())
                 .shorterName(customerDto.getShorterName().trim())
@@ -106,7 +104,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
         int count1 = baseMapper.insert(customerInfo);
         // TODO 新增客户接入
         FlowAppInfo appInfo = FlowAppInfo.builder()
-                .flowAppId(  jedisCluster.incr(GLOBAL_ID_INCR.key()))
+                .flowAppId(jedisCluster.incr(GLOBAL_ID_INCR.key()))
                 .customerId(customerInfo.getCustomerId())
                 .appId(RandomUtil.randomString(8))
                 .appKey(RandomUtil.randomString(32))
@@ -197,14 +195,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
     public List<CustomerInfo> queryCustomerInfo(String customerName) {
         LambdaQueryWrapper<CustomerInfo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.select(CustomerInfo::getCustomerId, CustomerInfo::getCustomerName)
-                .like(customerName!=null,CustomerInfo::getCustomerName, customerName);
+                .like(customerName != null, CustomerInfo::getCustomerName, customerName);
 
         return baseMapper.selectList(queryWrapper);
 
     }
 
     /**
-     * @Description:  TODO 根据客户的id获取客户信息,用于客户账户撤销获取客户的授信
+     * @Description: TODO 根据客户的id获取客户信息,用于客户账户撤销获取客户的授信
      * @Param: [customerId]
      * @return: com.fire.dto.CustomerInfo
      * @Author: liuliu
@@ -213,13 +211,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
     @Override
     public CustomerInfo getcustomerOne(Long customerId) {
         if (ObjectUtil.isNotEmpty(customerId)) {
-        LambdaQueryWrapper<CustomerInfo> wrapper = new LambdaQueryWrapper<>();
-        wrapper.select(CustomerInfo::getCustomerId,CustomerInfo::getCreditAmount)
-                .eq(CustomerInfo::getCustomerId,customerId);
-        return baseMapper.selectOne(wrapper);
-        }else {
-            log.info("查询客户授信请传入正确的客户编号,当前传入编号为:【{}】",customerId);
-            throw new BaseException(Status.PARAM_LOSS.status(),Status.PARAM_LOSS.message());
+            LambdaQueryWrapper<CustomerInfo> wrapper = new LambdaQueryWrapper<>();
+            wrapper.select(CustomerInfo::getCustomerId, CustomerInfo::getCreditAmount)
+                    .eq(CustomerInfo::getCustomerId, customerId);
+            return baseMapper.selectOne(wrapper);
+        } else {
+            log.info("查询客户授信请传入正确的客户编号,当前传入编号为:【{}】", customerId);
+            throw new BaseException(Status.PARAM_LOSS.status(), Status.PARAM_LOSS.message());
         }
     }
 

+ 53 - 5
modules/admin/src/main/java/com/fire/admin/service/impl/DistributeGroupServiceImpl.java

@@ -1,11 +1,25 @@
 package com.fire.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fire.admin.mapper.DistributeGroupMapper;
 import com.fire.admin.service.DistributeGroupService;
+import com.fire.common.exception.BaseException;
 import com.fire.dto.DistributeGroup;
+import com.fire.dto.enums.Status;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
+import redis.clients.jedis.JedisCluster;
+
+import java.util.List;
+
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
 
 /**
  * @author: admin
@@ -17,14 +31,48 @@ import org.springframework.stereotype.Service;
 @Slf4j
 public class DistributeGroupServiceImpl extends ServiceImpl<DistributeGroupMapper, DistributeGroup> implements DistributeGroupService {
 
+    @Autowired
+    private JedisCluster jedisCluster;
+
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
+    @Override
+    public List<DistributeGroup> getDistributeGroupList(Long channelGroupId) {
+        List<DistributeGroup> distributeGroupList = new LambdaQueryChainWrapper<>(baseMapper).eq(channelGroupId != null, DistributeGroup::getChannelGroupId, channelGroupId).list();
+        if (distributeGroupList != null) {
+            return distributeGroupList;
+        } else {
+            return null;
+        }
+    }
+
+    @Override
+    public void saveDistributeGroups(List<DistributeGroup> distributeGroups) {
+        if (ObjectUtil.isNotEmpty(distributeGroups)) {
+            for (DistributeGroup distributeGroup : distributeGroups) {
+                distributeGroup.setDistributeGroupId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+            }
+            boolean result = this.saveOrUpdateBatch(distributeGroups);
+            if (result) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+            }
+            log.info("添加的分发组是:【{}】", distributeGroups.toString());
+        } else {
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
+        }
+    }
+
     @Override
-    public void insertDistributeGroup(DistributeGroup distributeGroup) {
-        if (distributeGroup != null) {
-            int result = baseMapper.insert(distributeGroup);
+    public void removeDistributeGroupById(Long distributeGroupId) {
+        if (distributeGroupId != null) {
+            int result = baseMapper.deleteById(distributeGroupId);
             if (result > 0) {
-                // TODO: 2021/6/7 向MQ推送消息
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
             }
-            log.info("添加的分发组是:【{}】", distributeGroup);
+            log.info("编号为【{}】的分发组删除成功!", distributeGroupId);
+        } else {
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 }

+ 31 - 16
modules/admin/src/main/java/com/fire/admin/service/impl/SupplierServiceImpl.java

@@ -13,14 +13,21 @@ import com.fire.common.exception.BaseException;
 import com.fire.dto.ChannelSupplier;
 import com.fire.dto.enums.Status;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
+import redis.clients.jedis.JedisCluster;
 
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
+import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+
 /**
  * @author: admin
  * @Description:
@@ -34,12 +41,18 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
     @Autowired
     private BankCardService bankCardService;
 
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
+
+    @Autowired
+    private JedisCluster jedisCluster;
+
     @Override
     public IPage<ChannelSupplier> getSupplierList(SupplierPageParam supplierPageParam) {
         LambdaQueryWrapper<ChannelSupplier> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.
                 like(supplierPageParam.getSupplierName() != null, ChannelSupplier::getSupplierName, supplierPageParam.getSupplierName())
-                .orderByDesc(ChannelSupplier::getBalance, ChannelSupplier::getIsValid);
+                .orderByDesc(ChannelSupplier::getIsValid, ChannelSupplier::getBalance, ChannelSupplier::getCreateTime);
         IPage<ChannelSupplier> supplierList = baseMapper.selectPage(supplierPageParam, lambdaQueryWrapper);
 
         if (supplierList != null) {
@@ -60,20 +73,22 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
     }
 
     @Override
-    public void updateSupplierByRelationId(ChannelSupplier channelSupplier) {
+    public void updateSupplierById(ChannelSupplier channelSupplier) {
         channelSupplier.setUpdator("admin");
         channelSupplier.setUpdateTime(new Date());
         LambdaUpdateWrapper<ChannelSupplier> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
         lambdaUpdateWrapper.eq(channelSupplier.getSupplierId() != null, ChannelSupplier::getSupplierId, channelSupplier.getSupplierId());
         int result = baseMapper.update(channelSupplier, lambdaUpdateWrapper);
-        log.info("供应商已修改为:【{}】", channelSupplier);
         if (result > 0) {
-            // TODO: 2021/5/18 向MQ推送消息
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
         }
+        log.info("供应商已修改为:【{}】", channelSupplier);
         if (ObjectUtil.isNotEmpty(channelSupplier.getBankCards())) {
-            // TODO 把供应商编号写入添加的银行里面
+            /**
+             把供应商编号写入添加的银行里面
+             */
             channelSupplier.getBankCards().forEach(bankCard -> {
-                bankCard.setRelationId(channelSupplier.getSupplierId());
+                bankCard.setRelationId(channelSupplier.getSupplierId().intValue());
             });
 
             bankCardService.saveBankCards(channelSupplier.getBankCards());
@@ -85,23 +100,24 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
     public void saveSupplier(ChannelSupplier channelSupplier) {
         channelSupplier.setCreator("admin");
         channelSupplier.setCreateTime(new Date());
+        channelSupplier.setSupplierId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
         int result = baseMapper.insert(channelSupplier);
-        log.info("添加的供应商是:【{}】", channelSupplier);
         if (result > 0) {
-            // TODO:2021/5/18 向MQ推送消息
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
         }
+        log.info("添加的供应商是:【{}】", channelSupplier);
     }
 
     @Override
     public void deleteSupplierById(Integer id) {
         if (id != null) {
             int result = baseMapper.deleteById(id);
-            log.info("编号为:【{}】的供应商删除成功!", id);
             if (result > 0) {
-                // TODO:2021/5/18 向MQ推送消息
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
             }
+            log.info("编号为:【{}】的供应商删除成功!", id);
         } else {
-            throw new BaseException(Status.REQUEST_PARAM_ERROR.status(),Status.REQUEST_PARAM_ERROR.message());
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 
@@ -110,12 +126,11 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
         if (bankId != null) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", bankId);
-            int result = baseMapper.deleteByMap(map);
-            if (result > 0) {
-                // TODO:2021/5/18 向MQ推送消息
-            }
+
+            baseMapper.deleteByMap(map);
+
         } else {
-            throw new BaseException(Status.REQUEST_PARAM_ERROR.status(),Status.REQUEST_PARAM_ERROR.message());
+            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 

+ 7 - 4
modules/admin/src/main/resources/mapper/BankCardMapper.xml

@@ -3,10 +3,11 @@
 <mapper namespace="com.fire.admin.mapper.BankCardMapper">
 
     <resultMap id="bankCardResultMap" type="com.fire.dto.BankCard">
-        <id column="card_no" property="cardNo"/>
+        <id column="id" property="id"/>
+        <result column="card_no" property="cardNo"/>
         <result column="bank_deposit" property="bankDeposit"/>
         <result column="account" property="account"/>
-        <result column="supplier_id" property="supplierId"/>
+        <result column="relation_id" property="relationId"/>
         <result column="creator" property="creator"/>
         <result column="create_time" property="createTime"/>
         <result column="updator" property="updator"/>
@@ -15,7 +16,8 @@
     </resultMap>
 
     <sql id="common_field">
-        card_no,
+        card_no
+        ,
         bank_deposit,
         account,
         supplier_id,
@@ -27,7 +29,8 @@
     </sql>
 
     <select id="getBankCardList" resultMap="bankCardResultMap">
-        SELECT <include refid="common_field"/>
+        SELECT
+        <include refid="common_field"/>
         FROM bank_card
         <where>
             <if test="supplierId !=null">

+ 1 - 6
modules/admin/src/main/resources/mapper/ChannelInfoMapper.xml

@@ -47,16 +47,11 @@
         FROM access_channel_info AS aci LEFT JOIN channel_supplier AS cs
         ON aci.supplier_id = cs.supplier_id
         <where>
-            <if test="channelId !=null">
-                AND aci.channel_id = #{channelId}
-            </if>
-            <if test="supplierId !=null">
-                AND aci.supplier_id = #{supplierId}
-            </if>
             <if test="channelName !=null and channelName.trim()!=''">
                 AND aci.channel_name LIKE CONCAT('%' #{channelName},'%')
             </if>
             AND aci.is_delete = 0
+            ORDER BY aci.is_valid DESC, aci.create_time DESC
         </where>
     </select>
 

+ 4 - 3
modules/admin/src/main/resources/mapper/ChannelSupplierMapper.xml

@@ -36,7 +36,8 @@
     </resultMap>
 
     <sql id="common_field">
-       supplier_id,
+        supplier_id
+        ,
        supplier_name,
        link_name,
        mobile,
@@ -66,7 +67,7 @@
 
     <select id="getSupplierList" resultMap="supplierResultMap">
         SELECT
-            <include refid="common_field"/>
+        <include refid="common_field"/>
         FROM channel_supplier
         <where>
             <if test="supplierName != null and supplierName.trim() != ''">
@@ -99,7 +100,7 @@
                 create_time = #{createTime}
             </if>
         </set>
-        WHERE supplier_code = #{supplierCode}
+        WHERE supplier_id = #{supplierId}
     </update>-->
 
     <update id="deleteSupplierById">