123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package com.fdkankan.tk.inner.service;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.fdkankan.tk.common.PageInfo;
- import com.fdkankan.tk.common.ResultCode;
- import com.fdkankan.tk.common.util.RoomUtil;
- import com.fdkankan.tk.entity.Room;
- import com.fdkankan.tk.entity.RoomShareLog;
- import com.fdkankan.tk.exception.BusinessException;
- import com.fdkankan.tk.inner.request.InnerRoomParam;
- import com.fdkankan.tk.response.RoomInnerVo;
- import com.fdkankan.tk.response.RoomVo;
- import com.fdkankan.tk.service.IRoomNumService;
- import com.fdkankan.tk.service.IRoomService;
- import com.fdkankan.tk.service.IRoomShareLogService;
- import com.fdkankan.tk.service.IRoomVisitLogService;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- @Service
- public class InnerService {
- @Autowired
- IRoomService roomService;
- @Autowired
- IRoomNumService roomNumService;
- @Autowired
- IRoomShareLogService roomShareLogService;
- @Autowired
- IRoomVisitLogService roomVisitLogService;
- public Object roomList(InnerRoomParam param) {
- LambdaQueryWrapper<Room> wrapper = new LambdaQueryWrapper<>();
- if(param.getSource() != null && param.getSource() == 1){
- wrapper.in(Room::getRoomStatus,0,1);
- }
- if(StringUtils.isNotBlank(param.getRoomTitle())){
- wrapper.like(Room::getRoomTitle,param.getRoomTitle());
- }
- if(StringUtils.isNotBlank(param.getRoomUserName())){
- wrapper.like(Room::getRoomUserName,param.getRoomUserName());
- }
- if(param.getIsShow()!=null){
- wrapper.eq(Room::getIsShow,param.getIsShow());
- }
- if(StringUtils.isNotBlank(param.getField())){
- wrapper.last(","+param.getField() + " "+ param.getOrder());
- }else if(param.getSource() == 0) {
- wrapper.orderByDesc(Room::getCreateTime);
- }else if(param.getSource() == 1) {
- wrapper.orderByDesc(Room::getLastLookTime);
- }
- wrapper.orderByDesc(Room::getIsShow);
- Page<Room> page = roomService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
- List<RoomInnerVo> list = new ArrayList<>();
- for (Room record : page.getRecords()) {
- List<String> numList = roomNumService.getListByRoomId(record.getRoomId());
- RoomInnerVo roomVo = new RoomInnerVo();
- BeanUtils.copyProperties(record,roomVo);
- if(RoomUtil.ev.contains("eur")){
- roomVo.setSceneNumList(numList);
- }
- list.add(roomVo);
- }
- Page<RoomInnerVo> pageVo = new Page<>(param.getPageNum(),param.getPageSize());
- for (RoomInnerVo record : list) {
- Long visitCount = roomVisitLogService.getCountByRoomIds(Arrays.asList(record.getRoomId()));
- Long shareCount = roomShareLogService.getCountByRoomIds(Arrays.asList(record.getRoomId()));
- record.setLookManCount(visitCount);
- record.setShareCount(shareCount);
- }
- pageVo.setTotal(page.getTotal());
- pageVo.setRecords(list);
- return PageInfo.PageInfo(pageVo);
- }
- public void updateRoomShow(InnerRoomParam param) {
- if(param.getRoomId() == null && param.getIsShow() == null ){
- throw new BusinessException(ResultCode.PARAM_MISS);
- }
- Room room = roomService.getById(param.getRoomId());
- if(room == null || room.getRoomStatus() == 2){
- throw new BusinessException(ResultCode.ROOM_END);
- }
- LambdaUpdateWrapper<Room> wrapper = new LambdaUpdateWrapper<>();
- wrapper.eq(Room::getRoomId,param.getRoomId());
- wrapper.set(Room::getIsShow,param.getIsShow());
- roomService.update(wrapper);
- }
- public void deleteRoom(InnerRoomParam param) {
- if(StringUtils.isBlank(param.getRoomId())){
- throw new BusinessException(ResultCode.PARAM_MISS);
- }
- roomService.deleteById(param.getRoomId());
- }
- }
|