Browse Source

update: 把积分相关是int类型的,改为long。

Ben 11 months ago
parent
commit
3b62d2c7a9
13 changed files with 52 additions and 50 deletions
  1. 2 1
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java
  2. 4 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogSaveReqVO.java
  3. 4 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptprofit/PtProfitMapper.java
  4. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralService.java
  5. 5 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java
  6. 3 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogService.java
  7. 2 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogServiceImpl.java
  8. 1 1
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java
  9. 1 1
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
  10. 3 3
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/order/TradeOrderDO.java
  11. 3 3
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/order/TradeOrderItemDO.java
  12. 22 21
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java
  13. 1 1
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/price/bo/TradePriceCalculateRespBO.java

+ 2 - 1
feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java

@@ -19,7 +19,8 @@ public enum CaclEnum {
     ORDER_INTEGRAL_UNFREEZE(11,"订单积分到账"),//购物收货7天后,冻结积分变为可用积分
     ORDER_GET_FREEZE_INTEGRAL(12,"购物返积分"),//购物获得冻结积分
     ORDER_CANCEL_BY_USER_REFUND_INTEGRAL(13,"取消订单,退回积分"),//用户手动取消未支付订单,退回购物使用的积分
-    ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL(14,"订单超时未支付,退回积分")//订单超时未支付,退回购物使用的积分
+    ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL(14,"订单超时未支付,退回积分"),//订单超时未支付,退回购物使用的积分
+    ORDER_REFUND_CANCEL_INTEGRAL(15,"订单退款,减少冻结积分")//订单已支付,用户退款申请通过,则减少之前给用户的冻结积分
     ;
 
     /**

+ 4 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogSaveReqVO.java

@@ -29,16 +29,16 @@ public class PtProfitLogSaveReqVO {
     private Long id;
 
     @Schema(description = "变动的当前可用积分值(可为负数)")
-    private Integer amount;
+    private Long amount;
 
     @Schema(description = "变动后当前可用积分钱包的余额")
-    private Integer afterAmount;
+    private Long afterAmount;
 
     @Schema(description = "变动的冻结积分值(可为负数)")
-    private Integer freezeAmount;
+    private Long freezeAmount;
 
     @Schema(description = "变动后冻结积分钱包的余额")
-    private Integer afterFreezeAmount;
+    private Long afterFreezeAmount;
 
     @Schema(description = "计算百分比模板")
     private String percentTemplate;

+ 4 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptprofit/PtProfitMapper.java

@@ -32,10 +32,10 @@ public interface PtProfitMapper extends BaseMapperX<PtProfitDO> {
     }
 
     @Update("UPDATE distri_integral SET current_quota = current_quota + #{amount},freeze_quota = freeze_quota + #{freeze_mount} WHERE (current_quota + #{amount2})>=0 and user_id=#{userId} and (freeze_quota + #{freeze_mount2})>=0 ")
-    int updateUserIntegral(@Param("amount") int amount,
-                           @Param("amount2") int amount2,
-                           @Param("freeze_mount") int freezeAmount,
-                           @Param("freeze_mount2") int freezeAmount2,
+    int updateUserIntegral(@Param("amount") Long amount,
+                           @Param("amount2") Long amount2,
+                           @Param("freeze_mount") Long freezeAmount,
+                           @Param("freeze_mount2") Long freezeAmount2,
                            @Param("userId") Long userId);
 
     @Select("SELECT current_quota,freeze_quota FROM distri_integral WHERE user_id = #{userId}")

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralService.java

@@ -70,7 +70,7 @@ public interface IntegralService {
      * @param freezeAmount 用户冻结积分变化金额,可为负数
      * @return 返回是否执行成功。执行失败,通常是就是用户积分不足,没积分抵扣
      */
-    Boolean updateUserIntegral(Long userId, CaclEnum caclEnum, Integer amount, Integer freezeAmount,
+    Boolean updateUserIntegral(Long userId, CaclEnum caclEnum, Long amount, Long freezeAmount,
                                Long tradeOrderId,
                                String orderNum
                                );

+ 5 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java

@@ -101,7 +101,7 @@ public class IntegralServiceImpl implements IntegralService {
      * @return 返回是否执行成功。执行失败,通常是就是用户积分不足,没积分抵扣
      */
     @Override
-    public Boolean updateUserIntegral(Long userId, CaclEnum caclEnum, Integer amount, Integer freezeAmount,
+    public Boolean updateUserIntegral(Long userId, CaclEnum caclEnum, Long amount, Long freezeAmount,
                                       Long tradeOrderId,
                                       String OrderNum
                                       ) {
@@ -114,17 +114,17 @@ public class IntegralServiceImpl implements IntegralService {
             success = true;
 
             //用户修改后的当前可用的钱包余额
-            Integer afterAmount = null;
+            Long afterAmount = null;
             //用户修改后的冻结积分钱包余额
-            Integer afterFreezeAmount = null;
+            Long afterFreezeAmount = null;
 
             //查询用户修改后的积分
             Map<String, Object> map = ptProfitMapper.selectUserIntegral(userId);
             Object currentQuotaObj = map.get("current_quota");
             Object freezeQuotaObj = map.get("freeze_quota");
 
-            afterAmount = (Integer)currentQuotaObj;
-            afterFreezeAmount = (Integer)freezeQuotaObj;
+            afterAmount = (Long)currentQuotaObj;
+            afterFreezeAmount = (Long)freezeQuotaObj;
 
             if(afterAmount<0||afterFreezeAmount<0){
                 throw new RuntimeException("用户钱包为负数:用户IO为"+userId+"的用户可用钱包为"+afterAmount+",冻结钱包为"+afterFreezeAmount);

+ 3 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogService.java

@@ -58,9 +58,9 @@ public interface PtProfitLogService {
     void saveBatch(List<PtProfitLogSaveReqVO> ptProfitLogSaveReqVOS);
 
     //记录用户的积分变动日志
-    void addMessage(Long userId, CaclEnum caclEnum, Integer amount,
-                    Integer afterAmount, Integer freezeAmount,
-                    Integer afterFreezeAmount, String percentTemplate,
+    void addMessage(Long userId, CaclEnum caclEnum, Long amount,
+                    Long afterAmount, Long freezeAmount,
+                    Long afterFreezeAmount, String percentTemplate,
                     Long tradeOrderId,
                     String OrderNum
                     );

+ 2 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogServiceImpl.java

@@ -100,8 +100,8 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
      * @param OrderNum
      */
     @Override
-    public void addMessage(Long userId, CaclEnum caclEnum, Integer amount, Integer afterAmount,
-                           Integer freezeAmount, Integer afterFreezeAmount,
+    public void addMessage(Long userId, CaclEnum caclEnum, Long amount, Long afterAmount,
+                           Long freezeAmount, Long afterFreezeAmount,
                            String percentTemplate,
                            Long tradeOrderId,
                            String OrderNum

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java

@@ -17,7 +17,7 @@ public class AppTradeOrderCreateReqVO extends AppTradeOrderSettlementReqVO {
 
     //add by Ben
     @Schema(description = "本订单使用积分,为一整数", example = "36")
-    private Integer payIntegral;
+    private Long payIntegral;
 
     @Schema(description = "【本属性已不作页面与后台传值使用,被shopRemarks替代。本属性只作java内部使用】备注", example = "这个是我的订单哟")
     private String remark;

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java

@@ -15,7 +15,7 @@ public class AppTradeOrderDetailRespVO {
 
     //========使用积分=================
     @Schema(description = "订单使用积分", example = "8900000")
-    private Integer payIntegral;
+    private Long payIntegral;
 
     // ========== 订单基本信息 ==========
 

+ 3 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -34,13 +34,13 @@ public class TradeOrderDO extends BaseDO {
 
     //本商品使用积分 add by Ben payIntegral
 //    private Integer payPoints;
-    private Integer payIntegral;
+    private Long payIntegral;
 
     //退还的使用的积分 add by Ben
-    private Integer refundIntegral;
+    private Long refundIntegral;
 
     //用户获得积分 add by Ben
-    private Integer increaseIntegral;
+    private Long increaseIntegral;
 
     //本商品实付的人民币金额 add by Ben
     private Integer payRmb;

+ 3 - 3
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/dataobject/order/TradeOrderItemDO.java

@@ -27,16 +27,16 @@ import java.util.List;
 public class TradeOrderItemDO extends BaseDO {
 
     //本商品使用积分 add by Ben
-    private Integer payIntegral;
+    private Long payIntegral;
 
     //本商品实付的人民币金额 add by Ben
     private Integer payRmb;
 
     //退还的使用的积分 add by Ben
-    private Integer refundIntegral;
+    private Long refundIntegral;
 
     //用户获得积分 add by Ben
-    private Integer increaseIntegral;
+    private Long increaseIntegral;
 
     // ========== 订单项基本信息 ==========
     /**

+ 22 - 21
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java

@@ -396,13 +396,14 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
     }
 
     //把数据库的钱转换为数据库的积分
-    public static Integer money2Integral(Integer money){
-        return money*DistriConstants.MONEY2INTEGRAL;
+    public static Long money2Integral(Integer money){
+        return Long.valueOf(money*DistriConstants.MONEY2INTEGRAL);
     }
 
     //把数据库的积分转换为数据库的钱
-    public static Integer integral2Money(Integer integral){
-        return integral/DistriConstants.MONEY2INTEGRAL;
+    public static Integer integral2Money(Long integral){
+        Long l = (integral/DistriConstants.MONEY2INTEGRAL);
+        return l.intValue();
     }
 
     @Override
@@ -464,10 +465,10 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         }
 
         //消费者在页面录入的,要使用的积分
-        Integer payPoints = createReqVO.getPayIntegral();
+        Long payPoints = createReqVO.getPayIntegral();
 
         if(payPoints == null){
-            payPoints = 0;
+            payPoints = 0l;
         }else{//把页面传入的,1积分=1元钱的积分,转换为后台保存到数据库的积分值
             payPoints = payPoints* DistriConstants.PERCENT;
         }
@@ -486,7 +487,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         List<TradePriceCalculateRespBO.OrderItem> priceOrderItems = tradePriceCalculateRespBO.getItems();
         for (int i = 0; i < priceOrderItems.size(); i++) {
             TradePriceCalculateRespBO.OrderItem orderItem = priceOrderItems.get(i);
-            Integer itemPoint = money2Integral(dividePoints.get(i));//每项商品使用的积分
+            Long itemPoint = money2Integral(dividePoints.get(i));//每项商品使用的积分
             orderItem.setPayPoints(itemPoint);
             itemPayPointsMap.put(orderItem.getSkuId(),orderItem);
         }
@@ -522,7 +523,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 //            tradeOrderHandlers.forEach(handler -> handler.beforeOrderCreate(order, orderItems));
 
             // 3. 保存一间店铺的订单
-            Integer shopPayPoints = 0;//一间店铺订单总支付积分
+            Long shopPayPoints = 0l;//一间店铺订单总支付积分
             Integer shopPayPrice = 0;//一间店铺订单总支付价格
 
             for(TradeOrderItemDO orderItem:orderItems){//一间店铺订单的所有商品项
@@ -600,8 +601,8 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                 TradeOrderDO order = (TradeOrderDO) (m.get("order"));
                 Long tradeOrderId = order.getId();
                 String OrderNum =order.getNo();
-                Integer payIntegral = order.getPayIntegral();//每个订单使用的积分
-                integralService.updateUserIntegral(userId, CaclEnum.ORDER_PAY_INTEGRAL, payIntegral * (-1), 0, tradeOrderId, OrderNum);
+                Long payIntegral = order.getPayIntegral();//每个订单使用的积分
+                integralService.updateUserIntegral(userId, CaclEnum.ORDER_PAY_INTEGRAL, payIntegral * (-1), 0l, tradeOrderId, OrderNum);
             }
         }
 
@@ -640,7 +641,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                     skuDOMap.put(productSkuDO.getId(),productSkuDO);
                 }
 
-                Integer totalFreezeAmount = 0;//总推广费,单位为
+                Long totalFreezeAmount = 0l;//总冻结积
                 for (TradeOrderItemDO tradeOrderItemDO : TradeOrderItemList) {
                     ProductSkuDO productSkuDO = skuDOMap.get(tradeOrderItemDO.getSkuId());
                     //这类商品的总推广费
@@ -648,7 +649,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                             *tradeOrderItemDO.getCount();
 
                     //把商品项的推广费,转换为这项商品直推人获得的冻结积分
-                    Integer itemFreezeAmount =
+                    Long itemFreezeAmount =
                             promotionExpenses2GrossProfitAncestorQuota(promotionExpenses,
                                     grossProfitPerc,//毛利 = 成本 * 0.38... (推广费用)
                                     grossProfitAncestorQuotaPerc//推广-推荐人额度 百分比
@@ -678,7 +679,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
      * @param promotionExpenses 商品的推广费总额
      * @return 输入推广费,对应的直推人获得的冻结积分
      */
-    public static Integer promotionExpenses2GrossProfitAncestorQuota(
+    public static Long promotionExpenses2GrossProfitAncestorQuota(
             Integer promotionExpenses,
             /**
              * 毛利 = 成本 * 0.38... (推广费用)
@@ -702,7 +703,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         //把钱转为:增加的冻结积分
         BigDecimal freezeAmount_bigDecimal = money2Integral(descendantQuota);
 
-        Integer freezeAmount = freezeAmount_bigDecimal.intValue();
+        Long freezeAmount = freezeAmount_bigDecimal.longValue();
 
         return freezeAmount;
     }
@@ -895,7 +896,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                 skuDOMap.put(productSkuDO.getId(),productSkuDO);
             }
 
-            Integer totalFreezeAmount = 0;//用户总的冻结积分
+            Long totalFreezeAmount = 0l;//用户总的冻结积分
             for (TradeOrderItemDO tradeOrderItemDO : TradeOrderItemList) {
                 ProductSkuDO productSkuDO = skuDOMap.get(tradeOrderItemDO.getSkuId());
                 //这类商品的总推广费
@@ -903,7 +904,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                         *tradeOrderItemDO.getCount();
 
                 //把商品项的推广费,转换为这项商品直推人获得的冻结积分
-                Integer itemFreezeAmount =
+                Long itemFreezeAmount =
                         promotionExpenses2GrossProfitAncestorQuota(promotionExpenses,
                                 grossProfitPerc,//毛利 = 成本 * 0.38... (推广费用)
                                 grossProfitAncestorQuotaPerc//推广-推荐人额度 百分比
@@ -922,7 +923,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 //            Integer freezeAmount = promotionExpenses2GrossProfitAncestorQuota(orderPercentageMapper,totalPromotionExpenses);
 
             String OrderNum =order.getNo();
-            integralService.updateUserIntegral(tradeOrderDO.getUserId(), CaclEnum.ORDER_GET_FREEZE_INTEGRAL, 0,totalFreezeAmount,tradeOrderId,OrderNum);
+            integralService.updateUserIntegral(tradeOrderDO.getUserId(), CaclEnum.ORDER_GET_FREEZE_INTEGRAL, 0l,totalFreezeAmount,tradeOrderId,OrderNum);
 
         }
 
@@ -1160,12 +1161,12 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         cancelOrder0(order, TradeOrderCancelTypeEnum.MEMBER_CANCEL);
 
         //3.退回订单已支付的积分 add by Ben
-        Integer payIntegral = order.getPayIntegral();//每个订单使用的积分
+        Long payIntegral = order.getPayIntegral();//每个订单使用的积分
         Long tradeOrderId = order.getId();
         String orderNum = order.getNo();
         //如果订单有使用积分,则退回积分
         if(payIntegral>0) {
-            integralService.updateUserIntegral(userId, CaclEnum.ORDER_CANCEL_BY_USER_REFUND_INTEGRAL, payIntegral, 0, tradeOrderId, orderNum);
+            integralService.updateUserIntegral(userId, CaclEnum.ORDER_CANCEL_BY_USER_REFUND_INTEGRAL, payIntegral, 0l, tradeOrderId, orderNum);
         }
     }
 
@@ -1190,13 +1191,13 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
                 getSelf().cancelOrderBySystem(order);
 
                 //退回订单已支付的积分 add by Ben
-                Integer payIntegral = order.getPayIntegral();//每个订单使用的积分
+                Long payIntegral = order.getPayIntegral();//每个订单使用的积分
                 Long tradeOrderId = order.getId();
                 String orderNum = order.getNo();
                 Long userId = order.getUserId();
                 //如果订单有使用积分,则退回积分
                 if(payIntegral>0) {
-                    integralService.updateUserIntegral(userId, CaclEnum.ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL, payIntegral, 0, tradeOrderId, orderNum);
+                    integralService.updateUserIntegral(userId, CaclEnum.ORDER_CANCEL_BY_SYSTEM_REFUND_INTEGRAL, payIntegral, 0l, tradeOrderId, orderNum);
                 }
 
                 count++;

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/price/bo/TradePriceCalculateRespBO.java

@@ -130,7 +130,7 @@ public class TradePriceCalculateRespBO {
          * add by Ben
          * 本项商品使用的积分
          */
-        private Integer payPoints;
+        private Long payPoints;
 
         /**
          * SPU 编号