Merge branch 'test' into dev

This commit is contained in:
GYJ
2025-01-07 10:01:14 +08:00
9 changed files with 76 additions and 61 deletions

View File

@@ -3,6 +3,7 @@ package com.sqx.modules.course.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sqx.modules.course.entity.Course; import com.sqx.modules.course.entity.Course;
import com.sqx.modules.course.entity.CourseCollect; import com.sqx.modules.course.entity.CourseCollect;
import com.sqx.modules.course.entity.CourseDetails;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -16,4 +17,7 @@ public interface CourseCollectDao extends BaseMapper<CourseCollect> {
Map<String, Object> selectSummary(Long userId); Map<String, Object> selectSummary(Long userId);
List<Course> selectClassify1In3(@Param("userId") Long userId);
} }

View File

@@ -12,6 +12,7 @@ import org.springframework.cache.annotation.Cacheable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
@Mapper @Mapper
@CacheConfig @CacheConfig
@@ -53,5 +54,5 @@ public interface CourseDetailsDao extends BaseMapper<CourseDetails> {
@Cacheable(cacheNames = "courseCount", key = "#courseId") @Cacheable(cacheNames = "courseCount", key = "#courseId")
Integer countCourseByCourseId(Long courseId); Integer countCourseByCourseId(Long courseId);
List<CourseDetails> countByCourseId(); List<CourseDetails> countByCourseId(@Param("courseIdList")Set<Long> courseIdList);
} }

View File

@@ -96,15 +96,14 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
baseMapper.delete(queryWrapper); baseMapper.delete(queryWrapper);
} }
} }
if(!courseCollect.getClassify().equals(1)){ if (!courseCollect.getClassify().equals(1)) {
upGoodNum(courseCollect, courseCollect.getType()); upGoodNum(courseCollect, courseCollect.getType());
} }
return Result.success("操作成功!"); return Result.success("操作成功!");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error("收藏短剧出错了!" + e.getMessage()); log.error("收藏短剧出错了!" + e.getMessage());
} } finally {
finally {
reentrantReadWriteLock.writeLock().unlock(); reentrantReadWriteLock.writeLock().unlock();
} }
return Result.error("系统繁忙,请稍后再试!"); return Result.error("系统繁忙,请稍后再试!");
@@ -133,41 +132,40 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
@CachePut(value = "app:courseCollect", key = "#userId") @CachePut(value = "app:courseCollect", key = "#userId")
public Result selectByUserId(Integer page, Integer limit, Long userId, Integer classify) { public Result selectByUserId(Integer page, Integer limit, Long userId, Integer classify) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
List<CourseCollect> courseCollectList = baseMapper.selectList(new LambdaQueryWrapper<CourseCollect>() //查 收藏记录
.eq(CourseCollect::getUserId, userId) List<Course> courses = baseMapper.selectClassify1In3(userId);
.eq(CourseCollect::getClassify, classify) if (CollectionUtil.isEmpty(courses)) {
.isNotNull(CourseCollect::getCourseId) return Result.success();
.select(CourseCollect::getCourseId, CourseCollect::getUserId, CourseCollect::getCourseDetailsId));
Set<Long> courseIdList = new HashSet<>();
HashMap<Long, CourseCollect> courseCollectHashMap = new HashMap<>();
for (CourseCollect courseCollect : courseCollectList) {
courseIdList.add(courseCollect.getCourseId());
courseCollectHashMap.put(courseCollect.getCourseId(), courseCollect);
} }
//剧id
Set<Long> courseIdList = new HashSet<>();
//详情id
Set<Long> courseDetailIds = new HashSet<>();
courses.forEach(s -> {
courseIdList.add(s.getCourseId());
courseDetailIds.add(s.getCourseDetailsId());
});
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() :
courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() : courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList)); List<CourseDetails> courseDetails1 = courseIdList.isEmpty() ? new ArrayList<>() :
Set<Long> detailIdList = courseCollectList.stream().map(CourseCollect::getCourseDetailsId).collect(Collectors.toSet()); courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>().in(CourseDetails::getCourseDetailsId, courseDetailIds));
Map<Long, CourseDetails> courseDetailsMap = detailIdList.isEmpty() ? new HashMap<>() : courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>() Map<Long, CourseDetails> courseDetailsMap = courseDetails1.stream().collect(Collectors.toMap(CourseDetails::getCourseId, item -> item));
.in(CourseDetails::getCourseDetailsId, detailIdList)).stream() Map<Long, Integer> countMap = courseDetailsDao.countByCourseId(courseIdList).stream()
.collect(Collectors.toMap(CourseDetails::getCourseDetailsId, item -> item)); .collect(Collectors.toMap(CourseDetails::getCourseId, CourseDetails::getCourseDetailsCount));
Map<Long, Integer> countMap = courseDetailsDao.countByCourseId().stream().collect(Collectors.toMap(CourseDetails::getCourseId, CourseDetails::getCourseDetailsCount));
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
if (CollectionUtil.isNotEmpty(courseList)) { if (CollectionUtil.isNotEmpty(courseList)) {
List<Course> courses = pageInfo.getList(); for (Course course : courseList) {
for (Course course : courses) { // course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId()));
course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId())); CourseDetails courseDetails = courseDetailsMap.getOrDefault(course.getCourseId(), null);
CourseCollect courseCollect = courseCollectHashMap.get(course.getCourseId()); course.setCourseDetailsCount(countMap.getOrDefault(course.getCourseId(), 0));
CourseDetails courseDetails = courseCollect == null ? null : courseDetailsMap.get(courseCollect.getCourseDetailsId());
course.setCourseDetailsCount(courseCollect == null ? 0 : countMap.get(courseCollect.getCourseId()));
if (courseDetails != null) { if (courseDetails != null) {
course.setCourseDetailsName(courseDetails.getCourseDetailsName()); course.setCourseDetailsName(courseDetails.getCourseDetailsName());
course.setCourseDetailsId(courseDetails.getCourseDetailsId()); course.setCourseDetailsId(courseDetails.getCourseDetailsId());
} }
} }
} }
PageInfo<Course> pageInfo = new PageInfo<>(courseList);
return Result.success().put("data", PageUtils.page(pageInfo, true)); return Result.success().put("data", PageUtils.page(pageInfo, true));
} }

