Kaynağa Gözat

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu 6 ay önce
ebeveyn
işleme
aaab934991

+ 4 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/policy/PolicyDetail.java

@@ -1,6 +1,7 @@
 package com.gree.mall.miniapp.bean.policy;
 
 
+import com.gree.mall.miniapp.plus.entity.Agreement;
 import com.gree.mall.miniapp.plus.entity.Policy;
 import com.gree.mall.miniapp.plus.entity.PolicyRange;
 import com.gree.mall.miniapp.plus.entity.PolicyWebsit;
@@ -21,4 +22,7 @@ public class PolicyDetail extends Policy {
 
     @ApiModelProperty(value = "网点")
     private List<PolicyWebsit> policyWebsits;
+
+    @ApiModelProperty(value = "协议")
+    private List<Agreement> agreements;
 }

+ 4 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/policy/PolicyOrderDetail.java

@@ -1,5 +1,6 @@
 package com.gree.mall.miniapp.bean.policy;
 
+import com.gree.mall.miniapp.plus.entity.Agreement;
 import com.gree.mall.miniapp.plus.entity.Policy;
 import com.gree.mall.miniapp.plus.entity.PolicyOrder;
 import com.gree.mall.miniapp.plus.entity.PolicyRange;
@@ -18,4 +19,7 @@ public class PolicyOrderDetail extends PolicyOrder {
 
     @ApiModelProperty(value = "保单")
     private Policy policy;
+
+    @ApiModelProperty(value = "协议")
+    private List<Agreement> agreements;
 }

+ 21 - 3
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/user/WorkerController.java

@@ -8,9 +8,7 @@ import com.gree.mall.miniapp.bean.policy.PolicyOrderDetail;
 import com.gree.mall.miniapp.bean.policy.WorkerRemind;
 import com.gree.mall.miniapp.helper.ResponseHelper;
 import com.gree.mall.miniapp.logic.policy.WorkerLogic;
-import com.gree.mall.miniapp.plus.entity.Policy;
-import com.gree.mall.miniapp.plus.entity.PolicyOrder;
-import com.gree.mall.miniapp.plus.entity.WorkerPolicy;
+import com.gree.mall.miniapp.plus.entity.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -63,6 +61,26 @@ public class WorkerController {
     }
 
 
