package com.panzhihua.service_community.service.impl; import java.util.Date; import com.panzhihua.service_community.dao.ComActNeighborCircleDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleTopicNewMapper; import com.panzhihua.service_community.model.dos.ComActNeighborCircleDO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.neighbor.AddNeighborCircleTopicAdminDTO; import com.panzhihua.common.model.dtos.neighbor.AddNeighborCircleTopicAppDTO; import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleTopicAdminDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.dao.ComActNeighborCircleTopicMapper; import com.panzhihua.service_community.model.dos.ComActNeighborCircleTopicDO; import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; import lombok.extern.slf4j.Slf4j; import javax.annotation.Resource; /** * @auther lyq * @create 2021-07-06 15:04:37 * @describe 邻里圈话题表服务实现类 */ @Slf4j @Service public class ComActNeighborCircleTopicServiceImpl extends ServiceImpl implements ComActNeighborCircleTopicService { @Resource private ComActNeighborCircleDAO comActNeighborCircleDAO; @Autowired private ComActNeighborCircleTopicNewMapper comActNeighborCircleTopicNewMapper; /** * 分页查询邻里圈话题列表 * * @param circleTopicAdminDTO * 请求参数 * @return 邻里圈话题列表 */ @Override public R pageNeighborTopicByAdmin(ComActNeighborCircleTopicAdminDTO circleTopicAdminDTO) { return R.ok(this.baseMapper.pageNeighborTopicByAdmin( new Page(circleTopicAdminDTO.getPageNum(), circleTopicAdminDTO.getPageSize()), circleTopicAdminDTO)); } /** * 添加邻里圈话题 * * @param addCircleTopicAdminDTO * 请求参数 * @return 添加结果 */ @Override public R addNeighborTopicByAdmin(AddNeighborCircleTopicAdminDTO addCircleTopicAdminDTO) { ComActNeighborCircleTopicDO circleTopicDO = this.baseMapper.selectOne(new QueryWrapper().lambda() .eq(ComActNeighborCircleTopicDO::getName, addCircleTopicAdminDTO.getName()) ); if (circleTopicDO != null) { return R.fail("该话题已存在"); } circleTopicDO = new ComActNeighborCircleTopicDO(); BeanUtils.copyProperties(addCircleTopicAdminDTO, circleTopicDO); circleTopicDO.setCreateAt(new Date()); circleTopicDO.setCreateBy(addCircleTopicAdminDTO.getUserId()); if (this.baseMapper.insert(circleTopicDO) > 0) { return R.ok(); } return R.fail("添加失败"); } /** * 编辑邻里圈话题 * * @param addCircleTopicAdminDTO * 请求参数 * @return 编辑结果 */ @Override public R editNeighborTopicByAdmin(AddNeighborCircleTopicAdminDTO addCircleTopicAdminDTO) { ComActNeighborCircleTopicDO circleTopicDO = this.baseMapper.selectById(addCircleTopicAdminDTO.getId()); if (circleTopicDO == null) { return R.fail("未找到邻里圈话题记录"); } BeanUtils.copyProperties(addCircleTopicAdminDTO, circleTopicDO); if (this.baseMapper.updateById(circleTopicDO) > 0) { return R.ok(); } return R.fail("修改失败"); } /** * 小程序查询邻里圈话题列表 * * 社区id * @return 邻里圈话题列表 */ @Override public R getNeighborTopicByApp(String name){ return R.ok(this.baseMapper.getNeighborTopicByApp(name)); } @Override public R getNeighborTopicByAppNew(String name) { return R.ok(comActNeighborCircleTopicNewMapper.getNeighborTopicByAppNew(name)); } /** * 小程序-用户新增话题 * @param circleTopicAppDTO 请求参数 * @return 新增结果 */ @Override public R addNeighborTopicByApp(AddNeighborCircleTopicAppDTO circleTopicAppDTO){ ComActNeighborCircleTopicDO circleTopicDO = this.baseMapper.selectOne(new QueryWrapper() .lambda().eq(ComActNeighborCircleTopicDO::getCommunityId,circleTopicAppDTO.getCommunityId()) .eq(ComActNeighborCircleTopicDO::getName,circleTopicAppDTO.getName()) .eq(ComActNeighborCircleTopicDO::getBelongType,circleTopicAppDTO.getBelongType())); if(circleTopicDO == null){ circleTopicDO = new ComActNeighborCircleTopicDO(); circleTopicDO.setCommunityId(circleTopicAppDTO.getCommunityId()); circleTopicDO.setName(circleTopicAppDTO.getName()); circleTopicDO.setCreateBy(circleTopicAppDTO.getUserId()); circleTopicDO.setCreateAt(new Date()); circleTopicDO.setCount(0); circleTopicDO.setHotNum(0L); circleTopicDO.setStatus(ComActNeighborCircleTopicDO.status.yes); circleTopicDO.setBelongType(circleTopicAppDTO.getBelongType()); this.baseMapper.insert(circleTopicDO); } return R.ok(circleTopicDO); } @Override public R delete(Long id) { ComActNeighborCircleTopicDO comActNeighborCircleTopicDO=this.baseMapper.selectById(id); if(comActNeighborCircleTopicDO==null){ return R.fail("参数错误"); } Integer count=this.comActNeighborCircleDAO.selectCount(new QueryWrapper().lambda().eq(ComActNeighborCircleDO::getTopicId,id)); if(count>0){ return R.fail("请删除相应问题"); } return R.ok(this.baseMapper.deleteById(id)); } }