| | |
| | | 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.ownersCommittee.mapper.OwnersCommitteeMapper; |
| | | import org.springblade.modules.ownersCommittee.service.IOwnersCommitteeService; |
| | | 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 java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | String userRole = AuthUtil.getUserRole(); |
| | | // 街道身份,只查找该街道下面的业委会 |
| | | if (userRole.contains("jdgly")) { |
| | | List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); |
| | | 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)); |
| | |
| | | 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; |
| | | } |
| | | } |