From 2774a14edd738575a743ed37bd6404102c36e6b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Tue, 7 Jan 2025 17:56:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=A4=B1=E8=B4=A5=E8=BF=94=E8=BF=98=E4=BD=99=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/app/dao/UserMoneyDao.java | 3 +++ .../sqx/modules/job/task/TempCashOutTask.java | 23 +++++++++++++++++++ .../sqx/modules/sys/dao/SysUserMoneyDao.java | 4 ++++ 3 files changed, 30 insertions(+) diff --git a/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java b/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java index 7d9950c5..fadf72a0 100644 --- a/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java +++ b/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java @@ -4,6 +4,7 @@ import com.sqx.modules.app.entity.UserMoney; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; import java.math.BigDecimal; @@ -20,4 +21,6 @@ public interface UserMoneyDao extends BaseMapper { @Select("select sum(money) from user_money_details where user_id=#{userId} and classify=6 and content like '%额外奖励现金红包%'") BigDecimal sumMoney2(Long userId); + @Update("update user_money set amount=amount+#{money} where user_id=#{userId}") + Boolean incrMoney(@Param("money") String money, @Param("userId") Long userId); } diff --git a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java index d77ee796..91c4fc7d 100644 --- a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java @@ -3,12 +3,17 @@ package com.sqx.modules.job.task; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.sqx.modules.app.dao.UserMoneyDao; +import com.sqx.modules.app.entity.UserMoney; import com.sqx.modules.pay.dao.CashOutDao; import com.sqx.modules.pay.entity.CashOut; import com.sqx.modules.pay.wuyou.BaseResp; import com.sqx.modules.pay.wuyou.WuyouPay; +import com.sqx.modules.sys.dao.SysUserMoneyDao; +import com.sqx.modules.sys.entity.SysUserMoney; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -24,6 +29,10 @@ public class TempCashOutTask{ private WuyouPay wuyouPay; private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private UserMoneyDao userMoneyDao; + @Autowired + private SysUserMoneyDao sysUserMoneyDao; @Scheduled(cron = "0 0/8 * * * ? ") public void run() { @@ -46,7 +55,21 @@ public class TempCashOutTask{ cashOut.setOutAt(DateUtil.now()); cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); }else if (baseResp.getStatus() != null && (baseResp.getStatus().equals(3) || baseResp.getStatus().equals(99999)) ){ + logger.info("提现失败, 返还余额, 用户: {}, {}, 金额: {}", cashOut.getUserId(), cashOut.getUserName(), cashOut.getMoney()); + if (cashOut.getUserType() != null && cashOut.getUserType().equals(2)) { + SysUserMoney sysUserMoney = sysUserMoneyDao.selectOne(new LambdaQueryWrapper().eq(SysUserMoney::getUserId, cashOut.getUserId())); + if (sysUserMoney != null) { + sysUserMoneyDao.incrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + }else { + UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); + if (userMoney != null) { + userMoneyDao.incrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + } + cashOut.setState(2); + cashOut.setRefund(baseResp.getMsg()); cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); } }catch (Exception e) { diff --git a/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java b/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java index 0162aa2a..3806f222 100644 --- a/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java +++ b/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java @@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sqx.modules.sys.entity.SysUserMoney; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; @Mapper public interface SysUserMoneyDao extends BaseMapper { void updateSysMoney(@Param("type") Integer type, @Param("userId")Long userId, @Param("money") Double money); + + @Update("update sys_user_money set money=money+#{money} where user_id=#{userId}") + Boolean incrMoney(@Param("money") String money, @Param("userId") Long userId); }