Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
Tankaikai
2025-01-09 18:36:04 +08:00
17 changed files with 172 additions and 50 deletions

View File

@@ -23,13 +23,12 @@ public class AppAnnouncementController {
}
@GetMapping
public Result get(@RequestParam Integer type) {
PageHelper.startPage(1,1);
public Result get(@RequestParam(defaultValue = "0") Integer type) {
List<Announcement> list = announcementService.list(new LambdaQueryWrapper<Announcement>()
.eq(Announcement::getType, type)
.eq(Announcement::getState, 1)
.orderByDesc(Announcement::getCreateTime));
return Result.success().put("data", list.isEmpty() ? null : list.get(0));
return Result.success().put("data", list);
}
}

View File

@@ -22,4 +22,5 @@ public class CourseOrderResponse implements Serializable {
* 售卖金币
*/
private Double coursemoney;
private Long courseId;
}

View File

@@ -47,11 +47,14 @@ import com.sqx.modules.app.dto.AuthDTO;
import com.sqx.modules.app.dto.AuthRespDTO;
import com.sqx.modules.app.entity.*;
import com.sqx.modules.app.mapper.TbUserBlacklistMapper;
import com.sqx.modules.app.response.CourseOrderResponse;
import com.sqx.modules.app.service.*;
import com.sqx.modules.app.utils.JwtUtils;
import com.sqx.modules.app.utils.UserConstantInterface;
import com.sqx.modules.common.entity.CommonInfo;
import com.sqx.modules.common.service.CommonInfoService;
import com.sqx.modules.course.dao.CourseDao;
import com.sqx.modules.course.entity.Course;
import com.sqx.modules.discSpinning.service.DiscSpinningService;
import com.sqx.modules.file.utils.Md5Utils;
import com.sqx.modules.invite.service.InviteService;
@@ -130,6 +133,8 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
@Autowired
private CourseDao courseDao;
public UserServiceImpl(@Lazy AliService aliService, UserInfoService userInfoService, UserVipDao userVipDao, InviteAchievementService inviteAchievementService) {
this.aliService = aliService;
@@ -1423,8 +1428,21 @@ public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements
}
PageHelper.startPage(page.intValue(), limit.intValue());
List<Map<String, Object>> list = baseMapper.queryCourseOrder(type, startTime, endTime, sysUserId);
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
List<CourseOrderResponse> courseList = courseDao.selectGroupCourseId(startTime, endTime);
Set<Long> collect = courseList.stream().map(CourseOrderResponse::getCourseId).collect(Collectors.toSet());
if (!collect.isEmpty()) {
Map<Long, Course> courseMap = courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, collect).select(Course::getCourseId, Course::getTitle))
.stream().collect(Collectors.toMap(Course::getCourseId, item -> item));
courseList.forEach(item -> {
Course course = courseMap.get(item.getCourseId());
if (course != null) {
item.setCoursename(course.getTitle());
}
});
}
PageInfo<CourseOrderResponse> pageInfo = new PageInfo<>(courseList);
// List<Map<String, Object>> list = baseMapper.queryCourseOrder(type, startTime, endTime, sysUserId);
// PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
return PageUtils.page(pageInfo, true);
}

View File

@@ -77,7 +77,7 @@ public class AppCourseController extends AbstractController {
@GetMapping("/selectCourseDetailsList")
@ApiOperation("查询推荐视频")
public Result selectCourseDetailsList(@RequestHeader("token") String token) {
public Result selectCourseDetailsList(@RequestHeader(value = "token", required= false) String token) {
return courseDetailsService.selectCourseDetailsList(token);
}

View File

@@ -1,6 +1,7 @@
package com.sqx.modules.course.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sqx.modules.app.response.CourseOrderResponse;
import com.sqx.modules.course.entity.Course;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -39,4 +40,6 @@ public interface CourseDao extends BaseMapper<Course> {
* @return
*/
List<Map<String, Object>> selectCourseTitle(@Param("title")String title);
List<CourseOrderResponse> selectGroupCourseId(@Param("start")String startTime, @Param("end") String endTime);
}

View File

@@ -241,8 +241,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
map.put("list", courseDetailsSetVos);
return new Result().put("data", map);
} catch (Exception e) {
log.error("请求剧集异常打印:");
e.printStackTrace();
log.error("请求剧集异常打印:",e);
return Result.error("请求剧集失败");
}
}

View File

