Pārlūkot izejas kodu

安盛风险评分。。合伙人登录问题修改

xuqiang 3 mēneši atpakaļ
vecāks
revīzija
fb78b28224

+ 1 - 2
authentication/src/main/java/com/jzg/client/PartnerDistributionClient.java

@@ -4,7 +4,6 @@ package com.jzg.client;
 import com.jzg.commons.core.page.HttpResult;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestParam;
 
 @FeignClient(name = "jzg-partner")
@@ -16,6 +15,6 @@ public interface PartnerDistributionClient {
 
 
     @GetMapping("/partnerDistribution/initializeCommissionDetails")
-    HttpResult<Boolean> initializeCommissionDetails(@RequestParam String userId,@RequestHeader("Authorization") String token);
+    HttpResult<Boolean> initializeCommissionDetails(@RequestParam String userId);
 
 }

+ 3 - 1
authentication/src/main/java/com/jzg/controller/AppAuthController.java

@@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -102,13 +103,14 @@ public class AppAuthController extends BaseController {
             if (!isApproved){
                 throw new ServletException("当前用户未审核通过");
             }
+            modifyPass(loginFormVo);
+            RequestContextHolder.getRequestAttributes().setAttribute("Authorization",tokenStore.getTokenByUsername(loginFormVo.getMobile()), RequestAttributes.SCOPE_REQUEST);
             HttpResult<Boolean> isTherePartner = partnerDistributionClient.isTherePartner(sysUserJzgInfo.getId());
             if (200 == isTherePartner.getCode()) {
                 if (!isTherePartner.getData()) {
                     throw new ServletException("当前用户无登录权限");
                 }
             }
-            modifyPass(loginFormVo);
             partnerCommissionService.initializePartnerCommission(sysUserJzgInfo.getId(),loginFormVo.getMobile());
         } catch (Exception e) {
             throw new ServletException("当前用户不存在或已注销");

+ 1 - 6
authentication/src/main/java/com/jzg/service/impl/InitializePartnerCommissionServiceImpl.java

@@ -1,11 +1,9 @@
 package com.jzg.service.impl;
 
 import com.jzg.client.PartnerDistributionClient;
-import com.jzg.config.JzgTokenService;
 import com.jzg.service.InitializePartnerCommissionService;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
@@ -14,9 +12,6 @@ import org.springframework.stereotype.Service;
 @Service
 public class InitializePartnerCommissionServiceImpl implements InitializePartnerCommissionService {
 
-    @Autowired
-    private JzgTokenService tokenStore;
-
     @Resource
     private PartnerDistributionClient distributionClient;
 
@@ -24,7 +19,7 @@ public class InitializePartnerCommissionServiceImpl implements InitializePartner
     @Override
     public void initializePartnerCommission(String userId,String mobile) {
         try {
-            distributionClient.initializeCommissionDetails(userId,tokenStore.getTokenByUsername(mobile));
+            distributionClient.initializeCommissionDetails(userId);
         }catch (Exception e){
             log.error("初始化用户佣金失败:{}", e.getMessage(),e);
         }

+ 4 - 1
commons/src/main/java/com/jzg/commons/config/BaseFeignConfig.java

@@ -19,7 +19,10 @@ public class BaseFeignConfig {
             RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
             if (requestAttributes instanceof ServletRequestAttributes) {
                 HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
-                String token = request.getHeader("Authorization");
+                String token = (String) request.getAttribute("Authorization");
+                if (com.jzg.commons.util.StringUtils.isEmpty(token)){
+                    token = request.getHeader("Authorization");
+                }
                 if (token != null) {
                     requestTemplate.header("Authorization", token);
                 }

+ 2 - 2
commons/src/main/java/com/jzg/commons/entity/vo/DistributionVo.java

@@ -2,7 +2,7 @@ package com.jzg.commons.entity.vo;
 
 
 import com.jzg.commons.entity.orders.po.InsOrders;
-import com.jzg.commons.entity.orders.po.InsOrdersCosts;
+import com.jzg.commons.entity.po.InsFeeOrders;
 import lombok.Data;
 
 @Data
@@ -12,7 +12,7 @@ public class DistributionVo {
     private InsOrders insOrders;
 
 
-    private InsOrdersCosts ordersCosts;
+    private InsFeeOrders feeOrders;
 
 
     private String licenseNo;

+ 1 - 1
partner/src/main/java/com/jzg/controller/DistributionController.java

@@ -21,7 +21,7 @@ public class DistributionController extends BaseController {
     public HttpResult distribution(@RequestBody DistributionVo vo) {
         try {
             log.info("入参:{}", JSONObject.toJSONString(vo));
-            DistributionUtils.newSaveFeeInfo(vo.getInsOrders(), vo.getOrdersCosts(), vo.getLicenseNo());
+            DistributionUtils.newSaveFeeInfo(vo.getInsOrders(), vo.getFeeOrders(), vo.getLicenseNo());
         } catch (Exception e) {
             log.error("合伙人分销明细数据生成失败:{}", e.getMessage(),e);
         }

+ 2 - 2
partner/src/main/java/com/jzg/controller/PartnerUserController.java

@@ -45,8 +45,8 @@ public class PartnerUserController extends BaseController {
     }
 
     @GetMapping("isTherePartner")
-    public HttpResult isTherePartner(@RequestParam String userId, @RequestParam String systemCode) {
-        return partnerUserService.isTherePartner(userId, systemCode);
+    public HttpResult isTherePartner(@RequestParam String userId) {
+        return partnerUserService.isTherePartner(userId);
     }
 
     @PostMapping("addPartnerRule")

+ 1 - 1
partner/src/main/java/com/jzg/mapper/PartnerUserMapper.java

@@ -209,7 +209,7 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
 
     PartnerDetailsVo partnerDetails(@Param("userId") String userId);
 
-    List<PartnerUser> selectLoginList(@Param("userId")String userId, @Param("systemCode")String systemCode);
+    List<PartnerUser> selectLoginList(@Param("userId")String userId);
 
     AppUserInfoVo queryAppUserInfoVoByUserId(@Param("userId") String userId);
 

+ 2 - 2
partner/src/main/java/com/jzg/service/Impl/PartnerUserServiceImpl.java

@@ -1753,8 +1753,8 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
     }
 
     @Override
-    public HttpResult isTherePartner(String userId, String systemCode) {
-        List<PartnerUser> partnerUsers = baseMapper.selectLoginList(userId, systemCode);
+    public HttpResult isTherePartner(String userId) {
+        List<PartnerUser> partnerUsers = baseMapper.selectLoginList(userId);
         return HttpResult.ok(CollectionUtil.isNotEmpty(partnerUsers) ? true : false);
     }
 

+ 1 - 1
partner/src/main/java/com/jzg/service/PartnerUserService.java

@@ -99,7 +99,7 @@ public interface PartnerUserService extends IService<PartnerUser> {
 
     HttpResult addPartnerRule(SysUserVo sysUserVo,List<String> gradeList,String token);
 
-    HttpResult isTherePartner(String userId,String systemCode);
+    HttpResult isTherePartner(String userId);
 
     HttpResult enableDisable(String userId,boolean status,String token);
 

+ 15 - 15
partner/src/main/java/com/jzg/utils/DistributionUtils.java

@@ -5,7 +5,7 @@ import cn.hutool.extra.spring.SpringUtil;
 import com.esotericsoftware.minlog.Log;
 import com.jzg.client.OrganizationClient;
 import com.jzg.commons.entity.orders.po.InsOrders;
-import com.jzg.commons.entity.orders.po.InsOrdersCosts;
+import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.po.SysUserJzgInfo;
 import com.jzg.entity.PartnerPremiumDetails;
 import com.jzg.entity.PartnerUser;
@@ -60,8 +60,8 @@ public class DistributionUtils {
     /**
      * 保存新的费用信息
      */
-    public static void newSaveFeeInfo(InsOrders insOrders, InsOrdersCosts ordersCosts, String licenseNo) {
-        if (Objects.isNull(insOrders) || Objects.isNull(ordersCosts) || Objects.isNull(licenseNo)
+    public static void newSaveFeeInfo(InsOrders insOrders, InsFeeOrders feeOrders, String licenseNo) {
+        if (Objects.isNull(insOrders) || Objects.isNull(feeOrders) || Objects.isNull(licenseNo)
                 || Objects.isNull(insOrders.getRealQuoteUserId())) {
             throw new IllegalArgumentException("入参不能为空,订单信息与用户ID必须有效");
         }
@@ -79,9 +79,9 @@ public class DistributionUtils {
             return;
         }
         List<PartnerPremiumDetails> premiumDetailsList = new ArrayList<>();
-        PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, ordersCosts, licenseNo, userId, userId3, userId4);
+        PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, feeOrders, licenseNo, userId, userId3, userId4);
         premiumDetailsList.add(premiumDetails);
-        saveFeeLevelInfo(partnerUser.getGrade() - 1, partnerUser.getReferrerId(), insOrders, ordersCosts, licenseNo, userId, premiumDetailsList, userId3, userId4);
+        saveFeeLevelInfo(partnerUser.getGrade() - 1, partnerUser.getReferrerId(), insOrders, feeOrders, licenseNo, userId, premiumDetailsList, userId3, userId4);
         if (!premiumDetailsList.isEmpty()) {
             staticPartnerPremiumDetailsMapper.insert(premiumDetailsList);
         }
@@ -93,7 +93,7 @@ public class DistributionUtils {
      * 保存层级费用信息
      */
     private static void saveFeeLevelInfo(Integer currentGrade, String referrerId,
-            InsOrders insOrders, InsOrdersCosts ordersCosts,String licenseNo, String userId,List<PartnerPremiumDetails> premiumDetailsList,String userId3, String userId4) {
+            InsOrders insOrders,InsFeeOrders feeOrders,String licenseNo, String userId,List<PartnerPremiumDetails> premiumDetailsList,String userId3, String userId4) {
         if (Objects.isNull(currentGrade) || currentGrade <= 0 || Objects.isNull(referrerId)) {
             return;
         }
@@ -102,7 +102,7 @@ public class DistributionUtils {
             return;
         }
         if (Arrays.stream(VALID_GRADES).anyMatch(partnerUser.getGrade()::equals)) {
-            PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, ordersCosts, licenseNo, userId, userId3, userId4);
+            PartnerPremiumDetails premiumDetails = buildPartnerPremiumDetails(partnerUser, insOrders, feeOrders, licenseNo, userId, userId3, userId4);
             if (partnerUser.isIdentityStatus()) {
                 premiumDetails.setAppStatus(APP_STATUS_PASS);
             }
@@ -111,13 +111,13 @@ public class DistributionUtils {
                     new BigDecimal(premiumDetails.getProportional()), premiumDetails, userId3, userId4
             );
         }
-        saveFeeLevelInfo(currentGrade - 1, partnerUser.getReferrerId(), insOrders, ordersCosts, licenseNo, userId, premiumDetailsList, userId3, userId4);
+        saveFeeLevelInfo(currentGrade - 1, partnerUser.getReferrerId(), insOrders, feeOrders, licenseNo, userId, premiumDetailsList, userId3, userId4);
     }
 
     /**
      * 构建 PartnerPremiumDetails 实例
      */
-    private static PartnerPremiumDetails buildPartnerPremiumDetails(PartnerUser partnerUser, InsOrders insOrders, InsOrdersCosts ordersCosts,
+    private static PartnerPremiumDetails buildPartnerPremiumDetails(PartnerUser partnerUser, InsOrders insOrders,InsFeeOrders feeOrders,
             String licenseNo, String userId, String userId3, String userId4) {
         PartnerPremiumDetails details = new PartnerPremiumDetails();
         details.setUserId(partnerUser.getUserId());
@@ -128,14 +128,14 @@ public class DistributionUtils {
         details.setCompanyId(insOrders.getId());
         details.setDeptId(partnerUser.getDeptId());
         details.setLicenseno(licenseNo);
-        details.setSumpremium(ordersCosts.getSumPremium());
-        details.setJqpremium(ordersCosts.getJqPremium());
-        details.setSypremium(ordersCosts.getSyPremium());
-        details.setJypremium(ordersCosts.getJyPremium());
+        details.setSumpremium(feeOrders.getTotalPremium());
+        details.setJqpremium(feeOrders.getJqPremium());
+        details.setSypremium(feeOrders.getSyPremium());
+        details.setJypremium(feeOrders.getJyPremium());
         BigDecimal commissionRate = CalculateCommissionUtils.calculateCommission(String.valueOf(partnerUser.getGrade()), partnerUser.getUserId(), userId3, userId4);
         details.setProportional(String.valueOf(commissionRate));
-        BigDecimal extractFee = Objects.nonNull(ordersCosts.getSumPremium())
-                ? ordersCosts.getSumPremium().multiply(commissionRate)
+        BigDecimal extractFee = Objects.nonNull(feeOrders.getTotalPremium())
+                ? feeOrders.getTotalPremium().multiply(commissionRate)
                 .divide(PERCENT_DIVISOR, SCALE_2, RoundingMode.DOWN)
                 : BigDecimal.ZERO;
         details.setExtractFee(extractFee);

+ 0 - 1
partner/src/main/resources/mapper/PartnerUserMapper.xml

@@ -1236,7 +1236,6 @@
         <where>
             is_delete = 0
             AND user_id = #{userId}
-            AND system_code = #{systemCode}
             AND grade &lt; 5
         </where>
     </select>

+ 22 - 2
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/build/AnShengCrawlerQuoteResultsVoBuild.java

@@ -117,7 +117,6 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
         itemList.add(new ScoreItem("basicstring", AnShengCrawlerCalculatePremiumApplyResponse.DataDTO::getBasicstring));
         itemList.add(new ScoreItem("blackDivisor", AnShengCrawlerCalculatePremiumApplyResponse.DataDTO::getBlackDivisor));
         itemList.add(new ScoreItem("comprehensiveScoreStr", AnShengCrawlerCalculatePremiumApplyResponse.DataDTO::getComprehensiveScoreStr));
-        itemList.add(new ScoreItem("riskScore", AnShengCrawlerCalculatePremiumApplyResponse.DataDTO::getRiskScore));
         itemList.add(new ScoreItem("unifiedScore", AnShengCrawlerCalculatePremiumApplyResponse.DataDTO::getUnifiedScore));
 
         final String splitChar = ":";
@@ -125,7 +124,26 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
             String sourceStr = item.valueFunc().apply(data);
             fillScoreItem(scoreArray, splitChar, item.scoreKey(), sourceStr);
         }
+        JSONObject bussinessLevel = JSONObject.of(
+                "scoreName", "统一客户类型-条件",
+                "scoreKey", "bussinessLevel",
+                "score", data.getBussinessLevel()
+        );
+        for (AnShengCrawlerCalculatePremiumApplyResponse.DataDTO.ContractsDTO contract : data.getContracts()) {
+            JSONObject jsonObject = new JSONObject();
+            if (StringUtils.equals("105",contract.getPlanDefine().getPlanCode())){
+                jsonObject.put("scoreName","交强");
+                jsonObject.put("scoreKey","compulsoryInsure");
+                jsonObject.put("score",contract.getPlanDefine().getCompulsoryInsure() ? "是" : "否");
+            }else if (StringUtils.equals("109",contract.getPlanDefine().getPlanCode())){
+                jsonObject.put("scoreName","交强");
+                jsonObject.put("scoreKey","businessInsure");
+                jsonObject.put("score",contract.getPlanDefine().getBusinessInsure() ? "是" : "否");
+            }
 
+            scoreArray.add(jsonObject);
+        }
+        scoreArray.add(bussinessLevel);
         scoreVo.setScoreJson(scoreArray);
         return scoreVo;
     }
@@ -144,7 +162,9 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
         String[] parts = sourceStr.split(splitChar, 2);
         String scoreName = parts.length >= 1 ? parts[0].trim() : "";
         String scoreVal = parts.length >= 2 ? parts[1].trim() : "";
-
+        if (scoreVal.endsWith("分")) {
+            scoreVal = scoreVal.substring(0, scoreVal.length() - 1);
+        }
         JSONObject jsonObj = JSONObject.of(
                 "scoreName", scoreName,
                 "scoreKey", scoreKey,

+ 11 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -31,6 +31,7 @@ import com.jzg.commons.util.StringUtils;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.commons.client.PartnerClient;
+import com.jzg.quotation.commons.client.PartnerDistributionClient;
 import com.jzg.quotation.commons.client.PlatformClient;
 import com.jzg.quotation.summary.client.EsmInsCompanyClient;
 import com.jzg.quotation.summary.client.LocalLivingClient;
@@ -110,6 +111,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     @Autowired
     private InsFeeOrdersService feeOrdersService;
 
+    @Autowired
+    InsOrdersCarInfoService insOrdersCarInfoService;
+
     @Autowired
     private AuditStateListener auditStateListener;
     @Autowired
@@ -124,6 +128,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     private final LocalLivingClient localLivingClient;
 
+    private final PartnerDistributionClient partnerDistributionClient;
 
     @Override
     public Page<FeeAuditVo> queryPage(FeeAuditParam param) {
@@ -523,6 +528,12 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
         //合伙人佣金比例
         try {
+            DistributionVo vo = new DistributionVo();
+            vo.setInsOrders(orders);
+            vo.setFeeOrders(feeOrders);
+            InsOrdersCarInfo carInfo = insOrdersCarInfoService.getByOrderId(audit.getOrderNo());
+            vo.setLicenseNo(carInfo.getLicenseNo());
+            partnerDistributionClient.distribution(vo);
             partnerClient.extractFeeSave(orders.getQuoteNo(),orders.getId());
         }catch (Exception e){
             log.error("保存合伙人佣金计算异常:{}",e.getMessage(), e);

+ 0 - 8
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -48,7 +48,6 @@ import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.*;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.quotation.commons.client.OrgClient;
-import com.jzg.quotation.commons.client.PartnerDistributionClient;
 import com.jzg.quotation.commons.client.PlatformClient;
 import com.jzg.quotation.commons.utils.BeanCopyUtil;
 import com.jzg.quotation.commons.utils.SnowFlakeUtil;
@@ -119,8 +118,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final PlatformClient platformClient;
 
-    private final PartnerDistributionClient partnerDistributionClient;
-
     private final BaseController baseController;
 
     private final InsOrderAdjustInfoService orderAdjustInfoService;
@@ -1508,11 +1505,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             this.orderStatusMessage(insOrders,
                     insOrdersCarInfo, costs,
                     baseController.getToken(), MessageCodeEnum.TEMPLATE_6);
-            DistributionVo vo = new DistributionVo();
-            vo.setInsOrders(insOrders);
-            vo.setOrdersCosts(costs);
-            vo.setLicenseNo(insOrdersCarInfo.getLicenseNo());
-            partnerDistributionClient.distribution(vo);
         } else {
             insOrders.setErrorMessage(orderStatusResultVo.getErrorMsg());
         }