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

View File

@@ -1,7 +1,6 @@
package com.sqx.modules.course.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil;
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.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.exception.SqxException;
import com.sqx.common.utils.ApiAccessLimitUtil;
import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.PageUtils;
@@ -217,7 +215,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
current.set(s);
}
// 不免费 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);
}
if (s.getSort() > finalStartSort && s.getSort() < finalEndSort) {

View File

@@ -149,8 +149,20 @@ public class DiscSpinningController {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
map.put("sum", drawCount);
if (source != null && !source.equals(1)) {
//任务可抽奖次数
map.put("count", taskCenterService.countTaskDisc(userId, source.toString()));
String sourceType = null;
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 {
//订单可抽奖次数
int i = recordService.countDraw(userId);
@@ -207,6 +219,10 @@ public class DiscSpinningController {
} else {
String redisKey = "";
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;
} else if (source.equals(3)) {
redisKey = RedisKeys.getDateKey("spinning:draw:taskM") + userId;

View File

@@ -8,7 +8,7 @@ import java.util.Map;
public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> {
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
public Integer countSourceRecord(Long sourceId) {
public Integer countSourceRecord(Long sourceId, Long userId, String source) {
QueryWrapper<DiscSpinningRecord> recordQuery = new QueryWrapper<>();
recordQuery.eq("source_id", sourceId);
recordQuery.eq("source", "taskM");
recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
if (sourceId != null) {
recordQuery.eq("source_id", sourceId);
}
recordQuery.eq("user_id", userId);
recordQuery.eq("source", source);
// recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
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(),
result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source);
recordService.save(record);
//前端下标
record.setId(result.getId());
return record;
}

View File

@@ -82,11 +82,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//日任务
if (s.getNumber().equals(1)) {
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) {
s.setDiscNumber(dayOrderNum);
s.setNumber(3);
@@ -103,6 +98,13 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//周任务
if (s.getNumber() > 1 && s.getNumber() < 8) {
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;
//抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
@@ -140,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false);
} else {
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) {
s.setDiscNumber(null);
s.setNumber(null);
@@ -207,7 +209,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
continue;
}else {
} else {
s.setDiscNumber(null);
s.setNumber(null);
s.setJumpType(0);
@@ -335,12 +337,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2);
String sourceType = null;
if ("2".equals(type)) {
queryWrapper.gt("number", 1);
queryWrapper.lt("number", 8);
sourceType = "taskW";
} else if ("3".equals(type)) {
queryWrapper.gt("number", 7);
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);
for (TaskCenter taskCenter : taskCenters) {
@@ -371,8 +380,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (signCount >= taskCenter.getNumber()) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId());
countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount);
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), userId, "taskM");
countTaskDisc = rewardMap.get(9) - (spinningCount == null ? 0 : spinningCount);
if (countTaskDisc > 0) {
taskWRedisMap.put(taskCenter.getId(), countTaskDisc);
}