فهرست منبع

功能提交 客户加款相关的接口 以及修改客户产品的数据类型

杨六六 4 سال پیش
والد
کامیت
dc1af2e7c7
23فایلهای تغییر یافته به همراه538 افزوده شده و 32 حذف شده
  1. 5 1
      common/fire-dto/src/main/java/com/fire/dto/AdditionalPayment.java
  2. 2 2
      common/fire-dto/src/main/java/com/fire/dto/BankCard.java
  3. 2 1
      common/fire-dto/src/main/java/com/fire/dto/CustomerInfo.java
  4. 1 1
      common/fire-dto/src/main/java/com/fire/dto/CustomerProduct.java
  5. 20 3
      modules/admin/src/main/java/com/fire/admin/dto/AdditionalPaymentDto.java
  6. 1 1
      modules/admin/src/main/java/com/fire/admin/dto/ConstantProperties.java
  7. 15 1
      modules/admin/src/main/java/com/fire/admin/mapper/AdditionalPaymentMapper.java
  8. 55 0
      modules/admin/src/main/java/com/fire/admin/rest/AdditionalPaymentController.java
  9. 8 1
      modules/admin/src/main/java/com/fire/admin/rest/BankCardRest.java
  10. 6 0
      modules/admin/src/main/java/com/fire/admin/rest/CustomerController.java
  11. 35 0
      modules/admin/src/main/java/com/fire/admin/rest/PictureUpLoadController.java
  12. 1 1
      modules/admin/src/main/java/com/fire/admin/rest/TestController.java
  13. 49 0
      modules/admin/src/main/java/com/fire/admin/service/AdditionalPaymentService.java
  14. 15 2
      modules/admin/src/main/java/com/fire/admin/service/CustomerService.java
  15. 129 0
      modules/admin/src/main/java/com/fire/admin/service/impl/AdditionalPaymentServiceImpl.java
  16. 2 2
      modules/admin/src/main/java/com/fire/admin/service/impl/BankCardServiceImpl.java
  17. 2 2
      modules/admin/src/main/java/com/fire/admin/service/impl/CustomerProductInfoServiceImpl.java
  18. 46 6
      modules/admin/src/main/java/com/fire/admin/service/impl/CustomerServiceImpl.java
  19. 2 1
      modules/admin/src/main/java/com/fire/admin/util/AliyunOSSUtil.java
  20. 93 0
      modules/admin/src/main/java/com/fire/admin/vo/AdditionalPaymentVo.java
  21. 2 2
      modules/admin/src/main/resources/bootstrap.yml
  22. 45 0
      modules/admin/src/main/resources/mapper/AdditionalPaymentMapper.xml
  23. 2 5
      modules/admin/src/main/resources/mapper/CustomerProductInfoMapper.xml

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

@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -19,6 +21,8 @@ import java.math.BigInteger;
 @Data
 @Builder
 @TableName("additional_payment")
+@AllArgsConstructor
+@NoArgsConstructor
 public class AdditionalPayment {
 
     /**
@@ -52,7 +56,7 @@ public class AdditionalPayment {
      * 加款金额
      */
     @ApiModelProperty(value = "加款金额")
-    private BigDecimal amount;
+    private Long amount;
 
     /**
      * 凭证

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

@@ -54,7 +54,7 @@ public class BankCard {
     @ApiModelProperty("区分是供应商还是客户 1-供应商 2-客户")
     private Integer distinguish;
 
-    @ApiModelProperty("对应供应商")
+/*    @ApiModelProperty("对应供应商")
     @TableField(exist = false)
-    private ChannelSupplier channelSupplier;
+    private ChannelSupplier channelSupplier;*/
 }

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

@@ -3,13 +3,13 @@ package com.fire.dto;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-
 import java.math.BigDecimal;
 
 
