From 54ad966d0b142c97fc659263b51d1ea5d7b5c7c6 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期五, 28 五月 2021 16:17:08 +0800 Subject: [PATCH] 修改bug --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 105 insertions(+), 2 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 index 8f3d86e..3ff3c4b 100644 --- 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 @@ -1,9 +1,12 @@ package com.panzhihua.service_community.service.impl; +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; @@ -13,11 +16,13 @@ import com.panzhihua.service_community.service.ComMngStructOtherBuildService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -57,10 +62,10 @@ @Override public R listBuildType() { List<ComMngStructBuildTypeVO>comMngStructBuildTypeVOS=new ArrayList<>(); - List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(null); + List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(new LambdaQueryWrapper<>()); if (!ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) { - ComMngStructBuildTypeVO comMngStructBuildTypeVO=new ComMngStructBuildTypeVO(); comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> { + ComMngStructBuildTypeVO comMngStructBuildTypeVO=new ComMngStructBuildTypeVO(); BeanUtils.copyProperties(comMngStructBuildTypeDO,comMngStructBuildTypeVO); comMngStructBuildTypeVOS.add(comMngStructBuildTypeVO); }); @@ -111,4 +116,102 @@ }); 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