From 40c7bce6267e40eea74658a2bf8f6088f4f1881e Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 31 Dec 2024 11:20:49 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=BE=BE=E6=A0=87=E5=A5=96=E5=8A=B1=20?= =?UTF-8?q?=E6=8A=BD=E5=A5=96=E8=A1=A5=E5=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/app/entity/UserMoneyDetails.java | 19 ++ .../service/impl/DiscSpinningServiceImpl.java | 2 +- .../com/sqx/modules/job/task/CashOutTask.java | 2 +- .../sqx/modules/job/task/CashOutTask2.java | 2 +- .../sqx/modules/job/task/SpinningTask3.java | 7 + .../sqx/modules/job/task/TempOrdersTask.java | 142 ++++++++------ .../pay/controller/app/WuyouController.java | 185 ++---------------- .../pay/service/impl/CashOutServiceImpl.java | 2 +- .../service/impl/TaskCenterServiceImpl.java | 12 +- .../resources/mapper/invite/InviteDao.xml | 2 +- 10 files changed, 129 insertions(+), 246 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java index 7ffbba0f..cfecdf9d 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java @@ -1,6 +1,7 @@ package com.sqx.modules.app.entity; import cn.hutool.core.date.DateUtil; +import com.amazonaws.services.dynamodbv2.xspec.L; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -38,6 +39,8 @@ public class UserMoneyDetails implements Serializable { @ApiModelProperty("渠道用户id") @TableField("sys_user_id") private Long sysUserId; + @ApiModelProperty("源id") + private Long sourceId; /** * 对应用户id @@ -119,6 +122,22 @@ public class UserMoneyDetails implements Serializable { * @param money 金额 * @param content 内容描述 */ + public UserMoneyDetails(Long userId, Long sysUserId, Long byUserId, String title, Integer classify, Integer type, + Integer state, BigDecimal money, String content, Integer moneyType,Long sourceId) { + this.userId = userId; + this.sysUserId = sysUserId; + this.byUserId = byUserId; + this.title = title; + this.classify = classify; + this.type = type; + this.state = state; + this.money = money; + this.content = content; + this.createTime = DateUtil.now(); + this.moneyType = moneyType; + this.sourceId = sourceId; + } + public UserMoneyDetails(Long userId, Long sysUserId, Long byUserId, String title, Integer classify, Integer type, Integer state, BigDecimal money, String content, Integer moneyType) { this.userId = userId; diff --git a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java index f5bdc478..aa3fd15b 100644 --- a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java +++ b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java @@ -90,7 +90,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl orders = ordersDao.selectList(Wrappers.lambdaQuery() .eq(Orders::getStatus, 0) @@ -131,13 +138,13 @@ public class TempOrdersTask { logger.info("订单表数据处理完毕"); } - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - private void updateOrderStatus(PayDetails payDetails, Orders order) { + public void updateOrderStatus(PayDetails payDetails, Orders order) { + if (payDetails.getState() == 1) { + return; + } - - String format = sdf.format(new Date()); - payDetailsDao.updateState(payDetails.getId(), 1, format, payDetails.getTradeNo(), payDetails.getThirdOrderNo()); + payDetailsDao.updateState(payDetails.getId(), 1, DateUtil.now(), payDetails.getTradeNo(), payDetails.getThirdOrderNo()); order.setPayWay(9); order.setStatus(1); @@ -145,7 +152,7 @@ public class TempOrdersTask { UserEntity user = userService.selectUserById(order.getUserId()); UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); - Map map = inviteService.updateInvite(byUser, format, user.getUserId(), order.getPayMoney()); + Map map = inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney()); Object oneUserId = map.get("oneUserId"); if (oneUserId != null) { order.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); @@ -163,7 +170,23 @@ public class TempOrdersTask { } ordersService.updateById(order); ordersService.insertOrders(order); - CompletableFuture.runAsync(() -> { + + if (byUser != null) { + InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); + if (inviteAchievement == null) { + inviteAchievement = new InviteAchievement(); + inviteAchievement.setState(0); + inviteAchievement.setCount(1); + inviteAchievement.setCreateTime(DateUtil.date()); + inviteAchievement.setUserId(user.getUserId()); + inviteAchievement.setSourceUserId(byUser.getUserId()); + inviteAchievementService.save(inviteAchievement); + } else { + inviteAchievementService.incrCount(inviteAchievement.getId(), 1); + } + } + + ThreadUtil.execAsync(() -> { activities(user, byUser); }); } @@ -171,86 +194,83 @@ public class TempOrdersTask { @Transactional public void activities(UserEntity user, UserEntity sourceUser) { //分享达标 - if (sourceUser != null && sourceUser.getUserId() != 1) { - QueryWrapper queryWrapper = new QueryWrapper<>(); -// queryWrapper.eq("classify", 6); -// queryWrapper.eq("user_id", sourceUser.getUserId()); -// queryWrapper.eq("by_user_id", user.getUserId()); -// int count = userMoneyDetailsService.count(queryWrapper); - InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); - // 首次达标 - int signCount = Integer.parseInt(commonRepository.findOne(913).getValue()); - if (inviteAchievement.getState() == 0 && inviteAchievement.getCount() >= signCount) { - //满3笔 -// Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null); -// if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) { - String amount = commonRepository.findOne(912).getValue(); - UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(6); - userMoneyDetails.setMoney(new BigDecimal(amount)); - userMoneyDetails.setUserId(sourceUser.getUserId()); - userMoneyDetails.setByUserId(user.getUserId()); - userMoneyDetails.setCreateTime(DateUtil.now()); - userMoneyDetails.setContent("分享达标奖励" + amount + "元"); - userMoneyDetails.setTitle("分享达标奖励"); - userMoneyDetails.setState(2); - userMoneyDetails.setType(1); - userMoneyDetails.setMoneyType(1); - userMoneyDetailsService.save(userMoneyDetails); - //存入余额 钱 - userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); + if (sourceUser == null || sourceUser.getUserId() == 1) { + return; + } + InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); + // 首次达标 + int signCount = Integer.parseInt(commonRepository.findOne(913).getValue()); + if (inviteAchievement.getState() == 0 && inviteAchievement.getCount() >= signCount) { + //满3笔 + String amount = commonRepository.findOne(912).getValue(); + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setClassify(6); + userMoneyDetails.setMoney(new BigDecimal(amount)); + userMoneyDetails.setUserId(sourceUser.getUserId()); + userMoneyDetails.setByUserId(user.getUserId()); + userMoneyDetails.setCreateTime(DateUtil.now()); + userMoneyDetails.setContent("分享达标奖励" + amount + "元"); + userMoneyDetails.setTitle("分享达标奖励"); + userMoneyDetails.setState(2); + userMoneyDetails.setType(1); + userMoneyDetails.setMoneyType(1); + userMoneyDetailsService.save(userMoneyDetails); + //上级 存入余额 钱 + userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); - inviteAchievement.setState(1); - inviteAchievementService.updateById(inviteAchievement); + inviteAchievement.setState(1); + inviteAchievementService.updateById(inviteAchievement); - int count = inviteAchievementService.countBySourceUserId(sourceUser.getUserId()); - // 首次达标奖励 - if (count == 1) { - SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); + //代理 + if (StringUtils.isNotBlank(user.getQdCode()) && !"666666".equals(user.getQdCode())) { + SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); + if (sysUser != null) { String qdAward = commonRepository.findOne(915).getValue(); UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails( - null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, + null, sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2); - userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward)); + userMoneyService.updateSysAmount(1, sysUser.getUserId(), Double.parseDouble(qdAward)); userMoneyDetailsService.save(userMoneyDetails4); } - - Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1); - if (invite != null) { - invite.setMoney(Double.valueOf(amount)); - invite.setState(1); - inviteDao.updateById(invite); - } -// } } + } + int count = inviteAchievementService.count( + new LambdaQueryWrapper() + .eq(InviteAchievement::getSourceUserId, sourceUser.getUserId()) + .eq(InviteAchievement::getState, 1)); + + //count 邀请的已达标人数 + completAwardService.list(new QueryWrapper().eq("invite_count", count).eq("status", 1)).forEach(completAward -> { QueryWrapper moneyDetailsQuery = new QueryWrapper<>(); moneyDetailsQuery.eq("classify", 6); moneyDetailsQuery.eq("user_id", sourceUser.getUserId()); + moneyDetailsQuery.eq("source_id", completAward.getId()); //达标人数 -// int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); - int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount); - completAwardService.list(new QueryWrapper().eq("invite_count", completeCount)).forEach(completAward -> { + int awardCount = userMoneyDetailsService.count(moneyDetailsQuery); + if (awardCount < 1) { switch (completAward.getType()) { case 1: + UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails( - sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, - completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2); + sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, completAward.getAwardNumber(), + "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2, completAward.getId()); userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); userMoneyDetailsService.save(userMoneyDetails1); break; case 2: UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails( - sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, - completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1); + sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, completAward.getAwardNumber(), + "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1, completAward.getId()); userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); userMoneyDetailsService.save(userMoneyDetails2); break; } - }); - } + } + }); + } } diff --git a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java index 5365688c..fc5fb29b 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java @@ -23,6 +23,7 @@ import com.sqx.modules.complet.service.CompletAwardService; import com.sqx.modules.invite.dao.InviteDao; import com.sqx.modules.invite.entity.Invite; import com.sqx.modules.invite.service.InviteService; +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; @@ -64,35 +65,22 @@ public class WuyouController { private final OrdersService ordersService; private final PayDetailsDao payDetailsDao; - private final UserService userService; - private final InviteService inviteService; - private final InviteDao inviteDao; private final UserMoneyService userMoneyService; private final UserMoneyDetailsService userMoneyDetailsService; - private final CommonInfoService commonRepository; private final CashOutDao cashOutDao; - private final CompletAwardService completAwardService; - private final SysUserService sysUserService; private final WuyouPay wuyouPay; - private final InviteAchievementService inviteAchievementService; - private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private final TempOrdersTask ordersTask; - WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao, - UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository, - InviteDao inviteDao, CompletAwardService completAwardService, SysUserService sysUserService, WuyouPay wuyouPay, InviteAchievementService inviteAchievementService) { + WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, CashOutDao cashOutDao, UserMoneyService userMoneyService, + UserMoneyDetailsService userMoneyDetailsService, TempOrdersTask ordersTask, + WuyouPay wuyouPay) { this.ordersService = ordersService; this.payDetailsDao = payDetailsDao; - this.userService = userService; - this.inviteService = inviteService; this.cashOutDao = cashOutDao; this.userMoneyService = userMoneyService; this.userMoneyDetailsService = userMoneyDetailsService; - this.commonRepository = commonRepository; - this.inviteDao = inviteDao; - this.completAwardService = completAwardService; - this.sysUserService = sysUserService; this.wuyouPay = wuyouPay; - this.inviteAchievementService = inviteAchievementService; + this.ordersTask = ordersTask; } @Debounce(interval = 1000, value = "#orderId") @@ -112,7 +100,7 @@ public class WuyouController { if (payDetails == null) { payDetails = new PayDetails(); payDetails.setState(0); - payDetails.setCreateTime(sdf.format(new Date())); + payDetails.setCreateTime(DateUtil.now()); payDetails.setOrderId(order.getOrdersNo()); payDetails.setUserId(order.getUserId()); payDetails.setMoney(order.getPayMoney().doubleValue()); @@ -126,7 +114,7 @@ public class WuyouController { } if (order.getPayMoney().compareTo(BigDecimal.ZERO) == 0) { - updateOrderStatus(payDetails, order); + ordersTask.updateOrderStatus(payDetails, order); Map data = new HashMap<>(); data.put("tradeNo", payDetails.getTradeNo()); data.put("payStatus", 1); @@ -170,7 +158,7 @@ public class WuyouController { if ("SUCCESS".equals(baseResp.getPayStatus())) { payDetails.setThirdOrderNo(baseResp.getData().getOrder_sn()); - updateOrderStatus(payDetails, order); + ordersTask.updateOrderStatus(payDetails, order); return Result.success().put("data", 1); } @@ -236,161 +224,10 @@ public class WuyouController { } payDetails.setThirdOrderNo(notifyDto.getOrder_sn()); - updateOrderStatus(payDetails, order); - + ordersTask.updateOrderStatus(payDetails, order); return "success"; } - @Transactional - public void activities(UserEntity user, UserEntity sourceUser) { - //分享达标 - if (sourceUser == null || sourceUser.getUserId() == 1) { - return; - } -// QueryWrapper queryWrapper = new QueryWrapper<>(); -// queryWrapper.eq("classify", 6); -// queryWrapper.eq("user_id", sourceUser.getUserId()); -// queryWrapper.eq("by_user_id", user.getUserId()); -// int count = userMoneyDetailsService.count(queryWrapper); - InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); - // 首次达标 - int signCount = Integer.parseInt(commonRepository.findOne(913).getValue()); - if (inviteAchievement.getState() == 0 && inviteAchievement.getCount() >= signCount) { - //满3笔 -// Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null); -// if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) { - String amount = commonRepository.findOne(912).getValue(); - UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(6); - userMoneyDetails.setMoney(new BigDecimal(amount)); - userMoneyDetails.setUserId(sourceUser.getUserId()); - userMoneyDetails.setByUserId(user.getUserId()); - userMoneyDetails.setCreateTime(DateUtil.now()); - userMoneyDetails.setContent("分享达标奖励" + amount + "元"); - userMoneyDetails.setTitle("分享达标奖励"); - userMoneyDetails.setState(2); - userMoneyDetails.setType(1); - userMoneyDetails.setMoneyType(1); - userMoneyDetailsService.save(userMoneyDetails); - //存入余额 钱 - userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); - - inviteAchievement.setState(1); - inviteAchievementService.updateById(inviteAchievement); - - List list = inviteAchievementService.list(new LambdaQueryWrapper().eq(InviteAchievement::getSourceUserId, sourceUser.getUserId())); - Set collect = list.stream().filter(item -> item.getState() == 1).collect(Collectors.toSet()); - // 首次达标奖励 - if (collect.isEmpty() && list.size() == 1) { - SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); - String qdAward = commonRepository.findOne(915).getValue(); - UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails( - null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, - new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2); - - userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward)); - userMoneyDetailsService.save(userMoneyDetails4); - } - - Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1); - if (invite != null) { - invite.setMoney(Double.valueOf(amount)); - invite.setState(1); - inviteDao.updateById(invite); - } -// } - } - - QueryWrapper moneyDetailsQuery = new QueryWrapper<>(); - moneyDetailsQuery.eq("classify", 6); - moneyDetailsQuery.eq("user_id", sourceUser.getUserId()); - //达标人数 - int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); -// int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount); - completAwardService.list(new QueryWrapper().eq("invite_count", completeCount)).forEach(completAward -> { - switch (completAward.getType()) { - case 1: - - UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails( - sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, - completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2); - - userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); - userMoneyDetailsService.save(userMoneyDetails1); - break; - case 2: - UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails( - sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, - completAward.getAwardNumber(), "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1); - - userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); - userMoneyDetailsService.save(userMoneyDetails2); - break; - } - }); - - } - - private void updateOrderStatus(PayDetails payDetails, Orders order) { - if (payDetails.getState() == 1) { - return; - } - - String format = sdf.format(new Date()); - payDetailsDao.updateState(payDetails.getId(), 1, format, payDetails.getTradeNo(),payDetails.getThirdOrderNo()); - - order.setPayWay(9); - order.setStatus(1); - order.setPayTime(DateUtils.format(new Date())); - - UserEntity user = userService.selectUserById(order.getUserId()); - UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); - Map map = inviteService.updateInvite(byUser, format, user.getUserId(), order.getPayMoney()); - Object oneUserId = map.get("oneUserId"); - if (oneUserId != null) { - order.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); - order.setOneMoney(new BigDecimal(String.valueOf(map.get("oneMoney")))); - } - Object twoUserId = map.get("twoUserId"); - if (twoUserId != null) { - order.setTwoUserId(Long.parseLong(String.valueOf(twoUserId))); - order.setTwoMoney(new BigDecimal(String.valueOf(map.get("twoMoney")))); - } - Object sysUserId = map.get("sysUserId"); - if (sysUserId != null) { - order.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); - order.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); - } - ordersService.updateById(order); - ordersService.insertOrders(order); - - if (byUser != null) { - InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); - if (inviteAchievement == null) { - inviteAchievement = new InviteAchievement(); - inviteAchievement.setState(0); - inviteAchievement.setCount(1); - inviteAchievement.setCreateTime(DateUtil.date()); - inviteAchievement.setUserId(user.getUserId()); - inviteAchievement.setSourceUserId(byUser.getUserId()); - inviteAchievementService.save(inviteAchievement); - } else { - inviteAchievementService.incrCount(inviteAchievement.getId(), 1); - } - } - - ThreadUtil.execAsync(() -> { - activities(user, byUser); - }); -// CompletableFuture.runAsync(() -> { -// ApiAccessLimitUtil.runFunAndCheckKey(() -> { -// WuyouController proxy = applicationContext.getBean(WuyouController.class); -// proxy.activities(user, byUser); -// return null; -// }, RedisKeys.getLockKey("activaties", user.getUserId(), byUser.getUserId()), 15); -// }); - } - private void updateCashAsync(NotifyDto notifyDto) { log.info("无忧支付提现回调, {}", notifyDto); @@ -420,7 +257,7 @@ public class WuyouController { UserMoneyDetails userMoneyDetails = new UserMoneyDetails( cashOut.getUserId(), null, null, "提现失败", 4, 1, 1, - new BigDecimal(cashOut.getMoney()), "提现失败存入余额" + cashOut.getMoney() + "元", 1); + new BigDecimal(cashOut.getMoney()), "提现失败存入余额" + cashOut.getMoney() + "元", 1, cashOut.getId()); //存入余额 钱 userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney())); userMoneyDetailsService.save(userMoneyDetails); diff --git a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java index 06a23e7a..ed281907 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java @@ -616,7 +616,7 @@ public class CashOutServiceImpl extends ServiceImpl impleme baseMapper.updateById(entity); UserMoneyDetails userMoneyDetails = new UserMoneyDetails( entity.getUserId(), entity.getSysUserId(), null, "[提现退款]", 4, 1, 2, - new BigDecimal(entity.getMoney()), "提现失败,自动退款" + entity.getMoney() + "元", 1); + new BigDecimal(entity.getMoney()), "提现失败,自动退款" + entity.getMoney() + "元", 1,entity.getId()); userMoneyDetailsService.save(userMoneyDetails); //归还余额 钱 userMoneyService.updateAmount(1, entity.getUserId(), Convert.toDouble(entity.getMoney())); diff --git a/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java b/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java index a6f8b3b1..1317a230 100644 --- a/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java +++ b/src/main/java/com/sqx/modules/taskCenter/service/impl/TaskCenterServiceImpl.java @@ -71,8 +71,8 @@ public class TaskCenterServiceImpl extends ServiceImpl resultTask = new ArrayList<>(); for (TaskCenter s : taskPage) { Map rewardMap = taskCenterRewardService.getRewardMap(s.getId()); - boolean todaySign = true; - Integer signCount = null; + boolean todaySign = true; + Integer signCount = null; if (CollectionUtil.isEmpty(rewardMap)) { continue; } @@ -146,13 +146,13 @@ public class TaskCenterServiceImpl extends ServiceImpl 0) { s.setButtonTitle("已领取"); s.setDisabled(false); s.setNumber(null); s.setDiscNumber(null); - }else { + } else { s.setDiscNumber(null); s.setNumber(null); } @@ -236,7 +236,7 @@ public class TaskCenterServiceImpl extends ServiceImpl Date: Tue, 31 Dec 2024 11:29:21 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invite/controller/app/AppInviteController.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sqx/modules/invite/controller/app/AppInviteController.java b/src/main/java/com/sqx/modules/invite/controller/app/AppInviteController.java index 61b81a77..e6ccf197 100644 --- a/src/main/java/com/sqx/modules/invite/controller/app/AppInviteController.java +++ b/src/main/java/com/sqx/modules/invite/controller/app/AppInviteController.java @@ -4,13 +4,16 @@ package com.sqx.modules.invite.controller.app; import cn.hutool.core.date.DateUtil; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; import com.sqx.modules.app.annotation.Login; import com.sqx.modules.app.annotation.LoginUser; +import com.sqx.modules.app.entity.InviteAchievement; import com.sqx.modules.app.entity.UserEntity; +import com.sqx.modules.app.service.InviteAchievementService; import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserService; @@ -65,6 +68,11 @@ public class AppInviteController { private QrConfig qrconig; @Autowired private UrlAddressService urlAddressService; + private final InviteAchievementService inviteAchievementService; + + public AppInviteController(InviteAchievementService inviteAchievementService) { + this.inviteAchievementService = inviteAchievementService; + } @RequestMapping(value = "/selectInviteCount", method = RequestMethod.GET) @ApiOperation("查看我邀请的人员数量") @@ -105,7 +113,9 @@ public class AppInviteController { } InviteMoney inviteMoney = inviteMoneyService.selectInviteMoneyByUserId(userId); Integer inviteCount = inviteService.selectInviteCount2(userEntity.getInvitationCode()); - Integer inviteSignCount = inviteService.selectInviteSignCount(userEntity.getInvitationCode()); +// Integer inviteSignCount = inviteService.selectInviteSignCount(userEntity.getInvitationCode()); + int inviteSignCount = inviteAchievementService.count(new LambdaQueryWrapper().eq(InviteAchievement::getState, 1) + .eq(InviteAchievement::getSourceUserId, userId)); Map earningMap = userMoneyDetailsService.queryUserTotalEarning(userId); Map result = new HashMap<>(); result.put("inviteMoney", inviteMoney); From 957682ef419dfb3d2c3a6867bd45c8bd113c42e4 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 31 Dec 2024 11:34:00 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=B8=8E=E6=8F=90?= =?UTF-8?q?=E7=8E=B0=20=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sqx/modules/pay/wuyou/WuyouPay.java | 12 ++++++++++++ src/test/java/com/sqx/Tets.java | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java index a22f3faf..930afdbf 100644 --- a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java +++ b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java @@ -42,6 +42,12 @@ public class WuyouPay { } public BaseResp payOrder(String orderNo, String amount, String userAgent, String allId, String payType) { + String payConfig = commonInfoService.findOne(926).getValue(); + if (!"1".equals(payConfig)) { + BaseResp baseResp = new BaseResp(); + baseResp.setErrorMsg("暂无支付渠道"); + return baseResp; + } Map params = getBaseParams(); params.put("type", "6001"); params.put("is_code", "1"); @@ -111,6 +117,12 @@ public class WuyouPay { * @param userName 支付宝名称 */ public BaseResp extractOrder(String outOrderNo, String amount, String account, String userName) { + String payConfig = commonInfoService.findOne(927).getValue(); + if (!"1".equals(payConfig)) { + BaseResp baseResp = new BaseResp(); + baseResp.setErrorMsg("暂无提现渠道"); + return baseResp; + } Map params = getBaseParams(); params.put("out_trade_no", outOrderNo); diff --git a/src/test/java/com/sqx/Tets.java b/src/test/java/com/sqx/Tets.java index 8a754f63..001f5575 100644 --- a/src/test/java/com/sqx/Tets.java +++ b/src/test/java/com/sqx/Tets.java @@ -38,7 +38,7 @@ public class Tets { UserEntity userEntity = userService.selectUserById(26972L); UserEntity byUser = userService.queryByInvitationCode(userEntity.getInviterCode()); - proxy.activities(userEntity, byUser); +// proxy.activities(userEntity, byUser); System.out.println(proxy); } From 65769b71d1f40647571a7cebb30fa3fad0ae33d1 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 31 Dec 2024 11:44:37 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83=20?= =?UTF-8?q?=E4=B8=87=E8=83=BD=E9=AA=8C=E8=AF=81=E7=A0=81=20147258?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/service/impl/UserServiceImpl.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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 306d5d47..6d2f289f 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 @@ -68,6 +68,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import weixin.popular.api.SnsAPI; @@ -116,6 +117,10 @@ public class UserServiceImpl extends ServiceImpl implements private DiscSpinningService discSpinningService; @Autowired private SysUserService sysUserService; + + @Value("${spring.profiles.active}") + private String profiles; + private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @Override @@ -902,7 +907,14 @@ public class UserServiceImpl extends ServiceImpl implements if (StringUtils.isEmpty(msg)) { return Result.error("验证码不能为空!"); } - Msg msg1 = msgDao.findByPhoneAndCode(phone, msg); + Msg msg1 = null; + if (!"prod".equals(profiles) && !"147258".equals(msg)) { + msg1 = msgDao.findByPhoneAndCode(phone, msg); + if (msg1 == null) { + return Result.error("验证码不正确!"); + } + } + if (msg1 == null) { return Result.error("验证码不正确!"); } @@ -1509,7 +1521,7 @@ public class UserServiceImpl extends ServiceImpl implements userMoneyDetails.setMoneyType(1); boolean ret = userMoneyDetailsService.save(userMoneyDetails); if (ret) { - ThreadUtil.execAsync(()->{ + ThreadUtil.execAsync(() -> { discSpinningService.withdrawAsync(entity, money.doubleValue(), "[提现]"); }); } From 282b7724305d9a0b9723712125282fd6846c173d 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, 31 Dec 2024 14:19:15 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sqx/modules/job/task/TempOrdersTask.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index 31690763..6e00f424 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -187,6 +187,7 @@ public class TempOrdersTask { } ThreadUtil.execAsync(() -> { + ThreadUtil.sleep(1000); activities(user, byUser); }); } @@ -200,6 +201,7 @@ public class TempOrdersTask { InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); // 首次达标 int signCount = Integer.parseInt(commonRepository.findOne(913).getValue()); + logger.info("{}签到次数: {}", user.getUserName(), inviteAchievement.getCount()); if (inviteAchievement.getState() == 0 && inviteAchievement.getCount() >= signCount) { //满3笔 String amount = commonRepository.findOne(912).getValue(); @@ -240,7 +242,7 @@ public class TempOrdersTask { new LambdaQueryWrapper() .eq(InviteAchievement::getSourceUserId, sourceUser.getUserId()) .eq(InviteAchievement::getState, 1)); - + logger.info("邀请人员: {}", count); //count 邀请的已达标人数 completAwardService.list(new QueryWrapper().eq("invite_count", count).eq("status", 1)).forEach(completAward -> { QueryWrapper moneyDetailsQuery = new QueryWrapper<>(); From eb3467ad5a6a9e40436953023bbf87cbbb60962f Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 31 Dec 2024 14:32:06 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=88=90=E5=8A=9F=20?= =?UTF-8?q?=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/job/task/TempOrdersTask.java | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index 6e00f424..82792315 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -40,11 +40,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import java.util.Map; -import java.util.concurrent.CompletableFuture; + @Component public class TempOrdersTask { @@ -77,10 +75,9 @@ public class TempOrdersTask { private String profiles; private final InviteAchievementService inviteAchievementService; - private Logger logger = LoggerFactory.getLogger(getClass()); - public TempOrdersTask(InviteAchievementService inviteAchievementService) { + public TempOrdersTask(InviteAchievementService inviteAchievementService,TempOrdersTask ordersTask) { this.inviteAchievementService = inviteAchievementService; } @@ -150,27 +147,11 @@ public class TempOrdersTask { order.setStatus(1); order.setPayTime(DateUtils.format(new Date())); - UserEntity user = userService.selectUserById(order.getUserId()); - UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); - Map map = inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney()); - Object oneUserId = map.get("oneUserId"); - if (oneUserId != null) { - order.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); - order.setOneMoney(new BigDecimal(String.valueOf(map.get("oneMoney")))); - } - Object twoUserId = map.get("twoUserId"); - if (twoUserId != null) { - order.setTwoUserId(Long.parseLong(String.valueOf(twoUserId))); - order.setTwoMoney(new BigDecimal(String.valueOf(map.get("twoMoney")))); - } - Object sysUserId = map.get("sysUserId"); - if (sysUserId != null) { - order.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); - order.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); - } ordersService.updateById(order); ordersService.insertOrders(order); + UserEntity user = userService.selectUserById(order.getUserId()); + UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); if (byUser != null) { InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); if (inviteAchievement == null) { @@ -185,11 +166,29 @@ public class TempOrdersTask { inviteAchievementService.incrCount(inviteAchievement.getId(), 1); } } - ThreadUtil.execAsync(() -> { ThreadUtil.sleep(1000); activities(user, byUser); }); + ThreadUtil.execAsync(() -> { + inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney()); + }); + //Map map = inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney()); +// Object oneUserId = map.get("oneUserId"); +// if (oneUserId != null) { +// order.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); +// order.setOneMoney(new BigDecimal(String.valueOf(map.get("oneMoney")))); +// } +// Object twoUserId = map.get("twoUserId"); +// if (twoUserId != null) { +// order.setTwoUserId(Long.parseLong(String.valueOf(twoUserId))); +// order.setTwoMoney(new BigDecimal(String.valueOf(map.get("twoMoney")))); +// } +// Object sysUserId = map.get("sysUserId"); +// if (sysUserId != null) { +// order.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); +// order.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); +// } } @Transactional