Browse Source

增加提现同意时间,24小时内如果用户未确认收款则驳回提现

master
wengding 4 days ago
parent
commit
4d75ae10e8
  1. 6
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysWithdrawal.java
  2. 4
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysWithdrawalBo.java
  3. 5
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysWithdrawalVo.java
  4. 27
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysWithdrawalServiceImpl.java
  5. 51
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/task/SysWithdrawalExecutor.java

6
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysWithdrawal.java

@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 系统提现对象 sys_withdrawal
@ -113,5 +114,8 @@ public class SysWithdrawal extends BaseEntity {
private String transferInfo;
private String callback;
/**
* 同意时间
*/
private Date agreeTime;
}

4
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysWithdrawalBo.java

@ -116,6 +116,10 @@ public class SysWithdrawalBo extends BaseEntity {
private String businessName;
/**
* 同意时间
*/
private Date agreeTime;
}

5
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysWithdrawalVo.java

@ -140,5 +140,8 @@ public class SysWithdrawalVo implements Serializable {
private String transferInfo;
private String callback;
/**
* 同意时间
*/
private Date agreeTime;
}

27
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysWithdrawalServiceImpl.java

@ -1,5 +1,6 @@
package org.dromara.system.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.UUID;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -40,10 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
/**
@ -321,6 +319,7 @@ public class SysWithdrawalServiceImpl implements ISysWithdrawalService {
if (bo.isAgree()) {
updateWrapper.set("status", 1);
updateWrapper.set("remark", "");
updateWrapper.set("agree_time", new Date());
Long type = sysWithdrawalVo.getType();
//发起微信转账api
if(type == 2){
@ -437,4 +436,24 @@ public class SysWithdrawalServiceImpl implements ISysWithdrawalService {
}
}
}
@Override
@Transactional
public void cancelWxByAgreeTime() {
LambdaQueryWrapper<SysWithdrawal> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysWithdrawal::getStatus, 1);
queryWrapper.le(SysWithdrawal::getAgreeTime, DateUtil.offsetDay(new Date(), -1).toJdkDate());
queryWrapper.isNotNull(SysWithdrawal::getAgreeTime);
queryWrapper.eq(SysWithdrawal::getType, 1);
List<SysWithdrawalVo> sysWithdrawalVos = baseMapper.selectVoList(queryWrapper);
for (SysWithdrawalVo sysWithdrawalVo : sysWithdrawalVos) {
UpdateWrapper<SysWithdrawal> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", sysWithdrawalVo.getId());
updateWrapper.set("status", 2);
updateWrapper.set("remark", "长时间为确认,已取消");
//增加余额
sysBusinessBalanceService.addBalance(sysWithdrawalVo.getAmount(), sysWithdrawalVo.getBusinessId(), "提现驳回", sysWithdrawalVo.getId(),"withdrawal");
}
}
}

51
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/task/SysWithdrawalExecutor.java

@ -0,0 +1,51 @@
package org.dromara.system.task;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.date.DateUtil;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.bo.ExamineBo;
import org.dromara.system.domain.bo.SysWithdrawalBo;
import org.dromara.system.domain.vo.SysWithdrawalVo;
import org.dromara.system.service.ISysWithdrawalService;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* 系统提现
*
* @author William
* @date 2025-02-20
*/
@Component
@EnableScheduling
@Slf4j
public class SysWithdrawalExecutor extends BaseController {
@Resource
private ISysWithdrawalService sysWithdrawalService;
@Scheduled(cron = "0 * * * * ?")
public void run(){
log.info("定时处理同意未提现的订单...开始:{}", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
sysWithdrawalService.cancelWxByAgreeTime();
log.info("定时处理同意未提现的订单...结束:{}", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
}
}
Loading…
Cancel
Save