Merge branch 'test' into dev

This commit is contained in:
2025-01-14 18:29:52 +08:00
9 changed files with 249 additions and 220 deletions

View File

@@ -127,11 +127,14 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
.eq(CourseDetails::getCourseId, collect.getCourseId()) .eq(CourseDetails::getCourseId, collect.getCourseId())
.eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId()); .eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId());
CourseDetails courseDetails = courseDetailsService.getOne(queryWrapper); CourseDetails courseDetails = courseDetailsService.getOne(queryWrapper);
int goods = courseDetails.getGoodNum() == null || courseDetails.getGoodNum() < 0 ? 0 : courseDetails.getGoodNum() - (isGood.equals(1) ? 1 : -1);
if (goods < 0) {
return;
}
LambdaUpdateWrapper<CourseDetails> updateWrapper = new LambdaUpdateWrapper<CourseDetails>() LambdaUpdateWrapper<CourseDetails> updateWrapper = new LambdaUpdateWrapper<CourseDetails>()
.eq(CourseDetails::getCourseId, collect.getCourseId()) .eq(CourseDetails::getCourseId, collect.getCourseId())
.eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId()) .eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId())
.set(CourseDetails::getGoodNum, courseDetails.getGoodNum() == null ? 0 : courseDetails.getGoodNum() - (isGood.equals(1) ? 1 : -1)); .set(CourseDetails::getGoodNum, goods);
courseDetailsService.update(updateWrapper); courseDetailsService.update(updateWrapper);
} }
@@ -143,7 +146,7 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
if (classify.equals(1)) { if (classify.equals(1)) {
//收藏记录 //收藏记录
courses = baseMapper.selectClassify1In3(userId); courses = baseMapper.selectClassify1In3(userId);
}else if (classify.equals(2)){ } else if (classify.equals(2)) {
//点赞 //点赞
courses = baseMapper.selectClassify2(userId); courses = baseMapper.selectClassify2(userId);
} else { } else {
@@ -156,14 +159,14 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
//详情id //详情id
Set<Long> courseDetailIds = new HashSet<>(); Set<Long> courseDetailIds = new HashSet<>();
//剧集-观看记录时间 //剧集-观看记录时间
Map<Long,String> upTime = new HashMap<>(); Map<Long, String> upTime = new HashMap<>();
courses.forEach(s -> { courses.forEach(s -> {
if (s == null) { if (s == null) {
return; return;
} }
courseIdList.add(s.getCourseId()); courseIdList.add(s.getCourseId());
courseDetailIds.add(s.getCourseDetailsId()); courseDetailIds.add(s.getCourseDetailsId());
upTime.put(s.getCourseId(),s.getUpdateTime()); upTime.put(s.getCourseId(), s.getUpdateTime());
}); });
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() : List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() :
courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList)); courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));

View File

