Forráskód Böngészése

fixed 后台订单充值自动生成充值订单

fushengqian 2 hónapja
szülő
commit
0c8f7d5a8d

+ 33 - 15
fuint-application/src/main/java/com/fuint/common/service/impl/BalanceServiceImpl.java

@@ -5,12 +5,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fuint.common.dto.AccountInfo;
 import com.fuint.common.dto.BalanceDto;
-import com.fuint.common.enums.StatusEnum;
-import com.fuint.common.enums.WxMessageEnum;
-import com.fuint.common.service.BalanceService;
-import com.fuint.common.service.MemberService;
-import com.fuint.common.service.SendSmsService;
-import com.fuint.common.service.WeixinService;
+import com.fuint.common.dto.OrderDto;
+import com.fuint.common.enums.*;
+import com.fuint.common.service.*;
 import com.fuint.common.util.CommonUtil;
 import com.fuint.common.util.DateUtil;
 import com.fuint.common.util.PhoneFormatCheckUtils;
@@ -68,6 +65,11 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
      * */
     private SendSmsService sendSmsService;
 
+    /**
+     * 订单服务接口
+     * */
+    private OrderService orderService;
+
     /**
      * 分页查询余额列表
      *
@@ -181,8 +183,7 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
         }
         mtBalance.setMerchantId(mtUser.getMerchantId());
         if (updateBalance) {
-            mtUser.setBalance(newAmount);
-            mtUserMapper.updateById(mtUser);
+            mtUserMapper.updateUserBalance(mtUser.getMerchantId(), Arrays.asList(mtUser.getId()), mtBalance.getAmount());
         }
 
         if (PhoneFormatCheckUtils.isChinaPhoneLegal(mtUser.getMobile())) {
@@ -190,6 +191,22 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
         }
         mtBalanceMapper.insert(mtBalance);
 
+        // 生成充值订单
+        if (StringUtil.isEmpty(mtBalance.getOrderSn()) && mtBalance.getAmount().compareTo(new BigDecimal("0")) > 0) {
+            OrderDto orderDto = new OrderDto();
+            orderDto.setMerchantId(mtBalance.getMerchantId());
+            orderDto.setStoreId(mtBalance.getStoreId());
+            orderDto.setUserId(mtBalance.getUserId());
+            orderDto.setType(OrderTypeEnum.RECHARGE.getKey());
+            orderDto.setPlatform(PlatformTypeEnum.PC.getCode());
+            orderDto.setOrderMode(OrderModeEnum.ONESELF.getKey());
+            orderDto.setAmount(mtBalance.getAmount());
+            orderDto.setPayType(PayTypeEnum.CASH.getKey());
+            orderDto.setPayStatus(PayStatusEnum.SUCCESS.getValue());
+            orderDto.setOperator(mtBalance.getOperator());
+            orderService.saveOrder(orderDto);
+        }
+
         try {
             List<String> mobileList = new ArrayList<>();
             mobileList.add(mtUser.getMobile());
@@ -263,13 +280,14 @@ public class BalanceServiceImpl extends ServiceImpl<MtBalanceMapper, MtBalance>
 
         if (userIdArr.size() > 0) {
             for (Integer userId : userIdArr) {
-                MtBalance mtBalance = new MtBalance();
-                mtBalance.setAmount(new BigDecimal(amount));
-                mtBalance.setUserId(userId);
-                mtBalance.setMerchantId(accountInfo.getMerchantId());
-                mtBalance.setDescription(remark);
-                mtBalance.setOperator(accountInfo.getAccountName());
-                addBalance(mtBalance, false);
+                 MtBalance mtBalance = new MtBalance();
+                 mtBalance.setAmount(new BigDecimal(amount));
+                 mtBalance.setUserId(userId);
+                 mtBalance.setStoreId(accountInfo.getStoreId());
+                 mtBalance.setMerchantId(accountInfo.getMerchantId());
+                 mtBalance.setDescription(remark);
+                 mtBalance.setOperator(accountInfo.getAccountName());
+                 addBalance(mtBalance, false);
             }
         } else {
             MtBalance mtBalance = new MtBalance();

+ 1 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/OrderServiceImpl.java

@@ -1060,6 +1060,7 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
                 balance.setOrderSn(orderInfo.getOrderSn());
                 balance.setUserId(userInfo.getId());
                 balance.setMerchantId(userInfo.getMerchantId());
+                balance.setStoreId(orderInfo.getStoreId());
                 BigDecimal balanceAmount = realPayAmount.subtract(realPayAmount).subtract(realPayAmount);
                 balance.setAmount(balanceAmount);
                 boolean isPay = balanceService.addBalance(balance, true);

+ 1 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/PaymentServiceImpl.java

@@ -230,6 +230,7 @@ public class PaymentServiceImpl implements PaymentService {
             MtBalance balance = new MtBalance();
             balance.setMobile(mtUser.getMobile());
             balance.setOrderSn(orderInfo.getOrderSn());
+            balance.setStoreId(orderInfo.getStoreId());
             balance.setUserId(mtUser.getId());
             BigDecimal balanceAmount = realPayAmount.subtract(realPayAmount).subtract(realPayAmount);
             balance.setAmount(balanceAmount);

+ 2 - 1
fuint-application/src/main/java/com/fuint/common/service/impl/RefundServiceImpl.java

@@ -456,9 +456,10 @@ public class RefundServiceImpl extends ServiceImpl<MtRefundMapper, MtRefund> imp
                 MtBalance balanceReq = new MtBalance();
                 balanceReq.setUserId(orderInfo.getUserId());
                 balanceReq.setMerchantId(orderInfo.getMerchantId());
+                balanceReq.setStoreId(orderInfo.getStoreId());
                 balanceReq.setOrderSn(orderInfo.getOrderSn());
                 balanceReq.setMobile(orderInfo.getUserInfo().getMobile());
-
+                balanceReq.setOrderSn(orderInfo.getOrderSn());
                 if (mtRefund.getAmount() != null && mtRefund.getAmount().compareTo(new BigDecimal("0")) > 0) {
                     balanceReq.setAmount(mtRefund.getAmount());
                 } else {

+ 1 - 1
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendBalanceController.java

@@ -147,10 +147,10 @@ public class BackendBalanceController extends BaseController {
             mtBalance.setAmount(new BigDecimal(amount));
         }
         mtBalance.setMerchantId(accountInfo.getMerchantId());
+        mtBalance.setStoreId(accountInfo.getStoreId());
         mtBalance.setDescription(remark);
         mtBalance.setUserId(userId);
         mtBalance.setOperator(accountInfo.getAccountName());
-        mtBalance.setOrderSn("");
 
         balanceService.addBalance(mtBalance, true);
         return getSuccessResult(true);