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

添加协议 分页查询协议 通过协议id查询所有信息 删除协议 修改协议

wks 3 лет назад
Родитель
Сommit
6a0507c92c
23 измененных файлов с 502 добавлено и 138 удалено
  1. 4 1
      src/main/java/com/ydtech/modules/order/controller/ZhongMeiOrderApiController.java
  2. 3 1
      src/main/java/com/ydtech/modules/order/service/ZhongMeiOrderApiService.java
  3. 2 2
      src/main/java/com/ydtech/modules/order/service/impl/ZhongMeiOrderApiServiceImpl.java
  4. 25 10
      src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java
  5. 34 0
      src/main/java/com/ydtech/modules/protocol/entity/dto/PltAgreementSchemeQueryDto.java
  6. 26 0
      src/main/java/com/ydtech/modules/protocol/entity/dto/PltAgreementSchemeSaveDto.java
  7. 49 0
      src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsBaseDto.java
  8. 30 0
      src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsQueryDto.java
  9. 12 40
      src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsSaveDto.java
  10. 15 15
      src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementUnderwritingRulesSaveDto.java
  11. 46 2
      src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementProductCosts.java
  12. 7 3
      src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementUnderwritingRules.java
  13. 25 0
      src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementQueryVo.java
  14. 3 3
      src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementSaveVo.java
  15. 15 1
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementProductCostsService.java
  16. 36 9
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java
  17. 12 1
      src/main/java/com/ydtech/modules/protocol/service/PtlAgreementUnderwritingRulesService.java
  18. 0 2
      src/main/java/com/ydtech/modules/protocol/service/impl/EsProductServiceImpl.java
  19. 34 7
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementProductCostsServiceImpl.java
  20. 79 28
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java
  21. 22 9
      src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementUnderwritingRulesServiceImpl.java
  22. 18 0
      src/main/java/com/ydtech/modules/protocol/utils/AssertionUtils.java
  23. 5 4
      src/main/resources/mapper/modules/protocol/PtlAgreementUnderwritingRulesMapper.xml

+ 4 - 1
src/main/java/com/ydtech/modules/order/controller/ZhongMeiOrderApiController.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.order.controller;
 
 import com.ydtech.aop.request.RequestSingleParam;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.api.zm.request.ApprovedRequest;
 import com.ydtech.modules.order.entity.api.zm.request.CoverageRequest;
@@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 
 @Api(tags = "中煤财险 API ")
 @RestController
