Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -50,6 +50,10 @@ public class InviteAchievement implements Serializable {
|
||||
* 是否首次达标
|
||||
*/
|
||||
private Integer state;
|
||||
/**
|
||||
* 一次性任务领取记录 默认为空 存储为 taskId,taskId
|
||||
*/
|
||||
private String tasks;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
|
||||
@@ -263,6 +263,8 @@ public class TempOrdersTask {
|
||||
if (!byUserIdList.isEmpty()) {
|
||||
count = userInfoService.list(new LambdaQueryWrapper<UserInfo>().in(UserInfo::getUserId, byUserIdList).isNotNull(UserInfo::getAccountNo).select(UserInfo::getCertNo))
|
||||
.stream().map(UserInfo::getCertNo).collect(Collectors.toSet()).size();
|
||||
}else {
|
||||
return;
|
||||
}
|
||||
logger.info("邀请达标人员: {}", count);
|
||||
//count 邀请的已达标人数
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.sqx.modules.taskCenter.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.RedisKeys;
|
||||
@@ -168,27 +170,45 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
case 3:
|
||||
if (s.getId().equals(1L)) {
|
||||
InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
|
||||
if (inviteAchievement != null && StringUtils.isNotBlank(inviteAchievement.getTasks())) {
|
||||
String[] split = inviteAchievement.getTasks().split(",");
|
||||
boolean isOver = false;
|
||||
for (String element : split) {
|
||||
if ("1".equals(element.trim())) {
|
||||
isOver = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isOver) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
UserInfo userInfo = userInfoService.getByUserId(userId);
|
||||
if (userInfo != null && StringUtils.isNotBlank(userInfo.getCertNo()) && StringUtils.isNotBlank(userInfo.getCertName())) {
|
||||
List<UserInfo> users = userInfoService.getUsersByNameAndCertNo(userInfo.getCertName(), userInfo.getCertNo());
|
||||
Set<Long> courseIds = users.stream().map(UserInfo::getUserId).collect(Collectors.toSet());
|
||||
if (recordService.countTaskNum(courseIds, s.getId(), null) > 0) {
|
||||
if (inviteAchievement != null) {
|
||||
inviteAchievementService.update(new LambdaUpdateWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getUserId, inviteAchievement.getUserId())
|
||||
.eq(InviteAchievement::getId, inviteAchievement.getId())
|
||||
.set(InviteAchievement::getTasks, StringUtils.isBlank(inviteAchievement.getTasks()) ? "1" : inviteAchievement.getTasks() + ",1"));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
Integer sumOrderNum = 0;
|
||||
if (inviteAchievement != null) {
|
||||
sumOrderNum = inviteAchievement.getCount();
|
||||
}
|
||||
|
||||
if (sumOrderNum != null && sumOrderNum < s.getNumber()) {
|
||||
s.setDiscNumber(sumOrderNum);
|
||||
s.setNumber(s.getNumber());
|
||||
} else {
|
||||
UserInfo userInfo = userInfoService.getByUserId(userId);
|
||||
if (userInfo != null || StringUtils.isNotBlank(userInfo.getCertNo()) || StringUtils.isNotBlank(userInfo.getCertName())) {
|
||||
List<UserInfo> users = userInfoService.getUsersByNameAndCertNo(userInfo.getCertName(), userInfo.getCertNo());
|
||||
Set<Long> courseIds = users.stream().map(UserInfo::getUserId).collect(Collectors.toSet());
|
||||
if (recordService.countTaskNum(courseIds, s.getId(), null) > 0){
|
||||
continue;
|
||||
}
|
||||
}else if (recordService.countTaskNum(userId, s.getId(), null) > 0){
|
||||
s.setDiscNumber(0);
|
||||
s.setNumber(null);
|
||||
s.setJumpType(0);
|
||||
}
|
||||
}
|
||||
if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
|
||||
s.setDiscNumber(0);
|
||||
s.setNumber(null);
|
||||
s.setJumpType(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -205,6 +225,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
if (!taskCenter.getShows().equals(1)) {
|
||||
return Result.error("领取失败");
|
||||
}
|
||||
InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
|
||||
if (taskCenter.getType().equals(2)) {
|
||||
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
|
||||
if (taskCenter.getNumber().equals(1)) {
|
||||
@@ -228,8 +249,15 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
signRecordService.save(signRecord);
|
||||
}
|
||||
} else if (taskCenter.getType().equals(3) && taskCenter.getId().equals(1L)) {
|
||||
InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
|
||||
Integer sumOrderNum = 0;
|
||||
if (inviteAchievement != null && StringUtils.isNotBlank(inviteAchievement.getTasks())) {
|
||||
String[] split = inviteAchievement.getTasks().split(",");
|
||||
for (String element : split) {
|
||||
if ("1".equals(element.trim())) {
|
||||
return Result.error("不可重复领取");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (inviteAchievement != null) {
|
||||
sumOrderNum = inviteAchievement.getCount();
|
||||
}
|
||||
@@ -243,7 +271,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
}
|
||||
List<UserInfo> users = userInfoService.getUsersByNameAndCertNo(userInfo.getCertName(), userInfo.getCertNo());
|
||||
Set<Long> courseIds = users.stream().map(UserInfo::getUserId).collect(Collectors.toSet());
|
||||
if (recordService.countTaskNum(courseIds, taskCenter.getId(), null) > 0) return Result.error("同一实名算一个新用户,不可重复领取");
|
||||
if (recordService.countTaskNum(courseIds, taskCenter.getId(), null) > 0)
|
||||
return Result.error("同一实名算一个新用户,不可重复领取");
|
||||
}
|
||||
}
|
||||
List<TaskCenterRecord> records = new ArrayList<>();
|
||||
@@ -286,6 +315,12 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
|
||||
records.add(record);
|
||||
}
|
||||
recordService.saveBatch(records);
|
||||
if (inviteAchievement != null && id.equals(1L)) {
|
||||
inviteAchievementService.update(new LambdaUpdateWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getUserId, inviteAchievement.getUserId())
|
||||
.eq(InviteAchievement::getId, inviteAchievement.getId())
|
||||
.set(InviteAchievement::getTasks, StringUtils.isBlank(inviteAchievement.getTasks()) ? "1" : inviteAchievement.getTasks() + ",1"));
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user