Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	modules/admin/src/main/java/com/fire/admin/service/impl/AdditionalPaymentServiceImpl.java
杜魏 4 yıl önce
ebeveyn
işleme
ae0ccf2749

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

@@ -35,4 +35,11 @@ public class RocketTags {
      * 供应商tag
      */
     public static final String SUPPLIER_TAG = "supplier";
+
+
+    /**
+     * 供应商tag
+     */
+    public static final String PRODUCT_TAG = "product";
+
 }

+ 1 - 0
modules/admin/src/main/java/com/fire/admin/dto/AdditionalPaymentDto.java

@@ -65,6 +65,7 @@ public class AdditionalPaymentDto  {
      */
     @ApiModelProperty(value = "供应商或者客户的关联关系")
     private String relationId;
+
     /**
      * 区分是供应商还是客户 1-供应商 2-客户
      */

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/dto/CustomerDto.java

@@ -50,7 +50,7 @@ public class CustomerDto {
     private Long balance;
 
     @ApiModelProperty(value = "授信额度")
-    private Long  creditAmount;
+    private BigDecimal  creditAmount;
 
     @ApiModelProperty(value = "当前费用")
     private Long currentAmount;

+ 9 - 0
modules/admin/src/main/java/com/fire/admin/rest/CustomerController.java

@@ -10,6 +10,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+
 /**
  * @author: liuliu
  * @ClassName: CustomerController
@@ -63,6 +65,13 @@ public class CustomerController {
         return new BaseResponse();
     }
 
+    @ApiOperation("客户授信")
+    @PutMapping("/credit/{customerId}/{creditAmount}")
+    public BaseResponse creditCustomer(@PathVariable Long customerId, @PathVariable BigDecimal creditAmount) {
+        customerService.creditCustomer(customerId, creditAmount);
+        return new BaseRestResponse();
+    }
+
 
     @ApiOperation("客户置无效")
     @PutMapping("/valid/{customerId}/{status}")

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

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.fire.admin.dto.CustomerDto;
 import com.fire.admin.vo.CustomerInfoVo;
 import com.fire.dto.CustomerInfo;
+import org.springframework.web.bind.annotation.PathVariable;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -95,5 +97,13 @@ public interface CustomerService extends IService<CustomerInfo> {
     * @Date: 2021/6/10 18:08
     */
     void validCustomer(Long customerId,Integer status);
-    
+
+    /**
+    * @Description:  TODO 客户授信
+    * @Param: [customerId, creditAmount]
+    * @return: java.lang.String
+    * @Author: liuliu
+    * @Date: 2021/6/11 11:05
+    */
+   void  creditCustomer( Long customerId, BigDecimal creditAmount);
 }

+ 4 - 3
modules/admin/src/main/java/com/fire/admin/service/impl/AdditionalPaymentServiceImpl.java

@@ -115,11 +115,12 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
                     .payer(SecurityUtil.getUser().getUsername())
                     .amount(additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).longValue())
                     .certificate(additionalPaymentDto.getCertificate())
-                    .time(SecurityUtil.getUser().getUsername())
+                    .time(DateUtils.strformatDatetime(LocalDateTime.now()))
                     .paymentAccount(additionalPaymentDto.getPaymentAccount())
                     .relationId(additionalPaymentDto.getRelationId())
                     .distinguish(additionalPaymentDto.getDistinguish())
                     .undo(0).build();
+            log.info("加款参数为:【{}】", payment.toString());
             return baseMapper.insert(payment);
         } else {
             // TODO 请求参数不合法抛异常
@@ -243,8 +244,8 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
 
     }
 