View File

@@ -238,19 +238,21 @@ public class TempOrdersTask {
if (StringUtils.isNotBlank(user.getQdCode()) && !"666666".equals(user.getQdCode())) { if (StringUtils.isNotBlank(user.getQdCode()) && !"666666".equals(user.getQdCode())) {
SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode());
if (sysUser != null) { if (sysUser != null) {
String qdAward = commonRepository.findOne(915).getValue(); BigDecimal qdAward = new BigDecimal(commonRepository.findOne(915).getValue());
SysUserMoneyDetails userMoneyDetails4 = new SysUserMoneyDetails( if (qdAward.compareTo(BigDecimal.ZERO) > 0) {
sysUser.getUserId(), sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, SysUserMoneyDetails userMoneyDetails4 = new SysUserMoneyDetails(
new BigDecimal(qdAward), "推广人员首次达标额外奖励现金红包" + qdAward, 2); sysUser.getUserId(), sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2,
qdAward, "推广人员首次达标,额外奖励现金红包" + qdAward, 2);
sysUserMoneyService.updateSysMoney(1, sysUser.getUserId(), Double.parseDouble(qdAward)); sysUserMoneyService.updateSysMoney(1, sysUser.getUserId(), qdAward.doubleValue());
sysUserMoneyDetailsService.save(userMoneyDetails4); sysUserMoneyDetailsService.save(userMoneyDetails4);
SysUserMoney sysUserMoney = sysUserMoneyService.selectSysUserMoneyByUserId(sysUser.getUserId()); SysUserMoney sysUserMoney = sysUserMoneyService.selectSysUserMoneyByUserId(sysUser.getUserId());
sysUserMoney.setInviteIncomeMoney(sysUserMoney.getInviteIncomeMoney() == null ? new BigDecimal(qdAward) : sysUserMoney.getInviteIncomeMoney().add(new BigDecimal(qdAward))); sysUserMoney.setInviteIncomeMoney(sysUserMoney.getInviteIncomeMoney() == null ? qdAward : sysUserMoney.getInviteIncomeMoney().add(qdAward));
sysUserMoneyService.update(sysUserMoney, new LambdaQueryWrapper<SysUserMoney>() sysUserMoneyService.update(sysUserMoney, new LambdaQueryWrapper<SysUserMoney>()
.eq(SysUserMoney::getUserId, sysUserMoney.getUserId()) .eq(SysUserMoney::getUserId, sysUserMoney.getUserId())
.eq(SysUserMoney::getId, sysUserMoney.getId())); .eq(SysUserMoney::getId, sysUserMoney.getId()));
}
} }
} }
} }
@@ -271,7 +273,6 @@ public class TempOrdersTask {
if (awardCount < 1) { if (awardCount < 1) {
switch (completAward.getType()) { switch (completAward.getType()) {
case 1: case 1:
UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails( UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails(
sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, completAward.getAwardNumber(), sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 6, 1, 2, completAward.getAwardNumber(),
"邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2, completAward.getId()); "邀请人员已有" + completAward.getInviteCount() + "人完成达标任务,额外奖励金币" + completAward.getAwardNumber(), 2, completAward.getId());

View File

@@ -1,15 +1,14 @@
package com.sqx.modules.orders.controller; package com.sqx.modules.orders.controller;
import cn.hutool.core.date.DateTime; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.course.entity.CourseCollect;
import com.sqx.modules.orders.service.OrdersService; import com.sqx.modules.orders.service.OrdersService;
import com.sqx.modules.pay.dao.CashOutDao; import com.sqx.modules.pay.dao.CashOutDao;
import com.sqx.modules.pay.entity.CashOut; import com.sqx.modules.pay.entity.CashOut;
import com.sqx.modules.pay.service.CashOutService;
import com.sqx.modules.sys.controller.AbstractController; import com.sqx.modules.sys.controller.AbstractController;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -21,8 +20,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@RestController @RestController
@@ -153,10 +150,13 @@ public class OrdersController extends AbstractController {
//总分销 //总分销
// Double sumMoney = ordersService.selectFenXiaoMoney(4, sysUserId, flag, time); // Double sumMoney = ordersService.selectFenXiaoMoney(4, sysUserId, flag, time);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("oneMoney", oneMoney); Double one = Convert.toDouble(oneMoney, 0.00d);
result.put("twoMoney", twoMoney); Double two = Convert.toDouble(twoMoney, 0.00d);
result.put("qdMoney", qdMoney); Double qd = Convert.toDouble(qdMoney, 0.00d);
result.put("sumMoney", oneMoney + twoMoney + qdMoney); result.put("oneMoney", one);
result.put("twoMoney", two);
result.put("qdMoney", qd);
result.put("sumMoney", NumberUtil.add(one, two, qd));
return Result.success().put("data", result); return Result.success().put("data", result);
} }

View File

@@ -554,7 +554,6 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
cashOut.setState(0); cashOut.setState(0);
cashOut.setRate(0.00); cashOut.setRate(0.00);
cashOut.setUserType(1);
cashOut.setCreateAt(DateUtil.now()); cashOut.setCreateAt(DateUtil.now());
cashOut.setWithdrawType(WithdrawTypeEnum.MANUAL.getValue()); cashOut.setWithdrawType(WithdrawTypeEnum.MANUAL.getValue());
@@ -730,7 +729,7 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
throw new SqxException("提现用户信息不存在!"); throw new SqxException("提现用户信息不存在!");
} }
} else { } else {
SysUserEntity sysUserEntity = sysUserService.getById(entity.getSysUserId()); SysUserEntity sysUserEntity = sysUserService.getById(entity.getUserId());
if (sysUserEntity == null) { if (sysUserEntity == null) {
throw new SqxException("提现代理信息不存在!"); throw new SqxException("提现代理信息不存在!");
} }

View File

@@ -79,12 +79,12 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
case 2: case 2:
//日任务 //日任务
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); // InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
Integer dayOrderNum = 0; // Integer dayOrderNum = 0;
if (inviteAchievement != null) { // if (inviteAchievement != null) {
dayOrderNum = inviteAchievement.getCount(); // dayOrderNum = inviteAchievement.getCount();
} // }
if (dayOrderNum < 3) { if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum); s.setDiscNumber(dayOrderNum);
s.setNumber(3); s.setNumber(3);

View File

@@ -30,5 +30,15 @@
FROM course_collect FROM course_collect
WHERE user_id = #{userId}; WHERE user_id = #{userId};
</select> </select>
<select id="selectClassify1In3" resultType="com.sqx.modules.course.entity.Course">
SELECT
c1.course_id as courseId,
c1.course_details_id as courseDetailsId
FROM
`course_collect` c1
INNER JOIN course_collect c2 ON c1.course_id = c2.course_id AND c2.user_id = #{userId} AND c2.classify = 1
WHERE
c1.classify = 3
AND c1.user_id = #{userId}
</select>
</mapper> </mapper>

View File

@@ -108,8 +108,10 @@
SELECT course_id as courseId, SELECT course_id as courseId,
COUNT(*) AS courseDetailsCount COUNT(*) AS courseDetailsCount
FROM course_details FROM course_details
where course_details_id where course_details_id in
<foreach collection="courseIdList" item="ids" open="(" separator="," close=")">
#{ids}
</foreach>
GROUP BY course_id GROUP BY course_id
</select> </select>