Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260518' into dev_jzg_lipf_v20260518

jiakai 4 mesiacov pred
rodič
commit
9b16429bea

+ 27 - 0
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncomeOrder.java

@@ -0,0 +1,27 @@
+package com.jzg.commons.entity.finance.po;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class InsPlyIncomeOrder implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5155333518962790214L;
+    /**
+     * 序号
+     */
+    private String id;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    public InsPlyIncomeOrder(String id, String orderNo) {
+        this.id = id;
+        this.orderNo = orderNo;
+    }
+}

+ 29 - 0
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncomeVO.java

@@ -0,0 +1,29 @@
+package com.jzg.commons.entity.finance.po;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class InsPlyIncomeVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -3412493517813402683L;
+    private Page insPlyIncomePage;
+
+    /**
+     * 未分页的满足条件的所有数据集的id和订单编号
+     *
+     * @date 2026/5/23 9:50
+     */
+    private List<InsPlyIncomeOrder> insPlyIncomeOrders;
+
+    public InsPlyIncomeVO(Page insPlyIncomePage, List<InsPlyIncomeOrder> insPlyIncomeOrders){
+        this.insPlyIncomePage = insPlyIncomePage;
+        this.insPlyIncomeOrders = insPlyIncomeOrders;
+    }
+
+}

+ 1 - 2
commons/src/main/java/com/jzg/commons/entity/finance/vo/ReceivableQueryVo.java

@@ -10,9 +10,8 @@ import java.util.List;
 /**
 /**
  * @author tz
  * @author tz
  * @description 应收查询VO
  * @description 应收查询VO
- * @createDate 2024-06-26 10:49:31
+ * @date 2024-06-26 10:49:31
  */
  */
-
 @Data
 @Data
 public class ReceivableQueryVo extends PageRequest {
 public class ReceivableQueryVo extends PageRequest {
 
 

+ 2 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsFeeAuditController.java

@@ -81,7 +81,8 @@ public class InsFeeAuditController {
 
 
     /**
     /**
      * 领取待审核订单
      * 领取待审核订单
-     * @return
+     *
+     * @return HttpResult<String> 领取结果。可能成功,可能被限额
      */
      */
     @PostMapping("/auditReceive")
     @PostMapping("/auditReceive")
     @Operation(summary = "领取审核订单")
     @Operation(summary = "领取审核订单")

+ 27 - 25
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -247,32 +247,34 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 AssertionUtils.isFail(true, "订单审核驳回,刷新订单列表");
                 AssertionUtils.isFail(true, "订单审核驳回,刷新订单列表");
             }
             }
         // 未审核
         // 未审核
+        }
+        String userName = baseController.getUserName();
+        if(StringUtils.isNotBlank(audit.getReceiveUser())){
+            if(userName.equals(audit.getReceiveUser())){
+                // redis 锁定按钮
+                RBucket<Object> bucket = redissonClient.getBucket(ORDER_LOCK_PREFIX + orderNo);
+                bucket.set(1, 30, TimeUnit.MINUTES);
+            }else{
+                AssertionUtils.isFail(true, "订单已被" + audit.getReceiveUser() + "领取!");
+            }
         }else{
         }else{
-            String userName = baseController.getUserName();
-            if(StringUtils.isNotBlank(audit.getReceiveUser())){
-                if(userName.equals(audit.getReceiveUser())){
-                    // redis 锁定按钮
-                    RBucket<Object> bucket = redissonClient.getBucket(ORDER_LOCK_PREFIX + orderNo);
-                    bucket.set(1, 30, TimeUnit.MINUTES);
-                }else{
-                    AssertionUtils.isFail(true, "订单已被" + audit.getReceiveUser() + "领取!");
-                }
+            int countLimit = 10;
+            LambdaQueryWrapper<InsFeeAudit> wrapper = new LambdaQueryWrapper<>();
+            // modify by lipf 2026年5月23日10:15:32 判断是领取限制,需要添加一个未审核的状态
+            wrapper.eq(InsFeeAudit::getAuditStatus,0);
+            wrapper.like(InsFeeAudit::getReceiveUser, userName);
+            long count = this.count(wrapper);
+            if(count >= countLimit){
+                AssertionUtils.isFail(true, "超出"+countLimit+"次领取限制,请先审核后再领取订单!");
             }else{
             }else{
-                LambdaQueryWrapper<InsFeeAudit> wrapper = new LambdaQueryWrapper<>();
-                wrapper.like(InsFeeAudit::getReceiveUser, userName);
-                long count = this.count(wrapper);
-                if(count >= 10){
-                    AssertionUtils.isFail(true, "超出10次领取限制,请先审核后再领取订单!");
-                }else{
-                    // 领取订单
-                    audit.setReceiveUser(userName);
-                    audit.setReceiveTime(LocalDateTime.now());
-                    this.updateById(audit);
-
-                    // redis 锁定按钮
-                    RBucket<Object> bucket = redissonClient.getBucket(ORDER_LOCK_PREFIX + orderNo);
-                    bucket.set(1, 30, TimeUnit.MINUTES);
-                }
+                // 领取订单
+                audit.setReceiveUser(userName);
+                audit.setReceiveTime(LocalDateTime.now());
+                this.updateById(audit);
+
+                // redis 锁定按钮
+                RBucket<Object> bucket = redissonClient.getBucket(ORDER_LOCK_PREFIX + orderNo);
+                bucket.set(1, 30, TimeUnit.MINUTES);
             }
             }
         }
         }
     }
     }
