瀏覽代碼

增加订单列表

xda 3 年之前
父節點
當前提交
807b1238cc

+ 19 - 2
src/main/java/com/winhc/repal/cloud/WinCoinService.java

@@ -1,8 +1,10 @@
 package com.winhc.repal.cloud;
 
 import com.winhc.common.base.BeanResponse;
+import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.cloud.dto.WinCoinOrderFormDTO;
 import com.winhc.repal.cloud.vo.WinCoinOrderFormVO;
+import com.winhc.repal.model.dto.RepalOrderPageDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -13,8 +15,8 @@ import org.springframework.web.bind.annotation.RequestHeader;
  * @date 2022/5/10 14:16
  * @description
  */
-//@FeignClient("win-coin")
-@FeignClient(value = "win-coin",url = "106.14.81.247:5907")
+@FeignClient("win-coin")
+//@FeignClient(value = "win-coin",url = "106.14.81.247:5907")
 public interface WinCoinService {
 
     /**
@@ -27,4 +29,19 @@ public interface WinCoinService {
                                                  @RequestHeader("appVersion")String appVersion,
                                                  @RequestHeader("appPackage")String appPackage,
                                                  @RequestBody WinCoinOrderFormDTO dto);
+
+
+    /**
+     * 获取
+     * @param dto dto
+     * @return com.winhc.common.base.BeanResponse<com.winhc.common.model.base.VOPage < com.winhc.repal.cloud.vo.WinCoinOrderFormVO>>
+     * @author xda
+     * @date 2022/5/20 12:07
+     */
+    @PostMapping("/winCoins/repal/order")
+    BeanResponse<VOPage<WinCoinOrderFormVO>> getRepalOrderPage(@RequestBody RepalOrderPageDTO dto);
+
+
+
+
 }

+ 5 - 1
src/main/java/com/winhc/repal/model/dto/RepalOrderPageDTO.java

@@ -1,5 +1,6 @@
 package com.winhc.repal.model.dto;
 
+import com.winhc.repal.model.bo.PageRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,8 +12,11 @@ import lombok.Data;
  */
 @Data
 @ApiModel("查询回款宝订单")
