达标查询统一更换

This commit is contained in:
张松
2024-12-31 10:14:15 +08:00
parent 52a692ebd9
commit 0908d114a2
3 changed files with 73 additions and 37 deletions

View File

@@ -19,6 +19,8 @@ import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.RedisUtils; import com.sqx.common.utils.RedisUtils;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.InviteAchievement;
import com.sqx.modules.app.service.InviteAchievementService;
import com.sqx.modules.app.utils.JwtUtils; import com.sqx.modules.app.utils.JwtUtils;
import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.course.dao.CourseCollectDao; import com.sqx.modules.course.dao.CourseCollectDao;
@@ -72,10 +74,16 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
private JwtUtils jwtUtils; private JwtUtils jwtUtils;
@Autowired @Autowired
private CourseUserService courseUserService; private CourseUserService courseUserService;
private final InviteAchievementService inviteAchievementService;
@Resource @Resource
private RedisUtils redisUtils; private RedisUtils redisUtils;
public CourseServiceImpl(InviteAchievementService inviteAchievementService) {
this.inviteAchievementService = inviteAchievementService;
}
private static String getIndexKey(Object... objs) { private static String getIndexKey(Object... objs) {
final StrBuilder sb = new StrBuilder(); final StrBuilder sb = new StrBuilder();
for (Object obj : objs) { for (Object obj : objs) {
@@ -1272,7 +1280,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
@Override @Override
public Result getRedEnvelopeTips(Long userId) { public Result getRedEnvelopeTips(Long userId) {
// 查询 用户 购买次数
Integer count = ordersService.countOrderNum(userId, DateUtil.formatDateTime(DateUtil.beginOfDay(new Date()))); Integer count = ordersService.countOrderNum(userId, DateUtil.formatDateTime(DateUtil.beginOfDay(new Date())));
String totalCount = commonInfoService.findOne(901).getValue(); String totalCount = commonInfoService.findOne(901).getValue();

View File

@@ -7,8 +7,10 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.DateUtils;
import com.sqx.modules.app.entity.InviteAchievement;
import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.InviteAchievementService;
import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserMoneyService;
import com.sqx.modules.app.service.UserService; import com.sqx.modules.app.service.UserService;
@@ -68,10 +70,16 @@ public class TempOrdersTask {
private CompletAwardService completAwardService; private CompletAwardService completAwardService;
@Resource @Resource
private WuyouPay wuyouPay; private WuyouPay wuyouPay;
private final InviteAchievementService inviteAchievementService;
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
public TempOrdersTask(InviteAchievementService inviteAchievementService) {
this.inviteAchievementService = inviteAchievementService;
}
@Scheduled(cron = "0 0/10 * * * ? ") @Scheduled(cron = "0 0/10 * * * ? ")
public void order() { public void order() {
@@ -165,53 +173,64 @@ public class TempOrdersTask {
//分享达标 //分享达标
if (sourceUser != null && sourceUser.getUserId() != 1) { if (sourceUser != null && sourceUser.getUserId() != 1) {
QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserMoneyDetails> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("classify", 6); // queryWrapper.eq("classify", 6);
queryWrapper.eq("user_id", sourceUser.getUserId()); // queryWrapper.eq("user_id", sourceUser.getUserId());
queryWrapper.eq("by_user_id", user.getUserId()); // queryWrapper.eq("by_user_id", user.getUserId());
int count = userMoneyDetailsService.count(queryWrapper); // int count = userMoneyDetailsService.count(queryWrapper);
if (count == 0) { InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId());
// 首次达标
int signCount = Integer.parseInt(commonRepository.findOne(913).getValue());
if (inviteAchievement.getState() == 0 && inviteAchievement.getCount() >= signCount) {
//满3笔 //满3笔
Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null); // Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null);
if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) { // if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) {
String amount = commonRepository.findOne(912).getValue(); String amount = commonRepository.findOne(912).getValue();
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(6); userMoneyDetails.setClassify(6);
userMoneyDetails.setMoney(new BigDecimal(amount)); userMoneyDetails.setMoney(new BigDecimal(amount));
userMoneyDetails.setUserId(sourceUser.getUserId()); userMoneyDetails.setUserId(sourceUser.getUserId());
userMoneyDetails.setByUserId(user.getUserId()); userMoneyDetails.setByUserId(user.getUserId());
userMoneyDetails.setCreateTime(DateUtil.now()); userMoneyDetails.setCreateTime(DateUtil.now());
userMoneyDetails.setContent("分享达标奖励" + amount + ""); userMoneyDetails.setContent("分享达标奖励" + amount + "");
userMoneyDetails.setTitle("分享达标奖励"); userMoneyDetails.setTitle("分享达标奖励");
userMoneyDetails.setState(2); userMoneyDetails.setState(2);
userMoneyDetails.setType(1); userMoneyDetails.setType(1);
userMoneyDetails.setMoneyType(1); userMoneyDetails.setMoneyType(1);
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
//存入余额 钱 //存入余额 钱
userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount));
inviteAchievement.setState(1);
inviteAchievementService.updateById(inviteAchievement);
int count = inviteAchievementService.countBySourceUserId(sourceUser.getUserId());
// 首次达标奖励
if (count == 1) {
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
String qdAward = commonRepository.findOne(915).getValue(); String qdAward = commonRepository.findOne(915).getValue();
UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails( UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails(
null, sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2,
new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2); new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2);
userMoneyService.updateSysAmount(1, sysUser.getUserId(), Double.valueOf(qdAward)); userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward));
userMoneyDetailsService.save(userMoneyDetails4); 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);
}
} }
Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1);
if (invite != null) {
invite.setMoney(Double.valueOf(amount));
invite.setState(1);
inviteDao.updateById(invite);
}
// }
} }
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>(); QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
moneyDetailsQuery.eq("classify", 6); moneyDetailsQuery.eq("classify", 6);
moneyDetailsQuery.eq("user_id", sourceUser.getUserId()); moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
//达标人数 //达标人数
int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); // int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount);
completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", completeCount)).forEach(completAward -> { completAwardService.list(new QueryWrapper<CompletAward>().eq("invite_count", completeCount)).forEach(completAward -> {
switch (completAward.getType()) { switch (completAward.getType()) {
case 1: case 1:

View File

@@ -10,8 +10,10 @@ import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.RedisKeys; import com.sqx.common.utils.RedisKeys;
import com.sqx.common.utils.RedisUtils; import com.sqx.common.utils.RedisUtils;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.app.entity.InviteAchievement;
import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.app.entity.UserEntity;
import com.sqx.modules.app.entity.UserMoneyDetails; import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.InviteAchievementService;
import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserMoneyService;
import com.sqx.modules.app.service.UserService; import com.sqx.modules.app.service.UserService;
@@ -55,6 +57,11 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
private UserService userService; private UserService userService;
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
private final InviteAchievementService inviteAchievementService;
public TaskCenterServiceImpl(InviteAchievementService inviteAchievementService) {
this.inviteAchievementService = inviteAchievementService;
}
@Override @Override
@@ -62,10 +69,10 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//任务 //任务
List<TaskCenter> taskPage = baseMapper.selectList(new QueryWrapper<TaskCenter>().eq("shows", 1).orderByAsc("sort", "type")); List<TaskCenter> taskPage = baseMapper.selectList(new QueryWrapper<TaskCenter>().eq("shows", 1).orderByAsc("sort", "type"));
List<TaskCenter> resultTask = new ArrayList<>(); List<TaskCenter> resultTask = new ArrayList<>();
boolean todaySign = true;
Integer signCount = null;
for (TaskCenter s : taskPage) { for (TaskCenter s : taskPage) {
Map<Integer, Integer> rewardMap = taskCenterRewardService.getRewardMap(s.getId()); Map<Integer, Integer> rewardMap = taskCenterRewardService.getRewardMap(s.getId());
boolean todaySign = true;
Integer signCount = null;
if (CollectionUtil.isEmpty(rewardMap)) { if (CollectionUtil.isEmpty(rewardMap)) {
continue; continue;
} }
@@ -209,7 +216,10 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
signRecordService.save(signRecord); signRecordService.save(signRecord);
} }
} else if (taskCenter.getType().equals(3) && taskCenter.getId().equals(1L)) { } else if (taskCenter.getType().equals(3) && taskCenter.getId().equals(1L)) {
Integer sumOrderNum = ordersService.countOrderNum(userId, null); InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
// Integer sumOrderNum = ordersService.countOrderNum(userId, null);
Integer sumOrderNum = inviteAchievement.getCount();
if (sumOrderNum != null && sumOrderNum < taskCenter.getNumber()) { if (sumOrderNum != null && sumOrderNum < taskCenter.getNumber()) {
return Result.error("领取失败,未达成领取条件"); return Result.error("领取失败,未达成领取条件");
} else if (recordService.countTaskNum(userId, taskCenter.getId(), null) > 0) { } else if (recordService.countTaskNum(userId, taskCenter.getId(), null) > 0) {