+    @PostMapping("/myWebsit")
+    @ApiOperation("我的续保网点")
+    public ResponseHelper<List<AdminWebsit>> myWebsit(
+    ){
+        List<AdminWebsit> adminWebsitPage = workerLogic.myWebsit();
+        return ResponseHelper.success(adminWebsitPage);
+    }
+
+
+    @PostMapping("/agreement")
+    @ApiOperation("保险协议配置详情")
+    public ResponseHelper<Agreement> agreement(
+            @ApiParam(value = "id", required = true) @RequestParam String id,
+            HttpServletRequest request
+    ) throws ParseException {
+        Agreement agreementDetail = workerLogic.agreement(id);
+        return ResponseHelper.success(agreementDetail);
+    }
+
+
     @PostMapping("/policy")
     @ApiOperation("购买意外保险")
     public ResponseHelper<Page<Policy>> policy(

+ 52 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/policy/WorkerLogic.java

@@ -63,6 +63,12 @@ public class WorkerLogic {
     @Autowired
     UserService userService;
 
+    @Autowired
+    AgreementService agreementService;
+
+    @Autowired
+    AgreementPolicyService agreementPolicyService;
+
 
 
     public List<WorkerRemind> remind() {
@@ -181,6 +187,16 @@ public class WorkerLogic {
         List<PolicyRange> policyRanges = policyRangeService.lambdaQuery().eq(PolicyRange::getPolicyId, policy.getId()).list();
         policyOrderDetail.setPolicy(policy);
         policyOrderDetail.setPolicyRanges(policyRanges);
+
+        List<AgreementPolicy> agreementPolicies = agreementPolicyService.lambdaQuery().eq(AgreementPolicy::getPolicyId, policy.getId()).list();
+
+        if (!CollectionUtils.isEmpty(agreementPolicies)){
+            List<Agreement> agreements = agreementService.lambdaQuery().in(Agreement::getId,
+                    agreementPolicies.stream().map(AgreementPolicy::getAgreementId).collect(Collectors.toList())
+            ).eq(Agreement::getStatus, "ON").list();
+
+            policyOrderDetail.setAgreements(agreements);
+        }
         return policyOrderDetail;
     }
 
@@ -213,6 +229,17 @@ public class WorkerLogic {
 
         policyDetail.setPolicyRanges(policyRanges);
 
+
+        List<AgreementPolicy> agreementPolicies = agreementPolicyService.lambdaQuery().eq(AgreementPolicy::getPolicyId, policy.getId()).list();
+
+        if (!CollectionUtils.isEmpty(agreementPolicies)){
+            List<Agreement> agreements = agreementService.lambdaQuery().in(Agreement::getId,
+                    agreementPolicies.stream().map(AgreementPolicy::getAgreementId).collect(Collectors.toList())
+            ).eq(Agreement::getStatus, "ON").list();
+
+            policyDetail.setAgreements(agreements);
+        }
+
         return policyDetail;
     }
 
@@ -346,4 +373,29 @@ public class WorkerLogic {
 
         return payDetail;
     }
+
+    public Agreement agreement(String id) {
+        Agreement agreement = agreementService.getById(id);
+
+        return agreement;
+    }
+
+    public List<AdminWebsit> myWebsit() {
+
+        CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
+
+        List<WebsitUser> websitUsers = websitUserService.lambdaQuery().eq(WebsitUser::getUserId, currentCompanyWechat.getUserId()).list();
+
+        List<AdminWebsit> adminWebsits = new ArrayList<>();
+        for (WebsitUser websitUser : websitUsers) {
+            if (workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
+                    .in(WorkerPolicy::getStatus,"BZZ","DSX").count() < 1) {
+                AdminWebsit adminWebsit = adminWebsitService.getById(websitUser.getWebsitId());
+                adminWebsits.add(adminWebsit);
+            }
+
+        }
+
+        return adminWebsits;
+    }
 }

+ 7 - 0
mall-server-api/src/main/java/com/gree/mall/manager/constant/Constant.java

@@ -30,6 +30,13 @@ public class Constant {
 
     public final static String COMPANY_PAY_CONFIG_2 = "保险支付";
 
+    public class gree {
+        public final static String GET_UPDATE_ORDERS = "/api/external/gf/workOrder/getUpdatedOrders";
+        public final static String GET_WORKER_ORDER_DETAIL = "/api/external/gf/workOrder/getWorkOrderDetail";
+        public final static String GUANGZHOUXIAOSI = "S9219801";
+        public final static String FOSHANXIAOSI = "S9219807";
+    }
+
     public class Ali {
         public final static String ACCESS_KEY_ID = "LTAI4GK1q4mnpCFbonMd1pji";
         public final static String ACCESS_KEY_SECERT = "E5LW0V1H8HBxqjKkExIxaXUgSyex6C";

+ 53 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/sync/SyncController.java

@@ -0,0 +1,53 @@
+package com.gree.mall.manager.controller.sync;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.policy.PolicyDetail;
+import com.gree.mall.manager.bean.policy.PolicyVo;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.SyncOrderInfoLogic;
+import com.gree.mall.manager.logic.policy.PolicyLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+
+@Slf4j
+@RestController
+@Api(value = "同步广佛工单API", tags = {"同步广佛工单API"})
+@RequestMapping(value = "/syncOrderInfo", produces = "application/json; charset=utf-8")
+public class SyncController {
+
+    @Autowired
+    private SyncOrderInfoLogic syncOrderInfoLogic;
+
+
+    @PostMapping("/syncGuang")
+    @ApiOperation("同步广州销司")
+    public ResponseHelper syncGuang(
+
+    ) throws ParseException {
+         syncOrderInfoLogic.syncGuang();
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/syncFo")
+    @ApiOperation("同步佛山销司")
+    public ResponseHelper syncFo(
+
+    ) throws ParseException {
+        syncOrderInfoLogic.syncFo();
+        return ResponseHelper.success();
+    }
+}

+ 43 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/SyncOrderInfoLogic.java

@@ -0,0 +1,43 @@
+package com.gree.mall.manager.logic;
+
+import cn.hutool.http.HttpRequest;
+import com.gree.mall.manager.constant.Constant;
+import com.gree.mall.manager.plus.entity.ItfGreeSynDownloadRec;
+import com.gree.mall.manager.plus.entity.ItfGreeSynRule;
+import com.gree.mall.manager.plus.service.ItfGreeSynDownloadRecService;
+import com.gree.mall.manager.plus.service.ItfGreeSynRuleService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class SyncOrderInfoLogic {
+
+    @Autowired
+    ItfGreeSynRuleService itfGreeSynRuleService;
+
+    @Autowired
+    ItfGreeSynDownloadRecService itfGreeSynDownloadRecService;
+
+    @Value("${gree.url}")
+    private  String greeUrl;
+
+    public void syncGuang() {
+        ItfGreeSynRule itfGreeSynRule = itfGreeSynRuleService.lambdaQuery().eq(ItfGreeSynRule::getSalesWebsitNumber, Constant.gree.GUANGZHOUXIAOSI)
+                .one();
+
+
+
+/*        String body = HttpRequest.post(greeUrl+ Constant.gree.GET_UPDATE_ORDERS+"/"+Constant.gree.GUANGZHOUXIAOSI+"/")
+                .header("key", jiaxianKey)
+                .header("sign", getSign())
+                .execute().body();*/
+    }
+
+    public void syncFo() {
+    }
+}

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -659,7 +659,7 @@ public class AgreementLogic {
                         .in(WorkerPolicy::getOrderId,policyOrderId)
                         .le(WorkerPolicy::getStartTime,new Date())
                         .ge(WorkerPolicy::getEndTime,new Date())
-                        .set(WorkerPolicy::getStatus, "ON").update();
+                        .set(WorkerPolicy::getStatus, "BZZ").update();
 
             }
         }
@@ -705,7 +705,7 @@ public class AgreementLogic {
                     workerPolicy.setOrderId(policyOrder.getId());
                     workerPolicy.setPolicyOrder(policyOrder.getPolicyId());
                     workerPolicy.setPolicyType(policyOrder.getType());
-                    workerPolicy.setStatus(WorkerPolicyStatusEnum.WAIT_ON.getKey());
+                    workerPolicy.setStatus(PolicyOrderEmStutasEnum.DSX.getKey());
                     workerPolicy.setStartTime(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),1)));
                     workerPolicy.setEndTime(DateUtil.endOfDay(DateUtil.offsetMonth(new Date(),12)));
                     workerPolicy.setWebsitUserId(policyOrder.getWebsitUserId());

+ 1 - 1
mall-server-api/src/main/resources/bootstrap-dev.properties

@@ -128,4 +128,4 @@ fadada.websit.auth.notify.url=${sys.url}/${server.servlet.context-path}/fdd/noti
 fadada.websit.sign.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/batch/sign
 fadada.websit.person.auth.notify.url=${sys.url}/${server.servlet.context-path}/fdd/notify/websit/person
 
-
+gree.url=https://api.sms-test.gree.com/api/sso/sms-server-order-external