瀏覽代碼

Merge branch 'test' into test-dx

dongxin 1 年之前
父節點
當前提交
2675edac89

+ 7 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -247,7 +247,13 @@ public class QuoteVerificationAspect {
                 //add by hxl  2024-06-12  改为从主订单表中获取数据用户id和部门id
                 SysUser user = sysUserService.getById(quoteInfo.getUserid());
                 String userId = quoteInfo.getUserid();
+                List<String> deptList = new ArrayList<>();
                 String deptId = user.getDeptId();
+                deptList.add(deptId);
+                // 判断 登录用户是否与报价用户一致  如果不一致则认为是代课录单
+                if (!userId.equals(BaseController.getUserId())) {
+                    deptList.add(BaseController.getDeptId());
+                }
                 List<KindInfoVo> kinds = Objects.isNull(quoteInfo.getKindList()) ? new ArrayList<>() : quoteInfo.getKindList();
                 List<RiskInfoVo> risks = quoteInfo.getRiskList();
 
@@ -309,7 +315,7 @@ public class QuoteVerificationAspect {
                     }
                 }
                 agreementId = ((BaseQuoteVo<?>) arg).getAgreementId();
-                ptlAgreementDeptService.agreementIsAuthorized(deptId, agreementId);
+                ptlAgreementDeptService.agreementIsAuthorized(deptList, agreementId);
 
             }
         }

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangAccuracyCalculateRequest.java

@@ -279,7 +279,7 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
                 // 如果是重复投保,根据startDate调整保险期限
                 if (isRepeat) {
                     ciStartTime = LocalDateTime.parse(startDate, formatter);
-                    ciEndTime = startDate.endsWith("00:00")
+                    ciEndTime = startDate.endsWith("00:00:00")
                             ? ciStartTime.plusYears(1).minusSeconds(1)
                             : ciStartTime.plusYears(1).minusDays(1).minusSeconds(1);
                 }

+ 14 - 8
src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java

@@ -53,7 +53,10 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -113,7 +116,7 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         CrawlerBaseResponse response = insCrawlerOrderComponents.request(apiUrl, companyId, PtlCrawlerApiType.API_2.getDesc(),
                 crawlerLoginRequest, CrawlerBaseResponse.class);
 
-        AssertionUtils.isSucceed(response.getCode() == 200, insCompanyName + "登录用户名和密码不正确");
+        AssertionUtils.isSucceed(response.getCode() == 200, insCompanyName + ":" + response.getMessage());
     }
 
     @Override
@@ -232,11 +235,11 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             insAreaCompanyAccidentalDriving.setRideRiskCode(one.getProjectCode());
             insAreaCompanyAccidentalDriving.setQuantity(1);
             insAreaCompanyAccidentalDriving.setCompanyId(t.getCompanyId());
