package com.xcong.farmer.cms.modules.system.service.Impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xcong.farmer.cms.common.contants.AppContants;
|
import com.xcong.farmer.cms.common.response.Result;
|
import com.xcong.farmer.cms.modules.system.dto.AdminAddMessageDto;
|
import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto;
|
import com.xcong.farmer.cms.modules.system.dto.AdminMessageBoardDto;
|
import com.xcong.farmer.cms.modules.system.entity.CompanyEntity;
|
import com.xcong.farmer.cms.modules.system.entity.MessageBoardEntity;
|
import com.xcong.farmer.cms.modules.system.entity.UserEntity;
|
import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper;
|
import com.xcong.farmer.cms.modules.system.mapper.MessageBoardMapper;
|
import com.xcong.farmer.cms.modules.system.service.IMessageBoardService;
|
import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
|
import com.xcong.farmer.cms.modules.system.vo.AdminMessageBoardVo;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
@Service
|
@Slf4j
|
public class MessageBoardServiceImpl extends ServiceImpl<MessageBoardMapper, MessageBoardEntity> implements IMessageBoardService {
|
|
@Resource
|
private CompanyMapper companyMapper;
|
|
@Override
|
public Result getMessageInPage(AdminMessageBoardDto adminMessageBoardDto) {
|
MessageBoardEntity messageBoardEntity = new MessageBoardEntity();
|
UserEntity userlogin = LoginUserUtil.getLoginUser();
|
Long companyId = userlogin.getCompanyId();
|
if(UserEntity.USER_BELONG_TOP != companyId){
|
messageBoardEntity.setCompanyId(companyId);
|
}
|
String queryKey = adminMessageBoardDto.getQueryKey();
|
if(StrUtil.isNotEmpty(queryKey)){
|
messageBoardEntity.setName(queryKey);
|
messageBoardEntity.setRemark(queryKey);
|
}
|
Page<AdminMessageBoardVo> page = new Page<>(adminMessageBoardDto.getPageNum(), adminMessageBoardDto.getPageSize());
|
IPage<AdminMessageBoardVo> list = this.baseMapper.selectAdminMessageBoardInPage(page, messageBoardEntity);
|
return Result.ok(list);
|
}
|
|
@Override
|
@Transactional
|
public Result delObjs(AdminDeleteDto adminDeleteDto) {
|
String ids = adminDeleteDto.getIds();
|
if(StrUtil.isNotEmpty(ids)){
|
String[] messageIds = ids.split(StringPool.COMMA);
|
for(String messageIdStr : messageIds){
|
Long messageId = Long.valueOf(messageIdStr);
|
this.baseMapper.deleteById(messageId);
|
}
|
}
|
return Result.ok("删除成功");
|
}
|
|
@Override
|
public Result addMessage(HttpServletRequest request, AdminAddMessageDto adminAddMessageDto) {
|
String website = request.getHeader(AppContants.WEBSITE_HEADER);
|
Long companyId = getCompanyIdFromWebsite(website);
|
|
String title = adminAddMessageDto.getTitle();
|
String remark = adminAddMessageDto.getRemark();
|
if(StrUtil.isEmpty(title) && StrUtil.isEmpty(remark)){
|
return Result.fail("请输入留言");
|
}
|
MessageBoardEntity messageBoardEntity = new MessageBoardEntity();
|
messageBoardEntity.setName(adminAddMessageDto.getName());
|
messageBoardEntity.setContactValue(adminAddMessageDto.getContactValue());
|
messageBoardEntity.setTitle(adminAddMessageDto.getTitle());
|
messageBoardEntity.setRemark(adminAddMessageDto.getRemark());
|
messageBoardEntity.setCreateTime(DateUtil.date());
|
messageBoardEntity.setParamOne(adminAddMessageDto.getParamOne());
|
messageBoardEntity.setParamTwo(adminAddMessageDto.getParamTwo());
|
if(companyId > 0L){
|
messageBoardEntity.setCompanyId(companyId);
|
}
|
this.baseMapper.insert(messageBoardEntity);
|
return Result.ok("留言成功");
|
}
|
|
private Long getCompanyIdFromWebsite(String website){
|
List<CompanyEntity> companyEntities = companyMapper.selectList(new QueryWrapper<>());
|
Long companyId = 0L;
|
if(CollUtil.isNotEmpty(companyEntities)){
|
for(CompanyEntity companyEntity : companyEntities){
|
boolean contains = StrUtil.contains(website, companyEntity.getWebAddress());
|
if(contains){
|
companyId = companyEntity.getId();
|
}
|
}
|
}
|
return companyId;
|
}
|
}
|