抽奖金额修改

订单笔数统计 只统计支付宝支付
增加 一次性任务 新人福利 领取1元
This commit is contained in:
2024-12-11 15:47:47 +08:00
parent b36abdd513
commit 2f73eb9032
11 changed files with 170 additions and 65 deletions

View File

@@ -6,6 +6,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TaskCenterRecordDao extends BaseMapper<TaskCenterRecord> {
Integer countTaskNum(Long userId, Long taskId, String time);
}

View File

@@ -1,14 +1,9 @@
package com.sqx.modules.taskCenter.entity;
import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
/**

View File

@@ -17,7 +17,7 @@ public class TaskCenterRecordServiceImpl extends ServiceImpl<TaskCenterRecordDao
@Override
public Integer countTaskNum(Long userId, Long taskId, String time) {
return baseMapper.selectCount(new QueryWrapper<TaskCenterRecord>().eq("user_id", userId).eq("task_id", taskId).gt("create_time", time));
return baseMapper.countTaskNum(userId, taskId, time);
}
}

View File

@@ -56,48 +56,64 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
signWrapper.orderByAsc("create_time");
List<UserSignRecord> signRecordList = signRecordService.list(signWrapper);
for (TaskCenter s : taskPage.getRecords()) {
//签到任务
if (s.getType() == 2) {
if (s.getNumber().equals(1)) {
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum);
s.setNumber(3);
switch (s.getType()) {
//签到任务
case 2:
if (s.getNumber().equals(1)) {
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum);
s.setNumber(3);
// s.setDisabled(false);
todaySign = false;
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.today() + " 00:00:00") > 0) {
s.setButtonTitle("已领取");
s.setNumber(null);
s.setDisabled(false);
} else {
s.setDiscNumber(0);
s.setNumber(null);
s.setJumpType(0);
}
} else {
if (todaySign) {
if ((signRecordList.size() < (s.getNumber().intValue() - 1))) {
s.setDiscNumber(s.getNumber() - signRecordList.size());
s.setNumber(null);
s.setDisabled(false);
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.beginOfMonth(new Date()).toString()) > 0) {
todaySign = false;
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.today() + " 00:00:00") > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
s.setDisabled(false);
} else {
s.setDiscNumber(0);
s.setNumber(null);
s.setJumpType(0);
}
} else {
if ((signRecordList.size() < s.getNumber().intValue())) {
s.setDiscNumber(s.getNumber() - signRecordList.size());
s.setDisabled(false);
s.setNumber(null);
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.beginOfMonth(new Date()).toString()) > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
if (todaySign) {
if ((signRecordList.size() < (s.getNumber().intValue() - 1))) {
s.setDiscNumber(s.getNumber() - signRecordList.size());
s.setNumber(null);
s.setDisabled(false);
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.beginOfMonth(new Date()).toString()) > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
}
} else {
if ((signRecordList.size() < s.getNumber().intValue())) {
s.setDiscNumber(s.getNumber() - signRecordList.size());
s.setDisabled(false);
s.setNumber(null);
} else if (recordService.countTaskNum(userId, s.getId(), DateUtil.beginOfMonth(new Date()).toString()) > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
}
}
}
}
}
break;
//一次性任务
case 3:
if (s.getId().equals(1)) {
Integer sumOrderNum = ordersService.countOrderNum(userId, null);
if (sumOrderNum != null && sumOrderNum < s.getNumber()) {
s.setDiscNumber(sumOrderNum);
s.setNumber(s.getNumber());
} else if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
}
}
break;
}
}
return Result.success().put("data", taskPage);
@@ -152,6 +168,13 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
}
}
} else if (taskCenter.getType().equals(3) && taskCenter.getId() == 1) {
Integer sumOrderNum = ordersService.countOrderNum(userId, null);
if (sumOrderNum != null && sumOrderNum < taskCenter.getNumber()) {
return Result.error("领取失败,未达成领取条件");
} else if (recordService.countTaskNum(userId, taskCenter.getId(), null) > 0) {
return Result.error("不可重复领取");
}
}
List<TaskCenterRecord> records = new ArrayList<>();
Long targetId = null;