wks 2 лет назад
Родитель
Сommit
f3dee3f5a0

+ 13 - 4
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -10,6 +10,7 @@ import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAccidentalDriving;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.service.InsAccidentalDrivingService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
@@ -72,13 +73,21 @@ public class InsOrdersController extends BaseController {
         return HttpResult.ok("success", insOrders);
     }
 
-    @PostMapping("/queryOrdersAndAreaCompany")
-    @ApiOperation(value = "查询订单接口")
-    public HttpResult<BasePageResult<InsOrders>> queryOrdersAndAreaCompany(@RequestBody @Valid OrderQueryVo orderQueryVo) {
-        BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryOrdersAndAreaCompany(orderQueryVo);
+    @PostMapping("/queryPageOrder")
+    @ApiOperation(value = "[1]分页查询订单接口")
+    public HttpResult<BasePageResult<InsOrders>> queryPageOrder(@RequestBody @Valid OrderQueryVo orderQueryVo) {
+        BasePageResult<InsOrders> quoteResult = this.insOrdersService.queryPageOrder(orderQueryVo);
         return HttpResult.ok("success", quoteResult);
     }
 
+    @PostMapping("/querySuborder")
+    @ApiOperation(value = "[2]通过订单号查询子订单")
+    public HttpResult<List<InsAreaCompanyQueryDto>> querySuborder(@RequestSingleParam(value = "orderNo") String orderNo) {
+        List<InsAreaCompanyQueryDto> quoteResult = this.insOrdersService.querySuborder(orderNo);
+        return HttpResult.ok("success", quoteResult);
+    }
+
+
     @PostMapping("/queryOrders")
     @ApiOperation(value = "查询订单和子订单")
     public HttpResult<BasePageResult<InsOrders>> queryOrders(@RequestBody @Valid OrderQueryVo orderQueryVo) {

+ 8 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -2,6 +2,10 @@ package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author Administrator
@@ -11,6 +15,10 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
  */
 public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
 
+
+    List<InsAreaCompanyQueryDto> selectByOrderNo(@Param("orderNo") String orderNo);
+
+
 }
 
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerAuditResponse.java

@@ -41,7 +41,6 @@ public class CrawlerAuditResponse extends CrawlerBaseResponse {
     @JsonProperty("pay_url")
     private String payUrl;
 
-//
 //    public List<DrivingInsuranceDto> getDrivingInsuranceDto() {
 //        if (drivingInsurances == null) {
 //            return Collections.emptyList();

+ 9 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerQuoteResponse.java

@@ -78,6 +78,15 @@ public class CrawlerQuoteResponse extends CrawlerBaseResponse {
     @JsonProperty(value = "other")
     private OtherDto other;
 
+    /**
+     * 交叉销售 价格
+     *
+     * @return
+     */
+    @JsonProperty("crossSellingPremium")
+    private Double crossSellingPremium;
+
+
     public List<TaxArrearsDto> getTaxArrears() {
         return ObjectUtils.isEmpty(taxArrears) ? Collections.emptyList() : taxArrears;
     }

+ 15 - 0
src/main/java/com/ydtech/modules/order/entity/dto/InsAreaCompanyQueryDto.java

@@ -0,0 +1,15 @@
+package com.ydtech.modules.order.entity.dto;
+
+import com.ydtech.modules.order.entity.InsAreaCompany;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class InsAreaCompanyQueryDto extends InsAreaCompany {
+
+    private static final long serialVersionUID = -364982760075627756L;
+
+    private String agreementName;
+
+}

+ 10 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -2,6 +2,9 @@ package com.ydtech.modules.order.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
+
+import java.util.List;
 
 /**
  * @author Administrator
@@ -40,4 +43,11 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      * @param insAreaCompany
      */
     void insertCompanyAndOrders(InsAreaCompany insAreaCompany);
+
+    /**
+     * 通过主订单查询子订单号
+     *
+     * @param orderNo 主订单号
+     */
+    List<InsAreaCompanyQueryDto> getByOrderNo(String orderNo);
 }

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

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 import com.ydtech.modules.order.entity.vo.OrderVo;
@@ -66,7 +68,7 @@ public interface InsOrdersService extends IService<InsOrders> {
      * @param orderQueryVo
      * @return
      */
-    BasePageResult<InsOrders> queryOrdersAndAreaCompany(OrderQueryVo orderQueryVo);
+    BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo);
 
     /**
      * @param orderQueryVo
@@ -82,6 +84,7 @@ public interface InsOrdersService extends IService<InsOrders> {
 
     /**
      * 查询订单和子订单
+     *
      * @param orderNo
      * @return
      */
@@ -95,4 +98,11 @@ public interface InsOrdersService extends IService<InsOrders> {
      */
     HttpResult<InsOrders> verifyOrders(VerifyOrdersVo verifyOrdersVo);
 
+    /**
+     * 通过订单号查询子订单
+     *
+     * @param orderNo 订单号
+     * @return 子订单列表
+     */
+    List<InsAreaCompanyQueryDto> querySuborder(String orderNo);
 }

+ 11 - 1
src/main/java/com/ydtech/modules/order/service/impl/CarModelServiceImpl.java

@@ -6,7 +6,10 @@ import com.ydtech.modules.order.service.CarModelService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.YongAnOrderService;
 import com.ydtech.modules.order.service.ZhongMeiOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
 
 import java.util.Collections;
 import java.util.List;
@@ -20,10 +23,13 @@ public class CarModelServiceImpl implements CarModelService {
 
     private final InsOrdersService insOrdersService;
 
-    public CarModelServiceImpl(ZhongMeiOrderService zhongMeiOrderService, YongAnOrderService yongAnOrderService, InsOrdersService insOrdersService) {
+    private final StringRedisTemplate redisTemplate;
+
+    public CarModelServiceImpl(ZhongMeiOrderService zhongMeiOrderService, YongAnOrderService yongAnOrderService, InsOrdersService insOrdersService, StringRedisTemplate redisTemplate) {
         this.zhongMeiOrderService = zhongMeiOrderService;
         this.yongAnOrderService = yongAnOrderService;
         this.insOrdersService = insOrdersService;
+        this.redisTemplate = redisTemplate;
     }
 
     @Override
@@ -32,6 +38,10 @@ public class CarModelServiceImpl implements CarModelService {
         if (!carModelDTOS.isEmpty()) {
             return HttpResult.ok(carModelDTOS);
         }
+
+
+
+
         List<CarModelDTO> carModelDTOS1 = zhongMeiOrderService.vinSearch(frameNo);
         if (!carModelDTOS1.isEmpty()) {
             return HttpResult.ok(carModelDTOS1);

+ 7 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import org.springframework.context.annotation.Lazy;
@@ -12,6 +13,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import java.util.List;
+
 /**
  * @author Administrator
  * @description 针对表【ins_area_company(报价渠道)】的数据库操作Service实现
@@ -54,6 +57,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insOrdersService.updateByOrderStatus(insAreaCompany.getOrderno(), insAreaCompany.getOrderstatus());
     }
 
+    @Override
+    public List<InsAreaCompanyQueryDto> getByOrderNo(String orderNo) {
+        return baseMapper.selectByOrderNo(orderNo);
+    }
 }
 
 

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

@@ -25,6 +25,7 @@ import com.ydtech.modules.protocol.entity.constants.PtlCrawlerApiType;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
+import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocol.service.PtlCrawlerApiService;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import com.ydtech.utils.CalculateUtils;
@@ -53,6 +54,8 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
     private final InsTaskImagesService insTaskImagesService;
     private final InsOrdersService insOrdersService;
 
+    private final PtlAgreementService ptlAgreementService;
+
     @Value("${upload.file.path}")
     private String uploadFilePath;
 
@@ -62,13 +65,14 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
     @Value("${api.url}")
     private String apiUrl;
 
-    public InsCrawlerOrderServiceImpl(PtlCrawlerApiService ptlCrawlerApiService, InsCrawlerOrderComponents insCrawlerOrderComponents, PtlAgreementAttributionService ptlAgreementAttributionService, InsAreaCompanyService insAreaCompanyService, InsTaskImagesService insTaskImagesService, InsOrdersService insOrdersService) {
+    public InsCrawlerOrderServiceImpl(PtlCrawlerApiService ptlCrawlerApiService, InsCrawlerOrderComponents insCrawlerOrderComponents, PtlAgreementAttributionService ptlAgreementAttributionService, InsAreaCompanyService insAreaCompanyService, InsTaskImagesService insTaskImagesService, InsOrdersService insOrdersService, PtlAgreementService ptlAgreementService) {
         this.ptlCrawlerApiService = ptlCrawlerApiService;
         this.insCrawlerOrderComponents = insCrawlerOrderComponents;
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
         this.insAreaCompanyService = insAreaCompanyService;
         this.insTaskImagesService = insTaskImagesService;
         this.insOrdersService = insOrdersService;
+        this.ptlAgreementService = ptlAgreementService;
     }
 
     @Override
@@ -101,7 +105,6 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         if (response.getCode() != 200) {
             throw new SystemException(response.getMessage());
         }
-
         QuoteRespVo quoteRespVo = getQuoteRespVo(response, quoteInfoVo);
         return responseOrder(response, quoteRespVo, ptlAgreementAttribution);
     }
@@ -237,6 +240,8 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         quoteRespVo.setKindList(kindList1);
         quoteRespVo.setJqPremium(jqPremium);
         quoteRespVo.setSyPremium(syPremium);
+        // 交叉销售
+        quoteRespVo.setJyPremium(response.getCrossSellingPremium());
         quoteRespVo.setCiSumPermium(CalculateUtils.add(response.getForceCarInsureRisk(), response.getCarInsureShipTax()));//交强险和车船税合计
         quoteRespVo.setSumPermium(response.getCarInsureMain());//保费合计
         quoteRespVo.setTaxAmount(response.getCarInsureShipTax());//车船税
@@ -260,6 +265,7 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
     private HttpResult<QuoteRespVo> responseOrder(CrawlerQuoteResponse response, QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
         //保存订单信息
         InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
+
         insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(quoteRespVo.getTaxArrears())));
 
         // 此单是否需要验车

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

@@ -27,6 +27,7 @@ import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.bo.UnderwritingRulesBo;
+import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 import com.ydtech.modules.order.entity.vo.OrderVo;
@@ -171,19 +172,30 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     }
 
     @Override
-    public BasePageResult<InsOrders> queryOrdersAndAreaCompany(OrderQueryVo orderQueryVo) {
+    public BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo) {
+        if ("admin".equals(orderQueryVo.getUserId())) {
+            orderQueryVo.setUserId("");
+        }
+
         Page<InsOrders> page = lambdaQuery()
                 .eq(StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid, orderQueryVo.getUserId())
-                .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus, orderQueryVo.getOrderStatus())
-                .like(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno, orderQueryVo.getFrameNo())
+                .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
                 .like(StringUtils.isNotEmpty(orderQueryVo.getLicenseNo()), InsOrders::getLicenseno, orderQueryVo.getLicenseNo())
+                .like(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno, orderQueryVo.getFrameNo())
                 .like(StringUtils.isNotEmpty(orderQueryVo.getInsuredName()), InsOrders::getInsuredname, orderQueryVo.getInsuredName())
+                .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus, orderQueryVo.getOrderStatus())
+                .likeLeft(StringUtils.isNotEmpty(orderQueryVo.getDeptId()), InsOrders::getDeptid, orderQueryVo.getDeptId())
                 .between(!ObjectUtils.isEmpty(orderQueryVo.getStartDate()) && !ObjectUtils.isEmpty(orderQueryVo.getEndDate()), InsOrders::getCreatetime, orderQueryVo.getStartDate(), orderQueryVo.getEndDate())
                 .page(new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize()));
 
         return new BasePageResult<>(orderQueryVo.getPageNum(), page.getSize(), page.getTotal(), page.getPages(), page.getRecords());
     }
 
+    @Override
+    public List<InsAreaCompanyQueryDto> querySuborder(String orderNo) {
+        return insAreaCompanyService.getByOrderNo(orderNo);
+    }
+
     @Override
     public BasePageResult<InsOrders> queryOrders(OrderQueryVo orderQueryVo) {
         if ("admin".equals(orderQueryVo.getUserId())) {

+ 12 - 1
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -35,11 +35,15 @@
         <result property="createtime" column="createtime" jdbcType="TIMESTAMP"/>
         <result property="paymentLink" column="payment_link" jdbcType="VARCHAR"/>
         <result property="attributionId" column="attribution_id" jdbcType="VARCHAR"/>
-        <result property="accidentInfo" column="accident_info" javaType="com.alibaba.fastjson.JSONObject" typeHandler = "com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
+        <result property="accidentInfo" column="accident_info" javaType="com.alibaba.fastjson.JSONArray" typeHandler = "com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="taxArrears" column="tax_arrears" javaType="com.alibaba.fastjson.JSONArray" typeHandler = "com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray" typeHandler = "com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR" />
     </resultMap>
 
+    <resultMap id="InsAreaCompanyQueryDto" type="com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto" extends="BaseResultMap">
+        <result property="agreementName" column="agreement_name" jdbcType="VARCHAR"/>
+    </resultMap>
+
     <sql id="Base_Column_List">
         id,orderno,inscompany,
         reqtxt,reptxt,jqapplyno,
@@ -52,4 +56,11 @@
         syappoint,createtime,payment_link
     </sql>
 
+    <select id="selectByOrderNo" resultMap="InsAreaCompanyQueryDto">
+        select iac.*, pa.agreement_name
+        from ins_area_company as iac
+                 left join ptl_agreement as pa on pa.id = iac.agreement_id
+        where orderno = #{orderNo}
+    </select>
+
 </mapper>