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/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(), "[提现]"); }); } 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().eq(InviteAchievement::getState, 1) + .eq(InviteAchievement::getSourceUserId, userId)); Map earningMap = userMoneyDetailsService.queryUserTotalEarning(userId); Map result = new HashMap<>(); result.put("inviteMoney", inviteMoney); diff --git a/src/main/java/com/sqx/modules/job/task/CashOutTask.java b/src/main/java/com/sqx/modules/job/task/CashOutTask.java index b77aee96..e907b737 100644 --- a/src/main/java/com/sqx/modules/job/task/CashOutTask.java +++ b/src/main/java/com/sqx/modules/job/task/CashOutTask.java @@ -54,7 +54,7 @@ public class CashOutTask{ } 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())); diff --git a/src/main/java/com/sqx/modules/job/task/CashOutTask2.java b/src/main/java/com/sqx/modules/job/task/CashOutTask2.java index f2de353e..a8fa0a5f 100644 --- a/src/main/java/com/sqx/modules/job/task/CashOutTask2.java +++ b/src/main/java/com/sqx/modules/job/task/CashOutTask2.java @@ -66,7 +66,7 @@ public class CashOutTask2{ } 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())); diff --git a/src/main/java/com/sqx/modules/job/task/SpinningTask3.java b/src/main/java/com/sqx/modules/job/task/SpinningTask3.java index 565c067c..aadbb678 100644 --- a/src/main/java/com/sqx/modules/job/task/SpinningTask3.java +++ b/src/main/java/com/sqx/modules/job/task/SpinningTask3.java @@ -9,6 +9,7 @@ import com.sqx.modules.discSpinning.service.DiscSpinningService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -26,10 +27,16 @@ public class SpinningTask3 { @Resource private DiscSpinningRecordService recordService; + @Value("${spring.profiles.active}") + private String profiles; + private Logger logger = LoggerFactory.getLogger(getClass()); @Scheduled(cron = "0 0/5 * * * ? ") public void record() { + if (!"prod".equals(profiles)) { + return; + } record("1"); } 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 ac5f4836..82792315 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sqx.common.utils.DateUtils; @@ -29,19 +30,19 @@ import com.sqx.modules.pay.wuyou.BaseResp; import com.sqx.modules.pay.wuyou.WuyouPay; import com.sqx.modules.sys.entity.SysUserEntity; import com.sqx.modules.sys.service.SysUserService; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; 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 { @@ -70,19 +71,22 @@ public class TempOrdersTask { private CompletAwardService completAwardService; @Resource private WuyouPay wuyouPay; + @Value("${spring.profiles.active}") + 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; } @Scheduled(cron = "0 0/10 * * * ? ") public void order() { + if (!"pay".equals(profiles)) { + return; + } logger.info("订单表数据处理开始"); List orders = ordersDao.selectList(Wrappers.lambdaQuery() .eq(Orders::getStatus, 0) @@ -131,126 +135,143 @@ 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); 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); - CompletableFuture.runAsync(() -> { + + UserEntity user = userService.selectUserById(order.getUserId()); + UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); + 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(() -> { + 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 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()); + logger.info("{}签到次数: {}", user.getUserName(), inviteAchievement.getCount()); + 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)); + logger.info("邀请人员: {}", count); + //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/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/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