-    private AdditionalPayment formatAdditionalPaymentDto(AdditionalPaymentDto additionalPaymentDto) {
-        return AdditionalPayment.builder()
+    private AdditionalPayment formatAdditionalPaymentDto(AdditionalPaymentDto additionalPaymentDto){
+       return AdditionalPayment.builder()
                 .id(additionalPaymentDto.getId())
                 .relationId(additionalPaymentDto.getRelationId())
                 .amount(additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).longValue())

+ 40 - 3
modules/admin/src/main/java/com/fire/admin/service/impl/CustomerServiceImpl.java

@@ -20,17 +20,25 @@ import com.fire.dto.FlowAppInfo;
 import com.fire.dto.enums.Status;
 import com.fire.utils.date.DateUtils;
 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 org.springframework.transaction.annotation.Transactional;
 import redis.clients.jedis.JedisCluster;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 
+import static com.fire.common.constants.RocketTags.CONSUMER_PRODUCT_TAG;
+import static com.fire.common.constants.RocketTags.MAKE_TAG;
+import static com.fire.common.constants.RocketTopic.ORDER_TOPIC;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
 import static com.fire.dto.enums.RedisKey.CUSTOMER_AMOUNT;
 import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+import static com.fire.dto.enums.RocketQueue.ORDER_QUEUE;
 
 /**
  * @author: liuliu
@@ -51,6 +59,10 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
     @Autowired
     private BankCardService bankCardService;
 
+
+    @Resource
+    private RocketMQTemplate rocketMQTemplate;
+
     /**
      * @Description: TODO 分页获取客户信息
      * @Param: 查询条件,根据客户名称模糊查询
@@ -117,6 +129,8 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
         if (count1 > 0 && count2 > 0) {
             // TODO 发送消息到 topic  分别发送到 客户的 topic 以及 客户接入的 topic
 
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + CONSUMER_PRODUCT_TAG, MessageBuilder.withPayload(CONSUMER_PRODUCT_TAG).build());
+
             log.info("新增客户对象为:【{}】", customerInfo.toString());
             log.info("新增客户接入信息为:【{}】", appInfo.toString());
 
@@ -158,7 +172,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
                 .address(customerDto.getAddress())
                 .status(customerDto.getStatus())
                 .balance(customerDto.getBalance())
-                .creditAmount(customerDto.getCreditAmount())
+                .creditAmount(customerDto.getCreditAmount().longValue())
                 .currentAmount(customerDto.getCurrentAmount())
                 .isFirstLogin(customerDto.getIsFirstLogin())
                 .isDeleted(customerDto.getIsDeleted())
@@ -179,6 +193,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
 
         if (count > 0) {
             log.info("------------------------- 客户修改成功,发送消息到相应的topic --------------------------------");
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + CONSUMER_PRODUCT_TAG, MessageBuilder.withPayload(CONSUMER_PRODUCT_TAG).build());
         }
 
     }
@@ -235,7 +250,8 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
                 .isDeleted(1).build();
         int count = baseMapper.updateById(info);
         if (count > 0) {
-            log.info("客户编号为:【{}】 执行了删除操作", customerId);
+            log.info("客户编号为:【{}】 执行了删除操作 , 并发送消息到 topic", customerId);
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + CONSUMER_PRODUCT_TAG, MessageBuilder.withPayload(CONSUMER_PRODUCT_TAG).build());
         }
     }
 
@@ -252,8 +268,29 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
                 .status(status).build();
         int count = baseMapper.updateById(info);
         if (count > 0) {
-            log.info("客户编号为:【{}】 修改了有效性", customerId);
+            log.info("客户编号为:【{}】 修改了有效性,并发送消息到 topic", customerId);
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + CONSUMER_PRODUCT_TAG, MessageBuilder.withPayload(CONSUMER_PRODUCT_TAG).build());
+        }
+    }
+
+    /**
+     * @Description: TODO 客户授信
+     * @Param: [customerId, creditAmount]
+     * @return: java.lang.Long
+     * @Author: liuliu
+     * @Date: 2021/6/11 11:06
+     */
+    @Override
+    public void creditCustomer(Long customerId, BigDecimal creditAmount) {
+        long amount = creditAmount.multiply(new BigDecimal(10000)).longValue();
+        CustomerInfo customerInfo = CustomerInfo.builder().customerId(customerId).creditAmount(amount).build();
+        int count = baseMapper.updateById(customerInfo);
+        if (count > 0) {
+            log.info("客户编号为:【{}】 加款,加款金额为:【{}】,并发送消息到topic", customerId, creditAmount);
+            // TODO 发送topic
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + CONSUMER_PRODUCT_TAG, MessageBuilder.withPayload(CONSUMER_PRODUCT_TAG).build());
         }
+
     }
 
 

+ 17 - 7
modules/admin/src/main/java/com/fire/admin/service/impl/FireProductServiceImpl.java

