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 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.List; @Service public class InnerService { @Autowired IRoomService roomService; @Autowired IRoomNumService roomNumService; @Autowired IRoomShareLogService roomShareLogService; public Object roomList(InnerRoomParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); 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 { wrapper.orderByDesc(Room::getCreateTime); } wrapper.orderByDesc(Room::getIsShow); Page page = roomService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); List list = new ArrayList<>(); for (Room record : page.getRecords()) { List 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 pageVo = new Page<>(param.getPageNum(),param.getPageSize()); 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); } LambdaUpdateWrapper 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()); } }