|
@@ -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;
|
|
|
}
|
|
|
}
|