Merge branch 'refs/heads/test' into dev
This commit is contained in:
@@ -41,6 +41,7 @@ public class InviteAchievementServiceImpl extends ServiceImpl<InviteAchievementM
|
||||
@Override
|
||||
public int countBySourceUserId(Long userId) {
|
||||
return count(new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getState, 1)
|
||||
.eq(InviteAchievement::getSourceUserId, userId));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.common.utils.RedisUtils;
|
||||
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.common.service.CommonInfoService;
|
||||
import com.sqx.modules.course.dao.CourseCollectDao;
|
||||
@@ -72,10 +74,16 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
|
||||
private JwtUtils jwtUtils;
|
||||
@Autowired
|
||||
private CourseUserService courseUserService;
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
|
||||
|
||||
@Resource
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
public CourseServiceImpl(InviteAchievementService inviteAchievementService) {
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
}
|
||||
|
||||
private static String getIndexKey(Object... objs) {
|
||||
final StrBuilder sb = new StrBuilder();
|
||||
for (Object obj : objs) {
|
||||
@@ -1272,7 +1280,6 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
|
||||
|
||||
@Override
|
||||
public Result getRedEnvelopeTips(Long userId) {
|
||||
// 查询 用户 购买次数
|
||||
Integer count = ordersService.countOrderNum(userId, DateUtil.formatDateTime(DateUtil.beginOfDay(new Date())));
|
||||
|
||||
String totalCount = commonInfoService.findOne(901).getValue();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.sqx.modules.integral.service.Impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.modules.integral.dao.UserIntegralDao;
|
||||
import com.sqx.modules.integral.entity.UserIntegral;
|
||||
@@ -21,7 +22,7 @@ public class UserIntegralServiceImpl extends ServiceImpl<UserIntegralDao, UserIn
|
||||
|
||||
@Override
|
||||
public UserIntegral selectById(Long id) {
|
||||
UserIntegral userIntegral = baseMapper.selectById(id);
|
||||
UserIntegral userIntegral = baseMapper.selectOne(new LambdaQueryWrapper<UserIntegral>().eq(UserIntegral::getUserId, id));
|
||||
if (userIntegral == null) {
|
||||
userIntegral = new UserIntegral();
|
||||
userIntegral.setUserId(id);
|
||||
@@ -36,4 +37,4 @@ public class UserIntegralServiceImpl extends ServiceImpl<UserIntegralDao, UserIn
|
||||
return userIntegralDao.updateIntegral(type,userId,num);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
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.UserMoneyDetails;
|
||||
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;
|
||||
@@ -68,10 +70,16 @@ public class TempOrdersTask {
|
||||
private CompletAwardService completAwardService;
|
||||
@Resource
|
||||
private WuyouPay wuyouPay;
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
|
||||
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
public TempOrdersTask(InviteAchievementService inviteAchievementService) {
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
}
|
||||
|
||||
|
||||
@Scheduled(cron = "0 0/10 * * * ? ")
|
||||
public void order() {
|
||||
@@ -165,53 +173,64 @@ public class TempOrdersTask {
|
||||
//分享达标
|
||||
if (sourceUser != null && sourceUser.getUserId() != 1) {
|
||||
QueryWrapper<UserMoneyDetails> 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);
|
||||
if (count == 0) {
|
||||
// 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));
|
||||
// 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);
|
||||
|
||||
int count = inviteAchievementService.countBySourceUserId(sourceUser.getUserId());
|
||||
// 首次达标奖励
|
||||
if (count == 1) {
|
||||
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
|
||||
String qdAward = commonRepository.findOne(915).getValue();
|
||||
|
||||
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);
|
||||
|
||||
userMoneyService.updateSysAmount(1, sysUser.getUserId(), Double.valueOf(qdAward));
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
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<>();
|
||||
moneyDetailsQuery.eq("classify", 6);
|
||||
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 -> {
|
||||
switch (completAward.getType()) {
|
||||
case 1:
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.sqx.modules.pay.controller.app;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.sqx.common.annotation.Debounce;
|
||||
import com.sqx.common.utils.ApiAccessLimitUtil;
|
||||
@@ -46,12 +47,11 @@ import org.springframework.web.bind.annotation.*;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author GYJ
|
||||
@@ -278,9 +278,10 @@ public class WuyouController {
|
||||
inviteAchievement.setState(1);
|
||||
inviteAchievementService.updateById(inviteAchievement);
|
||||
|
||||
int count = inviteAchievementService.countBySourceUserId(sourceUser.getUserId());
|
||||
List<InviteAchievement> list = inviteAchievementService.list(new LambdaQueryWrapper<InviteAchievement>().eq(InviteAchievement::getSourceUserId, sourceUser.getUserId()));
|
||||
Set<InviteAchievement> collect = list.stream().filter(item -> item.getState() == 1).collect(Collectors.toSet());
|
||||
// 首次达标奖励
|
||||
if (count == 1) {
|
||||
if (collect.isEmpty() && list.size() == 1) {
|
||||
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
|
||||
String qdAward = commonRepository.findOne(915).getValue();
|
||||
UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails(
|
||||
@@ -304,11 +305,12 @@ public class WuyouController {
|
||||
moneyDetailsQuery.eq("classify", 6);
|
||||
moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
|
||||
//达标人数
|
||||
// int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
|
||||
int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount);
|
||||
int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
|
||||
// int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount);
|
||||
completAwardService.list(new QueryWrapper<CompletAward>().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);
|
||||
|
||||
@@ -250,7 +250,7 @@ public class RedisServiceImpl implements RedisService {
|
||||
DateTime date = DateUtil.date();
|
||||
Date tomorrow = DateUtil.beginOfDay(DateUtil.offsetDay(date, 1));
|
||||
long expire = DateUtil.between(date, tomorrow, DateUnit.SECOND);
|
||||
redisUtils.set(key, userId, expire);
|
||||
redisUtils.set(userKey, userId, expire);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -10,8 +10,10 @@ import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.RedisKeys;
|
||||
import com.sqx.common.utils.RedisUtils;
|
||||
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.UserMoneyDetails;
|
||||
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;
|
||||
@@ -55,6 +57,11 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private RedisUtils redisUtils;
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
|
||||
public TaskCenterServiceImpl(InviteAchievementService inviteAchievementService) {
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
}
|
||||
|
||||
|
||||
@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> resultTask = new ArrayList<>();
|
||||
boolean todaySign = true;
|
||||
Integer signCount = null;
|
||||
for (TaskCenter s : taskPage) {
|
||||
Map<Integer, Integer> rewardMap = taskCenterRewardService.getRewardMap(s.getId());
|
||||
boolean todaySign = true;
|
||||
Integer signCount = null;
|
||||
if (CollectionUtil.isEmpty(rewardMap)) {
|
||||
continue;
|
||||
}
|
||||
@@ -209,7 +216,10 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
signRecordService.save(signRecord);
|
||||
}
|
||||
} 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()) {
|
||||
return Result.error("领取失败,未达成领取条件");
|
||||
} else if (recordService.countTaskNum(userId, taskCenter.getId(), null) > 0) {
|
||||
|
||||
Reference in New Issue
Block a user