@@ -192,17 +192,19 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
PageHelper.startPage(page, limit);
if (admin == null) {
List<Map<String, Object>> map = baseMapper.selectCourse(classifyId, title, isRecommend, status, bannerId,
List<Map<String, Object>> map = baseMapper.selectCourse(classifyId, title, isRecommend, 1, bannerId,
sort, startTime, endTime, userId, isPrice, over, wxCourse, dyCourse, wxShow, dyShow);
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(map);
List<Map<String, Object>> records = pageInfo.getList();
for (Map<String, Object> m : records) {
Integer i = courseDetailsDao.selectCount(new QueryWrapper<CourseDetails>().eq("course_id", m.get("courseId")));
if (i != null && i.equals(0)) {
baseMapper.update(null, new LambdaUpdateWrapper<Course>()
.eq(Course::getCourseId, m.get("courseId"))
.set(Course::getUpdateTime, DateUtil.now())
.set(Course::getStatus, 2));
}
m.put("courseDetailsCount", i == null ? 0 : i);
m.put("courseDetailsId", null);
m.put("courseDetailsName", "");
m.put("dyEpisodeId", "");
m.put("wxCourseDetailsId", "");
m.put("courseId", m.get("courseId").toString());
}
PageUtils pageUtils = PageUtils.page(pageInfo);
@@ -222,10 +224,10 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
Map<String, Object> countMap = courseDetailsDao.countCourse(courseId);
BigDecimal payMoney = ordersDao.sumPayByCourseId(courseId);
map.put("payMoney", payMoney == null ? BigDecimal.ZERO : payMoney);
map.put("courseDetailsId", null);
map.put("courseDetailsName", "");
map.put("dyEpisodeId", "");
map.put("wxCourseDetailsId", "");
// map.put("courseDetailsId", null);
// map.put("courseDetailsName", "");
// map.put("dyEpisodeId", "");
// map.put("wxCourseDetailsId", "");
map.putAll(countMap);
map.put("courseId", map.get("courseId").toString());
}

View File

@@ -0,0 +1,29 @@
package com.sqx.nsqChannel;
import com.sqx.nsqChannel.channels.Print2MessageHandlerAdapter;
import com.sqx.nsqChannel.channels.PrintMessageHandlerAdapter;
import com.sqx.nsqChannel.config.NSQConsumers;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
@Service
@Slf4j
public class NsqConfig {
// /**
// * 端口号
// */
// @Value("${nsq.port}")
// private int port;
//
// @Value("${nsq.address}")
// private String address;
//
// @PostConstruct
// public void startNSQChannel() {
// new NSQConsumers(address, port, "test", "ch1", new Print2MessageHandlerAdapter());
// new NSQConsumers(address, port, "test", "ch2", new PrintMessageHandlerAdapter());
// }
}

View File

@@ -0,0 +1,13 @@
package com.sqx.nsqChannel.channels;
import com.sqx.nsqChannel.config.NSQMessageHandlerAdapter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Print2MessageHandlerAdapter extends NSQMessageHandlerAdapter {
@Override
public void handleMessage(byte[] message) {
System.out.println("Print2MessageHandlerAdapter message: " + new String(message));
}
}

View File

@@ -0,0 +1,15 @@
package com.sqx.nsqChannel.channels;
import com.sqx.nsqChannel.config.NSQMessageHandlerAdapter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class PrintMessageHandlerAdapter extends NSQMessageHandlerAdapter {
@Override
public void handleMessage(byte[] message) {
System.out.println("PrintMessageHandlerAdapter message: " + new String(message));
}
}

View File

@@ -0,0 +1,45 @@
package com.sqx.nsqChannel.config;
import com.github.brainlag.nsq.NSQConsumer;
import com.github.brainlag.nsq.lookup.DefaultNSQLookup;
import com.github.brainlag.nsq.lookup.NSQLookup;
public class NSQConsumers {
private final String nsqLookupAddress;
private final int nsqLookupPort;
private final String topics;
private final String channelName;
private final NSQMessageHandlerAdapter handlerAdapter;
private NSQConsumer consumer;
public NSQConsumers(String nsqLookupAddress, int nsqLookupPort,String topics, String channelName, NSQMessageHandlerAdapter handlerAdapter) {
this.nsqLookupAddress = nsqLookupAddress;
this.nsqLookupPort = nsqLookupPort;
this.topics = topics;
this.channelName = channelName;
this.handlerAdapter = handlerAdapter;
start();
}
public void start() {
try {
NSQLookup lookup = new DefaultNSQLookup();
lookup.addLookupAddress(nsqLookupAddress, nsqLookupPort);
consumer = new NSQConsumer(lookup, topics, channelName, (message) -> {
handlerAdapter.handleMessage(message.getMessage());
message.finished();
});
consumer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
public void stop() {
if (consumer != null) {
consumer.shutdown();
}
}
}

View File

@@ -0,0 +1,6 @@
package com.sqx.nsqChannel.config;
public abstract class NSQMessageHandlerAdapter {
public abstract void handleMessage(byte[] message);
}