Bladeren bron

权益保存接口兼容PC端选择权益

郭子栋 6 maanden geleden
bovenliggende
commit
4f070fc86c

+ 6 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrderRightsInfoController.java

@@ -1,6 +1,7 @@
 package com.jzg.quotation.summary.controller;
 
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.rights.dto.InsOrderRightsInfoDto;
 import com.jzg.quotation.summary.service.InsOrderRightsInfoService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -20,7 +21,11 @@ import org.springframework.web.bind.annotation.*;
 public class InsOrderRightsInfoController {
     @Autowired
     private InsOrderRightsInfoService insOrderRightsInfoService;
-
+    @PostMapping("/saveRights")
+    @Operation(summary = "保存权益券信息")
+    public HttpResult saveInsOrderRightsInfo(@RequestBody InsOrderRightsInfoDto insOrderRightsInfoDto,@RequestParam("orderNo") String orderNo) {
+        return insOrderRightsInfoService.saveInsOrderRightsInfo(insOrderRightsInfoDto,orderNo);
+    }
     @GetMapping("/getRightsByOrderNo")
     @Operation(summary = "获取该订单下的权益信息")
     public HttpResult getRightsByOrderNo(@NotBlank(message = "订单号不能为空") @RequestParam("orderNo") String orderNo){

+ 1 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrderRightsInfoService.java

@@ -1,7 +1,6 @@
 package com.jzg.quotation.summary.service;
 
 import com.jzg.commons.core.page.HttpResult;
-import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.rights.dto.InsOrderRightsInfoDto;
 import com.jzg.commons.entity.rights.vo.InsOrderRightsInfoVo;
 
@@ -19,7 +18,7 @@ public interface InsOrderRightsInfoService {
     * @param insOrderRightsInfoDto
     * @return
     */
-   void saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo);
+   HttpResult saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo);
 
    /**
     * 根据订单ID查询权益信息

+ 5 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrderRightsInfoServiceImpl.java

@@ -53,7 +53,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo) {
+    public HttpResult saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo) {
         // 1. 业务校验:至少有一个集合有数据
         boolean hasRights = CollectionUtils.isNotEmpty(insOrderRightsInfoDto.getInsOrderRightsList());
         boolean hasPackages = CollectionUtils.isNotEmpty(insOrderRightsInfoDto.getInsOrderRightsPackageList());
@@ -112,11 +112,12 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
                 //更新订单表的权益可用金额、已使用金额、剩余金额
                 insFeeOrdersService.updateById(feeOrders);
             }
+            return HttpResult.ok("权益保存成功!");
         }catch (Exception e) {
             log.error("保存订单权益信息失败,订单ID: {}", orderNo, e);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return HttpResult.error("权益保存失败!");
         }
-
     }
 
     /**
@@ -129,7 +130,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
 
         // 计算权益金额 = (出口费用总和) - (出口留点费用总和)
         BigDecimal availableAmount = feeOrders.getAvailableAmount();
-        // 权益金额大于 0,计算实际花费的权益金额并发放权益券
+        // 权益金额大于 0,计算已使用金额即所选权益总价
         if (availableAmount.compareTo(BigDecimal.ZERO) > 0) {
             // 初始化变量
             BigDecimal rightsTotalAmount = BigDecimal.ZERO;//选中的权益券总价
@@ -157,7 +158,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
             // 计算权益总花费并校验
             BigDecimal usedAmount = rightsTotalAmount.add(rightsPackageTotalAmount);
             if (usedAmount.compareTo(availableAmount) > 0) {
-                AssertionUtils.isFail(true, "权益金额不足!");
+                AssertionUtils.isFail(true, "所选权益金额超过可用金额!");
             }
             feeOrders.setUsedAmount(usedAmount);//已使用金额
             feeOrders.setRemainingAmount(availableAmount.subtract(usedAmount));//剩余金额