Sfoglia il codice sorgente

完成分润计算

lubo 4 settimane fa
parent
commit
f6e1ad12c1

+ 5 - 2
ruoyi-shop/src/main/java/com/ruoyi/shop/distribution/service/impl/BusinessOrderGainsServiceImpl.java

@@ -294,9 +294,14 @@ public class BusinessOrderGainsServiceImpl implements IBusinessOrderGainsService
                 this.baseMapper.updateById(businessOrderGains);
 
             }
+
+            shopOrderService.toOrderIncome(order);
+
         }
     }
 
+
+
     @Override
     public void refund(SaleRightsOrder rightsOrder) {
         if (RightsRefundStatus.SUCCESS.equals(rightsOrder.getRightsRefundStatus())) {
@@ -361,8 +366,6 @@ public class BusinessOrderGainsServiceImpl implements IBusinessOrderGainsService
                 userOrderGains.setSettlementRemark("系统可以给用户结算");
                 distributionUserOrderGainsMapper.updateById(userOrderGains);
             }
-
-            settlementUserGains(obj);
         }
         return obj;
     }

+ 5 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/order/domain/ShopOrder.java

@@ -305,6 +305,11 @@ public class ShopOrder extends BaseTimeEntity {
      */
     private BigDecimal platformIncome;
 
+    /**
+     * 用户分润所得
+     */
+    private BigDecimal userIncome;
+
     /**
      *  是否已分账
      */

+ 7 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/order/domain/bo/ShopOrderBo.java

@@ -57,6 +57,7 @@ public class ShopOrderBo extends BaseTimeEntity {
         productCouponReduced = BigDecimal.ZERO;
         businessIncome = BigDecimal.ZERO;
         platformIncome = BigDecimal.ZERO;
+        userIncome = BigDecimal.ZERO;
         platformIncomeSettled = CallInterfaceStatus.NO;
     }
 
@@ -531,6 +532,12 @@ public class ShopOrderBo extends BaseTimeEntity {
     @ApiModelProperty(value = "平台所得")
     private BigDecimal platformIncome;
 
+    /**
+     * 用户分润所得
+     */
+    @ApiModelProperty(value = "用户分润所得")
+    private BigDecimal userIncome;
+
     /**
      * 平台所得是否已分账
      */

+ 5 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/order/domain/vo/ShopOrderVo.java

@@ -581,6 +581,11 @@ public class ShopOrderVo extends BaseVo {
     @ExcelProperty(value = "平台所得")
     private BigDecimal platformIncome;
 
+
+    @ApiModelProperty(value = "用户分润所得")
+    @ExcelProperty(value = "用户分润所得")
+    private BigDecimal userIncome;
+
     /**
      * 平台所得是否已分账
      */

+ 2 - 0
ruoyi-shop/src/main/java/com/ruoyi/shop/order/service/IShopOrderService.java

@@ -240,4 +240,6 @@ public interface IShopOrderService {
     void effectiveAfterAbleShip(Long orderId);
 
     void splitMoney(ShopOrder order);
+
+    void toOrderIncome(ShopOrder order);
 }

+ 12 - 16
ruoyi-shop/src/main/java/com/ruoyi/shop/order/service/impl/ShopOrderServiceImpl.java

@@ -674,11 +674,7 @@ public class ShopOrderServiceImpl implements IShopOrderService {
                 shopOrderDetailMapper.updateById(shopOrderDetail);
             }
 
-            RevenueSharingConfigVo config = iRevenueSharingConfigService.getInfo();
-            BigDecimal orderServiceFeeRatio = config.getOrderServiceFeeRatio();
-            BigDecimal orderServiceFee = MathUtils.setScale(order.getActualPayment().doubleValue() * orderServiceFeeRatio.doubleValue() / 100);
-            order.setPlatformIncome(orderServiceFee);
-            order.setBusinessIncome(order.getActualPayment().subtract(orderServiceFee));
+
 
             //用户下单实际收款
 //            businessDayBillService.changeBusinessDayBill(BusinessDayBillChangeBo.builder()
@@ -772,35 +768,35 @@ public class ShopOrderServiceImpl implements IShopOrderService {
 
     }
 
+    @Override
+    public void toOrderIncome(ShopOrder order) {
+        BigDecimal totalUser = distributionUserOrderGainsService.loadTotalGains(order.getOrderId());
+        BigDecimal totalPlatform = platformIncomeService.loadTotalGains(order.getOrderId());
+        BigDecimal totalBusiness = businessOrderGainsService.loadTotalGains(order.getOrderId());
+        order.setUserIncome(totalUser);
+        order.setPlatformIncome(totalPlatform);
+        order.setBusinessIncome(totalBusiness);
+        this.baseMapper.updateById(order);
+    }
     /**
      * 结算用户所得和平台所得
      * @param order
      */
     @Override
     public void splitMoney(ShopOrder order) {
-        BigDecimal totalUser = distributionUserOrderGainsService.loadTotalGains(order.getOrderId());
-        BigDecimal totalPlatform = platformIncomeService.loadTotalGains(order.getOrderId());
-        BigDecimal totalBusiness = businessOrderGainsService.loadTotalGains(order.getOrderId());
-        MathUtils.add(totalUser, totalPlatform);
+        this.toOrderIncome( order);
         try {
             //TODO 开始分账
 
-
             //如果分账成功
             List<BusinessOrderGains> list = businessOrderGainsService.loadOrderGains(order.getOrderId());
             for (BusinessOrderGains gains : list) {
                 businessOrderGainsService.settlementUserGains(gains);
             }
-
-            order.setPlatformIncome(totalPlatform);
-            order.setBusinessIncome(totalBusiness);
             order.setPlatformIncomeSettled(CallInterfaceStatus.SUCCESS);
             this.baseMapper.updateById(order);
         } catch (Exception e)
         {
-            order.setPlatformIncome(totalPlatform);
-            order.setBusinessIncome(totalBusiness);
-
             order.setPlatformIncomeSettled(CallInterfaceStatus.FAIL);
             this.baseMapper.updateById(order);
         }

+ 6 - 0
ruoyi-shop/src/main/resources/mapper/order/ShopOrderMapper.xml

@@ -65,6 +65,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="activityTitle" column="activity_title"/>
         <result property="sponsorActivityId" column="sponsor_activity_id"/>
         <result property="autoStockUpLastTime" column="auto_stock_up_last_time"/>
+        <result property="businessIncome" column="business_income"/>
+        <result property="platformIncome" column="platform_income"/>
+        <result property="userIncome" column="user_income"/>
+
+
+
     </resultMap>
 
     <resultMap type="com.ruoyi.shop.order.domain.vo.ShopOrderVo" id="exportShopOrderVoResult" autoMapping="true">