From 34b537c6834d099a76ed0a9164809eed05022b04 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期三, 30 六月 2021 16:57:45 +0800
Subject: [PATCH] 综治app-小区模块接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseUserServiceImpl.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseUserServiceImpl.java
index 23678dd..f6f48b1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseUserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseUserServiceImpl.java
@@ -1,11 +1,21 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.grid.AddComMngHousePopulationDTO;
+import com.panzhihua.common.model.dtos.grid.DelComMngHousePopulationDTO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.utlis.Snowflake;
 import com.panzhihua.service_community.dao.ComMngPopulationHouseUserDAO;
 import com.panzhihua.service_community.model.dos.ComMngPopulationHouseUserDO;
 import com.panzhihua.service_community.service.ComMngPopulationHouseUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @auther lyq
@@ -16,4 +26,62 @@
 @Service
 public class ComMngPopulationHouseUserServiceImpl extends ServiceImpl<ComMngPopulationHouseUserDAO, ComMngPopulationHouseUserDO> implements ComMngPopulationHouseUserService {
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R addBuildingHousePopulation(AddComMngHousePopulationDTO housePopulationDTO){
+        List<ComMngPopulationHouseUserDO> populationHouseUserDOList = new ArrayList<>();
+        if(!housePopulationDTO.getPopulationIds().isEmpty()){
+            housePopulationDTO.getPopulationIds().forEach(housePopulationId -> {
+                ComMngPopulationHouseUserDO populationHouseUserDO = this.baseMapper.selectOne(
+                        new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
+                                .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDTO.getHouseId())
+                                .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationId));
+                if(populationHouseUserDO == null){
+                    populationHouseUserDO = new ComMngPopulationHouseUserDO();
+                    populationHouseUserDO.setId(Snowflake.getId());
+                    populationHouseUserDO.setHouseId(housePopulationDTO.getHouseId());
+                    populationHouseUserDO.setPopulId(housePopulationId);
+                    populationHouseUserDO.setRelationId(ComMngPopulationHouseUserDO.relationId.zizhu);
+                    populationHouseUserDO.setStartAt(new Date());
+                    populationHouseUserDO.setCreateAt(new Date());
+                    if(housePopulationDTO.getType().equals(AddComMngHousePopulationDTO.type.hz)){
+                        populationHouseUserDO.setRelation(ComMngPopulationHouseUserDO.relation.hz);
+                    }
+                    populationHouseUserDOList.add(populationHouseUserDO);
+                }else{
+                    if(housePopulationDTO.getType().equals(AddComMngHousePopulationDTO.type.hz)){
+                        populationHouseUserDO.setRelation(ComMngPopulationHouseUserDO.relation.hz);
+                    }
+                    populationHouseUserDO.setRelationId(ComMngPopulationHouseUserDO.relationId.zizhu);
+                    this.baseMapper.updateById(populationHouseUserDO);
+                }
+            });
+        }
+        this.saveBatch(populationHouseUserDOList);
+        return R.ok();
+    }
+
+    @Override
+    public R delBuildingHousePopulation(DelComMngHousePopulationDTO housePopulationDTO){
+
+        ComMngPopulationHouseUserDO houseUserDO = this.baseMapper.selectById(housePopulationDTO.getHousePopulationId());
+        if(houseUserDO == null){
+            return R.fail("未查询到居住用户数据");
+        }
+        if(housePopulationDTO.getType().equals(DelComMngHousePopulationDTO.type.hz)){
+            if(houseUserDO.getRelationId() == null || !houseUserDO.getRelationId().equals(ComMngPopulationHouseUserDO.relationId.zizhu)){
+                this.baseMapper.deleteById(housePopulationDTO.getHousePopulationId());
+            }else{
+                this.baseMapper.delBuildingHousePopulationRelation(housePopulationDTO.getHousePopulationId());
+            }
+        }else{
+            if(houseUserDO.getRelation() == null || !houseUserDO.getRelation().equals(ComMngPopulationHouseUserDO.relation.hz)){
+                this.baseMapper.deleteById(housePopulationDTO.getHousePopulationId());
+            }else{
+                this.baseMapper.delBuildingHousePopulationRelationId(housePopulationDTO.getHousePopulationId());
+            }
+        }
+        return R.ok();
+    }
+
 }

--
Gitblit v1.7.1