Переглянути джерело

提现根据配置的冻结时间计算

zc 1 місяць тому
батько
коміт
51704cf640

+ 22 - 5
alien-store/src/main/java/shop/alien/store/service/impl/StoreIncomeDetailsRecordServiceImpl.java

@@ -15,9 +15,11 @@ import org.springframework.transaction.annotation.Transactional;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.vo.StoreIncomeDetailsRecordVo;
+import shop.alien.entity.store.vo.SystemConfigVo;
 import shop.alien.entity.store.vo.WebSocketVo;
 import shop.alien.mapper.*;
 import shop.alien.store.config.WebSocketProcess;
+import shop.alien.store.service.StoreDictService;
 import shop.alien.store.service.StoreIncomeDetailsRecordService;
 import shop.alien.store.service.StoreUserService;
 import shop.alien.store.util.ali.AliApi;
@@ -48,6 +50,8 @@ public class StoreIncomeDetailsRecordServiceImpl extends ServiceImpl<StoreIncome
 
     private final StoreCashOutRecordMapper storeCashOutRecordMapper;
 
+    private final StoreDictService storeDictService;
+
     private final StoreUserService storeUserService;
 
     private final AliApi aliApi;
@@ -167,7 +171,6 @@ public class StoreIncomeDetailsRecordServiceImpl extends ServiceImpl<StoreIncome
                     storeCashOutRecord.setCashOutType(0);
                     storeCashOutRecord.setDeleteFlag(0);
                     storeCashOutRecord.setMoney(withdrawalMoney);
-//                    storeCashOutRecord.setApproveTime(new Date());// 审批时间
                     storeCashOutRecord.setFailReason("支付失败");
                     storeCashOutRecord.setPayDate(new Date());//支付时间
                     storeCashOutRecord.setStoreUserId(storeUser.getId());
@@ -191,12 +194,26 @@ public class StoreIncomeDetailsRecordServiceImpl extends ServiceImpl<StoreIncome
     public String applyCashOut(Integer storeId, String payPassword) {
         StoreUser storeUser = storeUserMapper.selectOne(new LambdaQueryWrapper<StoreUser>().eq(StoreUser::getStoreId, storeId).eq(StoreUser::getPayPassword, payPassword));
         if (storeUser != null) {
-            //查询可用账单(大于创建时间3天)
+            int freeze = 0;
+            //查询冻结配置
+            SystemConfigVo systemConfigVo = storeDictService.getConfig("freeze");
+            if(systemConfigVo != null){
+                String freezeFlag = systemConfigVo.getConfigValue1();
+                String freezeDay =  systemConfigVo.getConfigValue2();
+                if(StringUtils.isNotBlank(freezeFlag) && freezeFlag.equals("1") && StringUtils.isNotBlank(freezeDay)){
+                    freeze = Integer.parseInt(freezeDay);
+                }
+            }
+
+            //查询可用账单
             LambdaQueryWrapper<StoreIncomeDetailsRecord> wrapper = new LambdaQueryWrapper<>();
             //当前时间-3天大于创建时间
-            wrapper.lt(StoreIncomeDetailsRecord::getCreatedTime, DateUtils.calcDays(new Date(), -3))
-                    //未绑定提现记录的
-                    .isNull(StoreIncomeDetailsRecord::getCashOutId).eq(StoreIncomeDetailsRecord::getStoreId, storeId);
+            if(freeze > 0){
+                wrapper.lt(StoreIncomeDetailsRecord::getCreatedTime, DateUtils.calcDays(new Date(), -freeze));
+            }
+            //未绑定提现记录的
+            wrapper.isNull(StoreIncomeDetailsRecord::getCashOutId);
+            wrapper.eq(StoreIncomeDetailsRecord::getStoreId, storeId);
             List<StoreIncomeDetailsRecord> list = this.list(wrapper);
             if (!list.isEmpty()) {
                 //总金额