@@ -1,7 +1,6 @@
package com.sqx.modules.course.service.impl; package com.sqx.modules.course.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@@ -14,7 +13,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.sqx.common.exception.SqxException;
import com.sqx.common.utils.ApiAccessLimitUtil; import com.sqx.common.utils.ApiAccessLimitUtil;
import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.PageUtils;
@@ -217,7 +215,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
current.set(s); current.set(s);
} }
// 不免费 3集以后 (已买的不为空 并不在已买的包含) // 不免费 3集以后 (已买的不为空 并不在已买的包含)
if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId()))) { if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId())) && courseUser == null) {
s.setVideoUrl(null); s.setVideoUrl(null);
} }
if (s.getSort() > finalStartSort && s.getSort() < finalEndSort) { if (s.getSort() > finalStartSort && s.getSort() < finalEndSort) {

View File

@@ -149,8 +149,20 @@ public class DiscSpinningController {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue()); int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
map.put("sum", drawCount); map.put("sum", drawCount);
if (source != null && !source.equals(1)) { if (source != null && !source.equals(1)) {
//任务可抽奖次数 String sourceType = null;
map.put("count", taskCenterService.countTaskDisc(userId, source.toString())); if (source.equals(2)) {
sourceType = "taskW";
} else {
sourceType = "taskM";
}
Integer spinningCount = recordService.countSourceRecord(null, userId, sourceType);
if (spinningCount != null && spinningCount > 0) {
map.put("count", 0);
} else {
int i = taskCenterService.countTaskDisc(userId, source.toString());
map.put("count", i > 0 ? 1 : 0);
}
} else { } else {
//订单可抽奖次数 //订单可抽奖次数
int i = recordService.countDraw(userId); int i = recordService.countDraw(userId);
@@ -207,6 +219,10 @@ public class DiscSpinningController {
} else { } else {
String redisKey = ""; String redisKey = "";
if (source.equals(2)) { if (source.equals(2)) {
Integer spinningCount = recordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
return Result.error("周抽奖用户仅可参加一次");
}
redisKey = RedisKeys.getDateKey("spinning:draw:taskW") + userId; redisKey = RedisKeys.getDateKey("spinning:draw:taskW") + userId;
} else if (source.equals(3)) { } else if (source.equals(3)) {
redisKey = RedisKeys.getDateKey("spinning:draw:taskM") + userId; redisKey = RedisKeys.getDateKey("spinning:draw:taskM") + userId;

View File

@@ -8,7 +8,7 @@ import java.util.Map;
public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> { public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> {
Integer countDraw(Long userId); Integer countDraw(Long userId);
//当月的 月记录 已抽 抽奖次数 //记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId); Integer countSourceRecord(Long sourceId,Long userId,String source);
} }

View File

@@ -26,11 +26,14 @@ public class DiscSpinningRecordServiceImpl extends ServiceImpl<DiscSpinningRecor
} }
@Override @Override
public Integer countSourceRecord(Long sourceId) { public Integer countSourceRecord(Long sourceId, Long userId, String source) {
QueryWrapper<DiscSpinningRecord> recordQuery = new QueryWrapper<>(); QueryWrapper<DiscSpinningRecord> recordQuery = new QueryWrapper<>();
if (sourceId != null) {
recordQuery.eq("source_id", sourceId); recordQuery.eq("source_id", sourceId);
recordQuery.eq("source", "taskM"); }
recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date())); recordQuery.eq("user_id", userId);
recordQuery.eq("source", source);
// recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
return discSpinningRecordDao.selectCount(recordQuery); return discSpinningRecordDao.selectCount(recordQuery);
} }
} }

View File

@@ -167,6 +167,8 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), sourceId, userId, result.getUrl(), result.getType(), DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), sourceId, userId, result.getUrl(), result.getType(),
result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source); result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source);
recordService.save(record); recordService.save(record);
//前端下标
record.setId(result.getId());
return record; return record;
} }

View File