@@ -36,7 +39,7 @@ public class ZhongMeiOrderApiController {
 
     @PostMapping(value = "/modelsQuery")
     @ApiOperation(value = "车型查询接口")
-    public HttpResult modelsQuery(@RequestSingleParam(value = "modelName") String modelName) {
+    public HttpResult<List<CarModelDTO>> modelsQuery(@RequestSingleParam(value = "modelName") String modelName) {
         return this.zhongMeiOrderApiService.modelsQuery(modelName);
     }
 

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

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.service;
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.order.entity.api.zm.request.ApprovedRequest;
 import com.ydtech.modules.order.entity.api.zm.request.CoverageRequest;
 import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
@@ -9,10 +10,11 @@ import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 public interface ZhongMeiOrderApiService extends BaseOrderService<AccidentalDrivingVo> {
 
-    HttpResult modelsQuery(String modelName);
+    HttpResult<List<CarModelDTO>> modelsQuery(String modelName);
 
     HttpResult submitImage(String companyId);
 

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

@@ -100,7 +100,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     @Override
-    public HttpResult modelsQuery(String modelName) {
+    public HttpResult<List<CarModelDTO>> modelsQuery(String modelName) {
         ModelsQueryRequest modelsQueryResponse = new ModelsQueryRequest();
         modelsQueryResponse.setModelName(modelName);
         List<ModelsQueryResponse.SimpleStadarCarDTO> car = zhongmeiRequestApiComponents.modelQuery(modelsQueryResponse, ModelsQueryResponse.class);
@@ -185,7 +185,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     @Override
-    public HttpResult submitImage(String companyId) {
+    public HttpResult<?> submitImage(String companyId) {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         // 投保单号(总)

+ 25 - 10
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java

@@ -3,14 +3,21 @@ package com.ydtech.modules.protocol.controller;
 
 import com.ydtech.core.page.BaseController;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageResult;
+import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementPageVo;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementQueryVo;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementSaveVo;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
+/**
+ * @author wenks
+ * @description 协议管理内容
+ * @createDate 2023-06-05 17:59:52
+ */
 @Api(tags = "协议")
 @RequestMapping("/plt/agreement")
 @RestController
@@ -22,28 +29,36 @@ public class PtlAgreementController extends BaseController {
         this.ptlAgreementService = ptlAgreementService;
     }
 
+    @PostMapping("/page")
+    @ApiOperation("分页查询协议")
+    public HttpResult<PageResult<PtlAgreement>> page(@RequestBody PtlAgreementPageVo ptlAgreementPageVo) {
+        return ptlAgreementService.pageAgreement(ptlAgreementPageVo);
+    }
+
     @PostMapping
     @ApiOperation("添加协议")
-    public HttpResult save(@RequestBody PtlAgreementSaveVo agreement) {
+    public HttpResult<?> save(@RequestBody PtlAgreementSaveVo agreement) {
         String userName = getUserName();
         return ptlAgreementService.saveAgreement(agreement, userName);
     }
 
-    @PostMapping("/page")
-    @ApiOperation("分页查询协议")
-    public HttpResult page(@RequestBody PtlAgreementPageVo ptlAgreementPageVo) {
-        return ptlAgreementService.pageAgreement(ptlAgreementPageVo);
+    @PutMapping("/{agreementId}")
+    @ApiOperation("修改协议")
+    public HttpResult<?> revise(@PathVariable Integer agreementId, @RequestBody PtlAgreementSaveVo agreement) {
+        String userName = getUserName();
+        return ptlAgreementService.reviseAgreement(userName, agreementId, agreement);
     }
 
+
     @GetMapping("/{agreementId}")
-    @ApiModelProperty("通过协议id查询所有信息")
-    public HttpResult getByAgreementId(@PathVariable String agreementId){
+    @ApiOperation("通过协议id查询所有信息")
+    public HttpResult<PtlAgreementQueryVo> getByAgreementId(@PathVariable Integer agreementId) {
         return ptlAgreementService.getByAgreementId(agreementId);
     }
 
-    @PostMapping("/{agreementId}")
+    @DeleteMapping("/{agreementId}")
     @ApiOperation("删除协议")
-    public HttpResult delete(@PathVariable String agreementId) {
+    public HttpResult<?> delete(@PathVariable Integer agreementId) {
         return ptlAgreementService.deleteAgreement(agreementId);
     }
 

+ 34 - 0
src/main/java/com/ydtech/modules/protocol/entity/dto/PltAgreementSchemeQueryDto.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.protocol.entity.dto;
+
+import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@ApiModel("产品费用方案")
+@NoArgsConstructor
+@AllArgsConstructor
+public class PltAgreementSchemeQueryDto {
+
+    @ApiModelProperty("产品id")
+    private String productId;
+
+    @ApiModelProperty("产品名称")
+    private String name;
+
+    @ApiModelProperty("方案")
+    private List<PtlAgreementProductCostsQueryDto> productCosts;
+
+    public PltAgreementSchemeQueryDto(List<PtlAgreementProductCosts> productCostsList) {
+        PtlAgreementProductCosts ptlAgreementProductCosts = productCostsList.get(0);
+        this.productId = ptlAgreementProductCosts.getProductId();
+        this.name = ptlAgreementProductCosts.getProductName();
+        this.productCosts = PtlAgreementProductCostsQueryDto.toPtlAgreementProductCostsSaveDto(productCostsList);
+    }
+}

+ 26 - 0
src/main/java/com/ydtech/modules/protocol/entity/dto/PltAgreementSchemeSaveDto.java

@@ -0,0 +1,26 @@
+package com.ydtech.modules.protocol.entity.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@ApiModel("产品费用方案")
+public class PltAgreementSchemeSaveDto implements Serializable {
+
+    private static final long serialVersionUID = -3950930163692348412L;
+
+    @ApiModelProperty("产品id")
+    private String productId;
+
+    @ApiModelProperty("产品名称")
+    private String name;
+
+    @ApiModelProperty("方案")
+    private List<PtlAgreementProductCostsSaveDto> productCosts;
+
+}

+ 49 - 0
src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsBaseDto.java

@@ -0,0 +1,49 @@
+package com.ydtech.modules.protocol.entity.dto;
+
+import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PtlAgreementProductCostsBaseDto implements Serializable {
+
+    private static final long serialVersionUID = -5498885293330192384L;
+
+    @ApiModelProperty("费用描述")
+    private String costsDescription;
+
+    @ApiModelProperty("费用比例")
+    private String costsProportion;
+
+    @ApiModelProperty("费用级别")
+    private String costsLevel;
+
+    @ApiModelProperty("费用起期")
+    private LocalDate costsStartDate;
+
+    @ApiModelProperty("费用止期")
+    private LocalDate costsEndDate;
+
+    @ApiModelProperty("溢出保费")
+    private String spilloverPremiums;
+
+    @ApiModelProperty("溢出比例")
+    private String spilloverProportion;
+
+    public PtlAgreementProductCostsBaseDto(PtlAgreementProductCosts ptlAgreementProductCostsSave) {
+        this.costsDescription = ptlAgreementProductCostsSave.getCostsDescription();
+        this.costsProportion = ptlAgreementProductCostsSave.getCostsProportion();
+        this.costsLevel = ptlAgreementProductCostsSave.getCostsLevel();
+        this.costsStartDate = ptlAgreementProductCostsSave.getCostsStartDate();
+        this.costsEndDate = ptlAgreementProductCostsSave.getCostsEndDate();
+        this.spilloverPremiums = ptlAgreementProductCostsSave.getSpilloverPremiums();
+        this.spilloverProportion = ptlAgreementProductCostsSave.getSpilloverProportion();
+    }
+}

+ 30 - 0
src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsQueryDto.java

@@ -0,0 +1,30 @@
+package com.ydtech.modules.protocol.entity.dto;
+
+import com.alibaba.fastjson.JSONArray;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PtlAgreementProductCostsQueryDto extends PtlAgreementProductCostsBaseDto {
+
+    @ApiModelProperty("费用")
+    private JSONArray factor;
+
+    private static final long serialVersionUID = 4477089467778369001L;
+
+    public static List<PtlAgreementProductCostsQueryDto> toPtlAgreementProductCostsSaveDto(List<PtlAgreementProductCosts> ptlAgreementProductCostsSave) {
+        return ptlAgreementProductCostsSave.stream().map(PtlAgreementProductCostsQueryDto::new)
+                .collect(Collectors.toList());
+    }
+
+    public PtlAgreementProductCostsQueryDto(PtlAgreementProductCosts ptlAgreementProductCostsSave) {
+        super(ptlAgreementProductCostsSave);
+        this.factor = JSONArray.parseArray(ptlAgreementProductCostsSave.getCostsFactor());
+    }
+}

+ 12 - 40
src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementProductCostsSaveDto.java

@@ -1,59 +1,31 @@
 package com.ydtech.modules.protocol.entity.dto;
 
-import com.alibaba.fastjson.JSON;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
-import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.beans.BeanUtils;
 
-import java.time.LocalDate;
-import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
+import java.util.stream.Collectors;
 
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel("协议费用Dto")
-public class PtlAgreementProductCostsSaveDto {
-
-    @ApiModelProperty("产品id")
-    private Integer productId;
-
-    @ApiModelProperty("费用描述")
-    private String costsDescription;
-
-    @ApiModelProperty("费用描述")
-    private String costsProportion;
-
-    @ApiModelProperty("费用级别")
-    private String costsLevel;
+public class PtlAgreementProductCostsSaveDto extends PtlAgreementProductCostsBaseDto {
 
-    @ApiModelProperty("费用起期")
-    private LocalDate costsStartDate;
-
-    @ApiModelProperty("费用止期")
-    private LocalDate costsEndDate;
-
-    @ApiModelProperty("溢出保费")
-    private String spilloverPremiums;
-
-    @ApiModelProperty("溢出比例")
-    private String spilloverProportion;
+    private static final long serialVersionUID = 6664608977040180685L;
 
     @ApiModelProperty("费用")
     private List<PtlAgreementCostsFactorSaveDto> factor;
 
-    public static List<PtlAgreementProductCosts> toPtlAgreementProductCosts(Integer agreementId, List<PtlAgreementProductCostsSaveDto> productCosts) {
-        List<PtlAgreementProductCosts> productCostsList = new ArrayList<>();
-        productCosts.forEach(x -> {
-            PtlAgreementProductCosts ptlAgreementProductCosts = new PtlAgreementProductCosts();
-            BeanUtils.copyProperties(x, ptlAgreementProductCosts);
-            String factor = JSON.toJSONString(x.getFactor());
-            ptlAgreementProductCosts.setAgreementId(agreementId);
-            ptlAgreementProductCosts.setCostsFactor(factor);
-            productCostsList.add(ptlAgreementProductCosts);
-        });
-        return productCostsList;
+    public static List<PtlAgreementProductCosts> toPtlAgreementProductCosts(Integer agreementId, List<PltAgreementSchemeSaveDto> scheme) {
+        return scheme.stream().map(x -> PtlAgreementProductCosts.toPtlAgreementProductCostsList(agreementId, x.getProductId(), x.getName(), x.getProductCosts()))
+                .flatMap(Collection::stream)
+                .collect(Collectors.toList());
     }
 
+
 }

+ 15 - 15
src/main/java/com/ydtech/modules/protocol/entity/dto/PtlAgreementUnderwritingRulesSaveDto.java

@@ -1,16 +1,14 @@
 package com.ydtech.modules.protocol.entity.dto;
 
 import com.alibaba.fastjson.JSON;
-import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
+import com.alibaba.fastjson.JSONObject;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
-import com.ydtech.utils.CalculateUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.beans.BeanUtils;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Data
 @ApiModel("承包规则")
@@ -22,16 +20,18 @@ public class PtlAgreementUnderwritingRulesSaveDto {
     @ApiModelProperty("规则因子")
     private List<PtlAgreementCostsFactorSaveDto> rulesFactor;
 
-    public static List<PtlAgreementUnderwritingRules> toPtlAgreementUnderwritingRules(Integer agreementId, List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules) {
-        List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = new ArrayList<>();
-        underwritingRules.forEach(x -> {
-            PtlAgreementUnderwritingRules ptlAgreementUnderwritingRules = new PtlAgreementUnderwritingRules();
-            String factor = JSON.toJSONString(x.getRulesFactor());
-            ptlAgreementUnderwritingRules.setRulesType(x.getRulesType());
-            ptlAgreementUnderwritingRules.setAgreementId(agreementId);
-            ptlAgreementUnderwritingRules.setRulesFactor(factor);
-            ptlAgreementUnderwritingRulesList.add(ptlAgreementUnderwritingRules);
-        });
-        return ptlAgreementUnderwritingRulesList;
+    public static List<PtlAgreementUnderwritingRules> toPtlAgreementUnderwritingRulesList(Integer agreementId, List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules) {
+        return underwritingRules.stream().map(x -> PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRules(agreementId, x)).collect(Collectors.toList());
     }
+
+    public static PtlAgreementUnderwritingRules toPtlAgreementUnderwritingRules(Integer agreementId, PtlAgreementUnderwritingRulesSaveDto ptlAgreementUnderwritingRulesSaveDto) {
+        PtlAgreementUnderwritingRules ptlAgreementUnderwritingRules = new PtlAgreementUnderwritingRules();
+        ptlAgreementUnderwritingRules.setRulesType(ptlAgreementUnderwritingRulesSaveDto.getRulesType());
+        ptlAgreementUnderwritingRules.setAgreementId(agreementId);
+        ptlAgreementUnderwritingRules.setRulesFactor(JSONObject.parseArray(JSON.toJSONString(ptlAgreementUnderwritingRulesSaveDto.getRulesFactor())));
+        return ptlAgreementUnderwritingRules;
+    }
+
+
+
 }

+ 46 - 2
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementProductCosts.java

@@ -1,20 +1,29 @@
 package com.ydtech.modules.protocol.entity.po;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 import java.time.LocalDate;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 协议产品费用
+ *
  * @TableName ptl_agreement_product_costs
  */
-@TableName(value ="ptl_agreement_product_costs")
+@TableName(value = "ptl_agreement_product_costs")
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class PtlAgreementProductCosts implements Serializable {
     /**
      * 主键/自增
@@ -32,7 +41,13 @@ public class PtlAgreementProductCosts implements Serializable {
      * 产品id
      */
     @TableField(value = "product_id")
-    private Integer productId;
+    private String productId;
+
+    /**
+     * 产品名称
+     */
+    @TableField(value = "product_name")
+    private String productName;
 
     /**
      * 费用因子
@@ -84,4 +99,33 @@ public class PtlAgreementProductCosts implements Serializable {
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
+
+    /**
+     * @param AgreementId                         协议id
+     * @param productId                           产品id
+     * @param productName                         产品名称
+     * @param ptlAgreementProductCostsSaveDtoList 协议费用 Dto list
+     * @return List<PtlAgreementProductCosts>
+     */
+    public static List<PtlAgreementProductCosts> toPtlAgreementProductCostsList(Integer AgreementId, String productId, String productName, List<PtlAgreementProductCostsSaveDto> ptlAgreementProductCostsSaveDtoList) {
+        return ptlAgreementProductCostsSaveDtoList.stream().map(
+                ptlAgreementProductCostsSaveDto ->
+                        new PtlAgreementProductCosts(AgreementId, productId, productName, ptlAgreementProductCostsSaveDto)
+        ).collect(Collectors.toList());
+    }
+
+    public PtlAgreementProductCosts(Integer agreementId, String productId, String productName, PtlAgreementProductCostsSaveDto ptlAgreementProductCostsSaveDto) {
+        this.agreementId = agreementId;
+        this.productId = productId;
+        this.productName = productName;
+        this.costsFactor = JSON.toJSONString(ptlAgreementProductCostsSaveDto.getFactor());
+        this.costsDescription = ptlAgreementProductCostsSaveDto.getCostsDescription();
+        this.costsProportion = ptlAgreementProductCostsSaveDto.getCostsProportion();
+        this.costsLevel = ptlAgreementProductCostsSaveDto.getCostsLevel();
+        this.costsStartDate = ptlAgreementProductCostsSaveDto.getCostsStartDate();
+        this.costsEndDate = ptlAgreementProductCostsSaveDto.getCostsEndDate();
+        this.spilloverPremiums = ptlAgreementProductCostsSaveDto.getSpilloverPremiums();
+        this.spilloverProportion = ptlAgreementProductCostsSaveDto.getSpilloverProportion();
+    }
+
 }

+ 7 - 3
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementUnderwritingRules.java

@@ -1,9 +1,11 @@
 package com.ydtech.modules.protocol.entity.po;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -12,7 +14,7 @@ import java.io.Serializable;
  * 协议承保规则
  * @TableName ptl_agreement_underwriting_rules
  */
-@TableName(value ="ptl_agreement_underwriting_rules")
+@TableName(value ="ptl_agreement_underwriting_rules", autoResultMap = true)
 @Data
 public class PtlAgreementUnderwritingRules implements Serializable {
     /**
@@ -36,9 +38,11 @@ public class PtlAgreementUnderwritingRules implements Serializable {
     /**
      * 规则因子
      */
-    @TableField(value = "rules_factor")
-    private String rulesFactor;
+    @TableField(value = "rules_factor", typeHandler = FastjsonTypeHandler.class)
+    private JSONArray rulesFactor;
+
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
+
 }

+ 25 - 0
src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementQueryVo.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.protocol.entity.vo;
+
+import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeQueryDto;
+import com.ydtech.modules.protocol.entity.po.PtlAgreement;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PtlAgreementQueryVo {
+
+    @ApiModelProperty("协议信息")
+    private PtlAgreement agreement;
+    @ApiModelProperty("产品方案")
+    private List<PltAgreementSchemeQueryDto> scheme;
+    @ApiModelProperty("承包规则")
+    private List<PtlAgreementUnderwritingRules> underwritingRules;
+
+}

+ 3 - 3
src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementSaveVo.java

@@ -1,7 +1,7 @@
 package com.ydtech.modules.protocol.entity.vo;
 
 
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
+import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeSaveDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
 import io.swagger.annotations.ApiModel;
@@ -17,8 +17,8 @@ public class PtlAgreementSaveVo {
     @ApiModelProperty("协议信息")
     private PtlAgreementSaveDto agreement;
 
-    @ApiModelProperty("产品费用")
-    private List<PtlAgreementProductCostsSaveDto> productCosts;
+    @ApiModelProperty("产品方案")
+    private List<PltAgreementSchemeSaveDto> scheme;
 
     @ApiModelProperty("承包规则")
     private List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules;

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

@@ -1,8 +1,13 @@
 package com.ydtech.modules.protocol.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeQueryDto;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsQueryDto;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【ptl_agreement_product_costs(协议产品费用)】的数据库操作Service
@@ -15,5 +20,14 @@ public interface PtlAgreementProductCostsService extends IService<PtlAgreementPr
      *
      * @param agreementId 协议id
      */
-    void deleteByAgreementId(String agreementId);
+    void deleteByAgreementId(Integer agreementId);
+
+
+    /**
+     * 根据 协议id 查询协议产品费用
+     *
+     * @param agreementId 协议id
+     */
+    List<PltAgreementSchemeQueryDto> getByAgreementId(Integer agreementId);
+
 }

+ 36 - 9
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java

@@ -2,44 +2,71 @@ package com.ydtech.modules.protocol.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementPageVo;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementQueryVo;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementSaveVo;
 
 /**
-* @author Administrator
-* @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service
-* @createDate 2023-06-05 17:59:52
-*/
+ * @author Administrator
+ * @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service
+ * @createDate 2023-06-05 17:59:52
+ */
 public interface PtlAgreementService extends IService<PtlAgreement> {
 
+
+    /**
+     * 通过协议id 判断是否存在
+     *
+     * @param agreementId 协议id
+     */
+    PtlAgreement ifExistsById(Integer agreementId);
+
+
     /**
      * 添加协议
+     *
      * @param agreement 上传的协议信息
-     * @param userName 用户名
+     * @param userName  用户名
      * @return HttpResult
      */
-    HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName);
+    HttpResult<?> saveAgreement(PtlAgreementSaveVo agreement, String userName);
 
     /**
      * 分页查询协议
+     *
      * @param ptlAgreementPageVo 分页查询参数
      * @return HttpResult
      */
-    HttpResult pageAgreement(PtlAgreementPageVo ptlAgreementPageVo);
+    HttpResult<PageResult<PtlAgreement>> pageAgreement(PtlAgreementPageVo ptlAgreementPageVo);
 
     /**
      * 通过协议id查询
+     *
      * @param agreementId 协议id
      * @return HttpResult
      */
-    HttpResult getByAgreementId(String agreementId);
+    HttpResult<PtlAgreementQueryVo> getByAgreementId(Integer agreementId);
 
     /**
      * 删除协议
+     *
      * @param agreementId 协议id
      * @return HttpResult
      */
-    HttpResult deleteAgreement(String agreementId);
+    HttpResult<?> deleteAgreement(Integer agreementId);
+
+
+    /**
+     * 修改协议
+     * @param userName 用户名
+     * @param agreementId  协议id
+     * @param agreement 上传的协议信息
+     * @return HttpResult
+     */
+    HttpResult<?> reviseAgreement(String userName, Integer agreementId, PtlAgreementSaveVo agreement);
+
 
+    void saveProductCostsAndUnderwritingRules(Integer id, PtlAgreementSaveVo agreement);
 }

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

@@ -3,6 +3,9 @@ package com.ydtech.modules.protocol.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
 
+import java.util.List;
+
+
 /**
  * @author Administrator
  * @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Service
@@ -15,5 +18,13 @@ public interface PtlAgreementUnderwritingRulesService extends IService<PtlAgreem
      *
      * @param agreementId 协议id
      */
-    void deleteByAgreementId(String agreementId);
+    void deleteByAgreementId(Integer agreementId);
+
+    /**
+     * 根据 协议id 承保规则查询承保规则
+     *
+     * @param agreementId 协议id
+     * @return List<PtlAgreementUnderwritingRulesQueryDto>
+     */
+    List<PtlAgreementUnderwritingRules> getByAgreementId(Integer agreementId);
 }

+ 0 - 2
src/main/java/com/ydtech/modules/protocol/service/impl/EsProductServiceImpl.java

@@ -8,11 +8,9 @@ import com.ydtech.modules.protocol.dao.EsProductMapper;
 import com.ydtech.modules.protocol.entity.po.EsProduct;
 import com.ydtech.modules.protocol.entity.vo.PtlProductVo;
 import com.ydtech.modules.protocol.service.EsProductService;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.List;
 
 

+ 34 - 7
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementProductCostsServiceImpl.java

@@ -2,25 +2,52 @@ 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.protocol.entity.dto.PtlAgreementProductCostsQueryDto;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
+import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeQueryDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
 import com.ydtech.modules.protocol.dao.PtlAgreementProductCostsMapper;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
-* @author Administrator
-* @description 针对表【ptl_agreement_product_costs(协议产品费用)】的数据库操作Service实现
-* @createDate 2023-06-05 17:59:52
-*/
+ * @author wenks
+ * @description 针对表【ptl_agreement_product_costs(协议产品费用)】的数据库操作Service实现
+ * @createDate 2023-06-05 17:59:52
+ */
 @Service
 public class PtlAgreementProductCostsServiceImpl extends ServiceImpl<PtlAgreementProductCostsMapper, PtlAgreementProductCosts>
-    implements PtlAgreementProductCostsService{
+        implements PtlAgreementProductCostsService {
 
     @Override
-    public void deleteByAgreementId(String agreementId) {
+    public void deleteByAgreementId(Integer agreementId) {
         LambdaQueryWrapper<PtlAgreementProductCosts> costsLambdaQueryWrapper = new LambdaQueryWrapper<>();
         costsLambdaQueryWrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
-        baseMapper.delete(costsLambdaQueryWrapper);
+        int delete = baseMapper.delete(costsLambdaQueryWrapper);
+        AssertionUtils.isSucceed(delete, "产品费用删除失败");
+    }
+
+    @Override
+    public List<PltAgreementSchemeQueryDto> getByAgreementId(Integer agreementId) {
+        LambdaQueryWrapper<PtlAgreementProductCosts> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
+        List<PtlAgreementProductCosts> ptlAgreementProductCosts = baseMapper.selectList(wrapper);
+        List<String> productIdList = ptlAgreementProductCosts.stream()
+                .map(PtlAgreementProductCosts::getProductId).distinct().collect(Collectors.toList());
+
+        List<PltAgreementSchemeQueryDto> productCostsSave = new ArrayList<>();
+        productIdList.forEach(productId -> {
+                    List<PtlAgreementProductCosts> productCostsList = ptlAgreementProductCosts.stream().filter(x -> x.getProductId().equals(productId)).collect(Collectors.toList());
+                    PltAgreementSchemeQueryDto pltAgreementSchemeQueryDto = new PltAgreementSchemeQueryDto(productCostsList);
+                    productCostsSave.add(pltAgreementSchemeQueryDto);
+                }
+        );
+        return productCostsSave;
     }
 }
 

+ 79 - 28
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -5,28 +5,32 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementProductCostsSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUnderwritingRulesSaveDto;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.protocol.entity.dto.*;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementPageVo;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementQueryVo;
 import com.ydtech.modules.protocol.entity.vo.PtlAgreementSaveVo;
 import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
 import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.util.List;
 
+
 /**
- * @author Administrator
+ * @author wenks
  * @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service实现
  * @createDate 2023-06-05 17:59:52
  */
@@ -38,14 +42,30 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     private final PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService;
 
+    private PtlAgreementService proxyObject;
+
     public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementUnderwritingRulesService ptlAgreementUnderwritingRulesService) {
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementUnderwritingRulesService = ptlAgreementUnderwritingRulesService;
     }
 
+    @Autowired
+    public void setProxyObject(PtlAgreementService proxyObject) {
+        this.proxyObject = proxyObject;
+    }
+
+    @Override
+    public PtlAgreement ifExistsById(Integer agreementId) {
+        PtlAgreement ptlAgreement = getById(agreementId);
+        if (ObjectUtils.isEmpty(ptlAgreement)) {
+            throw new SystemException("协议id 不存在");
+        }
+        return ptlAgreement;
+    }
+
     @Override
     @Transactional
-    public HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName) {
+    public HttpResult<?> saveAgreement(PtlAgreementSaveVo agreement, String userName) {
         PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
         PtlAgreement ptlAgreement = new PtlAgreement();
         BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
@@ -53,19 +73,12 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         ptlAgreement.setCreateTime(LocalDateTime.now());
         save(ptlAgreement);
         // 产品费用
-        List<PtlAgreementProductCostsSaveDto> productCosts = agreement.getProductCosts();
-        Integer agreementId = ptlAgreement.getId();
-        List<PtlAgreementProductCosts> ptlAgreementProductCostsList = PtlAgreementProductCostsSaveDto.toPtlAgreementProductCosts(agreementId, productCosts);
-        ptlAgreementProductCostsService.saveBatch(ptlAgreementProductCostsList);
-        // 承包规则
-        List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules = agreement.getUnderwritingRules();
-        List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRules(agreementId, underwritingRules);
-        ptlAgreementUnderwritingRulesService.saveBatch(ptlAgreementUnderwritingRulesList);
-        return HttpResult.ok();
+        proxyObject.saveProductCostsAndUnderwritingRules(ptlAgreement.getId(), agreement);
+        return HttpResult.ok("添加成功");
     }
 
     @Override
-    public HttpResult pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
+    public HttpResult<PageResult<PtlAgreement>> pageAgreement(PtlAgreementPageVo ptlAgreementPageVo) {
         int pageNum = ptlAgreementPageVo.getPageNum();
         int pageSize = ptlAgreementPageVo.getPageSize();
         Page<PtlAgreement> ptlAgreementPage = new Page<>(pageNum, pageSize);
@@ -82,28 +95,66 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
     }
 
     @Override
-    public HttpResult getByAgreementId(String agreementId) {
-        LambdaQueryWrapper<PtlAgreementProductCosts> costsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        costsLambdaQueryWrapper.eq(PtlAgreementProductCosts::getAgreementId, agreementId);
-        ptlAgreementProductCostsService.list();
-
-        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
-        List<PtlAgreementUnderwritingRules> list = ptlAgreementUnderwritingRulesService.list(wrapper);
-        return HttpResult.ok();
+    public HttpResult<PtlAgreementQueryVo> getByAgreementId(Integer agreementId) {
+        PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
+        // 获取产品费用
+        List<PltAgreementSchemeQueryDto> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(agreementId);
+        // 获取承保规则
+        List<PtlAgreementUnderwritingRules> underwritingRules = ptlAgreementUnderwritingRulesService.getByAgreementId(agreementId);
+        PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement, schemeQueryDto, underwritingRules);
+        return HttpResult.ok(ptlAgreementQueryVo);
     }
 
     @Override
     @Transactional
-    public HttpResult deleteAgreement(String agreementId) {
-        removeById(agreementId);
+    public HttpResult<?> deleteAgreement(Integer agreementId) {
+        proxyObject.ifExistsById(agreementId);
+        boolean b = removeById(agreementId);
+        AssertionUtils.isSucceed(BooleanUtils.toInteger(b), "协议信息删除失败");
         // 删除产品费用
         ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
-        // 删除承规则
+        // 删除承规则
         ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
-        return HttpResult.ok();
+        return HttpResult.ok("删除成功");
     }
 
+    @Override
+    public HttpResult<?> reviseAgreement(String userName, Integer agreementId, PtlAgreementSaveVo agreement) {
+        PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
+        PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
+        BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
+        ptlAgreement.setModifiedBy(userName);
+        ptlAgreement.setUpdateTime(LocalDateTime.now());
+        // 修改协议
+        updateById(ptlAgreement);
+        // 删除产品费用
+        ptlAgreementProductCostsService.deleteByAgreementId(agreementId);
+        // 删除承保规则
+        ptlAgreementUnderwritingRulesService.deleteByAgreementId(agreementId);
+        proxyObject.saveProductCostsAndUnderwritingRules(agreementId, agreement);
+        return HttpResult.ok("修改成功");
+    }
+
+    /**
+     * 插入产品费用 和 承包规则
+     *
+     * @param agreementId 协议id
+     * @param agreement   协议信息全部实体
+     */
+    @Override
+    public void saveProductCostsAndUnderwritingRules(Integer agreementId, PtlAgreementSaveVo agreement) {
+        // 产品费用
+        List<PltAgreementSchemeSaveDto> scheme = agreement.getScheme();
+        List<PtlAgreementProductCosts> ptlAgreementProductCostsList = PtlAgreementProductCostsSaveDto.toPtlAgreementProductCosts(agreementId, scheme);
+        ptlAgreementProductCostsService.saveBatch(ptlAgreementProductCostsList);
+
+        // 承包规则
+        List<PtlAgreementUnderwritingRulesSaveDto> underwritingRules = agreement.getUnderwritingRules();
+        List<PtlAgreementUnderwritingRules> ptlAgreementUnderwritingRulesList = PtlAgreementUnderwritingRulesSaveDto.toPtlAgreementUnderwritingRulesList(agreementId, underwritingRules);
+        ptlAgreementUnderwritingRulesService.saveBatch(ptlAgreementUnderwritingRulesList);
+    }
+
+
 }
 
 

+ 22 - 9
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementUnderwritingRulesServiceImpl.java

@@ -5,24 +5,37 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules;
 import com.ydtech.modules.protocol.service.PtlAgreementUnderwritingRulesService;
 import com.ydtech.modules.protocol.dao.PtlAgreementUnderwritingRulesMapper;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
-* @author Administrator
-* @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Service实现
-* @createDate 2023-06-05 17:59:52
-*/
+ * @author wenks
+ * @description 针对表【ptl_agreement_underwriting_rules(协议承保规则)】的数据库操作Service实现
+ * @createDate 2023-06-05 17:59:52
+ */
 @Service
 public class PtlAgreementUnderwritingRulesServiceImpl extends ServiceImpl<PtlAgreementUnderwritingRulesMapper, PtlAgreementUnderwritingRules>
-    implements PtlAgreementUnderwritingRulesService{
+        implements PtlAgreementUnderwritingRulesService {
+
 
+    @Override
+    public void deleteByAgreementId(Integer agreementId) {
+        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
+        int delete = baseMapper.delete(wrapper);
+        AssertionUtils.isSucceed(delete, "承保规则删除失败");
+    }
 
     @Override
-    public void deleteByAgreementId(String agreementId) {
-        LambdaQueryWrapper<PtlAgreementUnderwritingRules> rulesLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        rulesLambdaQueryWrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
-        baseMapper.delete(rulesLambdaQueryWrapper);
+    public List<PtlAgreementUnderwritingRules> getByAgreementId(Integer agreementId) {
+        LambdaQueryWrapper<PtlAgreementUnderwritingRules> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PtlAgreementUnderwritingRules::getAgreementId, agreementId);
+        return baseMapper.selectList(wrapper);
     }
+
+
 }
 
 

+ 18 - 0
src/main/java/com/ydtech/modules/protocol/utils/AssertionUtils.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.protocol.utils;
+
+import com.ydtech.exception.SystemException;
+
+/**
+ * 断言工具类
+ * @author wenks
+ *
+ */
+public class AssertionUtils {
+
+    public static void isSucceed(int b, String message) {
+        if (b <= 0) {
+            throw new SystemException(message);
+        }
+    }
+
+}

+ 5 - 4
src/main/resources/mapper/modules/protocol/PtlAgreementUnderwritingRulesMapper.xml

@@ -5,10 +5,11 @@
 <mapper namespace="com.ydtech.modules.protocol.dao.PtlAgreementUnderwritingRulesMapper">
 
     <resultMap id="BaseResultMap" type="com.ydtech.modules.protocol.entity.po.PtlAgreementUnderwritingRules">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="agreementId" column="agreement_id" jdbcType="INTEGER"/>
-            <result property="rulesType" column="rules_type" jdbcType="TINYINT"/>
-            <result property="rulesFactor" column="rules_factor" jdbcType="VARCHAR"/>
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="agreementId" column="agreement_id" jdbcType="INTEGER"/>
+        <result property="rulesType" column="rules_type" jdbcType="TINYINT"/>
+        <result property="rulesFactor" column="rules_factor" javaType="com.alibaba.fastjson.JSONArray"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">