任务中心 获得抽奖次数 与订单 次数不冲突

This commit is contained in:
wangw 2024-12-09 15:30:53 +08:00
parent 318d252a32
commit 357595bda9
3 changed files with 45 additions and 26 deletions

View File

@ -53,6 +53,8 @@ public class TaskCenter extends Model<TaskCenter> {
@ApiModelProperty("是否开启 0否1是")
private Integer shows;
@TableField(exist = false)
private Integer discNumber;
@TableField(exist = false)
private boolean disabled = true;

View File

@ -139,29 +139,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
for (TaskCenterReward reward : list) {
switch (reward.getType()) {
case 1:
UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails();
userMoneyDetails1.setClassify(8);
userMoneyDetails1.setUserId(userId);
userMoneyDetails1.setCreateTime(DateUtil.now());
userMoneyDetails1.setTitle("任务中心");
userMoneyDetails1.setState(2);
userMoneyDetails1.setType(1);
userMoneyDetails1.setMoney(new BigDecimal(reward.getNumber()));
userMoneyDetails1.setContent(taskCenter.getTitle() + "任务完成,金豆奖励" + reward.getNumber());
UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails(
userId, null, null, "[任务中心]", 8, 1, 2,
new BigDecimal(reward.getNumber()), taskCenter.getTitle() + "任务完成,金豆奖励" + reward.getNumber());
userMoneyService.updateMoney(1, userId, reward.getNumber());
userMoneyDetailsService.save(userMoneyDetails1);
targetId = userMoneyDetails1.getId();
break;
case 2:
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails();
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setUserId(userId);
userMoneyDetails2.setCreateTime(DateUtil.now());
userMoneyDetails2.setTitle("任务中心");
userMoneyDetails2.setState(2);
userMoneyDetails2.setType(1);
userMoneyDetails2.setMoney(new BigDecimal(reward.getNumber()));
userMoneyDetails2.setContent(taskCenter.getTitle() + "任务完成,现金奖励" + reward.getNumber());
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(
userId, null, null, "[任务中心]", 8, 1, 2,
new BigDecimal(reward.getNumber()), taskCenter.getTitle() + "任务完成,现金奖励" + reward.getNumber());
userMoneyService.updateAmount(1, userId, reward.getNumber());
userMoneyDetailsService.save(userMoneyDetails2);
targetId = userMoneyDetails2.getId();
@ -184,10 +174,38 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
@Override
public int countTaskDisc(Long userId) {
// 签到记录
QueryWrapper<UserSignRecord> signWrapper = new QueryWrapper<>();
signWrapper.eq("user_id", userId);
signWrapper.lt("sign_day", DateUtil.format(new Date(), "yyyy-MM") + "-00");
signWrapper.orderByAsc("create_time");
List<UserSignRecord> signRecordList = signRecordService.list(signWrapper);
//TaskCenter的number为大转盘次数
List<TaskCenter> taskCenters = baseMapper.queryTaskDiscCenter(userId);
//大转盘任务 校验 次数
return 0;
int countTaskDisc = 0;
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
for (TaskCenter taskCenter : taskCenters) {
if (taskCenter.getType().equals(2)) {
if (taskCenter.getNumber().equals(1)) {
if (dayOrderNum > 2 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.today() + " 00:00:00") < 1) {
countTaskDisc = countTaskDisc + taskCenter.getDiscNumber();
}
} else {
if (dayOrderNum > 2) {
if (signRecordList.size() - taskCenter.getNumber().intValue() >= -1 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.beginOfMonth(new Date()).toString()) < 1) {
countTaskDisc = countTaskDisc + taskCenter.getDiscNumber();
}
} else {
if (signRecordList.size() - taskCenter.getNumber().intValue() >= 0 && recordService.countTaskNum(userId, taskCenter.getId(), DateUtil.beginOfMonth(new Date()).toString()) < 1) {
countTaskDisc = countTaskDisc + taskCenter.getDiscNumber();
}
}
}
}
}
return countTaskDisc;
}
}

View File

@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sqx.modules.taskCenter.dao.TaskCenterDao">
<!-- 根据key查询value -->
<select id="queryTaskDiscCenter" resultType="com.sqx.modules.taskCenter.entity.TaskCenter">
<select id="queryTaskDiscCenter" resultType="com.sqx.modules.taskCenter.entity.TaskCenter">
SELECT task.*,
reward.number as number
reward.number as discNumber
FROM task_center_reward reward
INNER JOIN task_center task ON reward.task_id = task.id and task.shows = 1
where reward.type = 9
and user_id = #{userId}
</select>
</mapper>