xda пре 3 година
родитељ
комит
3f3fe10558

+ 13 - 3
src/main/java/com/winhc/repal/cloud/WinCoinService.java

@@ -6,9 +6,7 @@ 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;
-import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author Aaron
@@ -42,6 +40,18 @@ public interface WinCoinService {
     BeanResponse<VOPage<WinCoinOrderFormVO>> getRepalOrderPage(@RequestBody RepalOrderPageDTO dto);
 
 
+    /**
+     * 获取订单id
+     * @param userBean userBean
+     * @param orderId orderId
+     * @return com.winhc.common.base.BeanResponse<com.winhc.repal.cloud.vo.WinCoinOrderFormVO>
+     * @author xda
+     * @date 2022/5/22 09:09
+     */
+    @GetMapping("/winCoins/order/{orderId}")
+    BeanResponse<WinCoinOrderFormVO> getOrderForm(@RequestHeader("userInfo") String userBean, @PathVariable("orderId") String orderId);
+
+
 
 
 }

+ 7 - 0
src/main/java/com/winhc/repal/controller/RepalOrderController.java

@@ -9,6 +9,7 @@ import com.winhc.repal.service.RepalOrderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -32,6 +33,12 @@ public class RepalOrderController {
         return BeanResponse.success(CodeMsg.SUCCESS, repalOrderService.getRepalOrderPage(dto));
     }
 
+    @ApiOperation("查询短信催款订单详情")
+    @RequestMapping(value = "/sms/detail/{orderId}", method = RequestMethod.GET)
+    public BeanResponse<RepalOrderVO> getSmsDetail(@PathVariable("orderId") String orderId) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalOrderService.getSmsDetail(orderId));
+    }
+
 
 
 

+ 12 - 0
src/main/java/com/winhc/repal/model/vo/RepalOrderVO.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Description: RepalOrderVO
@@ -52,4 +53,15 @@ public class RepalOrderVO {
     @ApiModelProperty("orderId")
     private String orderId;
 
+    @ApiModelProperty("短信催款内容")
+    private String smsDesc;
+
+    @ApiModelProperty("案件阶段")
+    private Integer caseStage;
+
+    @ApiModelProperty(value = "发送联系人列表",required = true)
+    private List<RepalLinkVO> links;
+
+
+
 }

+ 10 - 0
src/main/java/com/winhc/repal/service/RepalOrderService.java

@@ -20,4 +20,14 @@ public interface RepalOrderService {
      * @date 2022/5/19 20:14
      */
     VOPage<RepalOrderVO> getRepalOrderPage(RepalOrderPageDTO dto);
+
+
+    /**
+     * 获取短信催款详情
+     * @param orderId orderId
+     * @return com.winhc.repal.model.vo.RepalOrderVO
+     * @author xda
+     * @date 2022/5/22 09:05
+     */
+    RepalOrderVO getSmsDetail(String orderId);
 }

+ 37 - 3
src/main/java/com/winhc/repal/service/impl/RepalOrderServiceImpl.java

@@ -2,8 +2,11 @@ package com.winhc.repal.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
+import com.module.login.usersession.UserBean;
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.cloud.WinCoinService;
@@ -87,14 +90,45 @@ public class RepalOrderServiceImpl implements RepalOrderService {
             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")));
+                if (StrUtil.isNotBlank(map.get("lawyerServiceSubType"))) {
+                    vo.setLawyerServiceSubType(Integer.valueOf(map.get("lawyerServiceSubType")));
+                }
+                if (StrUtil.isNotBlank(map.get("lawyerServiceType"))) {
+                    vo.setLawyerServiceType(Integer.valueOf(map.get("lawyerServiceType")));
+                }
                 vo.setCaseAmtStr(map.get("caseAmt"));
+                if (StrUtil.isNotBlank(map.get("caseStage"))) {
+                    vo.setCaseStage(Integer.valueOf(map.get("caseStage")));
+                }
             }
             voList.add(vo);
         }
         voPage.setDataList(voList);
         return voPage;
     }
+
+    @Override
+    public RepalOrderVO getSmsDetail(String orderId) {
+        UserBean userBean = new UserBean();
+        userBean.setUserId(UserContextUtil.getUser().getUserId());
+        BeanResponse<WinCoinOrderFormVO> beanResponse = winCoinService.getOrderForm(JSON.toJSONString(userBean), orderId);
+        if (Objects.isNull(beanResponse) || Objects.isNull(beanResponse.getBody())) {
+            return null;
+        }
+        RepalOrderVO vo = new RepalOrderVO();
+        LocalDateTime.parse(DateUtil.format(beanResponse.getBody().getOrderTime(), "yyyy-MM-dd HH:mm:ss"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+
+        vo.setOrderTime(LocalDateTime.parse(DateUtil.format(beanResponse.getBody().getOrderTime(), "yyyy-MM-dd HH:mm:ss"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        vo.setOrderId(beanResponse.getBody().getOrderId());
+        vo.setStatus(beanResponse.getBody().getStatus());
+        vo.setOrderType(RepalDynamicTypeEnum.短信.getCode());
+        Map<String, String> map = JSONObject.parseObject(beanResponse.getBody().getGoodsJson(), new TypeReference<HashMap<String, String>>(){});
+        vo.setCustName(String.valueOf(map.get("company")));
+        List<RepalLinkVO> links = JSONObject.parseObject(map.get("links"), new TypeReference<List<RepalLinkVO>>(){});
+        if (CollUtil.isNotEmpty(links)) {
+            vo.setLinks(links);
+        }
+        vo.setSmsDesc(map.get("content"));
+        return vo;
+    }
 }