Browse Source

订单事务修改,平台入账修改

liweifan 3 years ago
parent
commit
9d9157c4fb

+ 13 - 11
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -204,6 +204,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void setSuccessStatus() {
         OrderSearch query = new OrderSearch();
         query.setStatus("WAIT_PAY,PAYING");
@@ -224,6 +225,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void setOrderStatus(String orderNo, OrderStatusEnum orderStatus) {
         UserOrderVo detail = detail(orderNo, null);
         if (OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())
@@ -804,14 +806,13 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         //平台收入
         //获取平台服务费率
         BigDecimal platformFeeRate = getPlatformFreeByGoodType(orderDetailVo.getGoodType());
-        if (platformFeeRate.compareTo(BigDecimal.ZERO) > 0) {
-            //没有卖家的为平台订单,平台全额收益
-            if (null == orderDetailVo.getMerchId() || orderDetailVo.getMerchId().equals(0L)) {
-                platformFeeRate = BigDecimal.ONE;
-            }
-
-            BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
+        //没有卖家的为平台订单,平台全额收益
+        if (null == orderDetailVo.getMerchId() || orderDetailVo.getMerchId().equals(0L)) {
+            platformFeeRate = BigDecimal.ONE;
+        }
+        BigDecimal platformFee = expectPrice.multiply(platformFeeRate).setScale(2, RoundingMode.HALF_UP);
 
+        if (platformFee.compareTo(BigDecimal.ZERO) > 0) {
             PlatformCashAccountRecord platformCashAccountRecord;
             if (GoodTypeEnum.PINAO_ROOM.equals(orderDetailVo.getGoodType())) {
                 platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
@@ -829,9 +830,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         if (null != orderDetailVo.getRecomUserId()) {
             //获取分润收益费率
             BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType());
-            if (shareFeeRate.compareTo(BigDecimal.ZERO) > 0) {
-                //入老师账户
-                BigDecimal shareFee = expectPrice.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
+            //入老师账户
+            BigDecimal shareFee = expectPrice.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
+            if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
                 AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode() + "_SHARE");
                 if (null != bizTypeEnum) {
                     //插入分润老师账户变更记录-分润老师预收
@@ -937,7 +938,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         return BigDecimal.ZERO;
     }
 
-    private void testOrderSuccess(UserOrderVo detail) {
+    @Transactional(rollbackFor = Exception.class)
+    public void testOrderSuccess(UserOrderVo detail) {
         if (null == detail || StringUtil.isEmpty(detail.getOrderNo())) {
             return;
         }