From d2f2f900f648df4366d912636ec36f08f6f4a70c 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 19:41:00 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/app/service/UserService.java | 7 +++++-- .../app/service/impl/UserServiceImpl.java | 20 +++++++++++++++---- .../controller/DiscSpinningController.java | 7 ++++--- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/service/UserService.java b/src/main/java/com/sqx/modules/app/service/UserService.java index e5d0e344..6254321c 100644 --- a/src/main/java/com/sqx/modules/app/service/UserService.java +++ b/src/main/java/com/sqx/modules/app/service/UserService.java @@ -2,7 +2,6 @@ package com.sqx.modules.app.service; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; @@ -11,7 +10,6 @@ import com.sqx.modules.app.entity.UserEntity; import javax.servlet.http.HttpServletRequest; import java.util.List; -import java.util.Map; /** * 用户 @@ -233,4 +231,9 @@ public interface UserService extends IService { * 二要素身份证认证 */ Object authCertNo(long userId, AuthCertNoDTO authCertNoDTO); + + /** + * 封禁拉黑用户 + */ + void addBlackUser(Long userId); } diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index b105a876..e8227100 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -1434,9 +1434,9 @@ public class UserServiceImpl extends ServiceImpl implements if (type == 0) { dateTime = DateUtil.beginOfDay(DateUtil.parseDate(date)); - }else if (type == 1) { + } else if (type == 1) { dateTime = DateUtil.beginOfMonth(DateUtil.parseDate(date)); - }else { + } else { dateTime = DateUtil.beginOfYear(DateUtil.parseDate(date)); } @@ -1534,7 +1534,7 @@ public class UserServiceImpl extends ServiceImpl implements @Override public Result selectInviteUserList(Integer page, Integer limit, String userName, String phone) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if(StrUtil.isNotBlank(userName)) { + if (StrUtil.isNotBlank(userName)) { queryWrapper.like(UserEntity::getUserName, userName); } @@ -1576,7 +1576,7 @@ public class UserServiceImpl extends ServiceImpl implements userInfoList = userInfoList.stream() .sorted((u1, u2) -> Integer.compare(u2.getCounts(), u1.getCounts())) // 按 counts 降序 .collect(Collectors.toList()); - return Result.success().put("data", PageUtils.page(new PageInfo<>(userInfoList),true)); + return Result.success().put("data", PageUtils.page(new PageInfo<>(userInfoList), true)); } @Override @@ -1668,4 +1668,16 @@ public class UserServiceImpl extends ServiceImpl implements userInfo.setUpdateTime(DateUtil.date()); return userInfoService.updateById(userInfo); } + + @Override + public void addBlackUser(Long userId) { + log.info("异常用户id, 异常操作: {}", userId); + UserInfo userInfo = userInfoService.getOne(new LambdaQueryWrapper().eq(UserInfo::getUserId, userId)); + if (userInfo != null && StrUtil.isNotBlank(userInfo.getCertNo())) { + TbUserBlacklist userBlacklist = new TbUserBlacklist(); + userBlacklist.setRealName(userInfo.getCertName()); + userBlacklist.setIdCardNo(userInfo.getCertNo()); + tbUserBlacklistMapper.insert(userBlacklist); + } + } } diff --git a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java index 82ed50d6..198f2c46 100644 --- a/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java +++ b/src/main/java/com/sqx/modules/discSpinning/controller/DiscSpinningController.java @@ -236,9 +236,10 @@ public class DiscSpinningController { } @ApiOperation("大转盘奖项领取") - @Debounce(interval = 5000, value = "#receive.id") - @PostMapping("/app/discSpinning/receive") - public Result receive(@RequestBody DiscSpinningRecord receive) { + @RequestMapping("/app/discSpinning/receive") + @Login + public Result receive(@RequestAttribute("userId") Long userId) { + userService.addBlackUser(userId); return Result.success().put("data", 1); } From fd0038865486e17f7074ca166640a4e8632e6664 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 19:43:52 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/app/service/impl/UserServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index e8227100..fb7e9df2 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -19,6 +19,7 @@ import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.getui.push.v2.sdk.ApiHelper; @@ -1679,5 +1680,8 @@ public class UserServiceImpl extends ServiceImpl implements userBlacklist.setIdCardNo(userInfo.getCertNo()); tbUserBlacklistMapper.insert(userBlacklist); } + + update(null, new LambdaUpdateWrapper().eq(UserEntity::getUserId, userId) + .set(UserEntity::getStatus, 0)); } } From c40b36ab505de47793ddd459d42573edbd6d29ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 8 Jan 2025 09:21:06 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sqx/modules/job/task/TempCashOutTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b71a9a92..0580b502 100644 --- a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java @@ -43,7 +43,7 @@ public class TempCashOutTask{ for (CashOut cashOut : cashOuts) { try { BaseResp baseResp; - if (DateUtil.parse(cashOut.getCreateAt()).compareTo(DateUtil.parse("2025-01-06 16:50:00")) < 0) { + if (DateUtil.parse(cashOut.getCreateAt()).compareTo(DateUtil.parse("2025-01-06 16:50:00")) > 0) { baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getUserId(), cashOut.getUserType() != 2, cashOut.getMoney()); }else { baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getMoney()); From e34dd90fd065fc10ed93725ed60ec7ef400957d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 8 Jan 2025 09:23:41 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sqx/modules/job/task/TempCashOutTask.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 0580b502..d90d2096 100644 --- a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java @@ -39,15 +39,15 @@ public class TempCashOutTask{ @Scheduled(cron = "0 0/8 * * * ? ") public void run() { logger.info("提现开始"); - List cashOuts = cashOutDao.selectTemp(DateUtil.offsetMinute(DateUtil.date(), 5)); + List cashOuts = cashOutDao.selectTemp(DateUtil.offsetMinute(DateUtil.date(), 15)); for (CashOut cashOut : cashOuts) { try { BaseResp baseResp; - if (DateUtil.parse(cashOut.getCreateAt()).compareTo(DateUtil.parse("2025-01-06 16:50:00")) > 0) { +// if (DateUtil.parse(cashOut.getCreateAt()).compareTo(DateUtil.parse("2025-01-06 16:50:00")) > 0) { baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getUserId(), cashOut.getUserType() != 2, cashOut.getMoney()); - }else { - baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getMoney()); - } +// }else { +// baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getMoney()); +// } logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp)); if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ logger.info("success:{} ", cashOut.getOrderNumber()); From 6b68ad94557148aeddcb3e07258c47dda29a72fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 8 Jan 2025 09:41:20 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sqx/OneTimeTaskListener.java | 107 ++++++++++++++++++ .../com/sqx/modules/app/dao/UserMoneyDao.java | 3 + .../sqx/modules/job/task/TempCashOutTask.java | 17 +++ .../sqx/modules/sys/dao/SysUserMoneyDao.java | 4 + 4 files changed, 131 insertions(+) create mode 100644 src/main/java/com/sqx/OneTimeTaskListener.java diff --git a/src/main/java/com/sqx/OneTimeTaskListener.java b/src/main/java/com/sqx/OneTimeTaskListener.java new file mode 100644 index 00000000..0a3edc6f --- /dev/null +++ b/src/main/java/com/sqx/OneTimeTaskListener.java @@ -0,0 +1,107 @@ +package com.sqx; + +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.UserDao; +import com.sqx.modules.app.dao.UserMoneyDao; +import com.sqx.modules.app.dao.UserMoneyDetailsDao; +import com.sqx.modules.app.entity.UserMoney; +import com.sqx.modules.app.service.InviteAchievementService; +import com.sqx.modules.app.service.UserService; +import com.sqx.modules.job.task.TempOrdersTask; +import com.sqx.modules.orders.entity.Orders; +import com.sqx.modules.orders.service.OrdersService; +import com.sqx.modules.pay.dao.CashOutDao; +import com.sqx.modules.pay.dao.PayDetailsDao; +import com.sqx.modules.pay.entity.CashOut; +import com.sqx.modules.pay.entity.PayDetails; +import com.sqx.modules.pay.service.PayDetailsService; +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 com.sqx.modules.sys.service.SysUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +import java.util.List; + + +@Component +public class OneTimeTaskListener implements ApplicationListener { + + final ApplicationContext applicationContext; + final UserService userService; + final TempOrdersTask tempOrdersTask; + final InviteAchievementService inviteAchievementService; + final PayDetailsService payDetailsService; + final PayDetailsDao payDetailsDao; + final UserMoneyDetailsDao userMoneyDetailsDao; + final UserMoneyDao userMoneyDao; + + private final OrdersService ordersService; + private final WuyouPay wuyouPay; + private final SysUserMoneyDao sysUserMoneyDao; + private Logger logger = LoggerFactory.getLogger(getClass()); + private final CashOutDao cashOutDao; + + public OneTimeTaskListener(ApplicationContext applicationContext, UserService userService, TempOrdersTask tempOrdersTask, InviteAchievementService inviteAchievementService, PayDetailsService payDetailsService, PayDetailsDao payDetailsDao, UserMoneyDetailsDao userMoneyDetailsDao, UserMoneyDao userMoneyDao, OrdersService ordersService, WuyouPay wuyouPay, CashOutDao cashOutDao, SysUserMoneyDao sysUserMoneyDao) { + this.applicationContext = applicationContext; + this.userService = userService; + this.tempOrdersTask = tempOrdersTask; + this.inviteAchievementService = inviteAchievementService; + this.payDetailsService = payDetailsService; + this.payDetailsDao = payDetailsDao; + this.userMoneyDetailsDao = userMoneyDetailsDao; + this.userMoneyDao = userMoneyDao; + this.ordersService = ordersService; + this.wuyouPay = wuyouPay; + this.cashOutDao = cashOutDao; + this.sysUserMoneyDao = sysUserMoneyDao; + } + + @Override + public void onApplicationEvent(ApplicationReadyEvent event) { + logger.info("应用启动完成后执行一次性方法"); + + List cashOutList = cashOutDao.selectList(new LambdaQueryWrapper() + .eq(CashOut::getState, 2) + .isNull(CashOut::getOutAt) + .eq(CashOut::getRefund, "订单不存在") + .between(CashOut::getCreateAt, "2025-01-07 19:00:00", "2025-01-08 09:26:00")); + for (CashOut cashOut : cashOutList) { + logger.info("处理体现订单: {}", cashOut.getId()); + try { + BaseResp baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getUserId(), cashOut.getUserType() != 2, cashOut.getMoney()); + logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp)); + if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ + logger.info("成功订单: {}, {}", cashOut.getId(), cashOut.getUserName()); + if (cashOut.getUserType() != null && cashOut.getUserType().equals(2)) { + SysUserMoney sysUserMoney = sysUserMoneyDao.selectOne(new LambdaQueryWrapper().eq(SysUserMoney::getUserId, cashOut.getUserId())); + if (sysUserMoney != null) { + sysUserMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + }else { + UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); + if (userMoney != null) { + userMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + } + cashOut.setState(1); + cashOut.setRefund("二次询问成功"); + cashOut.setOutAt(DateUtil.now()); + cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); + } + }catch (Exception e) { + logger.error("", e); + } + } + } +} + 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 fadf72a0..1dd13ea7 100644 --- a/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java +++ b/src/main/java/com/sqx/modules/app/dao/UserMoneyDao.java @@ -23,4 +23,7 @@ public interface UserMoneyDao extends BaseMapper { @Update("update user_money set amount=amount+#{money} where user_id=#{userId}") Boolean incrMoney(@Param("money") String money, @Param("userId") Long userId); + + @Update("update user_money set amount=amount-#{money} where user_id=#{userId}") + Boolean decrMoney(@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 d90d2096..30d2976c 100644 --- a/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempCashOutTask.java @@ -4,7 +4,9 @@ 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.dao.UserMoneyDetailsDao; import com.sqx.modules.app.entity.UserMoney; +import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.pay.dao.CashOutDao; import com.sqx.modules.pay.entity.CashOut; import com.sqx.modules.pay.wuyou.BaseResp; @@ -19,6 +21,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; @Component @@ -35,6 +38,8 @@ public class TempCashOutTask{ private UserMoneyDao userMoneyDao; @Autowired private SysUserMoneyDao sysUserMoneyDao; + @Autowired + private UserMoneyDetailsDao userMoneyDetailsDao; @Scheduled(cron = "0 0/8 * * * ? ") public void run() { @@ -73,6 +78,18 @@ public class TempCashOutTask{ cashOut.setState(2); cashOut.setRefund(baseResp.getMsg()); cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); + + UserMoneyDetails details = new UserMoneyDetails(); + details.setUserId(cashOut.getUserId()); + details.setTitle("提现失败存入余额" + cashOut.getMoney() + "元"); + details.setClassify(4); + details.setType(1); + details.setState(2); + details.setMoney(new BigDecimal(cashOut.getMoney())); + details.setContent("提现失败存入余额"); + details.setMoneyType(1); + details.setCreateTime(DateUtil.date().toString()); + userMoneyDetailsDao.insert(details); } }catch (Exception e) { logger.error("体现定时任务查询出错", 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 3806f222..6e260ee5 100644 --- a/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java +++ b/src/main/java/com/sqx/modules/sys/dao/SysUserMoneyDao.java @@ -14,5 +14,9 @@ public interface SysUserMoneyDao extends BaseMapper { @Update("update sys_user_money set money=money+#{money} where user_id=#{userId}") Boolean incrMoney(@Param("money") String money, @Param("userId") Long userId); + + + @Update("update sys_user_money set money=money-#{money} where user_id=#{userId}") + Boolean decrMoney(@Param("money") String money, @Param("userId") Long userId); } From 76303230e050b01a4d64c052e1a59fa178f67660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 8 Jan 2025 10:37:01 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sqx/OneTimeTaskListener.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/sqx/OneTimeTaskListener.java b/src/main/java/com/sqx/OneTimeTaskListener.java index 0a3edc6f..e19ea01c 100644 --- a/src/main/java/com/sqx/OneTimeTaskListener.java +++ b/src/main/java/com/sqx/OneTimeTaskListener.java @@ -3,6 +3,7 @@ package com.sqx; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.sqx.modules.app.dao.UserDao; import com.sqx.modules.app.dao.UserMoneyDao; import com.sqx.modules.app.dao.UserMoneyDetailsDao; @@ -80,21 +81,28 @@ public class OneTimeTaskListener implements ApplicationListener().eq(SysUserMoney::getUserId, cashOut.getUserId())); + if (sysUserMoney != null) { + sysUserMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + }else { + UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); + if (userMoney != null) { + userMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); + } + } + + cashOutDao.update(null, new LambdaUpdateWrapper() + .eq(CashOut::getUserId, cashOut.getUserId()) + .eq(CashOut::getState, 3) + .set(CashOut::getRefund, "异常提现") + .set(CashOut::getState, 2)); + if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ logger.info("成功订单: {}, {}", cashOut.getId(), cashOut.getUserName()); - if (cashOut.getUserType() != null && cashOut.getUserType().equals(2)) { - SysUserMoney sysUserMoney = sysUserMoneyDao.selectOne(new LambdaQueryWrapper().eq(SysUserMoney::getUserId, cashOut.getUserId())); - if (sysUserMoney != null) { - sysUserMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); - } - }else { - UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); - if (userMoney != null) { - userMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); - } - } cashOut.setState(1); - cashOut.setRefund("二次询问成功"); + cashOut.setRefund("异常提现1"); cashOut.setOutAt(DateUtil.now()); cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); } From d541c4b173c1c4db980b271f52d01574766206c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 8 Jan 2025 10:38:45 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sqx/OneTimeTaskListener.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sqx/OneTimeTaskListener.java b/src/main/java/com/sqx/OneTimeTaskListener.java index e19ea01c..8b7b28be 100644 --- a/src/main/java/com/sqx/OneTimeTaskListener.java +++ b/src/main/java/com/sqx/OneTimeTaskListener.java @@ -76,8 +76,10 @@ public class OneTimeTaskListener implements ApplicationListener Date: Wed, 8 Jan 2025 11:10:32 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=8F=90=E7=8E=B0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sqx/OneTimeTaskListener.java | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/sqx/OneTimeTaskListener.java b/src/main/java/com/sqx/OneTimeTaskListener.java index 8b7b28be..d6e7c1cf 100644 --- a/src/main/java/com/sqx/OneTimeTaskListener.java +++ b/src/main/java/com/sqx/OneTimeTaskListener.java @@ -71,47 +71,47 @@ public class OneTimeTaskListener implements ApplicationListener cashOutList = cashOutDao.selectList(new LambdaQueryWrapper() - .eq(CashOut::getState, 2) - .isNull(CashOut::getOutAt) - .eq(CashOut::getRefund, "订单不存在") - .between(CashOut::getCreateAt, "2025-01-07 19:00:00", "2025-01-08 09:26:00")); - logger.info("待处理订单{}", cashOutList.size()); - int i = 0; - for (CashOut cashOut : cashOutList) { - logger.info("处理体现订单: {}, 剩余数量: {}", cashOut.getId(), cashOutList.size() - ++i); - try { - BaseResp baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getUserId(), cashOut.getUserType() != 2, cashOut.getMoney()); - logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp)); - if (cashOut.getUserType() != null && cashOut.getUserType().equals(2)) { - SysUserMoney sysUserMoney = sysUserMoneyDao.selectOne(new LambdaQueryWrapper().eq(SysUserMoney::getUserId, cashOut.getUserId())); - if (sysUserMoney != null) { - sysUserMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); - } - }else { - UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); - if (userMoney != null) { - userMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); - } - } - - cashOutDao.update(null, new LambdaUpdateWrapper() - .eq(CashOut::getUserId, cashOut.getUserId()) - .eq(CashOut::getState, 3) - .set(CashOut::getRefund, "异常提现") - .set(CashOut::getState, 2)); - - if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ - logger.info("成功订单: {}, {}", cashOut.getId(), cashOut.getUserName()); - cashOut.setState(1); - cashOut.setRefund("异常提现1"); - cashOut.setOutAt(DateUtil.now()); - cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); - } - }catch (Exception e) { - logger.error("", e); - } - } +// List cashOutList = cashOutDao.selectList(new LambdaQueryWrapper() +// .eq(CashOut::getState, 2) +// .isNull(CashOut::getOutAt) +// .eq(CashOut::getRefund, "订单不存在") +// .between(CashOut::getCreateAt, "2025-01-07 19:00:00", "2025-01-08 09:26:00")); +// logger.info("待处理订单{}", cashOutList.size()); +// int i = 0; +// for (CashOut cashOut : cashOutList) { +// logger.info("处理体现订单: {}, 剩余数量: {}", cashOut.getId(), cashOutList.size() - ++i); +// try { +// BaseResp baseResp = wuyouPay.queryExtractOrder(cashOut.getOrderNumber(), cashOut.getUserId(), cashOut.getUserType() != 2, cashOut.getMoney()); +// logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp)); +// if (cashOut.getUserType() != null && cashOut.getUserType().equals(2)) { +// SysUserMoney sysUserMoney = sysUserMoneyDao.selectOne(new LambdaQueryWrapper().eq(SysUserMoney::getUserId, cashOut.getUserId())); +// if (sysUserMoney != null) { +// sysUserMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); +// } +// }else { +// UserMoney userMoney = userMoneyDao.selectOne(new LambdaQueryWrapper().eq(UserMoney::getUserId, cashOut.getUserId())); +// if (userMoney != null) { +// userMoneyDao.decrMoney(cashOut.getMoney(), cashOut.getUserId()); +// } +// } +// +// cashOutDao.update(null, new LambdaUpdateWrapper() +// .eq(CashOut::getUserId, cashOut.getUserId()) +// .eq(CashOut::getState, 3) +// .set(CashOut::getRefund, "异常提现") +// .set(CashOut::getState, 2)); +// +// if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ +// logger.info("成功订单: {}, {}", cashOut.getId(), cashOut.getUserName()); +// cashOut.setState(1); +// cashOut.setRefund("异常提现1"); +// cashOut.setOutAt(DateUtil.now()); +// cashOutDao.update(cashOut, new LambdaQueryWrapper().eq(CashOut::getUserId, cashOut.getUserId()).eq(CashOut::getId, cashOut.getId())); +// } +// }catch (Exception e) { +// logger.error("", e); +// } +// } } }