Просмотр исходного кода

1.修改投保配置
2.永安财险配置
3.费用查询

wks 3 лет назад
Родитель
Сommit
3ea92f8e76
25 измененных файлов с 329 добавлено и 288 удалено
  1. 1 8
      src/main/java/com/ydtech/constants/RedisConstant.java
  2. 26 20
      src/main/java/com/ydtech/modules/order/components/ConfigureParametersComponents.java
  3. 13 10
      src/main/java/com/ydtech/modules/order/controller/RenewalController.java
  4. 2 2
      src/main/java/com/ydtech/modules/order/entity/InsOrders.java
  5. 32 0
      src/main/java/com/ydtech/modules/order/entity/config/YaConfigureParameters.java
  6. 15 0
      src/main/java/com/ydtech/modules/order/entity/config/ZmConfigureParameters.java
  7. 14 0
      src/main/java/com/ydtech/modules/order/entity/po/InsRenewal.java
  8. 8 0
      src/main/java/com/ydtech/modules/order/entity/vo/InsRenewalVo.java
  9. 10 5
      src/main/java/com/ydtech/modules/order/service/InsRenewalService.java
  10. 1 1
      src/main/java/com/ydtech/modules/order/service/YongAnOrderService.java
  11. 7 5
      src/main/java/com/ydtech/modules/order/service/impl/CarModelServiceImpl.java
  12. 2 3
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  13. 5 9
      src/main/java/com/ydtech/modules/order/service/impl/InsRenewalServiceImpl.java
  14. 100 65
      src/main/java/com/ydtech/modules/order/service/impl/YongAnOrderServiceImpl.java
  15. 14 7
      src/main/java/com/ydtech/modules/order/service/impl/ZhongMeiOrderApiServiceImpl.java
  16. 11 129
      src/main/java/com/ydtech/modules/protocol/controller/PtlProductController.java
  17. 10 0
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementAttributionService.java
  18. 6 1
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementProductCostsService.java
  19. 2 3
      src/main/java/com/ydtech/modules/protocol/service/PtlProductService.java
  20. 14 1
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementAttributionServiceImpl.java
  21. 20 0
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementProductCostsServiceImpl.java
  22. 4 9
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlProductServiceImpl.java
  23. 5 5
      src/main/resources/application-prod.yml
  24. 5 5
      src/main/resources/application-test.yml
  25. 2 0
      src/main/resources/mapper/modules/order/InsRenewalMapper.xml

+ 1 - 8
src/main/java/com/ydtech/constants/RedisConstant.java

@@ -6,22 +6,15 @@ public class RedisConstant {
         throw new IllegalStateException("Utility class");
     }
 
-    public static final String INS_RENBAO_KEY = "ins:renbao:token:";
-
-    public static final String INS_HENGBANG_KEY = "ins:hengbang:token:";
-
-    public static final String INS_YONGCHENG_KEY = "ins:yongcheng:token:";
-
     public static final String PHONE_VERIFICATION_CODE_KEY = "sys:login:phone:";
 
-    public static final String INS_ANSHENG_KEY = "ins:ansheng:token:";
-
     public static final long PHONE_VERIFICATION_CODE_KEY_TIME = 5L;
 
     /**
      * 订单缓存
      */
     public static final String QUOTE_INFO_KEY = "ins:orders:";
+
     /**
      * 订单缓存时间
      */

+ 26 - 20
src/main/java/com/ydtech/modules/order/components/ConfigureParametersComponents.java

@@ -6,13 +6,14 @@ import com.ydtech.modules.order.entity.config.ConfigureParameters;
 import com.ydtech.modules.protocol.entity.dto.PtlAttributionTemplateDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
-import com.ydtech.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ReflectionUtils;
 
 import java.lang.reflect.Field;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Component
@@ -24,33 +25,38 @@ public class ConfigureParametersComponents {
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
     }
 
