Merge branch 'test' into dev
This commit is contained in:
commit
f3357014fd
|
|
@ -1,5 +1,6 @@
|
||||||
package com.sqx.modules.course.controller.app;
|
package com.sqx.modules.course.controller.app;
|
||||||
|
|
||||||
|
import com.sqx.common.annotation.Debounce;
|
||||||
import com.sqx.common.utils.Result;
|
import com.sqx.common.utils.Result;
|
||||||
import com.sqx.modules.app.annotation.Login;
|
import com.sqx.modules.app.annotation.Login;
|
||||||
import com.sqx.modules.course.entity.CourseCollect;
|
import com.sqx.modules.course.entity.CourseCollect;
|
||||||
|
|
@ -21,7 +22,8 @@ public class AppCourseCollectController extends AbstractController {
|
||||||
@Login
|
@Login
|
||||||
@PostMapping("/insertCourseCollect")
|
@PostMapping("/insertCourseCollect")
|
||||||
@ApiOperation("app收藏短剧信息")
|
@ApiOperation("app收藏短剧信息")
|
||||||
public Result insertCourseCollect(@RequestBody CourseCollect courseCollect,@RequestAttribute("userId") Long userId){
|
@Debounce(interval = 3000, value = "#userId,#courseCollect.courseId,#courseCollect.classify,#courseCollect.type")
|
||||||
|
public Result insertCourseCollect(@RequestBody CourseCollect courseCollect, @RequestAttribute("userId") Long userId) {
|
||||||
courseCollect.setUserId(userId);
|
courseCollect.setUserId(userId);
|
||||||
return courseCollectService.insertCourseCollect(courseCollect);
|
return courseCollectService.insertCourseCollect(courseCollect);
|
||||||
}
|
}
|
||||||
|
|
@ -29,13 +31,13 @@ public class AppCourseCollectController extends AbstractController {
|
||||||
@Login
|
@Login
|
||||||
@GetMapping("/selectByUserId")
|
@GetMapping("/selectByUserId")
|
||||||
@ApiOperation("app查询收藏短剧信息")
|
@ApiOperation("app查询收藏短剧信息")
|
||||||
public Result selectByUserId(Integer page, Integer limit,@RequestAttribute("userId") Long userId,Integer classify){
|
public Result selectByUserId(Integer page, Integer limit, @RequestAttribute("userId") Long userId, Integer classify) {
|
||||||
return courseCollectService.selectByUserId(page,limit,userId,classify);
|
return courseCollectService.selectByUserId(page, limit, userId, classify);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Login
|
@Login
|
||||||
@GetMapping("/collectVideoSummary")
|
@GetMapping("/collectVideoSummary")
|
||||||
public Result collectVideoSummary(@RequestAttribute("userId") Long userId){
|
public Result collectVideoSummary(@RequestAttribute("userId") Long userId) {
|
||||||
return courseCollectService.collectVideoSummary(userId);
|
return courseCollectService.collectVideoSummary(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,15 @@ public interface CourseDetailsDao extends BaseMapper<CourseDetails> {
|
||||||
|
|
||||||
List<CourseDetails> findByCourseIdNotUrl(@Param("id") Long id, @Param("userId") Long userId);
|
List<CourseDetails> findByCourseIdNotUrl(@Param("id") Long id, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新播放数量
|
||||||
|
*
|
||||||
|
* @param courseId courseId 必须有值
|
||||||
|
* @param courseDetailsId courseDetailsId 必须有值
|
||||||
|
* @param state 1为 ViewCount 其它 为 PlayCompleteCount
|
||||||
|
*/
|
||||||
|
void updateViewCount(@Param("courseId") Long courseId,@Param("courseDetailsId") Long courseDetailsId, @Param("state") int state);
|
||||||
|
|
||||||
int deleteCourseDetails(String[] ids);
|
int deleteCourseDetails(String[] ids);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,9 @@ public class CourseCollect implements Serializable {
|
||||||
* 更新时间
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
private String updateTime;
|
private String updateTime;
|
||||||
|
/**
|
||||||
|
* 1 写入 2 删除
|
||||||
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
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.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.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;
|
||||||
|
|
@ -21,6 +23,7 @@ import com.sqx.modules.course.service.CourseDetailsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
import org.springframework.cache.annotation.CachePut;
|
import org.springframework.cache.annotation.CachePut;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
|
@ -48,23 +51,20 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
||||||
@Override
|
@Override
|
||||||
@CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId")
|
@CacheEvict(value = "app:courseCollect", key = "#courseCollect.userId")
|
||||||
public Result insertCourseCollect(CourseCollect courseCollect) {
|
public Result insertCourseCollect(CourseCollect courseCollect) {
|
||||||
reentrantReadWriteLock.writeLock().lock();
|
// reentrantReadWriteLock.writeLock().lock();
|
||||||
try {
|
try {
|
||||||
if (courseCollect.getClassify() == 3) {
|
if (courseCollect.getClassify() == 3) {
|
||||||
QueryWrapper<CourseCollect> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<CourseCollect> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("user_id", courseCollect.getUserId()).eq("classify", 3).eq("course_id", courseCollect.getCourseId());
|
queryWrapper.eq("user_id", courseCollect.getUserId())
|
||||||
queryWrapper.orderByDesc("create_time");
|
.eq("classify", 3)
|
||||||
PageHelper.startPage(1, 1);
|
.eq("course_id", courseCollect.getCourseId());
|
||||||
List<CourseCollect> courseCollects = baseMapper.selectList(queryWrapper);
|
queryWrapper.orderByDesc("create_time").last("limit 1");
|
||||||
CourseCollect collect;
|
CourseCollect collect = baseMapper.selectOne(queryWrapper);
|
||||||
if (CollectionUtil.isNotEmpty(courseCollects)) {
|
if (collect != null) {
|
||||||
collect = courseCollects.get(0);
|
collect.setUpdateTime(DateUtils.format(new Date()));
|
||||||
if (collect != null) {
|
collect.setCourseDetailsId(courseCollect.getCourseDetailsId());
|
||||||
collect.setUpdateTime(DateUtils.format(new Date()));
|
baseMapper.updateById(collect);
|
||||||
collect.setCourseCollectId(courseCollect.getCourseCollectId());
|
return Result.success("操作成功!");
|
||||||
baseMapper.updateById(collect);
|
|
||||||
return Result.success("操作成功!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
collect = new CourseCollect()
|
collect = new CourseCollect()
|
||||||
.setUserId(courseCollect.getUserId())
|
.setUserId(courseCollect.getUserId())
|
||||||
|
|
@ -76,43 +76,58 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
||||||
baseMapper.insert(collect);
|
baseMapper.insert(collect);
|
||||||
return Result.success("操作成功!");
|
return Result.success("操作成功!");
|
||||||
}
|
}
|
||||||
|
// 1收藏 2点赞
|
||||||
CourseCollect courseCollect1 = selectCourseCollectUserIdAnd(courseCollect.getUserId(), courseCollect.getCourseId(),
|
CourseCollect courseCollect1 = selectCourseCollectUserIdAnd(courseCollect.getUserId(), courseCollect.getCourseId(),
|
||||||
courseCollect.getClassify(), courseCollect.getClassify() == 1 ? null : courseCollect.getCourseDetailsId());
|
courseCollect.getClassify(), courseCollect.getClassify() == 1 ? null : courseCollect.getCourseDetailsId());
|
||||||
if (courseCollect.getType() == 1) {
|
if (courseCollect.getType() == 1) {
|
||||||
if (courseCollect1 == null) {
|
if (courseCollect1 == null) {
|
||||||
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
if (courseCollect.getClassify().equals(1)) {
|
||||||
courseCollect.setCreateTime(df.format(new Date()));
|
courseCollect.setCourseDetailsId(null);
|
||||||
|
}
|
||||||
|
courseCollect.setCreateTime(DateUtil.now());
|
||||||
courseCollect.setUpdateTime(courseCollect.getCreateTime());
|
courseCollect.setUpdateTime(courseCollect.getCreateTime());
|
||||||
baseMapper.insert(courseCollect);
|
baseMapper.insert(courseCollect);
|
||||||
if (courseCollect.getClassify() == 2) {
|
|
||||||
CourseDetails courseDetails = courseDetailsService.getById(courseCollect.getCourseDetailsId());
|
|
||||||
courseDetails.setGoodNum(courseDetails.getGoodNum() + 1);
|
|
||||||
courseDetailsService.updateById(courseDetails);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
courseCollect1.setUpdateTime(DateUtils.format(new Date()));
|
|
||||||
baseMapper.updateById(courseCollect1);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (courseCollect1 != null) {
|
if (courseCollect1 != null) {
|
||||||
baseMapper.deleteById(courseCollect1.getCourseCollectId());
|
LambdaQueryWrapper<CourseCollect> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
if (courseCollect.getClassify() == 2) {
|
queryWrapper.eq(CourseCollect::getCourseCollectId, courseCollect1.getCourseCollectId());
|
||||||
CourseDetails courseDetails = courseDetailsService.getById(courseCollect.getCourseDetailsId());
|
queryWrapper.eq(CourseCollect::getCourseId, courseCollect1.getCourseId());
|
||||||
courseDetails.setGoodNum(courseDetails.getGoodNum() - 1);
|
baseMapper.delete(queryWrapper);
|
||||||
courseDetailsService.updateById(courseDetails);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
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 {
|
|
||||||
reentrantReadWriteLock.writeLock().unlock();
|
|
||||||
}
|
}
|
||||||
|
// finally {
|
||||||
|
// reentrantReadWriteLock.writeLock().unlock();
|
||||||
|
// }
|
||||||
return Result.error("系统繁忙,请稍后再试!");
|
return Result.error("系统繁忙,请稍后再试!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新点赞数量
|
||||||
|
*
|
||||||
|
* @param collect courseId 和 courseDetailsId 必须有值
|
||||||
|
* @param isGood 1为加一 其它为 减一
|
||||||
|
*/
|
||||||
|
@Async
|
||||||
|
public void upGoodNum(CourseCollect collect, Integer isGood) {
|
||||||
|
LambdaQueryWrapper<CourseDetails> queryWrapper = new LambdaQueryWrapper<CourseDetails>()
|
||||||
|
.eq(CourseDetails::getCourseId, collect.getCourseId())
|
||||||
|
.eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId());
|
||||||
|
CourseDetails courseDetails = courseDetailsService.getOne(queryWrapper);
|
||||||
|
|
||||||
|
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));
|
||||||
|
courseDetailsService.update(updateWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@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) {
|
||||||
|
|
@ -131,11 +146,10 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
||||||
}
|
}
|
||||||
|
|
||||||
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<Course> courseList = baseMapper.selectCourseByCollect(userId, classify);
|
|
||||||
Set<Long> detailIdList = courseCollectList.stream().map(CourseCollect::getCourseDetailsId).collect(Collectors.toSet());
|
Set<Long> detailIdList = courseCollectList.stream().map(CourseCollect::getCourseDetailsId).collect(Collectors.toSet());
|
||||||
Map<Long, CourseDetails> courseDetailsMap = detailIdList.isEmpty() ? new HashMap<>() : courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>()
|
Map<Long, CourseDetails> courseDetailsMap = detailIdList.isEmpty() ? new HashMap<>() : courseDetailsService.list(new LambdaQueryWrapper<CourseDetails>()
|
||||||
.in(CourseDetails::getCourseDetailsId, detailIdList)).stream()
|
.in(CourseDetails::getCourseDetailsId, detailIdList)).stream()
|
||||||
.collect(Collectors.toMap(CourseDetails::getCourseDetailsId, item->item));
|
.collect(Collectors.toMap(CourseDetails::getCourseDetailsId, item -> item));
|
||||||
|
|
||||||
Map<Long, Integer> countMap = courseDetailsDao.countByCourseId().stream().collect(Collectors.toMap(CourseDetails::getCourseId, CourseDetails::getCourseDetailsCount));
|
Map<Long, Integer> countMap = courseDetailsDao.countByCourseId().stream().collect(Collectors.toMap(CourseDetails::getCourseId, CourseDetails::getCourseDetailsCount));
|
||||||
|
|
||||||
|
|
@ -146,7 +160,7 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
||||||
course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId()));
|
course.setCourseClassification(courseClassificationDao.selectById(course.getClassifyId()));
|
||||||
CourseCollect courseCollect = courseCollectHashMap.get(course.getCourseId());
|
CourseCollect courseCollect = courseCollectHashMap.get(course.getCourseId());
|
||||||
CourseDetails courseDetails = courseCollect == null ? null : courseDetailsMap.get(courseCollect.getCourseDetailsId());
|
CourseDetails courseDetails = courseCollect == null ? null : courseDetailsMap.get(courseCollect.getCourseDetailsId());
|
||||||
course.setCourseDetailsCount(courseCollect == null ? 0 :countMap.get(courseCollect.getCourseId()));
|
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());
|
||||||
|
|
@ -163,7 +177,11 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CourseCollect selectCourseCollectUserIdAnd(Long userId, Long courseId, Integer classify, Long courseDetailsId) {
|
public CourseCollect selectCourseCollectUserIdAnd(Long userId, Long courseId, Integer classify, Long courseDetailsId) {
|
||||||
return baseMapper.selectOne(new QueryWrapper<CourseCollect>().eq(courseDetailsId != null, "course_details_id", courseDetailsId).eq("user_id", userId).eq("classify", classify).eq("course_id", courseId));
|
return baseMapper.selectOne(new QueryWrapper<CourseCollect>()
|
||||||
|
.eq(courseDetailsId != null, "course_details_id", courseDetailsId)
|
||||||
|
.eq("user_id", userId)
|
||||||
|
.eq("classify", classify)
|
||||||
|
.eq("course_id", courseId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ import com.sqx.modules.course.dao.CourseDao;
|
||||||
import com.sqx.modules.course.dao.CourseDetailsDao;
|
import com.sqx.modules.course.dao.CourseDetailsDao;
|
||||||
import com.sqx.modules.course.dao.CourseUserDao;
|
import com.sqx.modules.course.dao.CourseUserDao;
|
||||||
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.CourseDetails;
|
import com.sqx.modules.course.entity.CourseDetails;
|
||||||
import com.sqx.modules.course.entity.CourseUser;
|
import com.sqx.modules.course.entity.CourseUser;
|
||||||
import com.sqx.modules.course.service.CourseService;
|
import com.sqx.modules.course.service.CourseService;
|
||||||
|
|
@ -1287,21 +1288,21 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
|
||||||
if (course == null) {
|
if (course == null) {
|
||||||
return Result.error("短剧不存在");
|
return Result.error("短剧不存在");
|
||||||
}
|
}
|
||||||
|
LambdaQueryWrapper<CourseDetails> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
CourseDetails details = courseDetailsDao.selectById(courseDetailsId);
|
queryWrapper.eq(CourseDetails::getCourseId, courseId);
|
||||||
|
queryWrapper.eq(CourseDetails::getCourseDetailsId, courseDetailsId);
|
||||||
|
queryWrapper.orderByDesc(CourseDetails::getCreateTime).last("limit 1");
|
||||||
|
CourseDetails details = courseDetailsDao.selectOne(queryWrapper);
|
||||||
if (details == null) {
|
if (details == null) {
|
||||||
return Result.error("短剧集不存在");
|
return Result.error("短剧集不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("start".equals(type)) {
|
if ("start".equals(type)) {
|
||||||
//开始播放
|
//开始播放
|
||||||
details.setViewCount(details.getViewCount() + 1);
|
courseDetailsDao.updateViewCount(details.getCourseId(),details.getCourseDetailsId(), 1);
|
||||||
courseDetailsDao.updateById(details);
|
|
||||||
baseMapper.updateById(course);
|
|
||||||
} else if ("end".equals(type)) {
|
} else if ("end".equals(type)) {
|
||||||
//播放完成
|
//播放完成
|
||||||
details.setPlayCompleteCount(details.getPlayCompleteCount() + 1);
|
courseDetailsDao.updateViewCount(details.getCourseId(),details.getCourseDetailsId(), 2);
|
||||||
courseDetailsDao.updateById(details);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
|
|
||||||
|
|
@ -225,7 +225,7 @@ public class InviteServiceImpl extends ServiceImpl<InviteDao, Invite> implements
|
||||||
UserMoney userMoney = userMoneyService.selectUserMoneyByUserId(userEntity.getUserId());
|
UserMoney userMoney = userMoneyService.selectUserMoneyByUserId(userEntity.getUserId());
|
||||||
userMoney.setMoney(userMoney.getMoney() == null ? BigDecimal.valueOf(money) : userMoney.getMoney().add(BigDecimal.valueOf(money)));
|
userMoney.setMoney(userMoney.getMoney() == null ? BigDecimal.valueOf(money) : userMoney.getMoney().add(BigDecimal.valueOf(money)));
|
||||||
userMoney.setInviteIncomeCoin(userMoney.getInviteIncomeCoin() == null ? new BigDecimal(money) : userMoney.getInviteIncomeCoin().add(new BigDecimal(money)));
|
userMoney.setInviteIncomeCoin(userMoney.getInviteIncomeCoin() == null ? new BigDecimal(money) : userMoney.getInviteIncomeCoin().add(new BigDecimal(money)));
|
||||||
userMoneyService.update(null, new LambdaQueryWrapper<UserMoney>().eq(UserMoney::getUserId, userMoney.getUserId()).eq(UserMoney::getId, userMoney.getId()));
|
userMoneyService.update(userMoney, new LambdaQueryWrapper<UserMoney>().eq(UserMoney::getUserId, userMoney.getUserId()).eq(UserMoney::getId, userMoney.getId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
//助力活动
|
//助力活动
|
||||||
|
|
|
||||||
|
|
@ -25,27 +25,5 @@
|
||||||
where user_id=#{userId}
|
where user_id=#{userId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateSysMoney">
|
|
||||||
update user_money set
|
|
||||||
<if test="type==1">
|
|
||||||
money=money+#{money}
|
|
||||||
</if>
|
|
||||||
<if test="type==2">
|
|
||||||
money=money-#{money}
|
|
||||||
</if>
|
|
||||||
where sys_user_id=#{sysUserId}
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateSysAmount">
|
|
||||||
update user_money set
|
|
||||||
<if test="type==1">
|
|
||||||
amount=amount+#{amount}
|
|
||||||
</if>
|
|
||||||
<if test="type==2">
|
|
||||||
amount=amount-#{amount}
|
|
||||||
</if>
|
|
||||||
where sys_user_id=#{sysUserId}
|
|
||||||
</update>
|
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,16 @@
|
||||||
|
|
||||||
<!--查找指定短剧的目录 按照顺序数字升序-->
|
<!--查找指定短剧的目录 按照顺序数字升序-->
|
||||||
<select id="findByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
<select id="findByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||||
select
|
select c.*,
|
||||||
c.*,
|
ifnull(cc.isGood, 0) as isGood
|
||||||
ifnull(cc.isGood,0) as isGood
|
|
||||||
from course_details c
|
from course_details c
|
||||||
left join (select course_details_id,count(*) isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on c.course_details_id = c.course_details_id
|
left join (select course_details_id, count(*) isGood
|
||||||
where c.course_id=#{id} order by c.sort asc
|
from course_collect
|
||||||
|
where user_id = #{userId}
|
||||||
|
and classify = 2
|
||||||
|
group by course_details_id) cc on c.course_details_id = c.course_details_id
|
||||||
|
where c.course_id = #{id}
|
||||||
|
order by c.sort asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectCoursePageByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
<select id="selectCoursePageByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||||
|
|
@ -42,26 +46,43 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="findByCourseIdNotUrl" resultType="com.sqx.modules.course.entity.CourseDetails">
|
<select id="findByCourseIdNotUrl" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||||
select c.course_details_id as courseDetailsId,
|
select c.course_details_id as courseDetailsId,
|
||||||
c.course_id as courseId,
|
c.course_id as courseId,
|
||||||
c.wx_course_details_id as wxCourseDetailsId,
|
c.wx_course_details_id as wxCourseDetailsId,
|
||||||
c.course_details_name as courseDetailsName,
|
c.course_details_name as courseDetailsName,
|
||||||
c.create_time as createTime,
|
c.create_time as createTime,
|
||||||
c.title_img as titleImg,
|
c.title_img as titleImg,
|
||||||
c.content,
|
c.content,
|
||||||
c.good_num as goodNum,
|
c.good_num as goodNum,
|
||||||
c.price,
|
c.price,
|
||||||
if(c.is_price!=1,c.video_url,'') as videoUrl,
|
if(c.is_price!=1, c.video_url, '') as videoUrl,
|
||||||
c.dy_episode_id as dyEpisodeId,
|
c.dy_episode_id as dyEpisodeId,
|
||||||
c.advertising,
|
c.advertising,
|
||||||
c.view_count as viewCount,
|
c.view_count as viewCount,
|
||||||
c.play_complete_count as playCompleteCount,
|
c.play_complete_count as playCompleteCount,
|
||||||
ifnull(cc.isGood,0) as isGood
|
ifnull(cc.isGood, 0) as isGood
|
||||||
from course_details c
|
from course_details c
|
||||||
left join (select course_details_id,count(*) as isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on cc.course_details_id = c.course_details_id
|
left join (select course_details_id, count(*) as isGood
|
||||||
where c.course_id=#{id} order by c.sort asc
|
from course_collect
|
||||||
|
where user_id = #{userId}
|
||||||
|
and classify = 2
|
||||||
|
group by course_details_id) cc on cc.course_details_id = c.course_details_id
|
||||||
|
where c.course_id = #{id}
|
||||||
|
order by c.sort asc
|
||||||
</select>
|
</select>
|
||||||
|
<update id="updateViewCount">
|
||||||
|
update course_details
|
||||||
|
set
|
||||||
|
<if test="state==1">
|
||||||
|
view_count = view_count + 1
|
||||||
|
</if>
|
||||||
|
<if test="state==2">
|
||||||
|
play_complete_count = play_complete_count + 1
|
||||||
|
</if>
|
||||||
|
where
|
||||||
|
course_id=#{courseId}
|
||||||
|
and course_details_id =#{courseDetailsId}
|
||||||
|
</update>
|
||||||
|
|
||||||
<delete id="deleteCourseDetails" parameterType="String">
|
<delete id="deleteCourseDetails" parameterType="String">
|
||||||
DELETE FROM course_details WHERE course_details_id IN
|
DELETE FROM course_details WHERE course_details_id IN
|
||||||
|
|
@ -71,31 +92,26 @@
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="countCourseByCourseId" resultType="Integer">
|
<select id="countCourseByCourseId" resultType="Integer">
|
||||||
select
|
select count(1)
|
||||||
count(1)
|
|
||||||
from course_details
|
from course_details
|
||||||
where course_id = #{courseId}
|
where course_id = #{courseId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="countCourse" resultType="Map">
|
<select id="countCourse" resultType="Map">
|
||||||
select
|
select ifnull(sum(view_count), 0) as viewCounts,
|
||||||
ifnull(sum(view_count),0) as viewCounts,
|
ifnull(sum(good_num), 0) as goodNum,
|
||||||
ifnull(sum(good_num),0) as goodNum,
|
ifnull(count(*), 0) as courseDetailsCount
|
||||||
ifnull(count(*),0) as courseDetailsCount
|
from course_details
|
||||||
from course_details
|
|
||||||
where course_id = #{courseId}
|
where course_id = #{courseId}
|
||||||
</select>
|
</select>
|
||||||
<select id="countByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
<select id="countByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||||
SELECT
|
SELECT course_id as courseId,
|
||||||
course_id as courseId,
|
COUNT(*) AS courseDetailsCount
|
||||||
COUNT(*) AS courseDetailsCount
|
FROM course_details
|
||||||
FROM
|
where course_details_id
|
||||||
course_details
|
|
||||||
where course_details_id
|
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY course_id
|
||||||
course_id
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue