Răsfoiți Sursa

私有协议批量修改功能

修改费用比例,以及对接人还有签单时间
lipf 4 luni în urmă
părinte
comite
5a91d8c020

+ 10 - 25
commons/src/main/java/com/jzg/commons/core/page/HttpResult.java

@@ -2,13 +2,14 @@ package com.jzg.commons.core.page;
 
 
 
+import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 
 /**
  * HTTP结果封装
  */
-
+@Data
 public class HttpResult<T> implements Serializable {
 
     @Serial
@@ -19,6 +20,14 @@ public class HttpResult<T> implements Serializable {
 
     private T data;
 
+    public boolean isSuccess(){
+        return 200 == this.code;
+    }
+
+    public boolean isFail(){
+        return 200 != this.code;
+    }
+
     public static <T> HttpResult<T> error() {
         return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
     }
@@ -74,30 +83,6 @@ public class HttpResult<T> implements Serializable {
         return new HttpResult<>();
     }
 
-    public int getCode() {
-        return code;
-    }
-
-    public void setCode(int code) {
-        this.code = code;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
-    public T getData() {
-        return data;
-    }
-
-    public void setData(T data) {
-        this.data = data;
-    }
-
     @Override
     public String toString() {
         return "HttpResult{" + "code=" + code + ", msg='" + msg + '\'' + ", data=" + data + '}';

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/BatchModifyVo.java

@@ -18,6 +18,9 @@ public class BatchModifyVo {
     @Schema(description = "应收订单id")
     private List<String> incomeIds;
 
+    @Schema(description = "车险订单的id")
+    private List<String> orderNos;
+
     @Schema(description = "交强手续费比例")
     private BigDecimal jqSuperviseCostsProportion;
 

+ 6 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrdersController.java

@@ -10,6 +10,7 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.dto.InsOrdersParamVO;
+import com.jzg.commons.entity.finance.vo.BatchModifyVo;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteQueryVo;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo;
 import com.jzg.commons.entity.po.InsFeeOrders;
@@ -200,6 +201,11 @@ public class InsOrdersController extends BaseController {
         return HttpResult.ok(insOrdersService.changeSupplementOrder(orderNo));
     }
 
+    @PostMapping("/updateOrdersBatch")
+    @Operation(summary = "车险报价批量修改联系人等信息")
+    public HttpResult<String> updateOrdersBatch(@RequestBody BatchModifyVo batchModifyVo){
+        return insOrdersService.updateOrdersBatch(batchModifyVo);
+    }
 
     @GetMapping("/comparePrice")
     @Operation(summary = "比价")

+ 9 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java

@@ -7,6 +7,7 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.dto.InsOrdersParamVO;
 import com.jzg.commons.entity.enums.MessageCodeEnum;
+import com.jzg.commons.entity.finance.vo.BatchModifyVo;
 import com.jzg.commons.entity.orders.po.InsOrders;
 import com.jzg.commons.entity.orders.po.InsOrdersCarInfo;
 import com.jzg.commons.entity.orders.po.InsOrdersCosts;
@@ -282,4 +283,12 @@ public interface InsOrdersService extends IService<InsOrders> {
      * @return
      */
     SysUserActivityCompleteInRule selectByRuleAndUserPhone(String activityId, String userPhone, String qutNum, Integer activityType);
+
+    /**
+     * 车险报价批量修改联系人等信息
+     *
+     * @author lipf
+     * @date 2026/5/28 10:45
+     */
+    HttpResult<String> updateOrdersBatch(BatchModifyVo batchModifyVo);
 }

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

@@ -24,6 +24,7 @@ import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.dto.InsOrdersParamVO;
 import com.jzg.commons.entity.dto.InsTaskImagesAdd;
 import com.jzg.commons.entity.enums.MessageCodeEnum;
+import com.jzg.commons.entity.finance.vo.BatchModifyVo;
 import com.jzg.commons.entity.orders.po.*;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteQueryVo;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo;
@@ -1654,4 +1655,47 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public SysUserActivityCompleteInRule selectByRuleAndUserPhone(String activityId, String userPhone, String qutNum, Integer activityType) {
         return insOrdersMapper.selectByRuleAndUserPhone(activityId, userPhone, qutNum, activityType);
     }
+
+    /**
+     * 车险报价批量修改联系人等信息
+     *
+     * @param batchModifyVo 需要批量修改的内容
+     * @author lipf
+     * @date 2026/5/28 10:45
+     */
+    @Override
+    public HttpResult<String> updateOrdersBatch(BatchModifyVo batchModifyVo) {
+        log.info("批量修改车险订单的费用比例,联系人等信息. batchModifyVo=[{}]", JSONUtil.toJsonStr(batchModifyVo));
+
+        List<String> orderNos = batchModifyVo.getOrderNos();
+        if(CollUtil.isEmpty(orderNos)){
+            return HttpResult.error("批量修改时,请指定订单编号");
+        }
+        int count = 0;
+        for (String orderNo : orderNos) {
+            InsOrders oldInsOrders = baseMapper.selectById(orderNo);
+            if(oldInsOrders == null){
+                log.info("根据订单号[{}]没有找到车险订单信息",orderNo);
+                continue;
+            }
+            log.info("车险订单[{}]对应的订单明细是[{}]", orderNo, JSONUtil.toJsonStr(oldInsOrders));
+
+            InsOrders insOrders = new InsOrders();
+            insOrders.setId(orderNo);
+            insOrders.setSigningTime(batchModifyVo.getSigningTime());
+            insOrders.setDockingPerson(batchModifyVo.getContractUserName());
+            insOrders.setDockingPersonPhone(batchModifyVo.getContractPhone());
+
+            // 批量修改
+            baseMapper.update(new InsOrders(), new LambdaUpdateWrapper<InsOrders>()
+                    .set(InsOrders::getSigningTime, batchModifyVo.getSigningTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
+                    .set(InsOrders::getDockingPerson, batchModifyVo.getContractUserName())
+                    .set(InsOrders::getDockingPersonPhone, batchModifyVo.getContractPhone())
+                    .eq(InsOrders::getId,orderNo));
+            count++;
+        }
+        String msg = String.format("成功修改%d条车险订单",count);
+        log.info(msg);
+        return HttpResult.ok(msg);
+    }
 }

+ 11 - 2
tenant/organization/src/main/java/com/jzg/organization/client/InsFeeOrdersClient.java

@@ -1,8 +1,12 @@
 package com.jzg.organization.client;
 
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.finance.vo.BatchModifyVo;
 import com.jzg.commons.entity.po.InsFeeOrders;
+import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
@@ -15,10 +19,15 @@ public interface InsFeeOrdersClient {
 
     /**
      * 订单费用列表通过订单号查询
-     * @param orderNo
-     * @return
+     * @param orderNo 订单号
+     * @return List<InsFeeOrders>
      */
     @PostMapping("/insFeeOrder/getInsFeeOrderByOrderNo")
     List<InsFeeOrders> getInsFeeOrderByOrderNo(@RequestParam String orderNo);
 
+
+    @PostMapping("/updateOrdersBatch")
+    @Operation(summary = "车险报价批量修改联系人等信息")
+    HttpResult<String> updateOrdersBatch(@RequestBody BatchModifyVo batchModifyVo);
+
 }

+ 20 - 42
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -1432,15 +1432,14 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         if(CollUtil.isEmpty(incomeIds)) {
             throw new ServiceException("请勾选要批量修改的应收订单");
         }
-        List<InsPlyIncome> updateInsPlyIncome = new ArrayList<>();
+        List<String> insOrders = new ArrayList<>();
         for (String incomeId : batchModifyVo.getIncomeIds()) {
             InsPlyIncome insPlyIncomeSource = baseMapper.selectById(incomeId);
             if(insPlyIncomeSource == null) {
                 log.info("批量修改应收订单。序号为[{}]的应收订单不存在", incomeId);
                 continue;
             }
-            InsOrders insOrders = new InsOrders();
-            insOrders.setId(insPlyIncomeSource.getOrderNo());
+            insOrders.add(insPlyIncomeSource.getOrderNo());
             InsPlyIncome insPlyIncome = new InsPlyIncome();
             insPlyIncome.setId(insPlyIncomeSource.getId());
             if (Objects.nonNull(batchModifyVo.getJqSuperviseCostsProportion()) && batchModifyVo.getJqSuperviseCostsProportion().compareTo(BigDecimal.ZERO) > 0) {
@@ -1453,57 +1452,36 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 insPlyIncome.setSySuperviseCostsProportion(Objects.toString(batchModifyVo.getSySuperviseCostsProportion()));
                 insPlyIncome.setSySuperviseCostsPremiums(otherReceivablePremium.toString());
             }
-
-//                if (Objects.nonNull(batchModifyVo.getJqOtherCostsProportion()) && batchModifyVo.getJqOtherCostsProportion().compareTo(BigDecimal.ZERO) > 0) {
-//                    BigDecimal otherReceivablePremium = calcReceivableAmount(new BigDecimal(insPlyIncome.getJqPremium()), batchModifyVo.getJqOtherCostsProportion());
-//                    insPlyIncome.setJqOtherCostsPremiums(otherReceivablePremium.toString());
-//                }
-//                if (Objects.nonNull(batchModifyVo.getSyOtherCostsProportion()) && batchModifyVo.getSyOtherCostsProportion().compareTo(BigDecimal.ZERO) < 0) {
-//                    BigDecimal otherReceivablePremium = calcReceivableAmount(new BigDecimal(insPlyIncome.getSyPremium()), batchModifyVo.getSyOtherCostsProportion());
-//                    insPlyIncome.setSySuperviseCostsPremiums(otherReceivablePremium.toString());
-//                }
-//
-//                if (Objects.nonNull(batchModifyVo.getJySuperviseCostsProportion()) && batchModifyVo.getJySuperviseCostsProportion().compareTo(BigDecimal.ZERO) > 0) {
-//                    BigDecimal jySuperviseReceivablePremium = calcReceivableAmount(new BigDecimal(insPlyIncome.getJyPremium()), batchModifyVo.getJySuperviseCostsProportion());
-//                    insPlyIncome.setJySuperviseCostsPremiums(jySuperviseReceivablePremium.toString());
-//                }
-//                if (Objects.nonNull(batchModifyVo.getJySuperviseCostsProportion()) && batchModifyVo.getJySuperviseCostsProportion().compareTo(BigDecimal.ZERO) < 0) {
-//                    BigDecimal jyOtherReceivablePremium = calcReceivableAmount(new BigDecimal(insPlyIncome.getJyPremium()), batchModifyVo.getJySuperviseCostsProportion());
-//                    insPlyIncome.setJyOtherCostsPremiums(jyOtherReceivablePremium.toString());
-//                }
-
             if (batchModifyVo.getSigningTime() != null){
                 insPlyIncome.setSigningTime(batchModifyVo.getSigningTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                insOrders.setSigningTime(batchModifyVo.getSigningTime());
+
             }
 
             if(StrUtil.isNotEmpty(batchModifyVo.getContractUserName())){
                 insPlyIncome.setContactPerson(batchModifyVo.getContractUserName());
-                insOrders.setDockingPerson(batchModifyVo.getContractUserName());
+
             }
             if(StrUtil.isNotEmpty(batchModifyVo.getContractPhone())){
                 insPlyIncome.setContactPersonPhone(batchModifyVo.getContractPhone());
-                insOrders.setDockingPersonPhone(batchModifyVo.getContractPhone());
+
 
             }
-            //updateInsPlyIncome.add(insPlyIncome);
         }
-//        baseMapper.updateById(updateInsPlyIncome);
-//        return true;
-
-         // 批量修改
-        baseMapper.update(new InsPlyIncome(), new LambdaUpdateWrapper<InsPlyIncome>()
-                .set(InsPlyIncome::getJqSuperviseCostsProportion, batchModifyVo.getJqSuperviseCostsProportion())
-                .set(InsPlyIncome::getSySuperviseCostsProportion, batchModifyVo.getSySuperviseCostsProportion())
-//                .set(InsPlyIncome::getJySuperviseCostsProportion, batchModifyVo.getJySuperviseCostsProportion())
-//                .set(InsPlyIncome::getJqOtherCostsProportion, batchModifyVo.getJqOtherCostsProportion())
-//                .set(InsPlyIncome::getSyOtherCostsProportion, batchModifyVo.getSyOtherCostsProportion())
-//                .set(InsPlyIncome::getJyOtherCostsProportion, batchModifyVo.getJyOtherCostsProportion())
-                .set(InsPlyIncome::getSigningTime, batchModifyVo.getSigningTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
-                .set(InsPlyIncome::getContactPerson, batchModifyVo.getContractUserName())
-                .set(InsPlyIncome::getContactPersonPhone, batchModifyVo.getContractPhone())
-                .in(InsPlyIncome::getId, batchModifyVo.getIncomeIds()));
-        return true;
+
+        batchModifyVo.setOrderNos(insOrders);
+        HttpResult<String> updateOrdersRes = insFeeOrdersClient.updateOrdersBatch(batchModifyVo);
+        if(updateOrdersRes.isSuccess()){
+            // 批量修改
+            baseMapper.update(new InsPlyIncome(), new LambdaUpdateWrapper<InsPlyIncome>()
+                    .set(InsPlyIncome::getJqSuperviseCostsProportion, batchModifyVo.getJqSuperviseCostsProportion())
+                    .set(InsPlyIncome::getSySuperviseCostsProportion, batchModifyVo.getSySuperviseCostsProportion())
+                    .set(InsPlyIncome::getSigningTime, batchModifyVo.getSigningTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
+                    .set(InsPlyIncome::getContactPerson, batchModifyVo.getContractUserName())
+                    .set(InsPlyIncome::getContactPersonPhone, batchModifyVo.getContractPhone())
+                    .in(InsPlyIncome::getId, batchModifyVo.getIncomeIds()));
+            return true;
+        }
+        return false;
     }
 
     @Override