package com.panzhihua.service_jinhui_community.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActWorkGuideClassifyVO; import com.panzhihua.service_jinhui_community.dao.JinhuiComActWorkGuideClassifyDao; import com.panzhihua.service_jinhui_community.dao.JinhuiComActWorkGuideDAO; import com.panzhihua.service_jinhui_community.entity.JinhuiComActWorkGuide; import com.panzhihua.service_jinhui_community.entity.JinhuiComActWorkGuideClassify; import com.panzhihua.service_jinhui_community.service.JinhuiComActWorkGuideClassifyService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * title: ComActWorkGuideClassifyServiceImpl 社区》办事指南》分类管理服务实现类 * projectName 成都呐喊信息技术有限公司-智慧社区项目 * description: 社区》办事指南》分类管理服务实现类 * * @author txb * @date 2021/8/31 14:21 */ @Slf4j @Service public class JinhuiComActWorkGuideClassifyServiceImpl extends ServiceImpl implements JinhuiComActWorkGuideClassifyService { @Resource private JinhuiComActWorkGuideClassifyDao comActWorkGuideClassifyDAO; @Resource private JinhuiComActWorkGuideDAO comActWorkGuideDAO; @Override public R pageWorkGuideClassify(ComActWorkGuideClassifyVO comActWorkGuideClassifyVO) { Page page = new Page<>(); Long pageNum = comActWorkGuideClassifyVO.getPageNum(); Long pageSize = comActWorkGuideClassifyVO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1L; } if (null == pageSize || 0 == pageSize) { pageSize = 10L; } page.setSize(pageSize); page.setCurrent(pageNum); IPage iPage = comActWorkGuideClassifyDAO.pageWorkGuideClassify(page, comActWorkGuideClassifyVO); return R.ok(iPage); } @Override public R addWorkGuideClassify(ComActWorkGuideClassifyVO comActWorkGuideClassifyVO) { if (null != comActWorkGuideClassifyVO.getId() && comActWorkGuideClassifyVO.getId() != 0) { // 修改 JinhuiComActWorkGuideClassify comActWorkGuideClassifyDO = comActWorkGuideClassifyDAO.selectById(comActWorkGuideClassifyVO.getId()); if (null == comActWorkGuideClassifyDO) { return R.fail("该办事指南分类不存在"); } JinhuiComActWorkGuideClassify checkCreditCode = comActWorkGuideClassifyDAO.selectOne( new QueryWrapper().lambda() .eq(JinhuiComActWorkGuideClassify::getClassifyName, comActWorkGuideClassifyVO.getClassifyName()) .eq(JinhuiComActWorkGuideClassify::getAreaCode, comActWorkGuideClassifyVO.getAreaCode())); if (null != checkCreditCode && !comActWorkGuideClassifyDO.getId().equals(checkCreditCode.getId())) { return R.fail("该办事指南分类已存在,办事指南分类名称重复"); } BeanUtils.copyProperties(comActWorkGuideClassifyVO, comActWorkGuideClassifyDO); int update = comActWorkGuideClassifyDAO.updateById(comActWorkGuideClassifyDO); if (update > 0) { return R.ok(); } } else { // 新增 Integer count = comActWorkGuideClassifyDAO.selectCount( new QueryWrapper().lambda() .eq(JinhuiComActWorkGuideClassify::getClassifyName, comActWorkGuideClassifyVO.getClassifyName()) .eq(JinhuiComActWorkGuideClassify::getAreaCode, comActWorkGuideClassifyVO.getAreaCode())); if (count > 0) { return R.fail("该办事指南分类已存在,办事指南分类名称重复"); } JinhuiComActWorkGuideClassify comActWorkGuideClassifyDO = new JinhuiComActWorkGuideClassify(); BeanUtils.copyProperties(comActWorkGuideClassifyVO, comActWorkGuideClassifyDO); comActWorkGuideClassifyDO.setCreateAt(new Date()); int insert = comActWorkGuideClassifyDAO.insert(comActWorkGuideClassifyDO); if (insert > 0) { return R.ok(); } } return R.fail("添加失败"); } @Override public R deleteWorkGuideClassify(String workGuideClassifyId) { // 查询特殊群体人员 JinhuiComActWorkGuideClassify comActWorkGuideClassifyDO = comActWorkGuideClassifyDAO.selectById(workGuideClassifyId); if (comActWorkGuideClassifyDO == null) { return R.fail("办事指南分类不存在"); } Integer count = comActWorkGuideDAO.selectCount(new QueryWrapper() .lambda().eq(JinhuiComActWorkGuide::getClassify,workGuideClassifyId)); if(count > 0){ return R.fail("该分类下存在办事指南,不可删除"); } int delete = comActWorkGuideClassifyDAO.deleteById(workGuideClassifyId); if (delete > 0) { return R.ok(); } return R.fail("删除失败"); } @Override public R getWorkGuideClassifyList(String areaCode) { List comActWorkGuideClassifyDOS = comActWorkGuideClassifyDAO .selectList(new QueryWrapper() .lambda().eq(JinhuiComActWorkGuideClassify::getAreaCode,areaCode)); List comActWorkGuideClassifyVOList = new ArrayList<>(); if (comActWorkGuideClassifyDOS != null && comActWorkGuideClassifyDOS.size() > 0) { comActWorkGuideClassifyDOS.forEach(comActWorkGuideClassifyDO -> { ComActWorkGuideClassifyVO comActWorkGuideClassifyVO = new ComActWorkGuideClassifyVO(); BeanUtils.copyProperties(comActWorkGuideClassifyDO, comActWorkGuideClassifyVO); comActWorkGuideClassifyVOList.add(comActWorkGuideClassifyVO); }); } return R.ok(comActWorkGuideClassifyVOList); } }