1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.fdkankan.fusion.service.impl;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Set;
- import java.util.stream.Collectors;
- import cn.dev33.satoken.stp.StpUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.fdkankan.fusion.common.PageInfo;
- import com.fdkankan.fusion.common.ResultCode;
- import com.fdkankan.fusion.common.enums.IdPreEnum;
- import com.fdkankan.fusion.common.util.IdUtils;
- import com.fdkankan.fusion.entity.TmMessage;
- import com.fdkankan.fusion.entity.TmProject;
- import com.fdkankan.fusion.entity.TmUser;
- import com.fdkankan.fusion.exception.BusinessException;
- import com.fdkankan.fusion.mapper.ITmMessageMapper;
- import com.fdkankan.fusion.request.MessageReqDto;
- import com.fdkankan.fusion.service.ITmMessageService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.fusion.service.ITmProjectService;
- import com.fdkankan.fusion.service.ITmUserService;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- /**
- * <p>
- * 留言信息表 服务实现类
- * </p>
- *
- * @author
- * @since 2023-07-28
- */
- @Service
- public class TmMessageServiceImpl extends ServiceImpl<ITmMessageMapper, TmMessage> implements ITmMessageService {
- @Autowired
- ITmProjectService tmProjectService;
- @Autowired
- ITmUserService tmUserService;
- @Override
- public void addNew(MessageReqDto body) {
- if(StringUtils.isBlank(body.getProjectId()) || StringUtils.isBlank(body.getContent())){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- TmProject tmProject = tmProjectService.getById(body.getProjectId());
- if(null == tmProject){
- throw new BusinessException(ResultCode.PROJECT_NOT_EXITS);
- }
- TmMessage tmMessage = new TmMessage();
- tmMessage.setId(IdUtils.genId(IdPreEnum.MESSAGE_PRE.getPre()));
- tmMessage.setContent(body.getContent());
- tmMessage.setProjectId(body.getProjectId());
- tmMessage.setUserId((String) StpUtil.getLoginId());
- tmMessage.setCreatorId((String) StpUtil.getLoginId());
- this.save(tmMessage);
- }
- @Override
- public Object pageList(MessageReqDto messageReqDto) {
- if( StringUtils.isBlank(messageReqDto.getProjectId())){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- LambdaQueryWrapper<TmMessage> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(TmMessage::getProjectId,messageReqDto.getProjectId());
- wrapper.orderByDesc(TmMessage::getCreateTime);
- Page<TmMessage> page = this.page(new Page<>(messageReqDto.getPageNum(), messageReqDto.getPageSize()), wrapper);
- Set<String> createorIds = page.getRecords().stream().map(TmMessage::getCreatorId).collect(Collectors.toSet());
- HashMap<String, TmUser> map = new HashMap<>();
- if(createorIds.size() >0){
- map = tmUserService.getByIds(createorIds);
- }
- for (TmMessage record : page.getRecords()) {
- TmUser tmUser = map.get(record.getCreatorId());
- if(tmUser != null){
- record.setUserName(tmUser.getNickName());
- }
- }
- return PageInfo.PageInfo(page);
- }
- }
|