From 65b8f536055184559ad2c69af51704cede7e78a8 Mon Sep 17 00:00:00 2001
From: wgd <862422848@qq.com>
Date: Fri, 1 Apr 2022 17:26:39 +0800
Subject: [PATCH] 运营后台-- 更改投保业务逻辑

---
 src/main/java/cn/timer/api/controller/insure/CallBackContorll.java | 29 ++++++++++++++++++++++++++---
 src/main/java/cn/timer/api/dto/insure/PolicyDto.java               |  2 +-
 src/main/resources/mapping/insure/InsureUserMapper.xml             |  2 +-
 3 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cn/timer/api/controller/insure/CallBackContorll.java b/src/main/java/cn/timer/api/controller/insure/CallBackContorll.java
index 694cd8d..878c634 100644
--- a/src/main/java/cn/timer/api/controller/insure/CallBackContorll.java
+++ b/src/main/java/cn/timer/api/controller/insure/CallBackContorll.java
@@ -43,9 +43,31 @@ public class CallBackContorll {
     @PostMapping(value = "/insuredCallBack")
     @ApiOperation(value = "6.投保申请回调", httpMethod = "Post", notes = "投保申请回调")
     @ApiOperationSupport(order = 2)
-    private String insuredCallBack(@RequestParam String pid, @RequestParam String sign, @RequestParam String timestamp, @RequestBody CallBack callBack){
-        log.info(String.valueOf(callBack));
-        return "1";
+    private Map insuredCallBack(HttpServletRequest request, @RequestParam String pid, @RequestParam String sign, @RequestParam String timestamp) throws IOException {
+        Map map = Maps.newHashMap();
+        map.put("status","error");
+        if(StringUtils.isNullOrEmpty(pid)||StringUtils.isNullOrEmpty(sign)&&StringUtils.isNullOrEmpty(timestamp)){
+            return map;
+        }
+        if(!pid.equals(appidq)){
+            return map;
+        }
+        InputStream is = null;
+        is = request.getInputStream();
+        StringBuilder sb = new StringBuilder();
+        byte[] b = new byte[4096];
+        for (int n; (n = is.read(b)) != -1;)
+        {
+            sb.append(new String(b, 0, n));
+        }
+        String value = DigestUtils.md5Hex(appidq + secretq + timestamp + sb.toString());
+        if(!value.equals(sign)){
+            return map;
+        }
+        CallBack callBack=JSONObject.parseObject(sb.toString(), CallBack.class);
+        Map trueMap = Maps.newHashMap();
+        trueMap.put("status","1");
+        return trueMap;
     }
 
     @PostMapping(value = "/CallBack")
@@ -85,6 +107,7 @@ public class CallBackContorll {
             if(oldlist!=null||oldlist.size()>0) {
                 oldlist.forEach(i -> {
                     i.setInsureStatus(4);
+                    i.setStatus("2");
                     i.updateById();
                     YgglMainEmp.builder().isInsure(3).build().update(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getId, i.getUserId()));
                 });
diff --git a/src/main/java/cn/timer/api/dto/insure/PolicyDto.java b/src/main/java/cn/timer/api/dto/insure/PolicyDto.java
index 7b4ed08..8862d15 100644
--- a/src/main/java/cn/timer/api/dto/insure/PolicyDto.java
+++ b/src/main/java/cn/timer/api/dto/insure/PolicyDto.java
@@ -36,5 +36,5 @@ public class PolicyDto {
     private String policyFile;
     private String benefitOccupationCategory;
     private Integer userId;
-
+    private Integer insureStatus;
 }
diff --git a/src/main/resources/mapping/insure/InsureUserMapper.xml b/src/main/resources/mapping/insure/InsureUserMapper.xml
index dce56f1..88d20e8 100644
--- a/src/main/resources/mapping/insure/InsureUserMapper.xml
+++ b/src/main/resources/mapping/insure/InsureUserMapper.xml
@@ -277,7 +277,7 @@
     </delete>
 
     <select id="selectPolicyList" resultType="cn.timer.api.dto.insure.PolicyDto">
-        select iu.id,yme.`name`,yme.zj_type,yme.zj_num,iu.policy_no,iu.`status`,ip.scheme_name,iu.policy_date_start,
+        select iu.id,yme.`name`,yme.zj_type,yme.zj_num,iu.policy_no,iu.`status`,ip.scheme_name,iu.policy_date_start,iu.insure_status,
                iu.policy_date_end,ip.create_time,iu.insured_name,iu.benefit_basic_plan AS benefitBasicPlan,iu.price AS price,
                iu.user_id as userId
         from insure_user iu
--
libgit2 0.26.0