-    /**
-     * 通过 协议id获取配置实体
-     * @param t
-     * @param agreementId
-     * @param <T>
-     */
-    public <T extends ConfigureParameters> void toEntity(T t, String agreementId) {
-        PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
+
+    private <T extends ConfigureParameters> void conversionEntity(T t, PtlAgreementAttribution ptlAgreementAttribution) {
         JSONArray fields = ptlAgreementAttribution.getFields();
         List<PtlAttributionTemplateDto> ptlAttributionTemplateDtos = fields.toJavaList(PtlAttributionTemplateDto.class);
+        Map<String, String> collect = ptlAttributionTemplateDtos.stream().collect(LinkedHashMap::new, (m, v) -> m.put(v.getField(), v.getValue()), LinkedHashMap::putAll);
+        Field[] fieldsList = t.getClass().getDeclaredFields();
 
-        for (PtlAttributionTemplateDto ptlAttributionTemplateDto : ptlAttributionTemplateDtos) {
-            String field = ptlAttributionTemplateDto.getField();
-            if (StringUtils.isNullOrEmpty(field)) {
-                continue;
-            }
-
+        for (Field field : fieldsList) {
             try {
-                Field f = t.getClass().getDeclaredField(field);
-                ReflectionUtils.makeAccessible(f);
-                f.set(t, ptlAttributionTemplateDto.getValue());
-            } catch (NoSuchFieldException | IllegalAccessException e) {
-                throw new SystemException("{}没有此字段的映射", field);
+                ReflectionUtils.makeAccessible(field);
+                field.set(t, collect.get(field.getName()));
+            } catch (IllegalAccessException e) {
+                throw new SystemException("{}没有此字段的映射", collect.get(field.getName()));
             }
         }
+
     }
 
+    /**
+     * 通过 协议id获取配置实体
+     *
+     * @param t           配置
+     * @param agreementId 协议id
+     * @param <T>         配置
+     */
+    public <T extends ConfigureParameters> void toEntity(T t, String agreementId) {
+        PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
+        this.conversionEntity(t, ptlAgreementAttribution);
+    }
 
+    public <T extends ConfigureParameters> void toEntity(T t, PtlAgreementAttribution ptlAgreementAttribution) {
+        this.conversionEntity(t, ptlAgreementAttribution);
+    }
 
 }

+ 13 - 10
src/main/java/com/ydtech/modules/order/controller/RenewalController.java

@@ -2,9 +2,11 @@ package com.ydtech.modules.order.controller;
 
 import com.ydtech.core.page.BasePageVO;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.dto.EsmInsCompanyDto;
+import com.ydtech.modules.order.entity.po.InsRenewal;
 import com.ydtech.modules.order.entity.vo.InsRenewalVo;
 import com.ydtech.modules.order.entity.vo.QueryRenewalVo;
 import com.ydtech.modules.order.service.InsRenewalService;
@@ -12,6 +14,8 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @author wenks
  * @version 0.0.2
@@ -25,16 +29,14 @@ public class RenewalController extends BaseController {
 
     private final InsRenewalService insRenewalService;
 
-    private final SysUserService sysUserService;
 
-    public RenewalController(InsRenewalService insRenewalService, SysUserService sysUserService) {
+    public RenewalController(InsRenewalService insRenewalService) {
         this.insRenewalService = insRenewalService;
-        this.sysUserService = sysUserService;
     }
 
     @PostMapping("/queryRenewal")
     @ApiOperation("查询续保")
-    public HttpResult queryRenewal(@RequestBody QueryRenewalVo queryRenewalVo) {
+    public HttpResult<YaQuoteInfoVo> queryRenewal(@RequestBody QueryRenewalVo queryRenewalVo) {
         YaQuoteInfoVo quoteInfoVo = insRenewalService.queryRenewal(queryRenewalVo);
         if (null == quoteInfoVo || null == quoteInfoVo.getCarInfo()) {
             return HttpResult.error("未查询到续保信息");
@@ -44,32 +46,33 @@ public class RenewalController extends BaseController {
 
     @GetMapping("/queryCompany")
     @ApiOperation("查询保险公司")
-    public HttpResult queryCompany() {
+    public HttpResult<List<EsmInsCompanyDto>> queryCompany() {
         return insRenewalService.queryCompany();
     }
 
     @PostMapping
     @ApiOperation("[管理]新增")
-    public HttpResult save(@RequestBody InsRenewalVo insRenewalVo) {
+    public HttpResult<InsRenewal> save(@RequestBody InsRenewalVo insRenewalVo) {
         return insRenewalService.manageSave(insRenewalVo);
     }
 
     @PutMapping("/{id}")
     @ApiOperation("[管理]id修改")
-    public HttpResult revise(@PathVariable Integer id, @RequestBody InsRenewalVo insRenewalVo) {
+    public HttpResult<InsRenewal> revise(@PathVariable Integer id, @RequestBody InsRenewalVo insRenewalVo) {
         return insRenewalService.manageRevise(id, insRenewalVo);
     }
 
     @GetMapping
     @ApiOperation("[管理]分页获取")
-    public HttpResult query(BasePageVO basePageVO) {
+    public HttpResult<BasePageResult<InsRenewal>> query(BasePageVO basePageVO) {
         return insRenewalService.manageQuery(basePageVO);
     }
 
     @DeleteMapping("/{id}")
     @ApiOperation("[管理]id删除")
-    public HttpResult delete(@PathVariable Integer id) {
+    public HttpResult<Object> delete(@PathVariable Integer id) {
         return insRenewalService.manageDelete(id);
     }
 
+
 }

+ 2 - 2
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -247,8 +247,8 @@ public class InsOrders implements Serializable {
      * @param kinds 商业险险种
      */
     private void productInformation(List<RiskInfoVo> risks, List<KindInfoVo> kinds) {
-        String productId = "";
-        String productname = "";
+        String productId;
+        String productname;
         if (risks.size() == 1 && "0507".equals(risks.get(0).getRiskCode())) {
             productId = "ZG01001";
             productname = "单交强";

+ 32 - 0
src/main/java/com/ydtech/modules/order/entity/config/YaConfigureParameters.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.order.entity.config;
+
+import lombok.Data;
+
+/**
+ * 永安Api配置类
+ */
+@Data
+public class YaConfigureParameters implements ConfigureParameters {
+
+    /**
+     * 归属机构代码(机构代码)
+     */
+    private String comCode;
+    /**
+     * 消费方准入码
+     */
+    private String consumerAccessKey;
+    /**
+     * 消费方标识
+     */
+    private String consumerID;
+    /**
+     * 业务信息匹配代码
+     */
+    private String matchCode;
+    /**
+     * 用户代码
+     */
+    private String userCode;
+
+}

+ 15 - 0
src/main/java/com/ydtech/modules/order/entity/config/ZmConfigureParameters.java

@@ -5,13 +5,28 @@ import lombok.Data;
 @Data
 public class ZmConfigureParameters implements ConfigureParameters {
 
+    /**
+     * 用户的唯一标识符
+     */
     private String token;
 
+    /**
+     * 信息来源,用来指定该报文的来源
+     */
     private String source;
 
+    /**
+     * 省
+     */
     private String province;
 
+    /**
+     * 市
+     */
     private String city;
 
+    /**
+     * 县
+     */
     private String district;
 }

+ 14 - 0
src/main/java/com/ydtech/modules/order/entity/po/InsRenewal.java

@@ -41,6 +41,18 @@ public class InsRenewal implements Serializable {
     @TableField(value = "url")
     private String url;
 
+    /**
+     * 配置用户名
+     */
+    @TableField(value = "username")
+    private String username;
+
+    /**
+     * 配置密码
+     */
+    @TableField(value = "password")
+    private String password;
+
     /**
      * 是否开启(1开启,0关闭)
      */
@@ -65,6 +77,8 @@ public class InsRenewal implements Serializable {
 
     public InsRenewal(InsRenewalVo insRenewalVo, EsmInsCompany esmInsCompany) {
         this.companyId = esmInsCompany.getId();
+        this.username = insRenewalVo.getUsername();
+        this.password = insRenewalVo.getPassword();
         this.url = insRenewalVo.getUrl();
         this.isOpen = insRenewalVo.getIsOpen();
         this.configure = JSON.parseArray(JSON.toJSONString(insRenewalVo.getConfigure()));

+ 8 - 0
src/main/java/com/ydtech/modules/order/entity/vo/InsRenewalVo.java

@@ -28,6 +28,14 @@ public class InsRenewalVo implements Serializable {
     @NotBlank(message = "续保请求url不能为空")
     private String url;
 
+    @ApiModelProperty(value = "配置用户名")
+    @NotBlank(message = "用户名不能为空")
+    private String username;
+
+    @ApiModelProperty(value = "配置密码")
+    @NotBlank(message = "用户名不能为空")
+    private String password;
+
     @ApiModelProperty(value = "是否开启(1开启,0关闭)")
     private Integer isOpen;
 

+ 10 - 5
src/main/java/com/ydtech/modules/order/service/InsRenewalService.java

@@ -4,10 +4,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.BasePageVO;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.dto.EsmInsCompanyDto;
 import com.ydtech.modules.order.entity.po.InsRenewal;
 import com.ydtech.modules.order.entity.vo.InsRenewalVo;
 import com.ydtech.modules.order.entity.vo.QueryRenewalVo;
 
+import java.util.List;
+
 /**
  * @author wenks
  * @description 针对表【ins_renewal(保险续保)】的数据库操作Service
@@ -17,7 +21,8 @@ public interface InsRenewalService extends IService<InsRenewal> {
 
     YaQuoteInfoVo queryRenewal(QueryRenewalVo queryRenewalVo);
 
-    HttpResult queryCompany();
+
+    HttpResult<List<EsmInsCompanyDto>> queryCompany();
 
     /**
      * 管理新增
@@ -25,7 +30,7 @@ public interface InsRenewalService extends IService<InsRenewal> {
      * @param insRenewalVo 管理续保新增实体
      * @return HttpResult
      */
-    HttpResult manageSave(InsRenewalVo insRenewalVo);
+    HttpResult<InsRenewal> manageSave(InsRenewalVo insRenewalVo);
 
     /**
      * 管理修改
@@ -34,7 +39,7 @@ public interface InsRenewalService extends IService<InsRenewal> {
      * @param insRenewalVo 管理续保修改实体
      * @return HttpResult
      */
-    HttpResult manageRevise(Integer id, InsRenewalVo insRenewalVo);
+    HttpResult<InsRenewal> manageRevise(Integer id, InsRenewalVo insRenewalVo);
 
     /**
      * 管理查询
@@ -42,7 +47,7 @@ public interface InsRenewalService extends IService<InsRenewal> {
      * @param basePageVO 分页实体
      * @return HttpResult
      */
-    HttpResult manageQuery(BasePageVO basePageVO);
+    HttpResult<BasePageResult<InsRenewal>> manageQuery(BasePageVO basePageVO);
 
 
     /**
@@ -51,6 +56,6 @@ public interface InsRenewalService extends IService<InsRenewal> {
      * @param id 删除的Id
      * @return HttpResult
      */
-    HttpResult manageDelete(Integer id);
+    HttpResult<Object> manageDelete(Integer id);
 
 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/YongAnOrderService.java

@@ -9,7 +9,7 @@ import java.util.Map;
 
 public interface YongAnOrderService extends BaseOrderService<Object> {
 
-    List<CarModelDTO> vinSearch(String vin);
+//    List<CarModelDTO> vinSearch(String vin);
 
     HttpResult getMessage(String companyId);
 

+ 7 - 5
src/main/java/com/ydtech/modules/order/service/impl/CarModelServiceImpl.java

@@ -8,6 +8,8 @@ import com.ydtech.modules.order.service.YongAnOrderService;
 import com.ydtech.modules.order.service.ZhongMeiOrderService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 @Service
@@ -35,11 +37,11 @@ public class CarModelServiceImpl implements CarModelService {
         if (!carModelDTOS1.isEmpty()) {
             return HttpResult.ok(carModelDTOS1);
         }
-        List<CarModelDTO> carModelDTOS2 = yongAnOrderService.vinSearch(frameNo);
-        if (!carModelDTOS2.isEmpty()) {
-            return HttpResult.ok(carModelDTOS2);
-        }
-        return new HttpResult();
+//        List<CarModelDTO> carModelDTOS2 = yongAnOrderService.vinSearch(frameNo);
+//        if (!carModelDTOS2.isEmpty()) {
+//            return HttpResult.ok(carModelDTOS2);
+//        }
+        return HttpResult.ok(Collections.emptyList());
     }
 
 }

+ 2 - 3
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -41,7 +41,6 @@ import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
-import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -173,7 +172,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     }
 
     @Override
-    public BasePageResult<InsOrders> queryOrders(OrderQueryVo orderQueryVo) {
+    public BasePageResult queryOrders(OrderQueryVo orderQueryVo) {
         if ("admin".equals(orderQueryVo.getUserId())) {
             orderQueryVo.setUserId("");
         }
@@ -181,7 +180,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         List<InsOrders> order = baseMapper.getOrder(orderQueryVo);
 
         if (order.isEmpty()) {
-            return new BasePageResult<>();
+            return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), 0, 0, Collections.emptyList());
         }
         PageInfo<InsOrders> pageInfo = new PageInfo<>(order);
 

+ 5 - 9
src/main/java/com/ydtech/modules/order/service/impl/InsRenewalServiceImpl.java

@@ -34,13 +34,11 @@ public class InsRenewalServiceImpl extends ServiceImpl<InsRenewalMapper, InsRene
 
     private final RenewalComponents renewalComponents;
 
-    private final EsmInsAttributionService esmInsAttributionService;
 
     private final EsmInsCompanyService esmInsCompanyService;
 
-    public InsRenewalServiceImpl(RenewalComponents renewalComponents, EsmInsAttributionService esmInsAttributionService, EsmInsCompanyService esmInsCompanyService) {
+    public InsRenewalServiceImpl(RenewalComponents renewalComponents,  EsmInsCompanyService esmInsCompanyService) {
         this.renewalComponents = renewalComponents;
-        this.esmInsAttributionService = esmInsAttributionService;
         this.esmInsCompanyService = esmInsCompanyService;
     }
 
@@ -49,13 +47,11 @@ public class InsRenewalServiceImpl extends ServiceImpl<InsRenewalMapper, InsRene
         LambdaQueryWrapper<InsRenewal> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(InsRenewal::getCompanyId, queryRenewalVo.getCompanyId());
         InsRenewal insRenewal = baseMapper.selectOne(wrapper);
-        LambdaQueryWrapper<EsmInsAttribution> insRenewalWrapper = new LambdaQueryWrapper<>();
-        insRenewalWrapper.eq(EsmInsAttribution::getInsCompanyId, queryRenewalVo.getCompanyId());
-        List<EsmInsAttribution> list = esmInsAttributionService.list(insRenewalWrapper);
-        EsmInsAttribution esmInsAttribution = list.get(0);
+
+        // 账号密码
         RenewalRequest renewalRequest = new RenewalRequest(queryRenewalVo);
-        renewalRequest.setUsername(esmInsAttribution.getUsername());
-        renewalRequest.setPassword(esmInsAttribution.getPassword());
+        renewalRequest.setUsername(insRenewal.getUsername());
+        renewalRequest.setPassword(insRenewal.getPassword());
         return renewalComponents.renewal(insRenewal, renewalRequest);
     }
 

+ 100 - 65
src/main/java/com/ydtech/modules/order/service/impl/YongAnOrderServiceImpl.java

@@ -12,10 +12,12 @@ import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.ins.model.ya.*;
+import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
+import com.ydtech.modules.order.entity.config.YaConfigureParameters;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
@@ -25,6 +27,8 @@ import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
 import com.ydtech.modules.order.service.YongAnOrderService;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
+import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.utils.HMAC256Uitil;
 import com.ydtech.utils.HttpXmlUtil;
 import com.ydtech.utils.idgen.IdGenerate;
@@ -48,20 +52,20 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     @Value("${ya.url.sign}")
     String urlSign = "";
 
-    @Value("${ya.consumerID}")
-    String consumerID = "";
+//    @Value("${ya.consumerID}")
+//    String consumerID = "";
 
-    @Value("${ya.consumerAccessKey}")
-    String consumerAccessKeyInit = "";
+//    @Value("${ya.consumerAccessKey}")
+//    String consumerAccessKeyInit = "";
 
-    @Value("${ya.matchCode}")
-    String matchCode = "";
+//    @Value("${ya.matchCode}")
+//    String matchCode = "";
 
-    @Value("${ya.userCode}")
-    String userCode = "";
+//    @Value("${ya.userCode}")
+//    String userCode = "";
 
-    @Value("${ya.comCode}")
-    String comCode = "";
+//    @Value("${ya.comCode}")
+//    String comCode = "";
 
     @Value("${ya.callbackUrl}")
     String callbackUrl;
@@ -74,35 +78,48 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
 
     private final EsmInsCompanyService esmInsCompanyService;
 
-    public YongAnOrderServiceImpl(InsAreaCompanyService insAreaCompanyService, InsOrdersService insOrdersService, InsTaskImagesService insTaskImagesService, EsmInsCompanyService esmInsCompanyService) {
+    private final PtlAgreementAttributionService ptlAgreementAttributionService;
+
+    private final ConfigureParametersComponents configureParametersComponents;
+
+    public YongAnOrderServiceImpl(InsAreaCompanyService insAreaCompanyService, InsOrdersService insOrdersService, InsTaskImagesService insTaskImagesService, EsmInsCompanyService esmInsCompanyService, PtlAgreementAttributionService ptlAgreementAttributionService, ConfigureParametersComponents configureParametersComponents) {
         this.insAreaCompanyService = insAreaCompanyService;
         this.insOrdersService = insOrdersService;
         this.insTaskImagesService = insTaskImagesService;
         this.esmInsCompanyService = esmInsCompanyService;
+        this.ptlAgreementAttributionService = ptlAgreementAttributionService;
+        this.configureParametersComponents = configureParametersComponents;
     }
 
-    @Override
-    public List<CarModelDTO> vinSearch(String vin) {
-        CarModel_Req carModelReq = new CarModel_Req();
-        carModelReq.setFrameNo(vin);  //  车架号
-        try {
-            ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
-            List<CarModelDTO> carModel = responseDataC1.getResponseBody().getCarModel();
-            if (!carModel.isEmpty()) {
-                return carModel;
-            }
-        } catch (Exception ignored) {
-        }
-        return Collections.emptyList();
-    }
+//    @Override
+//    public List<CarModelDTO> vinSearch(String vin) {
+//        CarModel_Req carModelReq = new CarModel_Req();
+//        carModelReq.setFrameNo(vin);  //  车架号
+//        try {
+//            ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
+//            List<CarModelDTO> carModel = responseDataC1.getResponseBody().getCarModel();
+//            if (!carModel.isEmpty()) {
+//                return carModel;
+//            }
+//        } catch (Exception ignored) {
+//        }
+//        return Collections.emptyList();
+//    }
 
     @Override
     public HttpResult quote(BaseQuoteInfoVo quoteInfoVo, BaseQuoteVo<Object> quoteVo) {
-        EsmInsCompany esmInsCompany = esmInsCompanyService.isOpen(quoteVo.getCompanyId());
 
+        // 1. 协议id获取配置实体
+        String agreementId = quoteVo.getAgreementId();
+        // 账号信息
+        PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
+        YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+        configureParametersComponents.toEntity(yaConfigureParameters, ptlAgreementAttribution);
+
+        EsmInsCompany esmInsCompany = esmInsCompanyService.getById(ptlAgreementAttribution.getInsCompanyId());
         HttpResult httpResult = new HttpResult();
         RequestData requestData = new RequestData();
-        RequestHead requestHead = getRequestHead("C2");
+        RequestHead requestHead = getRequestHead("C2", yaConfigureParameters);
         RequestBodyC2 requestBodyC2 = new RequestBodyC2();
         ResponseDataC2 responseDataC2;
         ObjectMapper mapper = new XmlMapper();
@@ -132,12 +149,12 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             carModelReq.setFrameNo(carInfo.getFrameNo());  //  车架号
             carModelReq.setEnrollDate(carInfo.getRegisterDate()); // 初登日期
             carModelReq.setEngineNo(carInfo.getEngineNo()); //发动机号
-            ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
+            ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq, yaConfigureParameters);
 
             // 无法通过车架号查出车型 通过车型查询
             if ("100001".equals(responseDataC1.getResponseHead().getAppCode())) {
                 carModelReq.setModelName(carInfo.getModelcname());
-                responseDataC1 = getResponseDataC1(carModelReq);
+                responseDataC1 = getResponseDataC1(carModelReq, yaConfigureParameters);
             }
 
             if (responseDataC1.getResponseHead().getAppMessage().contains("对应精友车型代码为:")) {
@@ -147,7 +164,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
                 int i = appMessage.indexOf(":");
                 String substring = appMessage.substring(i + 1);
                 carModelReq.setModelCode(substring);
-                responseDataC1 = getResponseDataC1(carModelReq);
+                responseDataC1 = getResponseDataC1(carModelReq, yaConfigureParameters);
             }
 
             if (!responseDataC1.getResponseHead().getStatus().equals("0")) {
@@ -251,7 +268,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             DeviceItem[] devices = new DeviceItem[0];
             ChargingPileDTO[] chargingPiles = new ChargingPileDTO[0];
             ExtendInfoDto[] extendInfo = new ExtendInfoDto[2];
-            extendInfo[0] = new ExtendInfoDto("matchCode", matchCode);
+            extendInfo[0] = new ExtendInfoDto("matchCode", yaConfigureParameters.getMatchCode());
 
             requestBodyC2.setDevices(devices);
             requestBodyC2.setChargingPiles(chargingPiles);
@@ -260,7 +277,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             log.info("===永安--报价接口开始请求===");
             requestData.setRequestHead(requestHead);
             requestData.setRequestBody(requestBodyC2);
-            String responseString = httpPost(mapper, requestData);
+            String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
             responseDataC2 = mapper.readValue(responseString, ResponseDataC2.class);
 
             // 6.1 替换成正确的车型重新
@@ -272,7 +289,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
                 String substring = appMessage.substring(i + 1, i1);
                 carModelReq.setModelCode(substring);
 
-                responseDataC1 = getResponseDataC1(carModelReq);
+                responseDataC1 = getResponseDataC1(carModelReq, yaConfigureParameters);
                 responseBody = responseDataC1.getResponseBody();
                 carModel = responseBody.getCarModel();
                 CarModelDTO carModelDTO1 = carModel.get(0);
@@ -282,7 +299,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
                 carDTO.setPurchasePrice(Double.parseDouble(carModelDTO1.getReplacementValue()));
                 requestBodyC2.setCars(carDTO);
                 log.info(carModel.toString());
-                responseString = httpPost(mapper, requestData);
+                responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
                 responseDataC2 = mapper.readValue(responseString, ResponseDataC2.class);
             }
 
@@ -315,7 +332,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             QuoteRespVo quoteRespVo = getQuoteRespVo(orderNo, carDTO, responseBodyC2);
             quoteRespVo.setExtendInfo(yaExtendInfoDto);
             //8 生成订单
-            return responseOrder(quoteInfoVo.getOrderNo(), quoteRespVo, requestData, responseDataC2, jq_falg, esmInsCompany);
+            return responseOrder(quoteInfoVo.getOrderNo(), quoteRespVo, requestData, responseDataC2, jq_falg, esmInsCompany, agreementId, ptlAgreementAttribution.getApiType());
         } catch (SystemException e) {
             return HttpResult.error(e.getMessage());
         } catch (Exception e) {
@@ -327,9 +344,14 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     @Override
     public HttpResult audit(String companyId) {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
+
+        // 账号配置
+        YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+        configureParametersComponents.toEntity(yaConfigureParameters, insAreaCompany.getAgreementId());
+
         InsOrders orders = insOrdersService.getById(insAreaCompany.getOrderno());
         RequestData requestData = new RequestData();
-        RequestHead requestHead = getRequestHead("C3");
+        RequestHead requestHead = getRequestHead("C3", yaConfigureParameters);
         RequestBodyC3 requestBodyC3 = new RequestBodyC3();
         ResponseDataC3 responseDataC3 = new ResponseDataC3();
         ObjectMapper mapper = new XmlMapper();
@@ -369,7 +391,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             requestData.setRequestHead(requestHead);
             requestData.getRequestHead().setSeqNo(insAreaCompany.getId());//支付后保单同步接口根据此号进行同步
             requestData.setRequestBody(requestBodyC3);
-            String responseString = httpPost(mapper, requestData);
+            String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
             responseDataC3 = mapper.readValue(responseString, ResponseDataC3.class);
             System.out.println(responseDataC3);
             if (!responseDataC3.getResponseHead().getStatus().equals("0")) {
@@ -438,6 +460,10 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     public HttpResult submitImage(String companyId) {
         try {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getById(companyId);
+            // 账号配置
+            YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+            configureParametersComponents.toEntity(yaConfigureParameters, insAreaCompany.getAgreementId());
+
             InsOrders insOrders = insOrdersService.existOrder(insAreaCompany.getOrderno());
             List<InsTaskImagesBase64> insTaskImagesBase64s = insTaskImagesService.findByOrderNo(insOrders.getOrderno());
             if (insTaskImagesBase64s.isEmpty()) {
@@ -445,7 +471,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             }
 
             RequestData requestData = new RequestData();
-            RequestHead requestHead = getRequestHead("B25");
+            RequestHead requestHead = getRequestHead("B25", yaConfigureParameters);
             RequestBodyB25 requestBodyB25 = new RequestBodyB25();
             ObjectMapper mapper = new XmlMapper();
             mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
@@ -456,8 +482,8 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
                 InsTaskImagesBase64 insTaskImagesBase64 = insTaskImagesBase64s.get(i);
                 String image = insTaskImagesBase64.getBase64String();
                 requestBodyB25.setBussNo("yx" + insAreaCompany.getId());
-                requestBodyB25.setUserCode(userCode);
-                requestBodyB25.setComCode(comCode);
+                requestBodyB25.setUserCode(yaConfigureParameters.getUserCode());
+                requestBodyB25.setComCode(yaConfigureParameters.getComCode());
                 requestBodyB25.setFile(image);
                 String fileName = "";
                 String fileName1 = insTaskImagesBase64s.get(i).getFileName();
@@ -480,7 +506,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
                 log.info("===永安--上传影像开始请求===");
                 requestData.setRequestHead(requestHead);
                 requestData.setRequestBody(requestBodyB25);
-                String responseString = httpPost(mapper, requestData);
+                String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
                 ResponseDataB25 responseDataB25 = mapper.readValue(responseString, ResponseDataB25.class);
                 if (!responseDataB25.getResponseHead().getStatus().equals("0")) {
                     return HttpResult.error("永安--上传影像失败:" + responseDataB25.getResponseHead().getAppMessage());
@@ -504,9 +530,13 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
 
         try {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
+            // 账号配置
+            YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+            configureParametersComponents.toEntity(yaConfigureParameters, insAreaCompany.getAgreementId());
+
             InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
             RequestData requestData = new RequestData();
-            RequestHead requestHead = getRequestHead("B7");
+            RequestHead requestHead = getRequestHead("B7", yaConfigureParameters);
             RequestBodyB7 requestBodyB7 = new RequestBodyB7();
             ResponseDataB7 responseDataB7 = new ResponseDataB7();
             ObjectMapper mapper = new XmlMapper();
@@ -531,14 +561,14 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             privy.add(privyDTO);
             privy.add(privyDTO2);
             ExtendInfoDto[] extendInfo = new ExtendInfoDto[1];
-            extendInfo[0] = new ExtendInfoDto("matchCode", matchCode);
+            extendInfo[0] = new ExtendInfoDto("matchCode", yaConfigureParameters.getMatchCode());
             requestBodyB7.setExtendInfo(extendInfo);
             requestBodyB7.setPrivy(privy);
             //2 接口请求
             log.info("===永安--获取短信验证码接口开始请求===");
             requestData.setRequestHead(requestHead);
             requestData.setRequestBody(requestBodyB7);
-            String responseString = httpPost(mapper, requestData);
+            String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
             responseDataB7 = mapper.readValue(responseString, ResponseDataB7.class);
             if (!responseDataB7.getResponseHead().getStatus().equals("0")) {
                 return HttpResult.error("永安--获取短信验证码接口失败:" + responseDataB7.getResponseHead().getAppMessage());
@@ -561,11 +591,11 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
 
         try {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(yaPayUrlVo.getCompanyId());
-            if (insAreaCompany == null) {
-                return HttpResult.error("子订单不存在");
-            }
+            // 账号配置
+            YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+            configureParametersComponents.toEntity(yaConfigureParameters, insAreaCompany.getAgreementId());
             RequestData requestData = new RequestData();
-            RequestHead requestHead = getRequestHead("B13");
+            RequestHead requestHead = getRequestHead("B13", yaConfigureParameters);
             RequestBodyB13 requestBodyB13 = new RequestBodyB13();
             ResponseDataB13 responseDataB13 = new ResponseDataB13();
             ObjectMapper mapper = new XmlMapper();
@@ -578,7 +608,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             log.info("===永安--提交短信验证码接口开始请求===");
             requestData.setRequestHead(requestHead);
             requestData.setRequestBody(requestBodyB13);
-            String responseString = httpPost(mapper, requestData);
+            String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
             responseDataB13 = mapper.readValue(responseString, ResponseDataB13.class);
             if (!responseDataB13.getResponseHead().getStatus().equals("0")) {
                 return HttpResult.error("永安--提交短信验证码接口失败:" + responseDataB13.getResponseHead().getAppMessage());
@@ -635,12 +665,12 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         HttpResult httpResult = new HttpResult();
         try {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
-            if (insAreaCompany == null) {
-                return HttpResult.error("子订单不存在");
-            }
+            // 账号配置
+            YaConfigureParameters yaConfigureParameters = new YaConfigureParameters();
+            configureParametersComponents.toEntity(yaConfigureParameters, insAreaCompany.getAgreementId());
 
             RequestData requestData = new RequestData();
-            RequestHead requestHead = getRequestHead("B21");
+            RequestHead requestHead = getRequestHead("B21", yaConfigureParameters);
             RequestBodyB21 requestBodyB21 = new RequestBodyB21();
             ResponseDataB21 responseDataB21 = new ResponseDataB21();
             ObjectMapper mapper = new XmlMapper();
@@ -659,7 +689,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             log.info("===永安--获取电子保单接口开始请求===");
             requestData.setRequestHead(requestHead);
             requestData.setRequestBody(requestBodyB21);
-            String responseString = httpPost(mapper, requestData);
+            String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
             responseDataB21 = mapper.readValue(responseString, ResponseDataB21.class);
             System.out.println(responseDataB21);
             ResponseBodyB21 responseBody21 = responseDataB21.getResponseBody();
@@ -680,11 +710,11 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         return httpResult;
     }
 
-    private RequestHead getRequestHead(String type) {
+    private RequestHead getRequestHead(String type, YaConfigureParameters yaConfigureParameters) {
         RequestHead requestHead = new RequestHead();
         requestHead.setSeqNo(geneReqNo());
-        requestHead.setConsumerID(consumerID);
-        requestHead.setConsumerAccessKey(consumerAccessKeyInit);
+        requestHead.setConsumerID(yaConfigureParameters.getConsumerID());
+        requestHead.setConsumerAccessKey(yaConfigureParameters.getConsumerAccessKey());
         requestHead.setTransCode(type);
         requestHead.setRegionCode("D");
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -698,11 +728,11 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     }
 
 
-    public ResponseDataC1 getResponseDataC1(CarModel_Req carModelReq) throws Exception {
+    public ResponseDataC1 getResponseDataC1(CarModel_Req carModelReq, YaConfigureParameters yaConfigureParameters) throws Exception {
         ResponseDataC1 responseDataC1;
         ObjectMapper mapper = new XmlMapper();
         RequestData requestData = new RequestData();
-        RequestHead requestHead = getRequestHead("C1");
+        RequestHead requestHead = getRequestHead("C1", yaConfigureParameters);
 
         RequestBodyC1 requestBody = new RequestBodyC1();
 
@@ -715,20 +745,20 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         requestBody.setLicenseNo(carModelReq.getLicenseNo());
         requestBody.setModelCode(carModelReq.getModelCode());
         ExtendInfoDto[] extendInfo = new ExtendInfoDto[1];
-        extendInfo[0] = new ExtendInfoDto("matchCode", matchCode);
+        extendInfo[0] = new ExtendInfoDto("matchCode", yaConfigureParameters.getMatchCode());
         requestBody.setExtendInfo(extendInfo);
         requestData.setRequestHead(requestHead);
         requestData.setRequestBody(requestBody);
         log.info("===永安--车型查询接口开始请求===");
-        String responseString = httpPost(mapper, requestData);
+        String responseString = httpPost(mapper, requestData, yaConfigureParameters.getConsumerAccessKey());
         responseDataC1 = mapper.readValue(responseString, ResponseDataC1.class);
         return responseDataC1;
     }
 
-    private String httpPost(ObjectMapper mapper, RequestData requestData) throws Exception {
+    private String httpPost(ObjectMapper mapper, RequestData requestData, String consumerAccessKeyInit) throws Exception {
         //加签
         String xmlString_sign = mapper.writeValueAsString(requestData);
-        String consumerAccessKey = getConsumerAccessKey(xmlString_sign);
+        String consumerAccessKey = getConsumerAccessKey(xmlString_sign, consumerAccessKeyInit);
         //替换签名,请求接口
         requestData.getRequestHead().setConsumerAccessKey(consumerAccessKey);
         String xmlString = mapper.writeValueAsString(requestData);
@@ -738,7 +768,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         return s;
     }
 
-    public String getConsumerAccessKey(String xmlString) throws Exception {
+    public String getConsumerAccessKey(String xmlString, String consumerAccessKeyInit) throws Exception {
         String consumerAccessKey = "";
         xmlString = xmlString.substring(xmlString.lastIndexOf("<requestBody>") + 13, xmlString.lastIndexOf("</requestBody>"));
         consumerAccessKey = HMAC256Uitil.hmac256(xmlString, consumerAccessKeyInit);
@@ -1061,13 +1091,16 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         return b1.add(b2).doubleValue();
     }
 
-    private HttpResult responseOrder(String orderNo, QuoteRespVo quoteRespVo, RequestData requestData, ResponseDataC2 responseDataC2, boolean jq_falg, EsmInsCompany esmInsCompany) {
+    private HttpResult<QuoteRespVo> responseOrder(String orderNo, QuoteRespVo quoteRespVo, RequestData requestData, ResponseDataC2 responseDataC2, boolean jq_falg, EsmInsCompany esmInsCompany, String agreementId, Integer apiType) {
         //保存订单信息
 
         if (responseDataC2.getResponseHead().getStatus() != null && responseDataC2.getResponseHead().getStatus().equals("0")) {
             InsAreaCompany insAreaCompany = new InsAreaCompany();
             insAreaCompany.setId(IdGenerate.nextId());
             insAreaCompany.setOrderno(orderNo);
+            // 协议id
+            insAreaCompany.setAgreementId(agreementId);
+            insAreaCompany.setApiType(apiType);
             //报价成功更新险种信息
             ResponseBodyC2 responseBody = responseDataC2.getResponseBody();
             insAreaCompany.setKindinfo(JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList())));
@@ -1082,6 +1115,8 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             insAreaCompany.setInscompany(esmInsCompany.getId());
             insAreaCompany.setInscompany(esmInsCompany.getNamesimple());
             insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(quoteRespVo.getTaxArrears())));
+
+
             insAreaCompanyService.save(insAreaCompany);
             insOrdersService.updateByOrderStatus(orderNo, InsOrderStatus.S_0.getCode());
             quoteRespVo.setCompanyId(insAreaCompany.getId());

+ 14 - 7
src/main/java/com/ydtech/modules/order/service/impl/ZhongMeiOrderApiServiceImpl.java

@@ -41,6 +41,7 @@ import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.utils.CalculateUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
@@ -127,9 +128,9 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
         String agreementId = zmQuoteVo.getAgreementId();
         // 账号信息
         PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
-
         ZmConfigureParameters zmConfigureParameters = new ZmConfigureParameters();
-        configureParametersComponents.toEntity(zmConfigureParameters, agreementId);
+        configureParametersComponents.toEntity(zmConfigureParameters, ptlAgreementAttribution);
+
         BaseRequestHead baseRequestHead = new BaseRequestHead(zmConfigureParameters);
         EsmInsCompany esmInsCompany = esmInsCompanyService.getById(zmQuoteVo.getCompanyId());
 
@@ -259,7 +260,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     @Override
-    public HttpResult auditCallback(ApprovedRequest approvedRequest) {
+    public HttpResult<Object> auditCallback(ApprovedRequest approvedRequest) {
         String s = JSON.toJSONString(approvedRequest);
         log.info("中煤审核回调参数------>{}", s);
         // 主投保单号
@@ -279,7 +280,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     @Override
-    public HttpResult paymentEnquiry(String companyId) {
+    public HttpResult<Object> paymentEnquiry(String companyId) {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
 
         // 1. 协议id获取配置实体
@@ -313,7 +314,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     @Override
-    public HttpResult getPolicyPrint(PolicyPrintVo policyPrintVo) {
+    public HttpResult<List<String>> getPolicyPrint(PolicyPrintVo policyPrintVo) {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(policyPrintVo.getCompanyId());
         // 1. 协议id获取配置实体
         ZmConfigureParameters zmConfigureParameters = new ZmConfigureParameters();
@@ -473,13 +474,19 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
         TaxArrears taxArrears = new TaxArrears("往年欠税", quotedPriceResponse.getTaxinfo().getPrePayTax(), quotedPriceResponse.getTaxinfo().getDelayPayTax());
         List<TaxArrears> taxArrearsList = Collections.singletonList(taxArrears);
         insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(taxArrearsList)));
-        insAreaCompanyService.save(insAreaCompany);
-        insOrdersService.updateByOrderStatus(orderNo, InsOrderStatus.S_0.getCode());
+        insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
+
         quoteRespVo.setCompanyId(insAreaCompany.getId());
         quoteRespVo.setTaxArrears(taxArrearsList);
         return HttpResult.ok(quotedPriceResponse.getHead().getReturnMessage(), quoteRespVo);
     }
 
+
+
+
+
+
+
 }
 
 

+ 11 - 129
src/main/java/com/ydtech/modules/protocol/controller/PtlProductController.java

@@ -1,21 +1,16 @@
 package com.ydtech.modules.protocol.controller;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.core.page.PageRequest;
-import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.base.controller.BaseController;
-import com.ydtech.modules.protocol.entity.po.PtlProduct;
+import com.ydtech.modules.protocol.entity.vo.PtlProductVo;
 import com.ydtech.modules.protocol.service.PtlProductService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 @Api(tags = "产品管理")
@@ -23,132 +18,19 @@ import java.util.List;
 @RequestMapping("/ptl/product")
 public class PtlProductController extends BaseController {
 
-    private final PtlProductService PtlProductService;
+    private final PtlProductService ptlProductService;
 
-    public PtlProductController(PtlProductService PtlProductService) {
-        this.PtlProductService = PtlProductService;
-    }
-
-    /**
-     * 新增产品信息
-     *
-     * @param record
-     * @return
-     */
-    @PostMapping(value = "/addProduct")
-    @ApiOperation("新增产品信息")
-    public HttpResult save(@RequestBody PtlProduct record) {
-        record.setCreateBy(getUserName());
-        record.setCreateTime(new Date());
-        record.setLastUpdateBy(getUserName());
-        record.setLastUpdateTime(new Date());
-        PtlProductService.save(record);
-        return HttpResult.ok("产品新增成功");
-    }
-
-    /**
-     * 修改产品信息
-     *
-     * @param record
-     * @return
-     */
-    @PostMapping(value = "/editProduct")
-    @ApiOperation("修改产品信息")
-    public HttpResult edit(@RequestBody PtlProduct record) {
-        record.setLastUpdateBy(getUserName());
-        record.setLastUpdateTime(new Date());
-        PtlProductService.updateById(record);
-        return HttpResult.ok("产品修改成功");
-    }
-
-    /**
-     * 删除产品信息
-     *
-     * @param idList
-     * @return
-     */
-    @PostMapping(value = "/deleteProduct")
-    @ApiOperation("删除产品信息")
-    public HttpResult delete(@RequestParam List<String> idList) {
-        PtlProductService.removeBatchByIds(idList);
-        if (idList != null && !idList.isEmpty()) {
-            return HttpResult.ok("产品删除成功");
-        }
-
-        return HttpResult.error("产品删除失败");
-
-    }
-
-    /**
-     * 产品列表
-     *
-     * @param id
-     * @return
-     */
-    @GetMapping(value = "/productList")
-    @ApiOperation("产品列表")
-    public HttpResult query(@RequestParam String id) {
-        QueryWrapper<PtlProduct> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("del_flag ", 0);
-        if (id != null && id.length() > 0) {
-            queryWrapper.like("id", id);
-        }
-        return HttpResult.ok(PtlProductService.selectList(queryWrapper));
-    }
 
-    /**
-     * 基础分页查询
-     *
-     * @param
-     * @return
-     */
-    @PostMapping(value = "/findPage")
-    @ApiOperation("基础分页查询")
-    public HttpResult findPage(@RequestBody PageRequest pageRequest) {
-
-        int pageNum = pageRequest.getPageNum();
-        int pageSize = pageRequest.getPageSize();
-
-        LambdaQueryWrapper<PtlProduct> queryWrapper = new LambdaQueryWrapper<>();
-        String id = pageRequest.getColumnFilterValue(pageRequest, "id");
-        String name = pageRequest.getColumnFilterValue(pageRequest, "name");
-        String parentId = pageRequest.getColumnFilterValue(pageRequest, "parentId");
-
-        StringBuffer whereStr = new StringBuffer(" where 1=1 and del_flag=0");  //不含已删除
-        ArrayList<String> params = new ArrayList<String>();
-
-        if (id != null) {
-            whereStr.append(" and id = ?");
-            params.add(id);
-        }
-
-      /*  if (name != null) {
-            whereStr.append(" and name like ?");
-            params.add("%" + name + "%");
-
-        }*/
-        queryWrapper.like(name != null, PtlProduct::getName, name);
-        queryWrapper.orderByDesc(PtlProduct::getLastUpdateTime);
-
-        if (parentId != null && !parentId.equalsIgnoreCase("")) {
-            whereStr.append(" and t.parent_id = ?");
-            params.add(parentId);
-        }
-
-        Page<PtlProduct> pageInfo = new Page<>();
-        pageInfo.setSize(pageSize);
-        pageInfo.setPages(pageNum);
-
-        //传入查询条件
-        Page<PtlProduct> page = PtlProductService.page(pageInfo, queryWrapper);
-        PageResult<PtlProduct> pageResult = new PageResult<>(pageNum, pageSize, page.getTotal(), page.getRecords());
-        return HttpResult.ok(pageResult);
+    public PtlProductController(PtlProductService ptlProductService) {
+        this.ptlProductService = ptlProductService;
     }
 
     @GetMapping("/getCodeAndName")
     @ApiOperation("获取编号和名称")
-    public HttpResult getCodeAndName() {
-        return PtlProductService.getCodeAndName();
+    public HttpResult<List<PtlProductVo>> getCodeAndName() {
+        return ptlProductService.getCodeAndName();
     }
 
 }
+
+

+ 10 - 0
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementAttributionService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 
+import java.util.List;
+
 
 /**
  * @author wenks
@@ -21,6 +23,14 @@ public interface PtlAgreementAttributionService extends IService<PtlAgreementAtt
      */
     void saveAttribution(String agreementId, String insuranceCompanyId, PtlAgreementAttributionDto attribution);
 
+    /**
+     * 根据保险公司id 和 配置查询归属
+     *
+     * @param companyId 保险公司id
+     * @param filedList 配置list
+     */
+    String selectByCompanyId(String companyId, List<String> filedList);
+
 
 //    <T> T getByAgreementId(String agreementId, Class<T> tClass);
 

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

@@ -37,6 +37,11 @@ public interface PtlAgreementProductCostsService extends IService<PtlAgreementPr
      */
     void saveBatchProductCosts(String agreementId, List<PltAgreementSchemeSaveDto> scheme);
 
-
+    /**
+     * 根据保险公司id 和 配置查询产品费用
+     * @param companyId 保险公司id
+     * @param filedList 配置list
+     */
+    List<PtlAgreementProductCosts> selectByCompanyId(String companyId, List<String> filedList);
 
 }

+ 2 - 3
src/main/java/com/ydtech/modules/protocol/service/PtlProductService.java

@@ -1,18 +1,17 @@
 package com.ydtech.modules.protocol.service;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.protocol.entity.po.PtlProduct;
+import com.ydtech.modules.protocol.entity.vo.PtlProductVo;
 
 import java.util.List;
 
 public interface PtlProductService extends IService<PtlProduct> {
 
-    List<PtlProduct> selectList(QueryWrapper queryWrapper);
 
-    HttpResult getCodeAndName();
+    HttpResult<List<PtlProductVo>> getCodeAndName();
 
 }
 

+ 14 - 1
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementAttributionServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.protocol.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
@@ -9,6 +10,8 @@ import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author wenks
  * @description 针对表【ptl_agreement_attribution(协议归属信息)】的数据库操作Service实现
@@ -31,5 +34,15 @@ public class PtlAgreementAttributionServiceImpl extends ServiceImpl<PtlAgreement
         save(ptlAgreementAttribution);
     }
 
-
+    @Override
+    public String selectByCompanyId(String companyId, List<String> filedList) {
+        LambdaQueryWrapper<PtlAgreementAttribution> wrapper = new LambdaQueryWrapper<>();
+        for (String s : filedList) {
+            wrapper.like(PtlAgreementAttribution::getFields, s);
+        }
+        wrapper.eq(PtlAgreementAttribution::getInsCompanyId, companyId);
+        wrapper.last("limit 1");
+        PtlAgreementAttribution ptlAgreementAttribution = getOne(wrapper);
+        return ptlAgreementAttribution.getId();
+    }
 }

+ 20 - 0
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementProductCostsServiceImpl.java

@@ -2,11 +2,13 @@ package com.ydtech.modules.protocol.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.protocol.dao.PtlAgreementProductCostsMapper;
 import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeQueryDto;
 import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeSaveDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
+import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import org.springframework.stereotype.Service;
@@ -25,6 +27,12 @@ import java.util.stream.Collectors;
 public class PtlAgreementProductCostsServiceImpl extends ServiceImpl<PtlAgreementProductCostsMapper, PtlAgreementProductCosts>
         implements PtlAgreementProductCostsService {
 
+    private final PtlAgreementAttributionService ptlAgreementAttributionService;
+
+    public PtlAgreementProductCostsServiceImpl(PtlAgreementAttributionService ptlAgreementAttributionService) {
+        this.ptlAgreementAttributionService = ptlAgreementAttributionService;
+    }
+
     @Override
     public void deleteByAgreementId(String agreementId) {
         LambdaQueryWrapper<PtlAgreementProductCosts> costsLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -63,6 +71,18 @@ public class PtlAgreementProductCostsServiceImpl extends ServiceImpl<PtlAgreemen
     }
 
 
+    @Override
+    public List<PtlAgreementProductCosts> selectByCompanyId(String companyId, List<String> filedList) {
+        String agreementId = ptlAgreementAttributionService.selectByCompanyId(companyId, filedList);
+        LambdaQueryWrapper<PtlAgreementProductCosts> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
+        List<PtlAgreementProductCosts> ptlAgreementProductCosts = baseMapper.selectList(wrapper);
+        if (ptlAgreementProductCosts.isEmpty()) {
+            throw new SystemException("未查询到费用配置");
+        }
+        return ptlAgreementProductCosts;
+    }
+
 }
 
 

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

@@ -1,7 +1,6 @@
 package com.ydtech.modules.protocol.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.protocol.dao.PtlProductMapper;
@@ -16,17 +15,13 @@ import java.util.List;
 @Service
 public class PtlProductServiceImpl extends ServiceImpl<PtlProductMapper, PtlProduct> implements PtlProductService {
 
-
-    @Override
-    public List selectList(QueryWrapper queryWrapper) {
-        return baseMapper.selectList(queryWrapper);
-    }
-
     @Override
-    public HttpResult getCodeAndName() {
+    public HttpResult<List<PtlProductVo>> getCodeAndName() {
         LambdaQueryWrapper<PtlProduct> wrapper = new LambdaQueryWrapper<>();
         // 查询id 和 用户名
-        wrapper.select(PtlProduct::getId, PtlProduct::getName);
+        wrapper.select(PtlProduct::getId, PtlProduct::getName)
+                .eq(PtlProduct::getIsvalid, 0)
+                .eq(PtlProduct::getDelFlag, 0);
         List<PtlProduct> esProducts = baseMapper.selectList(wrapper);
         // 转换vo
         List<PtlProductVo> productVos = PtlProductVo.toPtlProductVoList(esProducts);

+ 5 - 5
src/main/resources/application-prod.yml

@@ -166,14 +166,14 @@ wechat:
     componentSecret: 75b7d4cda453b2075dec23f849278bc0
 ya:
   callbackUrl: http://www.baoxianzhanggui.com:8080/order/yongAn/updatePolicy
-  comCode: 214040020000
-  consumerAccessKey: xE1cA7dK
-  consumerID: 102120
-  matchCode: 10212014040001
+#  comCode: 214040020000
+#  consumerAccessKey: xE1cA7dK
+#  consumerID: 102120
+#  matchCode: 10212014040001
   url:
     https://api.yaic.com.cn/auto/issue
   url.sign: https://api.yaic.com.cn/auto/debug/generate-access-key
-  userCode: 10061765
+#  userCode: 10061765
 yc:
   api:
     #正式渠道信息(测试一下)

+ 5 - 5
src/main/resources/application-test.yml

@@ -213,13 +213,13 @@ wechat:
 #================ 永安 ==============#
 ya:
   callbackUrl: http://test.baoxianzhanggui.com:8080/order/yongAn/updatePolicy
-  comCode: 214040020000
-  consumerAccessKey: 123456test
-  consumerID: 102120
-  matchCode: 10212014040001
+#  comCode: 214040020000
+#  consumerAccessKey: 123456test
+#  consumerID: 102120
+#  matchCode: 10212014040001
   url: https://tapi.yaic.com.cn/auto/issue
   url.sign: https://tapi.yaic.com.cn/auto/debug/generate-access-key
-  userCode: 10061765
+#  userCode: 10061765
 
 ##永诚
 yc:

+ 2 - 0
src/main/resources/mapper/modules/order/InsRenewalMapper.xml

@@ -8,6 +8,8 @@
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
         <result property="url" column="url" jdbcType="VARCHAR"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="password" column="password" jdbcType="VARCHAR"/>
         <result property="configure" column="configure" javaType="com.alibaba.fastjson.JSONArray"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
         <result property="isOpen" column="is_open" jdbcType="INTEGER"/>