@@ -82,11 +82,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//日任务 //日任务
if (s.getNumber().equals(1)) { if (s.getNumber().equals(1)) {
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00"); Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
// InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
// Integer dayOrderNum = 0;
// if (inviteAchievement != null) {
// dayOrderNum = inviteAchievement.getCount();
// }
if (dayOrderNum < 3) { if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum); s.setDiscNumber(dayOrderNum);
s.setNumber(3); s.setNumber(3);
@@ -103,6 +98,13 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//周任务 //周任务
if (s.getNumber() > 1 && s.getNumber() < 8) { if (s.getNumber() > 1 && s.getNumber() < 8) {
if (rewardMap.containsKey(9)) { if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
break;
}
boolean isBreak = false; boolean isBreak = false;
//抽奖次数 //抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9)); Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
@@ -140,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false); s.setDisabled(false);
} else { } else {
if (rewardMap.containsKey(9)) { if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId()); Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), userId, "taskM");
if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) { if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) {
s.setDiscNumber(null); s.setDiscNumber(null);
s.setNumber(null); s.setNumber(null);
@@ -207,7 +209,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
} }
if (recordService.countTaskNum(userId, s.getId(), null) > 0) { if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
continue; continue;
}else { } else {
s.setDiscNumber(null); s.setDiscNumber(null);
s.setNumber(null); s.setNumber(null);
s.setJumpType(0); s.setJumpType(0);
@@ -335,12 +337,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
} }
QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>(); QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2); queryWrapper.eq("type", 2);
String sourceType = null;
if ("2".equals(type)) { if ("2".equals(type)) {
queryWrapper.gt("number", 1); queryWrapper.gt("number", 1);
queryWrapper.lt("number", 8); queryWrapper.lt("number", 8);
sourceType = "taskW";
} else if ("3".equals(type)) { } else if ("3".equals(type)) {
queryWrapper.gt("number", 7); queryWrapper.gt("number", 7);
queryWrapper.lt("number", 32); queryWrapper.lt("number", 32);
sourceType = "taskM";
}
Integer spCount = discSpinningRecordService.countSourceRecord(null, userId, sourceType);
if (spCount != null && spCount > 0) {
return 0;
} }
List<TaskCenter> taskCenters = baseMapper.selectList(queryWrapper); List<TaskCenter> taskCenters = baseMapper.selectList(queryWrapper);
for (TaskCenter taskCenter : taskCenters) { for (TaskCenter taskCenter : taskCenters) {
@@ -371,8 +380,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
} }
if (signCount >= taskCenter.getNumber()) { if (signCount >= taskCenter.getNumber()) {
if (rewardMap.containsKey(9)) { if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId()); Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), userId, "taskM");
countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount); countTaskDisc = rewardMap.get(9) - (spinningCount == null ? 0 : spinningCount);
if (countTaskDisc > 0) { if (countTaskDisc > 0) {
taskWRedisMap.put(taskCenter.getId(), countTaskDisc); taskWRedisMap.put(taskCenter.getId(), countTaskDisc);
} }

View File

@@ -189,31 +189,31 @@ spring:
duanju: duanju:
masterDataSourceName: duanju masterDataSourceName: duanju
slaveDataSourceNames: slaveDataSourceNames:
# - duanju # - duanju
- duanju-slave - duanju-slave
duanju-0: duanju-0:
masterDataSourceName: duanju-0 masterDataSourceName: duanju-0
slaveDataSourceNames: slaveDataSourceNames:
# - duanju-0 # - duanju-0
- duanju-slave-0 - duanju-slave-0
duanju-1: duanju-1:
masterDataSourceName: duanju-1 masterDataSourceName: duanju-1
slaveDataSourceNames: slaveDataSourceNames:
# - duanju-1 # - duanju-1
- duanju-slave-1 - duanju-slave-1
duanju-2: duanju-2:
masterDataSourceName: duanju-2 masterDataSourceName: duanju-2
slaveDataSourceNames: slaveDataSourceNames:
# - duanju-2 # - duanju-2
- duanju-slave-2 - duanju-slave-2
duanju-3: duanju-3:
masterDataSourceName: duanju-3 masterDataSourceName: duanju-3
slaveDataSourceNames: slaveDataSourceNames:
# - duanju-3 # - duanju-3
- duanju-slave-3 - duanju-slave-3
duanju-4: duanju-4:
masterDataSourceName: duanju-4 masterDataSourceName: duanju-4
slaveDataSourceNames: slaveDataSourceNames:
# - duanju-4 # - duanju-4
- duanju-slave-4 - duanju-slave-4

View File

@@ -7,12 +7,10 @@
sign.id sign.id
FROM FROM
user_sign_record sign user_sign_record sign
LEFT JOIN task_center_record cenRecord ON sign.id = cenRecord.source_id
WHERE WHERE
sign.`DAY` = 7 sign.`DAY` = 7
AND sign.user_id = #{userId} AND sign.user_id = #{userId}
and sign.create_time &gt; #{time} and sign.create_time &gt; #{time}
AND cenRecord.id IS NULL
order by sign.create_time asc order by sign.create_time asc
</select> </select>