From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 105 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java b/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
index 98fe896..af3be18 100644
--- a/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
+++ b/src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
@@ -16,17 +16,28 @@
*/
package org.springblade.modules.ownersCommittee.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
+import org.springblade.common.cache.SysCache;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.district.entity.DistrictEntity;
+import org.springblade.modules.district.service.IDistrictService;
import org.springblade.modules.ownersCommittee.dto.OwnersCommitteeDTO;
import org.springblade.modules.ownersCommittee.entity.OwnersCommitteeEntity;
-import org.springblade.modules.ownersCommittee.vo.OwnersCommitteeVO;
import org.springblade.modules.ownersCommittee.mapper.OwnersCommitteeMapper;
import org.springblade.modules.ownersCommittee.service.IOwnersCommitteeService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.ownersCommittee.vo.OwnersCommitteeVO;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 业委会表 服务实现类
@@ -39,6 +50,16 @@
@Override
public IPage<OwnersCommitteeVO> selectOwnersCommitteePage(IPage<OwnersCommitteeVO> page, OwnersCommitteeVO ownersCommittee) {
+ String userRole = AuthUtil.getUserRole();
+ // 街道身份,只查找该街道下面的业委会
+ if (userRole.contains("jdgly")) {
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId(),null);
+ IDistrictService bean = SpringUtils.getBean(IDistrictService.class);
+ List<DistrictEntity> list = bean.list(Wrappers.<DistrictEntity>lambdaQuery()
+ .in(DistrictEntity::getCommunityCode, regionChildCodesList));
+ List<String> fieldValues = list.stream().map(DistrictEntity::getId).collect(Collectors.toList());
+ ownersCommittee.setAreaIdList(fieldValues);
+ }
return page.setRecords(baseMapper.selectOwnersCommitteePage(page, ownersCommittee));
}
@@ -49,8 +70,7 @@
* @return 业委会表
*/
@Override
- public OwnersCommitteeDTO selectOwnersCommitteeById(Integer id)
- {
+ public OwnersCommitteeDTO selectOwnersCommitteeById(Integer id) {
return this.baseMapper.selectOwnersCommitteeById(id);
}
@@ -61,9 +81,87 @@
* @return 业委会表集合
*/
@Override
- public List<OwnersCommitteeDTO> selectOwnersCommitteeList(OwnersCommitteeDTO ownersCommitteeDTO)
- {
+ public List<OwnersCommitteeDTO> selectOwnersCommitteeList(OwnersCommitteeDTO ownersCommitteeDTO) {
return this.baseMapper.selectOwnersCommitteeList(ownersCommitteeDTO);
}
+ @Override
+ public Boolean saveOrUpdateOwnersCommittee(OwnersCommitteeEntity ownersCommittee) {
+ boolean b = saveOrUpdate(ownersCommittee);
+ if (b) {
+ // 更新负责人用户角色
+ IUserService bean = SpringUtils.getBean(IUserService.class);
+ User userInfo = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, ownersCommittee.getPrincipalId()));
+ // 判断角色
+ if (!userInfo.getRoleId().contains("1759487358708310017")) {
+ userInfo.setRoleId(userInfo.getRoleId() + ",1759487358708310017");
+ }
+ bean.updateById(userInfo);
+ }
+ //
+ return b;
+ }
+
+ @Override
+ public Boolean updateOwnersCommittee(OwnersCommitteeEntity ownersCommittee) {
+ OwnersCommitteeEntity one = getOne(Wrappers.<OwnersCommitteeEntity>lambdaQuery().eq(OwnersCommitteeEntity::getId, ownersCommittee.getId()));
+ // 负责人没有变化
+ if(one.getPrincipalId().equals(ownersCommittee.getPrincipalId())){
+ // 更新业委会信息
+ return updateById(ownersCommittee);
+ }
+ // 负责人有变化
+ // 1.更新原负责人用户角色
+ IUserService bean = SpringUtils.getBean(IUserService.class);
+ User userInfo = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, one.getPrincipalId()));
+ // 判断角色
+ if (userInfo.getRoleId().contains("1759487358708310017")) {
+ userInfo.setRoleId(userInfo.getRoleId().replace("1759487358708310017", ""));
+ }
+ List<String> stringList = Arrays.asList(userInfo.getRoleId().split(","));
+ // 查询是否对应有业委会负责人,如果有则删除,如果没有则不删除对应的角色
+ List<String> arrayList = new ArrayList<>();
+ for (String roleId : stringList) {
+ if (!roleId.equals("1759487358708310017")) {
+ arrayList.add(roleId);
+ }
+ }
+ userInfo.setRoleId(StringUtils.join(arrayList, ","));
+ bean.updateById(userInfo);
+ // 2.更新现在的负责人
+ User userInfoNew = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, ownersCommittee.getPrincipalId()));
+ // 判断角色
+ if (!userInfoNew.getRoleId().contains("1759487358708310017")) {
+ userInfoNew.setRoleId(userInfo.getRoleId() + ",1759487358708310017");
+ }
+ bean.updateById(userInfoNew);
+ // 3.更新业委会信息
+ return updateById(ownersCommittee);
+ }
+
+ @Override
+ public Boolean removeOwnersCommittee(List<Long> toLongList) {
+ for (Long aLong : toLongList) {
+ OwnersCommitteeEntity ownersCommittee = getOne(Wrappers.<OwnersCommitteeEntity>lambdaQuery().eq(OwnersCommitteeEntity::getId, aLong));
+ // 更新负责人用户角色
+ IUserService bean = SpringUtils.getBean(IUserService.class);
+ User userInfo = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, ownersCommittee.getPrincipalId()));
+ // 判断角色
+ if (userInfo.getRoleId().contains("1759487358708310017")) {
+ userInfo.setRoleId(userInfo.getRoleId().replace("1759487358708310017", ""));
+ }
+ List<String> stringList = Arrays.asList(userInfo.getRoleId().split(","));
+ // 查询是否对应有业委会负责人,如果有则删除,如果没有则不删除对应的角色
+ List<String> arrayList = new ArrayList<>();
+ for (String roleId : stringList) {
+ if (!roleId.equals("1759487358708310017")) {
+ arrayList.add(roleId);
+ }
+ }
+ userInfo.setRoleId(StringUtils.join(arrayList, ","));
+ bean.updateById(userInfo);
+ return removeById(ownersCommittee);
+ }
+ return false;
+ }
}
--
Gitblit v1.9.3