@@ -19,14 +19,17 @@ 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.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 javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.stream.Collectors;
-
+import static com.fire.common.constants.RocketTags.PRODUCT_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
 import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
 
 /**
@@ -43,8 +46,12 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
     @Autowired
     private CustomerProductInfoService customerProductInfoService;
 
+    @Resource
     private JedisCluster jedisCluster;
 
+    @Resource
+    private RocketMQTemplate rocketMQTemplate;
+
     /***
      * @Description: TODO 分页获取产品对象
      * @Param: [page, fireProductInfoDto]
@@ -94,6 +101,7 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
             int count = baseMapper.insert(productInfo);
             if (count > 0) {
                 // TODO 发送消息到 产品的 TOPIC
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + PRODUCT_TAG, MessageBuilder.withPayload(PRODUCT_TAG).build());
             }
         } else {
             log.info("--------  产品信息已经存在,添加产品失败 -----------------");
@@ -170,10 +178,10 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
                 .isDelete(fireProductInfoDto.getIsDelete())
                 .operator(fireProductInfoDto.getOperator()).build();
 
-        log.info("产品修改的对象为:【{}】", productInfo.toString());
         boolean flag = this.saveOrUpdate(productInfo);
         if (flag) {
             //  TODO 发送消息到topic
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + PRODUCT_TAG, MessageBuilder.withPayload(PRODUCT_TAG).build());
         }
         return flag;
     }
@@ -193,16 +201,13 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
         List<FireProductInfoVo> ProductVolist = Lists.newArrayList();
         // TODO 首先获取所有的产品
         List<FireProductInfoVo> fireProductInfoVos = baseMapper.selectProductAll();
-        log.info("所有产品的个数:【{}】", fireProductInfoVos.size());
         List<String> packageList = customerProductInfoService.getCuProByCustomerId(customerId);
-        log.info("客户已经有的产品个数:【{}】", packageList.size());
         if (!ObjectUtil.hasEmpty(packageList)) {
             List<FireProductInfoVo> list = fireProductInfoVos.stream().filter((FireProductInfoVo pro) -> packageList.contains(pro.getPackageId()) == false).collect(Collectors.toList());
             ProductVolist.addAll(list);
         } else {
             ProductVolist.addAll(fireProductInfoVos);
         }
-        log.info("客户最终返回的产品个数为:【{}】", ProductVolist.size());
         return ProductVolist;
     }
 
@@ -218,7 +223,12 @@ public class FireProductServiceImpl extends ServiceImpl<FireProductMapper, FireP
     public void deleteProductByProductId(Long productId) {
         FireProductInfo productInfo = FireProductInfo.builder().productId(productId)
                 .isDelete(1).build();
-        baseMapper.updateById(productInfo);
+        int count = baseMapper.updateById(productInfo);
+        if(count>0){
+            // TODO 发送消息到 topic
+            log.info("产品编号为:【{}】进行了逻辑删除",productId);
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + PRODUCT_TAG, MessageBuilder.withPayload(PRODUCT_TAG).build());
+        }
 
     }
 

+ 2 - 2
modules/admin/src/main/java/com/fire/admin/vo/AdditionalPaymentVo.java

@@ -19,7 +19,7 @@ import java.math.BigInteger;
 @NoArgsConstructor
 public class AdditionalPaymentVo {
 
-    private Integer id;
+    private Long id;
     /**
      * 银行卡
      */
@@ -33,7 +33,7 @@ public class AdditionalPaymentVo {
      * 账户
      */
     @ApiModelProperty(value = "开户行")
-    private BigInteger account;
+    private String account;
 
     /**
      * 加款人

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/vo/CustomerProductInfoVo.java

@@ -17,7 +17,7 @@ import java.math.BigInteger;
 public class CustomerProductInfoVo {
 
     @ApiModelProperty(value = "主键")
-    private Integer customerProductId;
+    private Long customerProductId;
 
     @ApiModelProperty(value = "客户ID")
     private Long customerId;

+ 1 - 1
modules/admin/src/main/java/com/fire/admin/vo/UserVo.java

@@ -11,7 +11,7 @@ import lombok.Data;
 @Data
 public class UserVo {
 
-    private Integer userId;
+    private Long userId;
 
     private String userName;