InnerService.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.fdkankan.tk.inner.service;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.fdkankan.tk.common.PageInfo;
  6. import com.fdkankan.tk.common.ResultCode;
  7. import com.fdkankan.tk.common.util.RoomUtil;
  8. import com.fdkankan.tk.entity.Room;
  9. import com.fdkankan.tk.entity.RoomShareLog;
  10. import com.fdkankan.tk.exception.BusinessException;
  11. import com.fdkankan.tk.inner.request.InnerRoomParam;
  12. import com.fdkankan.tk.response.RoomInnerVo;
  13. import com.fdkankan.tk.response.RoomVo;
  14. import com.fdkankan.tk.service.IRoomNumService;
  15. import com.fdkankan.tk.service.IRoomService;
  16. import com.fdkankan.tk.service.IRoomShareLogService;
  17. import com.fdkankan.tk.service.IRoomVisitLogService;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.springframework.beans.BeanUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import java.util.ArrayList;
  23. import java.util.Arrays;
  24. import java.util.List;
  25. @Service
  26. public class InnerService {
  27. @Autowired
  28. IRoomService roomService;
  29. @Autowired
  30. IRoomNumService roomNumService;
  31. @Autowired
  32. IRoomShareLogService roomShareLogService;
  33. @Autowired
  34. IRoomVisitLogService roomVisitLogService;
  35. public Object roomList(InnerRoomParam param) {
  36. LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
  37. if(param.getSource() != null && param.getSource() == 1){
  38. wrapper.in(Room::getRoomStatus,0,1);
  39. }
  40. if(StringUtils.isNotBlank(param.getRoomTitle())){
  41. wrapper.like(Room::getRoomTitle,param.getRoomTitle());
  42. }
  43. if(StringUtils.isNotBlank(param.getRoomUserName())){
  44. wrapper.like(Room::getRoomUserName,param.getRoomUserName());
  45. }
  46. if(param.getIsShow()!=null){
  47. wrapper.eq(Room::getIsShow,param.getIsShow());
  48. }
  49. if(StringUtils.isNotBlank(param.getField())){
  50. wrapper.last(","+param.getField() + " "+ param.getOrder());
  51. }else if(param.getSource() == 0) {
  52. wrapper.orderByDesc(Room::getCreateTime);
  53. }else if(param.getSource() == 1) {
  54. wrapper.orderByDesc(Room::getLastLookTime);
  55. }
  56. wrapper.orderByDesc(Room::getIsShow);
  57. Page<Room> page = roomService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  58. List<RoomInnerVo> list = new ArrayList<>();
  59. for (Room record : page.getRecords()) {
  60. List<String> numList = roomNumService.getListByRoomId(record.getRoomId());
  61. RoomInnerVo roomVo = new RoomInnerVo();
  62. BeanUtils.copyProperties(record,roomVo);
  63. if(RoomUtil.ev.contains("eur")){
  64. roomVo.setSceneNumList(numList);
  65. }
  66. list.add(roomVo);
  67. }
  68. Page<RoomInnerVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
  69. for (RoomInnerVo record : list) {
  70. Long visitCount = roomVisitLogService.getCountByRoomIds(Arrays.asList(record.getRoomId()));
  71. Long shareCount = roomShareLogService.getCountByRoomIds(Arrays.asList(record.getRoomId()));
  72. record.setLookManCount(visitCount);
  73. record.setShareCount(shareCount);
  74. }
  75. pageVo.setTotal(page.getTotal());
  76. pageVo.setRecords(list);
  77. return PageInfo.PageInfo(pageVo);
  78. }
  79. public void updateRoomShow(InnerRoomParam param) {
  80. if(param.getRoomId() == null && param.getIsShow() == null ){
  81. throw new BusinessException(ResultCode.PARAM_MISS);
  82. }
  83. Room room = roomService.getById(param.getRoomId());
  84. if(room == null || room.getRoomStatus() == 2){
  85. throw new BusinessException(ResultCode.ROOM_END);
  86. }
  87. LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
  88. wrapper.eq(Room::getRoomId,param.getRoomId());
  89. wrapper.set(Room::getIsShow,param.getIsShow());
  90. roomService.update(wrapper);
  91. }
  92. public void deleteRoom(InnerRoomParam param) {
  93. if(StringUtils.isBlank(param.getRoomId())){
  94. throw new BusinessException(ResultCode.PARAM_MISS);
  95. }
  96. roomService.deleteById(param.getRoomId());
  97. }
  98. }