From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 233 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java new file mode 100644 index 0000000..f927343 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java @@ -0,0 +1,233 @@ +package com.panzhihua.service_community.service.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.SystemmanagementConfigVO; +import com.panzhihua.common.model.vos.community.ComMngStructBuildTypeVO; +import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO; +import com.panzhihua.service_community.dao.ComMngStructBuildTypeDAO; +import com.panzhihua.service_community.dao.ComMngStructOtherBuildDAO; +import com.panzhihua.service_community.model.dos.ComMngStructBuildTypeDO; +import com.panzhihua.service_community.model.dos.ComMngStructOtherBuildDO; +import com.panzhihua.service_community.service.ComMngStructOtherBuildService; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: ComMngStructOtherBuildService + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-12-16 15:27 + **/ +@Service +public class ComMngStructOtherBuildServiceImpl implements ComMngStructOtherBuildService { + @Resource + private ComMngStructOtherBuildDAO comMngStructOtherBuildDAO; + @Resource + private ComMngStructBuildTypeDAO comMngStructBuildTypeDAO; + + /** + * 新增其他建筑 + * + * @param comMngStructOtherBuildVO + * 建筑参数 + * @return 新增结果 + */ + @Override + public R addOtherbuild(ComMngStructOtherBuildVO comMngStructOtherBuildVO) { + ComMngStructOtherBuildDO comMngStructOtherBuildDO = new ComMngStructOtherBuildDO(); + BeanUtils.copyProperties(comMngStructOtherBuildVO, comMngStructOtherBuildDO); + int insert = comMngStructOtherBuildDAO.insert(comMngStructOtherBuildDO); + if (insert > 0) { + return R.ok(); + } + return R.fail(); + } + + /** + * 查询所有建筑类型 + * + * @return 类型列表 + */ + @Override + public R listBuildType() { + List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOS = new ArrayList<>(); + List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = + comMngStructBuildTypeDAO.selectList(new LambdaQueryWrapper<>()); + if (!ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) { + comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> { + ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO(); + BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO); + comMngStructBuildTypeVOS.add(comMngStructBuildTypeVO); + }); + } + return R.ok(comMngStructBuildTypeVOS); + } + + /** + * 分页查询 其他建筑 + * + * @param comMngStructOtherBuildVO + * 分页查询参数 + * @return 查询结果 + */ + @Override + public R pageOtherBuild(ComMngStructOtherBuildVO comMngStructOtherBuildVO) { + Page page = new Page<>(); + Long pageNum = comMngStructOtherBuildVO.getPageNum(); + Long pageSize = comMngStructOtherBuildVO.getPageSize(); + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; + } + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComMngStructOtherBuildVO> iPage = + comMngStructOtherBuildDAO.pageOtherBuild(page, comMngStructOtherBuildVO); + return R.ok(iPage); + } + + /** + * 建筑类型 + * + * @param communityId + * 社区id + * @return 建筑集合 + */ + @Override + public R listComMngStructBuildType(Long communityId) { + List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = + comMngStructBuildTypeDAO.selectList(new QueryWrapper<ComMngStructBuildTypeDO>().lambda() + .eq(ComMngStructBuildTypeDO::getCommunityId, communityId)); + if (ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) { + return R.fail(); + } + List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList = new ArrayList<>(); + comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> { + ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO(); + BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO); + comMngStructBuildTypeVOList.add(comMngStructBuildTypeVO); + }); + return R.ok(comMngStructBuildTypeVOList); + } + + /** + * 增加删除建筑类型 + * + * @param systemmanagementConfigVO + * 操作内容 + * @return 操作结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R putComMngStructBuildType(SystemmanagementConfigVO systemmanagementConfigVO) { + Long communityId = systemmanagementConfigVO.getCommunityId(); + List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList = + systemmanagementConfigVO.getComMngStructBuildTypeVOList(); + if (ObjectUtils.isEmpty(comMngStructBuildTypeVOList)) { + return R.fail("建筑类型不能为空"); + } + List<Long> collect = comMngStructBuildTypeVOList.stream() + .map(comMngStructBuildTypeVO -> comMngStructBuildTypeVO.getId()).collect(Collectors.toList()); + List<Long> buildTypdIds = comMngStructOtherBuildDAO.selectAllBuildTypeIds(communityId); + buildTypdIds.forEach(aLong -> { + if (!collect.contains(aLong)) { + ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(aLong); + if (!ObjectUtils.isEmpty(comMngStructBuildTypeDO)) { + throw new ServiceException(comMngStructBuildTypeDO.getName() + "已经在使用无法删除"); + } + } + }); + comMngStructBuildTypeDAO.delete(new QueryWrapper<ComMngStructBuildTypeDO>().lambda() + .eq(ComMngStructBuildTypeDO::getCommunityId, communityId)); + comMngStructBuildTypeVOList.forEach(comMngStructBuildTypeVO -> { + String name = comMngStructBuildTypeVO.getName(); + if (ObjectUtils.isEmpty(name)) { + throw new RuntimeException("建筑类型名称不能为空"); + } + ComMngStructBuildTypeDO comMngStructBuildTypeDO = new ComMngStructBuildTypeDO(); + comMngStructBuildTypeDO.setCommunityId(communityId); + comMngStructBuildTypeDO.setName(name); + comMngStructBuildTypeDAO.insert(comMngStructBuildTypeDO); + }); + return R.ok(); + } + + /** + * 其他建筑详情 + * + * @param id + * 主键id + * @return 建筑内容 + */ + @Override + public R detailOtherbuild(Long id) { + ComMngStructOtherBuildDO comMngStructOtherBuildDO = comMngStructOtherBuildDAO.selectById(id); + if (ObjectUtils.isEmpty(comMngStructOtherBuildDO)) { + return R.fail("建筑不存在"); + } + Long typeId = comMngStructOtherBuildDO.getTypeId(); + ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(typeId); + if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) { + return R.fail("建筑类型不存在"); + } + ComMngStructOtherBuildVO comMngStructOtherBuildVO = new ComMngStructOtherBuildVO(); + BeanUtils.copyProperties(comMngStructOtherBuildDO, comMngStructOtherBuildVO); + comMngStructOtherBuildVO.setBuileTypeName(comMngStructBuildTypeDO.getName()); + return R.ok(comMngStructOtherBuildVO); + } + + /** + * 编辑其他建筑 + * + * @param comMngStructOtherBuildVO + * 编辑内容 + * @return 编辑结果 + */ + @Override + public R putOtherbuild(ComMngStructOtherBuildVO comMngStructOtherBuildVO) { + Long typeId = comMngStructOtherBuildVO.getTypeId(); + ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(typeId); + if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) { + return R.fail("建筑类型不存在"); + } + ComMngStructOtherBuildDO comMngStructOtherBuildDO = new ComMngStructOtherBuildDO(); + BeanUtils.copyProperties(comMngStructOtherBuildVO, comMngStructOtherBuildDO); + int update = comMngStructOtherBuildDAO.updateById(comMngStructOtherBuildDO); + if (update > 0) { + return R.ok("编辑成功过"); + } + return R.fail("编辑失败"); + } + + /** + * 删除其他建筑 + * + * @param id + * 主键 + * @return 删除结果 + */ + @Override + public R deleteOtherbuild(Long id) { + int delete = comMngStructOtherBuildDAO.deleteById(id); + if (delete > 0) { + return R.ok(); + } + return R.fail("删除失败"); + } +} -- Gitblit v1.7.1