linwei
2024-02-20 2ed6222b767e3dde63636aa724144af3706a6cd1
更新业委会,更新负责人角色
3 files modified
41 ■■■■■ changed files
src/main/java/org/springblade/modules/ownersCommittee/controller/OwnersCommitteeController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ownersCommittee/service/IOwnersCommitteeService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/ownersCommittee/controller/OwnersCommitteeController.java
@@ -100,7 +100,7 @@
    @ApiOperation(value = "修改", notes = "传入ownersCommittee")
    public R update(@Valid @RequestBody OwnersCommitteeEntity ownersCommittee) {
        // 负责人修改了需要去更新负责人
        return R.status(ownersCommitteeService.updateById(ownersCommittee));
        return R.status(ownersCommitteeService.updateOwnersCommittee(ownersCommittee));
    }
    /**
src/main/java/org/springblade/modules/ownersCommittee/service/IOwnersCommitteeService.java
@@ -61,4 +61,6 @@
    Boolean saveOrUpdateOwnersCommittee(OwnersCommitteeEntity ownersCommittee);
    Boolean removeOwnersCommittee(List<Long> toLongList);
    Boolean updateOwnersCommittee(OwnersCommitteeEntity ownersCommittee);
}
src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
@@ -103,6 +103,43 @@
    }
    @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));