package com.template.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.template.annotation.PassToken; import com.template.api.LoginControllerAPI; import com.template.common.utils.AesUtils; import com.template.common.utils.JWTUtil; import com.template.common.utils.RSAUtils; import com.template.common.utils.paramUtils; import com.template.config.MySecurity; import com.template.model.pojo.Admin; import com.template.model.pojo.PermissionSetting; import com.template.model.request.changePasswordRequest; import com.template.model.request.loginRequest; import com.template.model.result.CommonResult; import com.template.model.vo.FunctionPointVo; import com.template.model.vo.LoginVO; import com.template.model.vo.MenuBarVo; import com.template.services.AdminService; import com.template.services.PermissionSettingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; /** * @Author: binguo * @Date: 2023/7/5 星期三 9:28 * @Description: com.template.controller * @Version: 1.0 */ @RestController public class LoginController implements LoginControllerAPI { @Autowired private AdminService adminService; @Autowired MySecurity mySecurity; @Autowired PermissionSettingService permissionSettingService; /** * 登录接口 * * @param loginRequest account 账号 * password 密码 * @return */ @Override @PassToken public CommonResult Login(@RequestBody loginRequest loginRequest, BindingResult bindingResult) { if (loginRequest == null) { return CommonResult.fail("请传递参数"); } if (bindingResult.hasErrors()) { String st = paramUtils.getParamError(bindingResult); return CommonResult.fail(st); } Admin result = adminService.getAdminByAccount(loginRequest.getAccount()); if (result == null) { return CommonResult.fail("账号或密码错误"); } try { // 传入的解密 String decryptData = RSAUtils.decrypt(loginRequest.getPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey)); // 原密码解密 String decrypt = RSAUtils.decrypt(result.getPassWord(), RSAUtils.getPrivateKey(mySecurity.privateKey)); if (!decryptData.equals(decrypt)) { return CommonResult.fail("密码错误"); } String adminMenuId = result.getAdminMenuId(); // 通过adminMenuId获取权限表的id LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PermissionSetting::getAdminMenuId, adminMenuId); PermissionSetting one = permissionSettingService.getOne(wrapper); String token = JWTUtil.getAdminToken(result); LoginVO login = new LoginVO(); login.setToken(token); login.setTokenTtl(JWTUtil.getExpired()); login.setUserName(result.getName()); login.setId(result.getId()); login.setPermissionSettingId(one.getId()); login.setUser_head(AesUtils.encrypt(result.getId() + "")); login.setPermissionSetting(one); return CommonResult.ok("登录成功", login); } catch (Exception e) { e.printStackTrace(); return CommonResult.fail("密码错误"); } } /** * 修改密码 * * @param cpr oldPassword 旧密码 * newPassword 新密码 * confirmPassword 确认密码 * @param bindingResult * @return */ @Override public CommonResult ChangePassword(changePasswordRequest cpr, BindingResult bindingResult) { if (bindingResult.hasErrors()) { String st = paramUtils.getParamError(bindingResult); return CommonResult.fail(st); } Admin admin = adminService.getById(cpr.getAdminId()); if (admin == null) { return CommonResult.fail("当前账号不合法!"); } try { // 新密码码解密 String newPassWord = RSAUtils.decrypt(cpr.getNewPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey)); // 确认密码解密 String confirmPassword = RSAUtils.decrypt(cpr.getConfirmPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey)); if (!newPassWord.equals(confirmPassword)) { return CommonResult.fail("确认密码和新密码不一致!"); } // 传入的旧解密 String decryptData = RSAUtils.decrypt(cpr.getOldPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey)); if (newPassWord.equals(decryptData)) { return CommonResult.fail("新密码和旧密码一致!"); } // 原密码解密 String decrypt = RSAUtils.decrypt(admin.getPassWord(), RSAUtils.getPrivateKey(mySecurity.privateKey)); if (!decryptData.equals(decrypt)) { return CommonResult.fail("原密码错误!"); } admin.setPassWord(cpr.getNewPassword()); boolean update = adminService.updateById(admin); if (update) { return CommonResult.ok("修改成功"); } } catch (Exception e) { e.printStackTrace(); } return CommonResult.fail(); } @Override public CommonResult menuBar(String permissionSettingId) { PermissionSetting one = permissionSettingService.getById(permissionSettingId); ArrayList menuBarVos = new ArrayList<>(); // 房态 String houseStatusManagement = one.getHouseStatusManagement(); if (ObjectUtils.isNotEmpty(houseStatusManagement)) { MenuBarVo menuBarVo = new MenuBarVo(); menuBarVo.setName("房态管理"); ArrayList strings = new ArrayList<>(); if (contains(houseStatusManagement, "0")) { FunctionPointVo functionPointVo = new FunctionPointVo(); functionPointVo.setFunctionPoint("预定"); functionPointVo.setStatus(1); strings.add(functionPointVo); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("退房"); functionPointVo2.setStatus(1); strings.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("维修"); functionPointVo3.setStatus(1); strings.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("关房"); functionPointVo4.setStatus(1); strings.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("置脏"); functionPointVo5.setStatus(1); strings.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("置净"); functionPointVo6.setStatus(1); strings.add(functionPointVo6); FunctionPointVo functionPointVo7 = new FunctionPointVo(); functionPointVo7.setFunctionPoint("退款"); functionPointVo7.setStatus(1); strings.add(functionPointVo7); FunctionPointVo functionPointVo8 = new FunctionPointVo(); functionPointVo8.setFunctionPoint("入住"); functionPointVo8.setStatus(1); strings.add(functionPointVo8); FunctionPointVo functionPointVo9 = new FunctionPointVo(); functionPointVo9.setFunctionPoint("锁房"); functionPointVo9.setStatus(1); strings.add(functionPointVo9); FunctionPointVo functionPointVo11 = new FunctionPointVo(); functionPointVo11.setFunctionPoint("换房"); functionPointVo11.setStatus(1); strings.add(functionPointVo11); FunctionPointVo functionPointVo12 = new FunctionPointVo(); functionPointVo12.setFunctionPoint("开房"); functionPointVo12.setStatus(1); strings.add(functionPointVo12); FunctionPointVo functionPointVo14 = new FunctionPointVo(); functionPointVo14.setFunctionPoint("查看界面"); functionPointVo14.setStatus(1); strings.add(functionPointVo14); FunctionPointVo functionPointVo15 = new FunctionPointVo(); functionPointVo15.setFunctionPoint("开电"); functionPointVo15.setStatus(1); strings.add(functionPointVo15); FunctionPointVo functionPointVo16 = new FunctionPointVo(); functionPointVo16.setFunctionPoint("关电"); functionPointVo16.setStatus(1); strings.add(functionPointVo16); FunctionPointVo functionPointVo17 = new FunctionPointVo(); functionPointVo17.setFunctionPoint("取消预定"); functionPointVo17.setStatus(1); strings.add(functionPointVo17); FunctionPointVo functionPointVo18 = new FunctionPointVo(); functionPointVo18.setFunctionPoint("取消维修"); functionPointVo18.setStatus(1); strings.add(functionPointVo18); FunctionPointVo functionPointVo19 = new FunctionPointVo(); functionPointVo19.setFunctionPoint("查看密码"); functionPointVo19.setStatus(1); strings.add(functionPointVo19); FunctionPointVo functionPointVo20 = new FunctionPointVo(); functionPointVo20.setFunctionPoint("退款"); functionPointVo20.setStatus(1); strings.add(functionPointVo20); } else { FunctionPointVo functionPointVo = ifContains(houseStatusManagement, "1"); functionPointVo.setFunctionPoint("预定"); strings.add(functionPointVo); FunctionPointVo functionPointVo2 = ifContains(houseStatusManagement, "2"); functionPointVo2.setFunctionPoint("退房"); strings.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(houseStatusManagement, "3"); functionPointVo3.setFunctionPoint("维修"); strings.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(houseStatusManagement, "4"); functionPointVo4.setFunctionPoint("关房"); strings.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(houseStatusManagement, "5"); functionPointVo5.setFunctionPoint("置脏"); strings.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(houseStatusManagement, "6"); functionPointVo6.setFunctionPoint("置净"); strings.add(functionPointVo6); FunctionPointVo functionPointVo7 = ifContains(houseStatusManagement, "7"); functionPointVo7.setFunctionPoint("退款"); strings.add(functionPointVo7); FunctionPointVo functionPointVo8 = ifContains(houseStatusManagement, "8"); functionPointVo8.setFunctionPoint("入住"); strings.add(functionPointVo8); FunctionPointVo functionPointVo9 = ifContains(houseStatusManagement, "9"); functionPointVo9.setFunctionPoint("锁房"); strings.add(functionPointVo9); FunctionPointVo functionPointVo11 = ifContains(houseStatusManagement, "11"); functionPointVo11.setFunctionPoint("换房"); strings.add(functionPointVo11); FunctionPointVo functionPointVo12 = ifContains(houseStatusManagement, "12"); functionPointVo12.setFunctionPoint("开房"); strings.add(functionPointVo12); FunctionPointVo functionPointVo14 = ifContains(houseStatusManagement, "14"); functionPointVo14.setFunctionPoint("查看界面"); strings.add(functionPointVo14); FunctionPointVo functionPointVo15 = ifContains(houseStatusManagement, "15"); functionPointVo15.setFunctionPoint("开电"); strings.add(functionPointVo15); FunctionPointVo functionPointVo16 = ifContains(houseStatusManagement, "16"); functionPointVo16.setFunctionPoint("关电"); strings.add(functionPointVo16); FunctionPointVo functionPointVo17 = ifContains(houseStatusManagement, "17"); functionPointVo17.setFunctionPoint("取消预定"); strings.add(functionPointVo17); FunctionPointVo functionPointVo18 = ifContains(houseStatusManagement, "18"); functionPointVo18.setFunctionPoint("取消维修"); strings.add(functionPointVo18); FunctionPointVo functionPointVo19 = ifContains(houseStatusManagement, "19"); functionPointVo19.setFunctionPoint("查看密码"); strings.add(functionPointVo19); FunctionPointVo functionPointVo20 = ifContains(houseStatusManagement, "20"); functionPointVo20.setFunctionPoint("退款"); strings.add(functionPointVo20); } menuBarVo.setFunctionPoints(strings); menuBarVos.add(menuBarVo); } // 楼栋单元管理 String buildingManagement = one.getBuildingManagement(); if (ObjectUtils.isNotEmpty(buildingManagement)) { MenuBarVo menuBarVo14 = new MenuBarVo(); menuBarVo14.setName("楼栋单元管理"); ArrayList vos14 = new ArrayList<>(); if (contains(buildingManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos14.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos14.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos14.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos14.add(functionPointVo4); } else { FunctionPointVo functionPointVo1 = ifContains(buildingManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos14.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(buildingManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos14.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(buildingManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos14.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(buildingManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos14.add(functionPointVo4); } menuBarVo14.setFunctionPoints(vos14); menuBarVos.add(menuBarVo14); } // 房型 String houseTypeManagement = one.getHouseTypeManagement(); if (ObjectUtils.isNotEmpty(houseTypeManagement)) { MenuBarVo menuBarVo2 = new MenuBarVo(); menuBarVo2.setName("房型管理"); ArrayList vos2 = new ArrayList<>(); if (contains(houseTypeManagement, "0")) { FunctionPointVo functionPointVo = new FunctionPointVo(); functionPointVo.setFunctionPoint("添加"); functionPointVo.setStatus(1); vos2.add(functionPointVo); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("修改"); functionPointVo2.setStatus(1); vos2.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos2.add(functionPointVo3); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("查看界面"); functionPointVo6.setStatus(1); vos2.add(functionPointVo6); menuBarVo2.setFunctionPoints(vos2); } else { FunctionPointVo functionPointVo = ifContains(houseTypeManagement, "1"); functionPointVo.setFunctionPoint("添加"); vos2.add(functionPointVo); FunctionPointVo functionPointVo2 = ifContains(houseTypeManagement, "2"); functionPointVo2.setFunctionPoint("修改"); vos2.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(houseTypeManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos2.add(functionPointVo3); FunctionPointVo functionPointVo6 = ifContains(houseTypeManagement, "6"); functionPointVo6.setFunctionPoint("查看界面"); vos2.add(functionPointVo6); menuBarVo2.setFunctionPoints(vos2); } menuBarVos.add(menuBarVo2); } // 房间管理 String houseNumberManagement = one.getHouseNumberManagement(); if (ObjectUtils.isNotEmpty(houseNumberManagement)) { MenuBarVo menuBarVo15 = new MenuBarVo(); menuBarVo15.setName("房间列表"); ArrayList vos15 = new ArrayList<>(); if (contains(houseNumberManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos15.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos15.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos15.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos15.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("导入"); functionPointVo5.setStatus(1); vos15.add(functionPointVo5); } else { FunctionPointVo functionPointVo1 = ifContains(houseNumberManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos15.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(houseNumberManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos15.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(houseNumberManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos15.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(houseNumberManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos15.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(houseNumberManagement, "5"); functionPointVo5.setFunctionPoint("导入"); vos15.add(functionPointVo5); } menuBarVo15.setFunctionPoints(vos15); menuBarVos.add(menuBarVo15); } String housePriceManagement = one.getHousePriceManagement(); if (ObjectUtils.isNotEmpty(housePriceManagement)) { MenuBarVo menuBarVo3 = new MenuBarVo(); menuBarVo3.setName("房价管理"); ArrayList vos3 = new ArrayList<>(); if (contains(housePriceManagement, "0")) { FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("批量改价"); functionPointVo4.setStatus(1); vos3.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("改价记录"); functionPointVo5.setStatus(1); vos3.add(functionPointVo5); FunctionPointVo functionPointVo7 = new FunctionPointVo(); functionPointVo7.setFunctionPoint("查看界面"); functionPointVo7.setStatus(1); vos3.add(functionPointVo7); menuBarVo3.setFunctionPoints(vos3); } else { FunctionPointVo functionPointVo4 = ifContains(housePriceManagement, "4"); functionPointVo4.setFunctionPoint("批量改价"); vos3.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(housePriceManagement, "5"); functionPointVo5.setFunctionPoint("改价记录"); vos3.add(functionPointVo5); FunctionPointVo functionPointVo7 = ifContains(housePriceManagement, "7"); functionPointVo7.setFunctionPoint("查看界面"); vos3.add(functionPointVo7); menuBarVo3.setFunctionPoints(vos3); } menuBarVos.add(menuBarVo3); } // 订单管理 String houseOrderManagement = one.getHouseOrderManagement(); if (ObjectUtils.isNotEmpty(houseOrderManagement)) { MenuBarVo menuBarVo4 = new MenuBarVo(); menuBarVo4.setName("订单管理"); ArrayList vos4 = new ArrayList<>(); if (contains(houseOrderManagement, "0")) { FunctionPointVo functionPointVo = new FunctionPointVo(); functionPointVo.setFunctionPoint("取消"); functionPointVo.setStatus(1); vos4.add(functionPointVo); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("详情"); functionPointVo2.setStatus(1); vos4.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("入住"); functionPointVo3.setStatus(1); vos4.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("退款"); functionPointVo4.setStatus(1); vos4.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("退房"); functionPointVo5.setStatus(1); vos4.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("查看界面"); functionPointVo6.setStatus(1); vos4.add(functionPointVo6); FunctionPointVo functionPointVo8 = new FunctionPointVo(); functionPointVo8.setFunctionPoint("换房"); functionPointVo8.setStatus(1); vos4.add(functionPointVo8); FunctionPointVo functionPointVo9 = new FunctionPointVo(); functionPointVo9.setFunctionPoint("导出"); functionPointVo9.setStatus(1); vos4.add(functionPointVo9); FunctionPointVo functionPointVo10 = new FunctionPointVo(); functionPointVo10.setFunctionPoint("备注"); functionPointVo10.setStatus(1); vos4.add(functionPointVo10); } else { FunctionPointVo functionPointVo = ifContains(houseOrderManagement, "1"); functionPointVo.setFunctionPoint("取消"); vos4.add(functionPointVo); FunctionPointVo functionPointVo2 = ifContains(houseOrderManagement, "2"); functionPointVo2.setFunctionPoint("详情"); vos4.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(houseOrderManagement, "3"); functionPointVo3.setFunctionPoint("入住"); vos4.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(houseOrderManagement, "4"); functionPointVo4.setFunctionPoint("退款"); vos4.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(houseOrderManagement, "5"); functionPointVo5.setFunctionPoint("退房"); vos4.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(houseOrderManagement, "6"); functionPointVo6.setFunctionPoint("查看界面"); vos4.add(functionPointVo6); FunctionPointVo functionPointVo8 = ifContains(houseOrderManagement, "8"); functionPointVo8.setFunctionPoint("换房"); vos4.add(functionPointVo8); FunctionPointVo functionPointVo9 = ifContains(houseOrderManagement, "9"); functionPointVo9.setFunctionPoint("导出"); vos4.add(functionPointVo9); FunctionPointVo functionPointVo10 = ifContains(houseOrderManagement, "10"); functionPointVo10.setFunctionPoint("备注"); vos4.add(functionPointVo10); } menuBarVo4.setFunctionPoints(vos4); menuBarVos.add(menuBarVo4); } // 课表管理 String dutyManagement = one.getDutyManagement(); if (ObjectUtils.isNotEmpty(dutyManagement)) { MenuBarVo menuBarVo5 = new MenuBarVo(); menuBarVo5.setName("课表管理"); ArrayList vos5 = new ArrayList<>(); if (contains(dutyManagement, "0")) { FunctionPointVo functionPointVo = new FunctionPointVo(); functionPointVo.setFunctionPoint("导入值班"); functionPointVo.setStatus(1); vos5.add(functionPointVo); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("导出"); functionPointVo2.setStatus(1); vos5.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("查看界面"); functionPointVo3.setStatus(1); vos5.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("删除"); functionPointVo4.setStatus(1); vos5.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("添加"); functionPointVo5.setStatus(1); vos5.add(functionPointVo5); } else { FunctionPointVo functionPointVo = ifContains(dutyManagement, "1"); functionPointVo.setFunctionPoint("导入值班"); vos5.add(functionPointVo); FunctionPointVo functionPointVo2 = ifContains(dutyManagement, "2"); functionPointVo2.setFunctionPoint("导出"); vos5.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(dutyManagement, "3"); functionPointVo3.setFunctionPoint("查看界面"); vos5.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(dutyManagement, "4"); functionPointVo4.setFunctionPoint("删除"); vos5.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(dutyManagement, "5"); functionPointVo5.setFunctionPoint("添加"); vos5.add(functionPointVo5); } menuBarVo5.setFunctionPoints(vos5); menuBarVos.add(menuBarVo5); } // 流程管理 String processManagement = one.getProcessManagement(); if (ObjectUtils.isNotEmpty(processManagement)) { MenuBarVo menuBarVo6 = new MenuBarVo(); menuBarVo6.setName("流程管理"); ArrayList vos6 = new ArrayList<>(); if (contains(processManagement, "0")) { FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("同意"); functionPointVo3.setStatus(1); vos6.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("驳回"); functionPointVo4.setStatus(1); vos6.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("查看界面"); functionPointVo5.setStatus(1); vos6.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("规则设置"); functionPointVo6.setStatus(1); vos6.add(functionPointVo6); } else { FunctionPointVo functionPointVo3 = ifContains(processManagement, "3"); functionPointVo3.setFunctionPoint("同意"); vos6.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(processManagement, "4"); functionPointVo4.setFunctionPoint("驳回"); vos6.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(processManagement, "5"); functionPointVo5.setFunctionPoint("查看界面"); vos6.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(processManagement, "6"); functionPointVo6.setFunctionPoint("规则设置"); vos6.add(functionPointVo6); } menuBarVo6.setFunctionPoints(vos6); menuBarVos.add(menuBarVo6); } // 统计报表 String reportManagement = one.getReportManagement(); if (ObjectUtils.isNotEmpty(reportManagement)) { MenuBarVo menuBarVo7 = new MenuBarVo(); menuBarVo7.setName("统计报表"); ArrayList vos7 = new ArrayList<>(); if (contains(reportManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("查看界面"); functionPointVo1.setStatus(1); vos7.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("导出"); functionPointVo2.setStatus(1); vos7.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("详情"); functionPointVo3.setStatus(1); vos7.add(functionPointVo3); } else { FunctionPointVo functionPointVo1 = ifContains(reportManagement, "1"); functionPointVo1.setFunctionPoint("查看界面"); vos7.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(reportManagement, "2"); functionPointVo2.setFunctionPoint("导出"); vos7.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(reportManagement, "3"); functionPointVo3.setFunctionPoint("详情"); vos7.add(functionPointVo3); } menuBarVo7.setFunctionPoints(vos7); menuBarVos.add(menuBarVo7); } // 门锁管理 String doorLockManagement = one.getDoorLockManagement(); if (ObjectUtils.isNotEmpty(doorLockManagement)) { MenuBarVo menuBarVo8 = new MenuBarVo(); menuBarVo8.setName("门锁管理"); ArrayList vos8 = new ArrayList<>(); if (contains(doorLockManagement, "0")) { FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos8.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("导出"); functionPointVo5.setStatus(1); vos8.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("导入"); functionPointVo6.setStatus(1); vos8.add(functionPointVo6); FunctionPointVo functionPointVo11 = new FunctionPointVo(); functionPointVo11.setFunctionPoint("钥匙管理"); functionPointVo11.setStatus(1); vos8.add(functionPointVo11); FunctionPointVo functionPointVo12 = new FunctionPointVo(); functionPointVo12.setFunctionPoint("消息列表"); functionPointVo12.setStatus(1); vos8.add(functionPointVo12); FunctionPointVo functionPointVo13 = new FunctionPointVo(); functionPointVo13.setFunctionPoint("远程开锁"); functionPointVo13.setStatus(1); vos8.add(functionPointVo13); FunctionPointVo functionPointVo14 = new FunctionPointVo(); functionPointVo14.setFunctionPoint("解绑设备"); functionPointVo14.setStatus(1); vos8.add(functionPointVo14); FunctionPointVo functionPointVo15 = new FunctionPointVo(); functionPointVo15.setFunctionPoint("NFC设置"); functionPointVo15.setStatus(1); vos8.add(functionPointVo15); } else { FunctionPointVo functionPointVo4 = ifContains(doorLockManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos8.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(doorLockManagement, "5"); functionPointVo5.setFunctionPoint("导出"); vos8.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(doorLockManagement, "6"); functionPointVo6.setFunctionPoint("导入"); vos8.add(functionPointVo6); FunctionPointVo functionPointVo11 = ifContains(doorLockManagement, "11"); functionPointVo11.setFunctionPoint("钥匙管理"); vos8.add(functionPointVo11); FunctionPointVo functionPointVo12 = ifContains(doorLockManagement, "12"); functionPointVo12.setFunctionPoint("消息列表"); vos8.add(functionPointVo12); FunctionPointVo functionPointVo13 = ifContains(doorLockManagement, "13"); functionPointVo13.setFunctionPoint("远程开锁"); vos8.add(functionPointVo13); FunctionPointVo functionPointVo14 = ifContains(doorLockManagement, "14"); functionPointVo14.setFunctionPoint("解绑设备"); vos8.add(functionPointVo14); FunctionPointVo functionPointVo15 = ifContains(doorLockManagement, "15"); functionPointVo15.setFunctionPoint("NFC设置"); vos8.add(functionPointVo15); } menuBarVo8.setFunctionPoints(vos8); menuBarVos.add(menuBarVo8); } // 水电表管理 String hydropowerManagement = one.getHydropowerManagement(); if (ObjectUtils.isNotEmpty(hydropowerManagement)) { MenuBarVo menuBarVo9 = new MenuBarVo(); menuBarVo9.setName("水电表管理"); ArrayList vos9 = new ArrayList<>(); if (contains(hydropowerManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos9.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos9.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos9.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos9.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("导出"); functionPointVo5.setStatus(1); vos9.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("导入"); functionPointVo6.setStatus(1); vos9.add(functionPointVo6); } else { FunctionPointVo functionPointVo1 = ifContains(hydropowerManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos9.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(hydropowerManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos9.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(hydropowerManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos9.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(hydropowerManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos9.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(hydropowerManagement, "5"); functionPointVo5.setFunctionPoint("导出"); vos9.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(hydropowerManagement, "6"); functionPointVo6.setFunctionPoint("导入"); vos9.add(functionPointVo6); } menuBarVo9.setFunctionPoints(vos9); menuBarVos.add(menuBarVo9); } // 角色管理 String roleManagement = one.getRoleManagement(); if (ObjectUtils.isNotEmpty(roleManagement)) { MenuBarVo menuBarVo11 = new MenuBarVo(); menuBarVo11.setName("角色管理"); ArrayList vos11 = new ArrayList<>(); if (contains(roleManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos11.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos11.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos11.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos11.add(functionPointVo4); } else { FunctionPointVo functionPointVo1 = ifContains(roleManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos11.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(roleManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos11.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(roleManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos11.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(roleManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos11.add(functionPointVo4); } menuBarVo11.setFunctionPoints(vos11); menuBarVos.add(menuBarVo11); } // 账号管理 String accountManagement = one.getAccountManagement(); if (ObjectUtils.isNotEmpty(accountManagement)) { MenuBarVo menuBarVo12 = new MenuBarVo(); menuBarVo12.setName("账号管理"); ArrayList vos12 = new ArrayList<>(); if (contains(accountManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos12.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos12.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos12.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos12.add(functionPointVo4); } else { FunctionPointVo functionPointVo1 = ifContains(accountManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos12.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(accountManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos12.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(accountManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos12.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(accountManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos12.add(functionPointVo4); } menuBarVo12.setFunctionPoints(vos12); menuBarVos.add(menuBarVo12); } // 员工管理 String staffManagement = one.getStaffManagement(); if (ObjectUtils.isNotEmpty(staffManagement)) { MenuBarVo menuBarVo16 = new MenuBarVo(); menuBarVo16.setName("员工管理"); ArrayList vos16 = new ArrayList<>(); if (contains(staffManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos16.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos16.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos16.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos16.add(functionPointVo4); } else { FunctionPointVo functionPointVo1 = ifContains(staffManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos16.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(staffManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos16.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(staffManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos16.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(staffManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos16.add(functionPointVo4); } menuBarVo16.setFunctionPoints(vos16); menuBarVos.add(menuBarVo16); } // 用户管理 String userManagement = one.getUserManagement(); if (ObjectUtils.isNotEmpty(userManagement)) { MenuBarVo menuBarVo10 = new MenuBarVo(); menuBarVo10.setName("用户管理"); ArrayList vos10 = new ArrayList<>(); if (contains(userManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("添加"); functionPointVo1.setStatus(1); vos10.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("编辑"); functionPointVo2.setStatus(1); vos10.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("删除"); functionPointVo3.setStatus(1); vos10.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("查看界面"); functionPointVo4.setStatus(1); vos10.add(functionPointVo4); } else { FunctionPointVo functionPointVo1 = ifContains(userManagement, "1"); functionPointVo1.setFunctionPoint("添加"); vos10.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(userManagement, "2"); functionPointVo2.setFunctionPoint("编辑"); vos10.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(userManagement, "3"); functionPointVo3.setFunctionPoint("删除"); vos10.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(userManagement, "4"); functionPointVo4.setFunctionPoint("查看界面"); vos10.add(functionPointVo4); } menuBarVo10.setFunctionPoints(vos10); menuBarVos.add(menuBarVo10); } // 系统管理 String systemManagement = one.getSystemManagement(); if (ObjectUtils.isNotEmpty(systemManagement)) { MenuBarVo menuBarVo13 = new MenuBarVo(); menuBarVo13.setName("系统设置"); ArrayList vos13 = new ArrayList<>(); if (contains(systemManagement, "0")) { FunctionPointVo functionPointVo1 = new FunctionPointVo(); functionPointVo1.setFunctionPoint("退房设置"); functionPointVo1.setStatus(1); vos13.add(functionPointVo1); FunctionPointVo functionPointVo2 = new FunctionPointVo(); functionPointVo2.setFunctionPoint("公寓设置"); functionPointVo2.setStatus(1); vos13.add(functionPointVo2); FunctionPointVo functionPointVo3 = new FunctionPointVo(); functionPointVo3.setFunctionPoint("补助设置"); functionPointVo3.setStatus(1); vos13.add(functionPointVo3); FunctionPointVo functionPointVo4 = new FunctionPointVo(); functionPointVo4.setFunctionPoint("催缴设置"); functionPointVo4.setStatus(1); vos13.add(functionPointVo4); FunctionPointVo functionPointVo5 = new FunctionPointVo(); functionPointVo5.setFunctionPoint("设施服务设置"); functionPointVo5.setStatus(1); vos13.add(functionPointVo5); FunctionPointVo functionPointVo6 = new FunctionPointVo(); functionPointVo6.setFunctionPoint("查看界面"); functionPointVo6.setStatus(1); vos13.add(functionPointVo6); } else { FunctionPointVo functionPointVo1 = ifContains(systemManagement, "1"); functionPointVo1.setFunctionPoint("退房设置"); vos13.add(functionPointVo1); FunctionPointVo functionPointVo2 = ifContains(systemManagement, "2"); functionPointVo2.setFunctionPoint("公寓设置"); vos13.add(functionPointVo2); FunctionPointVo functionPointVo3 = ifContains(systemManagement, "3"); functionPointVo3.setFunctionPoint("补助设置"); vos13.add(functionPointVo3); FunctionPointVo functionPointVo4 = ifContains(systemManagement, "4"); functionPointVo4.setFunctionPoint("催缴设置"); vos13.add(functionPointVo4); FunctionPointVo functionPointVo5 = ifContains(systemManagement, "5"); functionPointVo5.setFunctionPoint("设施服务设置"); vos13.add(functionPointVo5); FunctionPointVo functionPointVo6 = ifContains(systemManagement, "6"); functionPointVo6.setFunctionPoint("查看界面"); vos13.add(functionPointVo6); } menuBarVo13.setFunctionPoints(vos13); menuBarVos.add(menuBarVo13); } return CommonResult.ok(menuBarVos); } public FunctionPointVo ifContains(String total, String s) { FunctionPointVo vo = new FunctionPointVo(); String[] split = total.split(","); for (int i = 0; i < split.length; i++) { String ss = split[i]; if (ss.equals(s)) { vo.setStatus(1); return vo; } } vo.setStatus(0); return vo; } public Boolean contains(String total, String s) { String[] split = total.split(","); for (int i = 0; i < split.length; i++) { String ss = split[i]; if (ss.equals(s)) { return true; } } return false; } }