@@ -19,6 +19,7 @@ import java.math.BigDecimal;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class CustomerInfo {
 
     @ApiModelProperty(value = "客户ID")

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

@@ -42,7 +42,7 @@ public class CustomerProduct {
     private Integer type;
 
     @ApiModelProperty(value = "客户结算价格")
-    private Integer price;
+    private Long price;
 
     @ApiModelProperty(value = "产品面额")
     private Long facePrice;

+ 20 - 3
modules/admin/src/main/java/com/fire/admin/dto/AdditionalPaymentDto.java

@@ -13,10 +13,10 @@ import java.math.BigInteger;
  * @date: 2021-06-03 14:25
  */
 @Data
-public class AdditionalPaymentDto {
+public class AdditionalPaymentDto  {
 
-    @ApiModelProperty(value = "主键")
     private Integer id;
+
     /**
      * 银行卡
      */
@@ -72,9 +72,26 @@ public class AdditionalPaymentDto {
     private Integer distinguish;
 
     /**
-     * 撤销
+     *  撤销 0: 正常  1: 撤销
      */
     @ApiModelProperty(value = "撤销")
     private Integer undo;
 
+
+    /**
+     * 每页记录条数
+     */
+    private Integer size;
+
+    /**
+     * 当前页码
+     */
+    private Integer current;
+
+
+    /**
+     * type : 如果为 customer : 表示客户的账户信息  , 值为: suppler: 表示通道
+     */
+
+    private String type;
 }

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

@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
  */
 @Component
 @Data
-@ConfigurationProperties(prefix = "oos")
+@ConfigurationProperties(prefix = "oss")
 public class ConstantProperties {
 
     private String endpoint;

+ 15 - 1
modules/admin/src/main/java/com/fire/admin/mapper/AdditionalPaymentMapper.java

@@ -1,7 +1,12 @@
 package com.fire.admin.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fire.admin.dto.AdditionalPaymentDto;
+import com.fire.admin.vo.AdditionalPaymentVo;
 import com.fire.dto.AdditionalPayment;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -11,7 +16,16 @@ import org.springframework.stereotype.Repository;
  * @date: 2021-06-03 14:22
  */
 @Repository
-public interface AdditionalPaymentMapper  extends BaseMapper<AdditionalPayment> {
+public interface AdditionalPaymentMapper extends BaseMapper<AdditionalPayment> {
 
 
+    /**
+    * @Description:  TODO  分页获取加款记录
+    * @Param: [page, additionalPaymentDto]
+    * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.fire.admin.vo.AdditionalPaymentVo>
+    * @Author: liuliu
+    * @Date: 2021/6/7 12:24
+    */
+    IPage<AdditionalPaymentVo> selectAddiPayCustomerPageInfo(Page page,@Param("select")  AdditionalPaymentDto additionalPaymentDto);
+
 }

+ 55 - 0
modules/admin/src/main/java/com/fire/admin/rest/AdditionalPaymentController.java

@@ -0,0 +1,55 @@
+package com.fire.admin.rest;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fire.admin.dto.AdditionalPaymentDto;
+import com.fire.admin.service.AdditionalPaymentService;
+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.*;
+
+/**
+ * @author: liuliu
+ * @ClassName: AdditionalPaymentController
+ * @Description: TODO 供应商或者客户加款
+ * @date: 2021-06-04 16:47
+ */
+@Api(tags = "客户账户相关的接口")
+@RestController
+@RequestMapping("/payment")
+public class AdditionalPaymentController {
+
+    private AdditionalPaymentService additionalPaymentService;
+
+    @Autowired
+    public AdditionalPaymentController(AdditionalPaymentService additionalPaymentService) {
+        this.additionalPaymentService = additionalPaymentService;
+    }
+
+    @ApiOperation("客户加款接口")
+    @PostMapping("/add")
+    public BaseResponse makeAdditionalPayment(@RequestBody AdditionalPaymentDto additionalPaymentDto) {
+        additionalPaymentService.insertAdditionalPaymen(additionalPaymentDto);
+        return new BaseResponse();
+    }
+
+
+    @ApiOperation("分页获取客户加款信息")
+    @PostMapping("/info")
+    public BaseRestResponse makeGetAdditionalPaymentPage( @RequestBody AdditionalPaymentDto additionalPaymentDto) {
+        return new BaseRestResponse(additionalPaymentService.getAdditionalPaymentPage(additionalPaymentDto));
+    }
+
+    @ApiOperation("更改加款记录,只能更改凭证,其余的都不能修改")
+    @PostMapping("/update")
+    public BaseResponse makeUpdateAdditionalPayment(@RequestBody AdditionalPaymentDto additionalPaymentDto){
+        additionalPaymentService.updAdditionPayment(additionalPaymentDto);
+        return new BaseResponse();
+    }
+
+
+
+
+}

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

@@ -32,8 +32,15 @@ public class BankCardRest {
         this.bankCardService = bankCardService;
     }
 
+    /**
+    * @Description:  TODO 获取银行卡列表
+    * @Param: [relationId, distinguish]
+    * @return: com.fire.dto.response.BaseRestResponse
+    * @Author: liuliu
+    * @Date: 2021/6/4 16:45
+    */
     @PostMapping("/list")
-    @ApiOperation(value = "银行卡列表", notes = "bankcard_list.py")
+    @ApiOperation(value = "根据供应商或者客户获取该供应商或者客户的银行卡详情(distinguish:1-供应商 2-客户)", notes = "bankcard_list.py")
     public BaseRestResponse getBankCardList(Integer relationId, Integer distinguish) {
         List<BankCard> bankCardList = bankCardService.getBankCardList(relationId, distinguish);
         if (bankCardList != null) {

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

@@ -57,4 +57,10 @@ public class CustomerController {
     }
 
 
+    @ApiOperation("获取所有的客户信息{用于各种对客户条件的查询}")
+    @GetMapping("/{customerName}")
+    public  BaseRestResponse getCustomerInfo(@PathVariable String customerName){
+    return  new BaseRestResponse<>(customerService.queryCustomerInfo(customerName));
+    }
+
 }

+ 35 - 0
modules/admin/src/main/java/com/fire/admin/rest/PictureUpLoadController.java

@@ -0,0 +1,35 @@
+package com.fire.admin.rest;
+
+import com.fire.admin.util.AliyunOSSUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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.multipart.MultipartFile;
+
+/**
+ * @author: liuliu
+ * @ClassName: PictureUpLoadController
+ * @Description: TODO
+ * @date: 2021-06-07 14:57
+ */
+@Api(tags = "文件上传")
+@RestController
+@RequestMapping("/picture")
+public class PictureUpLoadController {
+
+    @Autowired
+    private AliyunOSSUtil aliyunOSSUtil;
+
+
+    @CrossOrigin
+    @ApiOperation("文件上传")
+    @PostMapping("/upload")
+    public String testUpload(MultipartFile file) {
+        return aliyunOSSUtil.upload(file);
+    }
+
+}

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

@@ -40,7 +40,7 @@ public class TestController {
     @ApiOperation("文件上传测试")
     @PostMapping("/1")
     public String testUpload(MultipartFile file) {
-        return aliyunOSSUtil.upload2(file);
+        return aliyunOSSUtil.upload(file);
     }
 
 

+ 49 - 0
modules/admin/src/main/java/com/fire/admin/service/AdditionalPaymentService.java

@@ -0,0 +1,49 @@
+package com.fire.admin.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fire.admin.dto.AdditionalPaymentDto;
+import com.fire.admin.vo.AdditionalPaymentVo;
+import com.fire.dto.AdditionalPayment;
+
+/**
+ * @author: liuliu
+ * @ClassName: AdditionalPaymentService
+ * @Description: TODO  供应商和客户加款service
+ * @date: 2021-06-04 15:20
+ */
+
+public interface AdditionalPaymentService extends IService<AdditionalPayment> {
+
+    /**
+     * @Description: TODO  客户或者供应商加款新增
+     * @Param: [additionalPaymentDto]
+     * @return: void
+     * @Author: liuliu
+     * @Date: 2021/6/4 15:57
+     */
+    void insertAdditionalPaymen(AdditionalPaymentDto additionalPaymentDto);
+
+
+    /**
+     * @Description: TODO 分页获取客户账户信息
+     * @Param: [additionalPaymentDto]
+     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.fire.admin.vo.AdditionalPaymentVo>
+     * @Author: liuliu
+     * @Date: 2021/6/7 14:26
+     */
+    IPage<AdditionalPaymentVo> getAdditionalPaymentPage(AdditionalPaymentDto additionalPaymentDto);
+
+
+
+    /**
+    * @Description:  TODO 修改客户信息
+    * @Param: [additionalPaymentDto]
+    * @return: void
+    * @Author: liuliu
+    * @Date: 2021/6/7 16:50
+    */
+    void  updAdditionPayment(AdditionalPaymentDto additionalPaymentDto);
+    
+}

+ 15 - 2
modules/admin/src/main/java/com/fire/admin/service/CustomerService.java

@@ -7,6 +7,8 @@ import com.fire.admin.dto.CustomerDto;
 import com.fire.admin.vo.CustomerInfoVo;
 import com.fire.dto.CustomerInfo;
 
+import java.util.List;
+
 /**
  * @author: liuliu
  * @ClassName: CustomerService
@@ -36,7 +38,7 @@ public interface CustomerService extends IService<CustomerInfo> {
 
 
     /**
-    * @Description:  TODO 逻辑删除客户信息
+    * @Description:  TODO 逻辑删除客户信息(暂时弃用)
     * @Param:
     * @return:
     * @Author: liuliu
@@ -53,5 +55,16 @@ public interface CustomerService extends IService<CustomerInfo> {
     * @Date: 2021/5/31 18:03
     */
     void updateCustomerInfo(CustomerDto customerDto);
-    
+
+
+
+    /**
+    * @Description:  TODO 获取所有的客户信息{用于各种对客户条件的查询}
+    * @Param: 客户名称
+    * @return:  客户展示vo对象
+    * @Author: liuliu
+    * @Date: 2021/6/4 15:49
+    */
+    List<CustomerInfo> queryCustomerInfo(String customerName);
+
 }

+ 129 - 0
modules/admin/src/main/java/com/fire/admin/service/impl/AdditionalPaymentServiceImpl.java

@@ -0,0 +1,129 @@
+package com.fire.admin.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fire.admin.dto.AdditionalPaymentDto;
+import com.fire.admin.mapper.AdditionalPaymentMapper;
+import com.fire.admin.service.AdditionalPaymentService;
+import com.fire.admin.util.AliyunOSSUtil;
+import com.fire.admin.util.SecurityUtil;
+import com.fire.admin.vo.AdditionalPaymentVo;
+import com.fire.common.exception.BaseException;
+import com.fire.common.redis.RedisAmountScript;
+import com.fire.dto.AdditionalPayment;
+import com.fire.dto.enums.Status;
+import com.fire.utils.date.DateUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import static com.fire.dto.enums.RedisKey.CUSTOMER_AMOUNT;
+
+/**
+ * @author: liuliu
+ * @ClassName: AdditionalPaymentServiceImpl
+ * @Description: TODO
+ * @date: 2021-06-04 15:21
+ */
+@Slf4j
+@Service
+public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentMapper, AdditionalPayment> implements AdditionalPaymentService {
+
+    private AliyunOSSUtil aliyunOSSUtil;
+    private RedisAmountScript redisAmountScript;
+
+    @Autowired
+    public AdditionalPaymentServiceImpl(AliyunOSSUtil aliyunOSSUtil, RedisAmountScript redisAmountScript) {
+        this.aliyunOSSUtil = aliyunOSSUtil;
+        this.redisAmountScript = redisAmountScript;
+    }
+
+    /**
+     * @Description: TODO 新增加款记录
+     * @Param: [additionalPaymentDto]
+     * @return: void
+     * @Author: liuliu
+     * @Date: 2021/6/4 15:28
+     */
+    @Override
+    public void insertAdditionalPaymen(AdditionalPaymentDto additionalPaymentDto) {
+        if (additionalPaymentDto.getType().equals("customer")) {
+            additionalPaymentDto.setDistinguish(2);
+            // TODO 客户加款
+            int count = this.additionalPayment(additionalPaymentDto);
+            if (count > 0) {
+                // TODO 加款成功之后,把加款的金额写入数据库
+                redisAmountScript.changeAmount(CUSTOMER_AMOUNT.key(), Long.getLong(additionalPaymentDto.getRelationId()), "add", additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).intValue(), 0L);
+            }
+        } else if (additionalPaymentDto.getType().equals("suppler")) {
+            additionalPaymentDto.setDistinguish(1);
+            // TODO 供应商加款
+            this.additionalPayment(additionalPaymentDto);
+        }
+
+    }
+
+    /**
+     * @Description: TODO  客户和供应商加款共用和方法
+     * @Param: [additionalPaymentDto]
+     * @return: void
+     * @Author: liuliu
+     * @Date: 2021/6/7 16:12
+     */
+    private int additionalPayment(AdditionalPaymentDto additionalPaymentDto) {
+        if (ObjectUtil.isNotEmpty(additionalPaymentDto.getType()) && ObjectUtil.isNotEmpty(additionalPaymentDto.getRelationId())) {
+            AdditionalPayment payment = new AdditionalPayment();
+            BeanUtil.copyProperties(additionalPaymentDto, payment);
+            payment.setTime(DateUtils.strformatDatetime(LocalDateTime.now()));
+            payment.setPayer(SecurityUtil.getUser().getUsername());
+            return baseMapper.insert(payment);
+
+        } else {
+            // TODO 请求参数不合法抛异常
+            throw new BaseException(Status.PARAM_LOSS.status(), Status.PARAM_LOSS.message());
+        }
+
+    }
+
+
+    /**
+     * @Description: TODO  分页获取客户加款信息
+     * @Param: [additionalPaymentDto]
+     * @return: com.baomidou.mybatisplus.core.metadata.IPage<com.fire.admin.vo.AdditionalPaymentVo>
+     * @Author: liuliu
+     * @Date: 2021/6/7 14:28
+     */
+    @Override
+    public IPage<AdditionalPaymentVo> getAdditionalPaymentPage(AdditionalPaymentDto additionalPaymentDto) {
+
+        Page page = new Page();
+        // TODO 对前端的页码 以及每页显示的数量进行处理
+        if (ObjectUtil.isNotEmpty(additionalPaymentDto.getCurrent()) && ObjectUtil.isNotEmpty(additionalPaymentDto.getSize())) {
+            page.setSize(additionalPaymentDto.getSize());
+            page.setCurrent(additionalPaymentDto.getCurrent());
+        }
+
+        return baseMapper.selectAddiPayCustomerPageInfo(page, additionalPaymentDto);
+    }
+
+
+    /**
+     * @Description: TODO 修改客户加款信息
+     * @Param: [additionalPaymentDto]
+     * @return: void
+     * @Author: liuliu
+     * @Date: 2021/6/7 16:48
+     */
+    @Override
+    public void updAdditionPayment(AdditionalPaymentDto additionalPaymentDto) {
+
+        AdditionalPayment payment = AdditionalPayment.builder().id(additionalPaymentDto.getId()).certificate(additionalPaymentDto.getCertificate()).build();
+        baseMapper.updateById(payment);
+    }
+}

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

@@ -24,8 +24,8 @@ public class BankCardServiceImpl extends ServiceImpl<BankCardMapper, BankCard> i
     @Override
     public List<BankCard> getBankCardList(Integer relationId, Integer distinguish) {
         List<BankCard> bankCardList = new LambdaQueryChainWrapper<>(baseMapper)
-                .eq(BankCard::getDistinguish, distinguish)
-                .eq(relationId != null, BankCard::getRelationId, relationId).list();
+                .eq(BankCard::getRelationId,relationId )
+                .eq(distinguish !=null,BankCard::getDistinguish, distinguish).list();
         if (bankCardList != null) {
             return bankCardList;
         } else {

+ 2 - 2
modules/admin/src/main/java/com/fire/admin/service/impl/CustomerProductInfoServiceImpl.java

@@ -92,8 +92,8 @@ public class CustomerProductInfoServiceImpl extends ServiceImpl<CustomerProductI
                         .customerId(dto.getCustomerId())
                         .packageId(dto.getPackageId())
                         .type(dto.getType())
-                        .price(Integer.parseInt(String.valueOf((dto.getPrice().multiply(new BigDecimal(10000))).longValue())))
-                        .facePrice(Integer.parseInt(String.valueOf(dto.getFacePrice().multiply(new BigDecimal(10000)).longValue())))
+                        .price(Long.parseLong(String.valueOf((dto.getPrice().multiply(new BigDecimal(10000))))))
+                        .facePrice(Long.parseLong(String.valueOf(dto.getFacePrice().multiply(new BigDecimal(10000)))))
                         .isEffective(dto.getIsEffective())
                         .disCount(dto.getPrice().divide(dto.getFacePrice())).build();
                 log.info("产品为:【{}】",product.toString());

+ 46 - 6
modules/admin/src/main/java/com/fire/admin/service/impl/CustomerServiceImpl.java

@@ -1,6 +1,8 @@
 package com.fire.admin.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.RandomUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -11,9 +13,11 @@ import com.fire.admin.service.BankCardService;
 import com.fire.admin.service.CustomerService;
 import com.fire.admin.util.SecurityUtil;
 import com.fire.admin.vo.CustomerInfoVo;
+import com.fire.dto.BankCard;
 import com.fire.dto.CustomerInfo;
 import com.fire.dto.FlowAppInfo;
 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;
@@ -56,9 +60,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
     @Override
     public IPage<CustomerInfoVo> getCustomerInfoPage(Page page, CustomerDto customerDto) {
         IPage<CustomerInfoVo> customerInfoVoIPage = baseMapper.queryCustomerInfoPage(page, customerDto);
-        List<Long> customerIds = customerInfoVoIPage.getRecords().stream().map(CustomerInfoVo::getCustomerId).collect(Collectors.toList());
-
 
+        List<CustomerInfoVo> infoVos = customerInfoVoIPage.getRecords();
+        if (!infoVos.isEmpty()) {
+            infoVos.forEach(info -> {
+                // TODO  返回客户的银行卡信息
+                info.setBankCards(bankCardService.getBankCardList(Integer.parseInt(String.valueOf(info.getCustomerId())), 2));
+            });
+        }
         return customerInfoVoIPage;
     }
 
@@ -105,12 +114,14 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
 
             log.info("新增客户对象为:【{}】", customerInfo.toString());
             log.info("新增客户接入信息为:【{}】", appInfo.toString());
+
+            jedisCluster.hset(CUSTOMER_AMOUNT.key(), CUSTOMER_AMOUNT.key().concat(customerInfo.getCustomerId().toString()), "0");
         }
-        jedisCluster.hset(CUSTOMER_AMOUNT.key(), CUSTOMER_AMOUNT.key().concat(customerInfo.getCustomerId().toString()), "0");
+
     }
 
     /**
-     * @Description: TODO  逻辑删除客户信息
+     * @Description: TODO  逻辑删除客户信息 (暂时弃用)
      * @Param: [customerId]
      * @return: void
      * @Author: liuliu
@@ -123,6 +134,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
         baseMapper.updateById(info);
     }
 
+    /**
+     * @Description: TODO 修改客户信息
+     * @Param: [customerDto]
+     * @return: void
+     * @Author: liuliu
+     * @Date: 2021/6/4 15:46
+     */
     @Override
     public void updateCustomerInfo(CustomerDto customerDto) {
         CustomerInfo customerInfo = CustomerInfo.builder().customerId(customerDto.getCustomerId())
@@ -145,16 +163,38 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, CustomerInf
                 .priceCheck(customerDto.getPriceCheck()).build();
 
         int count = baseMapper.updateById(customerInfo);
+        List<BankCard> bankCards = customerDto.getBankCards();
+        if (!bankCards.isEmpty()) {
+            bankCards.forEach(cars -> {
+                cars.setRelationId(Integer.parseInt(String.valueOf(customerDto.getCustomerId())));
+            });
 
-        if (!customerDto.getBankCards().isEmpty()){
             bankCardService.saveBankCards(customerDto.getBankCards());
         }
 
-        if(count>0){
+        if (count > 0) {
             log.info("------------------------- 客户修改成功,发送消息到相应的topic --------------------------------");
         }
 
     }
 
 
+    /**
+     * @Description: TODO 获取所有的客户信息{用于各种对客户条件的查询}
+     * @Param: 客户名称
+     * @return: 客户展示vo对象
+     * @Author: liuliu
+     * @Date: 2021/6/4 15:49
+     */
+    @Override
+    public List<CustomerInfo> queryCustomerInfo(String customerName) {
+        LambdaQueryWrapper<CustomerInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(CustomerInfo::getCustomerId, CustomerInfo::getCustomerName)
+                .like(CustomerInfo::getCustomerName, customerName);
+
+        return baseMapper.selectList(queryWrapper);
+
+    }
+
+
 }

+ 2 - 1
modules/admin/src/main/java/com/fire/admin/util/AliyunOSSUtil.java

@@ -38,7 +38,7 @@ public class AliyunOSSUtil {
      * @Author: liuliu
      * @Date: 2021/6/2 12:23
      */
-    public String upload2(MultipartFile multipartFile) {
+    public String upload(MultipartFile multipartFile) {
         String endpoint = constantProperties.getEndpoint();
         String accessKeyId = constantProperties.getKeyid();
         String accessKeySecret = constantProperties.getKeysecret();
@@ -53,6 +53,7 @@ public class AliyunOSSUtil {
                 createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
                 ossClient.createBucket(createBucketRequest);
             }
+            log.info("multipartFile.getOriginalFilename:[{}]",multipartFile.getOriginalFilename());
             String fileUrl = fileHost.concat("/".concat(multipartFile.getOriginalFilename()));
 
             if (multipartFile.getSize() != 0 && ObjectUtil.isNotEmpty(multipartFile.getName())) {

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

@@ -0,0 +1,93 @@
+package com.fire.admin.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+/**
+ * @author: liuliu
+ * @ClassName: AdditionalPaymentVo
+ * @Description: TODO
+ * @date: 2021-06-04 16:57
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AdditionalPaymentVo {
+
+    private Integer id;
+    /**
+     * 银行卡
+     */
+    @ApiModelProperty(value = "银行卡")
+    String cardNo;
+    /**
+     * 开户行
+     */
+    private String bankDeposit;
+    /**
+     * 账户
+     */
+    @ApiModelProperty(value = "开户行")
+    private BigInteger account;
+
+    /**
+     * 加款人
+     */
+    @ApiModelProperty(value = "加款人")
+    private String payer;
+
+    /**
+     * 加款金额
+     */
+    @ApiModelProperty(value = "加款金额")
+    private BigDecimal amount;
+
+    /**
+     * 凭证
+     */
+    @ApiModelProperty(value = "凭证")
+    private String certificate;
+
+    /**
+     * 加款时间
+     */
+    @ApiModelProperty(value = "加款时间")
+    private String time;
+    /**
+     * 出款账户
+     */
+    @ApiModelProperty(value = "出款账户")
+    private String paymentAccount;
+    /**
+     * 供应商或者客户的关联关系
+     */
+    @ApiModelProperty(value = "供应商或者客户的关联关系")
+    private String relationId;
+    /**
+     * 区分是供应商还是客户 1-供应商 2-客户
+     */
+    @ApiModelProperty(value = " 区分是供应商还是客户 1-供应商 2-客户")
+    private Integer distinguish;
+
+    /**
+     * 撤销
+     */
+    @ApiModelProperty(value = "撤销")
+    private Integer undo;
+
+
+    /********************扩展冗余字段*********************/
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+
+
+}

+ 2 - 2
modules/admin/src/main/resources/bootstrap.yml

@@ -28,7 +28,7 @@ spring:
         service: admin
 
 
-oos:
+oss:
   endpoint: http://oss-cn-chengdu.aliyuncs.com
   keyid: LTAI4FyxwFmsGEESaa7tiB6z # 填写刚刚生成的AccessKey
   keysecret: dG701ohwFU28pT84ZpEmIn7EcLOzzu  # 填写刚刚生成的Accesssecret
@@ -62,7 +62,7 @@ spring:
 
 
 
-oos:
+oss:
   endpoint: http://oss-cn-chengdu.aliyuncs.com
   keyid: LTAI4FyxwFmsGEESaa7tiB6z # 填写刚刚生成的AccessKey
   keysecret: dG701ohwFU28pT84ZpEmIn7EcLOzzu  # 填写刚刚生成的Accesssecret

+ 45 - 0
modules/admin/src/main/resources/mapper/AdditionalPaymentMapper.xml

@@ -19,7 +19,52 @@
     </resultMap>
 
 
+    <resultMap id="ResultMap" type="com.fire.admin.vo.AdditionalPaymentVo">
+        <result column="id" property="id"/>
+        <result column="card_no" property="cardNo"/>
+        <result column="bank_deposit" property="bankDeposit"/>
+        <result column="account" property="account"/>
+        <result column="payer" property="payer"/>
+        <result column="amount" property="amount"/>
+        <result column="certificate" property="certificate"/>
+        <result column="time" property="time"/>
+        <result column="payment_account" property="paymentAccount"/>
+        <result column="relation_id" property="relationId"/>
+        <result column="distinguish" property="distinguish"/>
+        <result column="undo" property="undo"/>
+        <result column="customer_name" property="customerName"/>
+    </resultMap>
+
+    <sql id="customerPayment">
+        pay .id,
+        pay.card_no,
+        pay.bank_deposit,
+        pay.account,
+        pay.payer,
+        pay.amount,
+        pay.certificate,
+        pay.time,
+        pay.payment_account,
+        pay.relation_id,
+        pay.distinguish,
+        pay.undo,
+        c.customer_name
+    </sql>
 
+    <select id="selectAddiPayCustomerPageInfo" resultMap="ResultMap">
+        SELECT
+        <include refid="customerPayment"/>
+        FROM
+        additional_payment AS pay
+        LEFT JOIN customer_info AS c ON pay.relation_id=c.customer_id
+        <where>
+            <if test="select.relationId !=null and select.relationId !='' and  select.relationId !='string'">
+                and pay.relation_id =#{select.relationId}
+          </if>
+                and pay.distinguish=2
+        </where>
+        ORDER BY  pay.time DESC
+    </select>
 
 
 </mapper>

+ 2 - 5
modules/admin/src/main/resources/mapper/CustomerProductInfoMapper.xml

@@ -29,10 +29,7 @@
     </resultMap>
 
     <sql id="selectCustomerProductByCustomerId">
-        cp
-        .
-        customer_product_id
-        ,
+        cp .customer_product_id,
         cp.customer_id,
         p.package_id,
         p.product_name,
@@ -42,7 +39,7 @@
         p.area_name,
         p.operator,
         cp.is_effective,
-        FORMAT(cp.discount * 100,2) as discount
+        FORMAT(cp.discount ,4) as discount
     </sql>
 
     <select id="queryCustomerProductByCustomerId" resultMap="ResultMap">