From b4d50f4592010df944515aecb37884cb8e3e55a0 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 08 十月 2021 11:33:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test
---
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