@@ -316,7 +318,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         InsOrdersPdfUrl pdfUrl = ordersPdfUrlService.getById(orderNo);
         InsOrdersPdfUrl pdfUrl = ordersPdfUrlService.getById(orderNo);
         AssertionUtils.isFail(Objects.isNull(pdfUrl), "未生成电子保单!");
         AssertionUtils.isFail(Objects.isNull(pdfUrl), "未生成电子保单!");
         String url = null;
         String url = null;
-        Integer type = 0;
+        int type = 0;
         if(StringUtils.isNotBlank(pdfUrl.getJqUrl())){
         if(StringUtils.isNotBlank(pdfUrl.getJqUrl())){
             url = pdfUrl.getJqUrl();
             url = pdfUrl.getJqUrl();
             type = 1;
             type = 1;

+ 24 - 16
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -9,6 +9,8 @@ import com.jzg.commons.entity.finance.dto.ExportSuperviseSettlementExcelDto;
 import com.jzg.commons.entity.finance.dto.ReceiverSettlementReportDto;
 import com.jzg.commons.entity.finance.dto.ReceiverSettlementReportDto;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
+import com.jzg.commons.entity.finance.po.InsPlyIncomeOrder;
+import com.jzg.commons.entity.finance.po.InsPlyIncomeVO;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
 import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.commons.request.RequestSingleParam;
@@ -59,7 +61,7 @@ public class ReceivableController {
     @PostMapping("getUnauditedOrder")
     @PostMapping("getUnauditedOrder")
     @Operation(summary = "获取未审核的订单")
     @Operation(summary = "获取未审核的订单")
     public HttpResult getUnauditedOrder(@RequestBody ReceivableQueryVo receivableQueryVo){
     public HttpResult getUnauditedOrder(@RequestBody ReceivableQueryVo receivableQueryVo){
-        if (Objects.isNull(receivableQueryVo.getAgreementType()) || receivableQueryVo.getAgreementType().equals("")) {
+        if (Objects.isNull(receivableQueryVo.getAgreementType()) || receivableQueryVo.getAgreementType().isEmpty()) {
             receivableQueryVo.setAgreementType("1");
             receivableQueryVo.setAgreementType("1");
         }
         }
         InsPlyIncome auditedOrder  = receivableService.getUnauditedOrder(receivableQueryVo);
         InsPlyIncome auditedOrder  = receivableService.getUnauditedOrder(receivableQueryVo);
@@ -79,7 +81,7 @@ public class ReceivableController {
 
 
     @PostMapping("getCommissionReceivableList")
     @PostMapping("getCommissionReceivableList")
     @Operation(summary = "获取私有协议手续费列表")
     @Operation(summary = "获取私有协议手续费列表")
-    public HttpResult<Page<InsPlyIncome>> getCommissionReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getCommissionReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         if (StrUtil.isBlank(receivableQueryVo.getQueryType())){
         if (StrUtil.isBlank(receivableQueryVo.getQueryType())){
             receivableQueryVo.setQueryType("2");
             receivableQueryVo.setQueryType("2");
         }
         }
@@ -87,7 +89,10 @@ public class ReceivableController {
         if (StrUtil.isBlank(receivableQueryVo.getAgreementType())){
         if (StrUtil.isBlank(receivableQueryVo.getAgreementType())){
             receivableQueryVo.setAgreementType("2");
             receivableQueryVo.setAgreementType("2");
         }
         }
-        return HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        HttpResult<Page<InsPlyIncome>> ok = HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        Page<InsPlyIncome> data = ok.getData();
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
     }
 
 
     /**
     /**
@@ -104,26 +109,36 @@ public class ReceivableController {
 
 
     @PostMapping("getOtherReceivableList")
     @PostMapping("getOtherReceivableList")
     @Operation(summary = "获取私有协议跟单费列表")
     @Operation(summary = "获取私有协议跟单费列表")
-    public HttpResult getOtherReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getOtherReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         receivableQueryVo.setQueryType("2");
         receivableQueryVo.setQueryType("2");
         receivableQueryVo.setAgreementType("2");
         receivableQueryVo.setAgreementType("2");
-        return HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        //return HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        HttpResult<Page<InsPlyIncome>> ok = HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        Page<InsPlyIncome> data = ok.getData();
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
     }
 
 
     @PostMapping("getJyCommissionReceivableList")
     @PostMapping("getJyCommissionReceivableList")
     @Operation(summary = "获取私有协议驾意险手续费列表")
     @Operation(summary = "获取私有协议驾意险手续费列表")
-    public HttpResult getJyCommissionReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getJyCommissionReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         receivableQueryVo.setQueryType("3");
         receivableQueryVo.setQueryType("3");
         receivableQueryVo.setAgreementType("2");
         receivableQueryVo.setAgreementType("2");
-        return HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        HttpResult<Page<InsPlyIncome>> ok = HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        Page<InsPlyIncome> data = ok.getData();
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
     }
 
 
     @PostMapping("getJyOtherReceivableList")
     @PostMapping("getJyOtherReceivableList")
     @Operation(summary = "获取私有协议驾意险跟单费列表")
     @Operation(summary = "获取私有协议驾意险跟单费列表")
-    public HttpResult getJyOtherReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
+    public HttpResult<InsPlyIncomeVO> getJyOtherReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
         receivableQueryVo.setQueryType("2");
         receivableQueryVo.setQueryType("2");
         receivableQueryVo.setAgreementType("2");
         receivableQueryVo.setAgreementType("2");
-        return HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        HttpResult<Page<InsPlyIncome>> ok = HttpResult.ok(receivableService.getReceivablePage(receivableQueryVo));
+        Page<InsPlyIncome> data = ok.getData();
+        List<InsPlyIncomeOrder> receivablePageIds = receivableService.getReceivablePageIds(receivableQueryVo);
+        return HttpResult.ok(new InsPlyIncomeVO(data, receivablePageIds));
     }
     }
 
 
     //@PostMapping("getSelectedReceivableList")
     //@PostMapping("getSelectedReceivableList")
@@ -132,13 +147,6 @@ public class ReceivableController {
         return HttpResult.ok(receivableService.getReceivableList(receivableQueryVo));
         return HttpResult.ok(receivableService.getReceivableList(receivableQueryVo));
     }
     }
 
 
-
-//    @PostMapping("getPlatformReceivableList")
-//    @Operation(summary = "获取平台协议驾意险列表")
-//    public void getPlatformReceivableList(@RequestBody ReceivableQueryVo receivableQueryVo){
-//
-//    }
-
     @PostMapping("commissionInvoicing")
     @PostMapping("commissionInvoicing")
     @Operation(summary = "手续费开票")
     @Operation(summary = "手续费开票")
     public HttpResult commissionInvoicing(@RequestBody InvoicingVo invoicingVo){
     public HttpResult commissionInvoicing(@RequestBody InvoicingVo invoicingVo){

+ 9 - 0
tenant/organization/src/main/java/com/jzg/organization/service/ReceivableService.java

@@ -6,6 +6,7 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.dto.*;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
+import com.jzg.commons.entity.finance.po.InsPlyIncomeOrder;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.finance.vo.*;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
 import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.po.EsmInsCompany;
@@ -48,6 +49,14 @@ public interface ReceivableService extends IService<InsPlyIncome> {
      */
      */
     Page<InsPlyIncome> getReceivablePage(ReceivableQueryVo receivableQueryVo);
     Page<InsPlyIncome> getReceivablePage(ReceivableQueryVo receivableQueryVo);
 
 
+    /**
+     * 获取私有协议手续费满足条件数据的id集合
+     *
+     * @param receivableQueryVo 前端传过来的查询条件
+     * @author lipf
+     * @date 2026/5/23 9:40
+     */
+    List<InsPlyIncomeOrder> getReceivablePageIds(ReceivableQueryVo receivableQueryVo);
 
 
     List<InsPlyIncome> getReceivableList(ReceivableQueryVo receivableQueryVo);
     List<InsPlyIncome> getReceivableList(ReceivableQueryVo receivableQueryVo);
     /**
     /**

+ 19 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -189,6 +189,25 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         return page;
         return page;
     }
     }
 
 
+    /**
+     * 获取私有协议手续费满足条件数据的id集合
+     *
+     * @param receivableQueryVo 前端传过来的查询条件
+     * @author lipf
+     * @date 2026/5/23 9:40
+     */
+    @Override
+    public List<InsPlyIncomeOrder> getReceivablePageIds(ReceivableQueryVo receivableQueryVo) {
+        log.info("获取私有协议手续费应收列表的id集合。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
+        // 设置page的searhCount 为false,则不会查询总数,会直接查询具体的值
+        Page<InsPlyIncome> page1 = new Page<>(1, 10000, false);
+        Page<InsPlyIncome> page = baseMapper.getReceivablePage(page1, receivableQueryVo);
+        List<InsPlyIncomeOrder> res = page.getRecords().stream()
+                .map(action -> new InsPlyIncomeOrder(action.getId(), action.getOrderNo())).toList();
+        log.info("获取私有协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
+        return res;
+    }
+
     /**
     /**
      * 应收数据二次过滤
      * 应收数据二次过滤
      *
      *