-        } else if(t.getAccidentalDrivingVo() != null && t.getCompanyId().equals("HBIC1000000")){
+        } else if (t.getAccidentalDrivingVo() != null && t.getCompanyId().equals("HBIC1000000")) {
             JSONObject jsonObject = JSON.parseObject(t.getAccidentalDrivingVo()
                     .toString());
             Integer buynum = jsonObject.getInteger("buynum");
-            if(!quoteRespVo.getAccident().isEmpty()){
+            if (!quoteRespVo.getAccident().isEmpty()) {
                 BigDecimal price = new BigDecimal(response.getDrivingInsurances().get(0).getPrice());
                 BigDecimal total = price.multiply(BigDecimal.valueOf(buynum));
                 BigDecimal rounded = total.setScale(2, RoundingMode.HALF_UP);
@@ -841,8 +844,9 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             throw new SystemException(response.getMessage());
         }
         // 将返回参数放入redis
-        redisTemplate.opsForValue().set(OrderCacheConstant.TS_ACCESS_TOKEN + attributionDto.getUsername(), JSON.toJSONString(response.getData()), OrderCacheConstant.TS_ACCESS_TOKEN_TIME,
-                TimeUnit.SECONDS);
+        redisTemplate.opsForValue()
+                .set(OrderCacheConstant.TS_ACCESS_TOKEN + attributionDto.getUsername(), JSON.toJSONString(response.getData()), OrderCacheConstant.TS_ACCESS_TOKEN_TIME,
+                        TimeUnit.SECONDS);
     }
 
     @Override
@@ -885,10 +889,12 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         PtlAgreementAttributionDto attributionDto = new PtlAgreementAttributionDto();
         BeanUtils.copyProperties(attribution, attributionDto);
 
-        List<PtlAttributionTemplateDto> attributionTemplateDtos = attribution.getFields().toJavaList(PtlAttributionTemplateDto.class);
+        List<PtlAttributionTemplateDto> attributionTemplateDtos = attribution.getFields()
+                .toJavaList(PtlAttributionTemplateDto.class);
         attributionDto.setFields(attributionTemplateDtos);
         String apiUrl = ptlCrawlerApiService.getByTemplateId(attribution.getTemplateId(), PtlCrawlerApiType.API_1);
-        String token = redisTemplate.opsForValue().get(OrderCacheConstant.TS_ACCESS_TOKEN + attributionDto.getUsername());
+        String token = redisTemplate.opsForValue()
+                .get(OrderCacheConstant.TS_ACCESS_TOKEN + attributionDto.getUsername());
         if (StringUtils.isNotBlank(token)) {
             TsCrawlerLoginRequest request = JSON.parseObject(token).toJavaObject(TsCrawlerLoginRequest.class);
             TsCrawlerLoginRequest tsRequest = new TsCrawlerLoginRequest(attributionDto, smscode, request);

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/dao/PtlAgreementGroupLinkDeptMapper.java

@@ -28,7 +28,7 @@ public interface PtlAgreementGroupLinkDeptMapper extends BaseMapper<PtlAgreement
      *  @Date: 2024/10/25 18:04
      *  @Description: 通過部門id和协议id判断是否授权
      */
-    List<String> getAgreementByDeptId(@Param("agreementId") String agreementId, @Param("deptId") String deptId);
+    List<String> getAgreementByDeptId(@Param("agreementId") String agreementId, @Param("deptList") List<String> deptList);
 }
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementDeptService.java

@@ -42,7 +42,7 @@ public interface PtlAgreementDeptService extends IService<PtlAgreementDept> {
     /**
      * 判断此协议是否授权
      */
-    void agreementIsAuthorized(String deptId, String agreementId);
+    void agreementIsAuthorized(List<String> deptId, String agreementId);
 
     /**
      * 团队批量配置协议信息

+ 4 - 4
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementDeptServiceImpl.java

@@ -57,20 +57,20 @@ public class PtlAgreementDeptServiceImpl extends ServiceImpl<PtlAgreementDeptMap
     }
 
     @Override
-    public void agreementIsAuthorized(String deptId, String agreementId) {
+    public void agreementIsAuthorized(List<String> deptList, String agreementId) {
         //add by  hxl  2024-10-25   注释掉从 协议调度授权部门的协议逻辑  ==================begin==================
         boolean flag = sysSwitchConfigService.xysqDisplaySwitches();
         if(flag){
             //新逻辑从协议组授权获取
-            if(StringUtils.isNotBlank(deptId)){
-                List<String> ids =ptlAgreementGroupLinkDeptMapper.getAgreementByDeptId(agreementId, deptId);
+            if(!deptList.isEmpty()){
+                List<String> ids =ptlAgreementGroupLinkDeptMapper.getAgreementByDeptId(agreementId, deptList);
                 if (ids.isEmpty()) {
                     throw new SystemException("协议或调度协议未授权,请联系团队长授权");
                 }
             }
         }else{
             //原先逻辑
-            List<PtlAgreementDept> list = list(byAgreementId(agreementId).eq(PtlAgreementDept::getDeptId, deptId));
+            List<PtlAgreementDept> list = list(byAgreementId(agreementId).eq(PtlAgreementDept::getDeptId, deptList.get(0)));
             //==================================================================== end==================
             if (list.isEmpty()) {
                 throw new SystemException("请联系团队长授权");

+ 4 - 1
src/main/resources/mapper/modules/protocol/PtlAgreementGroupLinkDeptMapper.xml

@@ -92,7 +92,10 @@
                 LEFT JOIN ptl_agreement_group  pag    on  pagla.ptl_agreement_group_id = pag.id
         where
             pag.default_flag=0
-          and pagld.dept_id = #{deptId}
+          and pagld.dept_id in
+        <foreach collection="deptList" item="deptId" open="(" separator="," close=")">
+            #{deptId}
+        </foreach>
         )  a
         where  a.ptl_agreement_id =#{agreementId}
     </select>