-public class RepalOrderPageDTO {
+public class RepalOrderPageDTO extends PageRequest {
 
     @ApiModelProperty("订单完成(0), 支付成功/进行中(2),已关闭(C)")
     private String orderStatus;
+
+    @ApiModelProperty(hidden = true)
+    private Long userId;
 }

+ 6 - 0
src/main/java/com/winhc/repal/model/vo/RepalBillDetailVO.java

@@ -34,6 +34,9 @@ public class RepalBillDetailVO {
     @ApiModelProperty(value = "客户name")
     private String customerName;
 
+    @ApiModelProperty(value = "客户id")
+    private Long customerId;
+
     @ApiModelProperty(value = "公司companyId")
     private String companyId;
 
@@ -105,6 +108,9 @@ public class RepalBillDetailVO {
     @ApiModelProperty(value = "收付款记录list")
     private List<BillMoneyChange> changeList;
 
+    @ApiModelProperty(value = "负责人列表")
+    private List<ResponsiblePersonNameVO> responsiblePersonList;
+
 
     @Getter
     @Setter

+ 5 - 2
src/main/java/com/winhc/repal/model/vo/RepalOrderVO.java

@@ -21,10 +21,10 @@ public class RepalOrderVO {
     private Integer orderType;
 
     @ApiModelProperty("订单状态。订单完成(0),支付成功/进行中(2),已关闭(C)")
-    private String orderStatus;
+    private String status;
 
     @ApiModelProperty("描述")
-    private String desc;
+    private String serviceDesc;
 
     @ApiModelProperty("标的")
     private String caseAmtStr;
@@ -49,4 +49,7 @@ public class RepalOrderVO {
     @ApiModelProperty("法律服务类型")
     private Integer serviceType;
 
+    @ApiModelProperty("orderId")
+    private String orderId;
+
 }

+ 11 - 0
src/main/java/com/winhc/repal/service/RepalResponsiblePersonService.java

@@ -2,6 +2,7 @@ package com.winhc.repal.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.winhc.repal.entity.RepalResponsiblePerson;
+import com.winhc.repal.model.vo.ResponsiblePersonNameVO;
 
 import java.util.List;
 import java.util.Map;
@@ -16,6 +17,16 @@ public interface RepalResponsiblePersonService extends IService<RepalResponsible
 
 
     /**
+     * 获取负责人
+     * @param repalBillId repalBillId
+     * @return java.util.List<com.winhc.repal.model.vo.ResponsiblePersonNameVO>
+     * @author xda
+     * @date 2022/5/20 14:16
+     */
+    List<ResponsiblePersonNameVO> getPersonNameList(Long repalBillId);
+
+
+    /**
      * 获取账款对应的负责人name
      * @param billIdList billIdList
      * @return java.util.Map<java.lang.Long, java.util.List < java.lang.String>>

+ 6 - 0
src/main/java/com/winhc/repal/service/impl/RepalBillServiceImpl.java

@@ -325,11 +325,17 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
         vo.setRepalBillId(repalBill.getId());
         RepalCustomer repalCustomer = repalCustomerService.getById(repalBill.getCustomerId());
         vo.setCompanyId(repalCustomer.getCompanyId());
+        vo.setCustomerId(repalCustomer.getCustId());
         vo.setCustProperty(repalCustomer.getCustProperty());
         List<String> nameList = repalResponsiblePersonService.getResponsiblePersonName(vo.getRepalBillId());
         if (CollUtil.isNotEmpty(nameList)) {
             vo.setResponsiblePersonNames(CollUtil.isEmpty(nameList) ? "" : String.join("、", nameList));
         }
+        List<ResponsiblePersonNameVO> personList = repalResponsiblePersonService.getPersonNameList(vo.getRepalBillId());
+        if (CollUtil.isNotEmpty(personList)) {
+            vo.setResponsiblePersonNames(personList.stream().map(ResponsiblePersonNameVO::getUserName).collect(Collectors.joining("、")));
+            vo.setResponsiblePersonList(personList);
+        }
         vo.setTotalMoneyStr(repalBill.getTotalMoney().stripTrailingZeros().toPlainString());
         vo.setReceiptStr(repalBill.getReceipt().stripTrailingZeros().toPlainString());
         vo.setReceivableStr(repalBill.getReceivable().stripTrailingZeros().toPlainString());

+ 75 - 1
src/main/java/com/winhc/repal/service/impl/RepalOrderServiceImpl.java

@@ -1,13 +1,28 @@
 package com.winhc.repal.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.winhc.common.base.BeanResponse;
 import com.winhc.common.model.base.VOPage;
+import com.winhc.repal.cloud.WinCoinService;
+import com.winhc.repal.cloud.vo.WinCoinOrderFormVO;
+import com.winhc.repal.enums.RepalDynamicTypeEnum;
 import com.winhc.repal.model.dto.RepalOrderPageDTO;
+import com.winhc.repal.model.vo.RepalLinkVO;
 import com.winhc.repal.model.vo.RepalOrderVO;
 import com.winhc.repal.service.RepalDynamicService;
 import com.winhc.repal.service.RepalOrderService;
+import com.winhc.repal.util.UserContextUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
 /**
  * @Description: RepalOrderServiceImpl
  * @Author: xda
@@ -19,8 +34,67 @@ public class RepalOrderServiceImpl implements RepalOrderService {
     @Autowired
     private RepalDynamicService repalDynamicService;
 
+    @Autowired
+    private WinCoinService winCoinService;
+
     @Override
     public VOPage<RepalOrderVO> getRepalOrderPage(RepalOrderPageDTO dto) {
-        return null;
+        dto.setUserId(UserContextUtil.getUser().getUserId());
+        VOPage<RepalOrderVO> voPage = new VOPage<>();
+        voPage.setPageNum(dto.getPageNum());
+        voPage.setPageSize(dto.getPageSize());
+        BeanResponse<VOPage<WinCoinOrderFormVO>> beanResponse = winCoinService.getRepalOrderPage(dto);
+        if (Objects.isNull(beanResponse) || Objects.isNull(beanResponse.getBody()) || CollUtil.isEmpty(beanResponse.getBody().getDataList())) {
+            return voPage;
+        }
+        voPage.setTotalPage(beanResponse.getBody().getTotalPage());
+        voPage.setTotalNum(beanResponse.getBody().getTotalNum());
+        List<RepalOrderVO> voList = new ArrayList<>();
+        for (WinCoinOrderFormVO orderFormVO : beanResponse.getBody().getDataList()) {
+            RepalOrderVO vo = new RepalOrderVO();
+            LocalDateTime.parse(DateUtil.format(orderFormVO.getOrderTime(), "yyyy-MM-dd HH:mm:ss"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+            vo.setOrderTime(LocalDateTime.parse(DateUtil.format(orderFormVO.getOrderTime(), "yyyy-MM-dd HH:mm:ss"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            vo.setOrderId(orderFormVO.getOrderId());
+            vo.setStatus(orderFormVO.getStatus());
+            Map<String, String> map = JSONObject.parseObject(orderFormVO.getGoodsJson(), new TypeReference<HashMap<String, String>>(){});
+            // 短信催款
+            if ("sms_repal".equals(orderFormVO.getProductCode())) {
+                vo.setOrderType(RepalDynamicTypeEnum.短信.getCode());
+                vo.setCustName(String.valueOf(map.get("company")));
+                List<RepalLinkVO> links = JSONObject.parseObject(map.get("links"), new TypeReference<List<RepalLinkVO>>(){});
+                if (CollUtil.isNotEmpty(links)) {
+                    vo.setLinkman(links.stream().map(RepalLinkVO::getName).collect(Collectors.joining(",")));
+                }
+            }
+            // 律师函
+            if ("303".equals(orderFormVO.getProductCode())) {
+                vo.setOrderType(RepalDynamicTypeEnum.律师函.getCode());
+                vo.setCustName(String.valueOf(map.get("company")));
+                List<RepalLinkVO> links = JSONObject.parseObject(map.get("links"), new TypeReference<List<RepalLinkVO>>(){});
+                if (CollUtil.isNotEmpty(links)) {
+                    vo.setLinkman(links.stream().map(RepalLinkVO::getName).collect(Collectors.joining(",")));
+                }
+            }
+            // 咨询
+            if ("phone_consult".equals(orderFormVO.getProductCode())) {
+                vo.setOrderType(RepalDynamicTypeEnum.咨询.getCode());
+                vo.setServiceDesc(map.get("serviceDesc"));
+                vo.setServiceType(Integer.valueOf(map.get("serviceType")));
+                vo.setLawyerServiceSubType(Integer.valueOf(map.get("lawyerServiceSubType")));
+                vo.setLawyerServiceType(Integer.valueOf(map.get("lawyerServiceType")));
+            }
+            // 诉讼
+            if ("203".equals(orderFormVO.getProductCode()) || "205".equals(orderFormVO.getProductCode())) {
+                vo.setOrderType(RepalDynamicTypeEnum.诉讼.getCode());
+                vo.setServiceDesc(map.get("serviceDesc"));
+                vo.setServiceType(Integer.valueOf(map.get("serviceType")));
+                vo.setLawyerServiceSubType(Integer.valueOf(map.get("lawyerServiceSubType")));
+                vo.setLawyerServiceType(Integer.valueOf(map.get("lawyerServiceType")));
+                vo.setCaseAmtStr(map.get("caseAmt"));
+            }
+            voList.add(vo);
+        }
+        voPage.setDataList(voList);
+        return voPage;
     }
 }

+ 5 - 0
src/main/java/com/winhc/repal/service/impl/RepalResponsiblePersonServiceImpl.java

@@ -28,6 +28,11 @@ public class RepalResponsiblePersonServiceImpl extends ServiceImpl<RepalResponsi
     private RepalResponsiblePersonMapper repalResponsiblePersonMapper;
 
     @Override
+    public List<ResponsiblePersonNameVO> getPersonNameList(Long repalBillId) {
+        return repalResponsiblePersonMapper.getResponsiblePersonNameList(Collections.singletonList(repalBillId));
+    }
+
+    @Override
     public Map<Long, List<String>> getResponsiblePersonNameList(List<Long> billIdList) {
         if (CollUtil.isEmpty(billIdList)) {
             return new HashMap<>();