Browse Source

添加菜单栏,设置门锁NFC接口,修改移动端预定接口

liu 1 year ago
parent
commit
62fac141ae
23 changed files with 871 additions and 157 deletions
  1. 4 0
      src/main/java/com/template/api/HouseLockControllerAPI.java
  2. 3 0
      src/main/java/com/template/api/LoginControllerAPI.java
  3. 4 4
      src/main/java/com/template/controller/AdminController.java
  4. 4 4
      src/main/java/com/template/controller/AdminMenuController.java
  5. 4 8
      src/main/java/com/template/controller/ApartmentSettingController.java
  6. 6 6
      src/main/java/com/template/controller/ApplicationProcedureController.java
  7. 4 8
      src/main/java/com/template/controller/CallSystemController.java
  8. 4 8
      src/main/java/com/template/controller/CheckOutSettingController.java
  9. 4 7
      src/main/java/com/template/controller/FacilityServicesController.java
  10. 33 9
      src/main/java/com/template/controller/HouseLockController.java
  11. 8 8
      src/main/java/com/template/controller/HouseNumberController.java
  12. 15 15
      src/main/java/com/template/controller/HouseOrderController.java
  13. 2 2
      src/main/java/com/template/controller/HousePriceController.java
  14. 712 46
      src/main/java/com/template/controller/LoginController.java
  15. 14 1
      src/main/java/com/template/controller/PasswordIssController.java
  16. 5 8
      src/main/java/com/template/controller/SubsidySetupController.java
  17. 4 4
      src/main/java/com/template/controller/UsersController.java
  18. 4 3
      src/main/java/com/template/model/dto/UpdateMenuPermissionSettingDto.java
  19. 1 0
      src/main/java/com/template/model/enumModel/PasswordUrlEnum.java
  20. 7 8
      src/main/java/com/template/model/pojo/HouseLock.java
  21. 6 8
      src/main/java/com/template/model/pojo/PermissionSetting.java
  22. 11 0
      src/main/java/com/template/model/vo/FunctionPointVo.java
  23. 12 0
      src/main/java/com/template/model/vo/MenuBarVo.java

+ 4 - 0
src/main/java/com/template/api/HouseLockControllerAPI.java

@@ -53,4 +53,8 @@ public interface HouseLockControllerAPI {
     CommonResult lockImport(@RequestParam("file") MultipartFile file) throws Exception;
 
 
+    @GetMapping("/nfc")
+    @ApiOperation(value = "NFC操作", notes = "NFC操作", httpMethod = "GET")
+    CommonResult nfc(@RequestParam Integer houseLockId,@RequestParam Integer nfcFunction);
+
 }

+ 3 - 0
src/main/java/com/template/api/LoginControllerAPI.java

@@ -24,6 +24,9 @@ public interface LoginControllerAPI {
     CommonResult ChangePassword(@Validated @RequestBody changePasswordRequest cpr,  BindingResult bindingResult);
 
 
+    @GetMapping (value = "/menuBar")
+    @ApiOperation(value = "菜单栏", notes = "菜单栏", httpMethod = "GET")
+    CommonResult menuBar(@RequestParam String permissionSettingId);
 
 
 }

+ 4 - 4
src/main/java/com/template/controller/AdminController.java

@@ -61,10 +61,10 @@ public class AdminController implements AdminAPI {
         }
 //      判断该用户是否拥有权限
         //      判断该用户是否拥有权限
-        String accountManagement = permissionSetting.getAccountManagement();
-        if (!"0".equals(accountManagement) && !accountManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String accountManagement = permissionSetting.getAccountManagement();
+//        if (!"0".equals(accountManagement) && !accountManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
 
         if (ObjectUtils.isEmpty(page) && page <= 0) {

+ 4 - 4
src/main/java/com/template/controller/AdminMenuController.java

@@ -161,10 +161,10 @@ public class AdminMenuController implements AdminMenuAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String roleManagement = permissionSetting.getRoleManagement();
-        if (!"0".equals(roleManagement) && !roleManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String roleManagement = permissionSetting.getRoleManagement();
+//        if (!"0".equals(roleManagement) && !roleManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
 
         if (ObjectUtils.isEmpty(page) && page <= 0) {

+ 4 - 8
src/main/java/com/template/controller/ApartmentSettingController.java

@@ -3,7 +3,6 @@ package com.template.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.sun.org.apache.bcel.internal.generic.NEW;
 import com.template.api.ApartmentSettingControllerAPI;
 import com.template.model.dto.ApartmentSettingDto;
 import com.template.model.pojo.ApartmentSetting;
@@ -15,12 +14,9 @@ import com.template.services.ApartmentSettingService;
 import com.template.services.PermissionSettingService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -75,10 +71,10 @@ public class ApartmentSettingController implements ApartmentSettingControllerAPI
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("2")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String systemManagement = permissionSetting.getSystemManagement();
+//        if (!"0".equals(systemManagement) && !systemManagement.contains("2")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         List<ApartmentSetting> list = apartmentSettingService.list(new LambdaQueryWrapper<>());
         if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {

+ 6 - 6
src/main/java/com/template/controller/ApplicationProcedureController.java

@@ -101,12 +101,12 @@ public class ApplicationProcedureController implements ApplicationProcedureContr
         if (ObjectUtils.isEmpty(permissionSetting)) {
             return CommonResult.fail("非法进入");
         }
-//      判断该用户是否拥有权限
-        //      判断该用户是否拥有权限
-        String processManagement = permissionSetting.getProcessManagement();
-        if (!"0".equals(processManagement) && !processManagement.contains("5")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+////      判断该用户是否拥有权限
+//        //      判断该用户是否拥有权限
+//        String processManagement = permissionSetting.getProcessManagement();
+//        if (!"0".equals(processManagement) && !processManagement.contains("5")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         if (ObjectUtils.isEmpty(page) || page <= 0) {
             page = 1;

+ 4 - 8
src/main/java/com/template/controller/CallSystemController.java

@@ -7,14 +7,10 @@ import com.template.api.CallSystemControllerAPI;
 import com.template.model.dto.CallSystemSaveOrUpdateDto;
 import com.template.model.pojo.CallSystem;
 import com.template.model.pojo.PermissionSetting;
-import com.template.model.pojo.SubsidySetup;
 import com.template.model.result.CommonResult;
 import com.template.services.CallSystemService;
 import com.template.services.PermissionSettingService;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -43,10 +39,10 @@ public class CallSystemController implements CallSystemControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String systemManagement = permissionSetting.getSystemManagement();
+//        if (!"0".equals(systemManagement) && !systemManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         List<CallSystem> list = callSystemService.list(new LambdaQueryWrapper<>());
         if (ObjectUtils.isEmpty(list) && list.size() > 0) {

+ 4 - 8
src/main/java/com/template/controller/CheckOutSettingController.java

@@ -10,12 +10,8 @@ import com.template.model.pojo.PermissionSetting;
 import com.template.model.result.CommonResult;
 import com.template.services.CheckOutSettingService;
 import com.template.services.PermissionSettingService;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -46,10 +42,10 @@ public class CheckOutSettingController implements CheckOutSettingControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("1")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String systemManagement = permissionSetting.getSystemManagement();
+//        if (!"0".equals(systemManagement) && !systemManagement.contains("1")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         List<CheckOutSetting> list = checkOutSettingService.list(new LambdaQueryWrapper<>());
         if (ObjectUtils.isEmpty(list) && list.size() > 0) {

+ 4 - 7
src/main/java/com/template/controller/FacilityServicesController.java

@@ -12,11 +12,8 @@ import com.template.model.result.CommonResult;
 import com.template.services.FacilityServicesService;
 import com.template.services.PermissionSettingService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
@@ -70,10 +67,10 @@ public class FacilityServicesController implements FacilityServicesControllerAPI
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("5")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String systemManagement = permissionSetting.getSystemManagement();
+//        if (!"0".equals(systemManagement) && !systemManagement.contains("5")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         List<FacilityServices> list = facilityServicesService.list(new LambdaQueryWrapper<>());
 

+ 33 - 9
src/main/java/com/template/controller/HouseLockController.java

@@ -77,10 +77,10 @@ public class HouseLockController implements HouseLockControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String houseTypeManagement = permissionSetting.getDoorLockManagement();
-        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String houseTypeManagement = permissionSetting.getDoorLockManagement();
+//        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
 
         LambdaQueryWrapper<House> hWrapper = new LambdaQueryWrapper<>();
@@ -125,10 +125,10 @@ public class HouseLockController implements HouseLockControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String houseTypeManagement = permissionSetting.getDoorLockManagement();
-        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String houseTypeManagement = permissionSetting.getDoorLockManagement();
+//        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
         if (ObjectUtils.isEmpty(houseNumberId)) {
             return CommonResult.fail("参数异常");
         }
@@ -346,6 +346,7 @@ public class HouseLockController implements HouseLockControllerAPI {
             houseLock.setHouseNumberId(Integer.valueOf(houseNumberId));
             houseLock.setNetworkType("WiFi");
             houseLock.setWifiMac("WIFIMAC");
+            houseLock.setNfcFunction(0);
 
 //            操作记录
             OperatingRecord operatingRecord = new OperatingRecord();
@@ -457,7 +458,8 @@ public class HouseLockController implements HouseLockControllerAPI {
                 houseLock1.setBindingTime(new Date());
                 houseLock1.setElectricQuantity("0");
                 houseLock1.setNetworkState("1");
-                houseLock1.setNetworkState("1");
+                houseLock1.setEquipmentState("1");
+                houseLock.setNfcFunction(0);
                 houseLocks.add(houseLock1);
             }
 
@@ -472,6 +474,28 @@ public class HouseLockController implements HouseLockControllerAPI {
         return CommonResult.fail();
     }
 
+    @Override
+    public CommonResult nfc(Integer houseLockId, Integer nfcFunction) {
+        HouseLock houseLock = houseLockService.getById(houseLockId);
+
+        if (ObjectUtils.isEmpty(houseLock)) {
+            return CommonResult.fail("无该门锁");
+        }
+
+        String equipmentType = houseLock.getEquipmentType();
+        if (ObjectUtils.isEmpty(equipmentType)) {
+            return CommonResult.fail("未绑定门锁");
+        }
+
+        passwordIssController.nfcFunction(nfcFunction,equipmentType);
+
+        houseLock.setNfcFunction(nfcFunction);
+
+        houseLockService.updateById(houseLock);
+
+        return CommonResult.ok();
+    }
+
 
 }
 

+ 8 - 8
src/main/java/com/template/controller/HouseNumberController.java

@@ -60,10 +60,10 @@ public class HouseNumberController implements HouseNumberControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String hydropowerManagement = permissionSetting.getHydropowerManagement();
-        if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String hydropowerManagement = permissionSetting.getHydropowerManagement();
+//        if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         if (ObjectUtils.isEmpty(page) && page <= 0) {
             page = 1;
@@ -158,10 +158,10 @@ public class HouseNumberController implements HouseNumberControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String hydropowerManagement = permissionSetting.getHydropowerManagement();
-        if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String hydropowerManagement = permissionSetting.getHydropowerManagement();
+//        if (!"0".equals(hydropowerManagement) && !hydropowerManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         if (ObjectUtils.isEmpty(page) && page <= 0) {
             page = 1;

+ 15 - 15
src/main/java/com/template/controller/HouseOrderController.java

@@ -267,8 +267,8 @@ public class HouseOrderController implements HouseOrderAPI {
             Integer roomType = house.getRoomType();
             if (1 == roomType) {
 //                DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                LocalDateTime start = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1).withHour(0).withMinute(0).withSecond(0);
-                LocalDateTime end = LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter1).withHour(0).withMinute(0).withSecond(0);
+                LocalDateTime start = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
+                LocalDateTime end = LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter1);
                 String startTime = start.format(dateTimeFormatter1);
                 String endTime = end.format(dateTimeFormatter1);
                 houseNumberState.setStartTime(startTime);
@@ -544,15 +544,15 @@ public class HouseOrderController implements HouseOrderAPI {
 
     @Override
     public CommonResult pageList(int adminId, int page, int size, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime) {
-        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
-        if (ObjectUtils.isEmpty(permissionSetting)) {
-            return CommonResult.fail("非法进入");
-        }
-//      判断该用户是否拥有权限
-        String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("6")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
+//        if (ObjectUtils.isEmpty(permissionSetting)) {
+//            return CommonResult.fail("非法进入");
+//        }
+////      判断该用户是否拥有权限
+//        String houseTypeManagement = permissionSetting.getHouseOrderManagement();
+//        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("6")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         if (ObjectUtils.isEmpty(page) && page <= 0) {
             page = 1;
@@ -1425,10 +1425,10 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 
 //      判断该用户是否拥有权限
-        String reportManagement = permissionSetting.getReportManagement();
-        if (!"0".equals(reportManagement) && !reportManagement.contains("1")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String reportManagement = permissionSetting.getReportManagement();
+//        if (!"0".equals(reportManagement) && !reportManagement.contains("1")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         if (ObjectUtils.isEmpty(state)) {
             return CommonResult.fail("参数异常");

+ 2 - 2
src/main/java/com/template/controller/HousePriceController.java

@@ -99,7 +99,7 @@ public class HousePriceController implements HousePriceAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String houseTypeManagement = permissionSetting.getHouseTypeManagement();
+        String houseTypeManagement = permissionSetting.getHousePriceManagement();
         if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
             return CommonResult.fail("此账号暂无该权限");
         }
@@ -172,7 +172,7 @@ public class HousePriceController implements HousePriceAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String houseTypeManagement = permissionSetting.getHouseTypeManagement();
+        String houseTypeManagement = permissionSetting.getHousePriceManagement();
         if (!"0".equals(houseTypeManagement) && ! houseTypeManagement.contains("5")) {
             return CommonResult.fail("此账号暂无该权限");
         }

+ 712 - 46
src/main/java/com/template/controller/LoginController.java

@@ -1,6 +1,7 @@
 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;
@@ -13,7 +14,9 @@ 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;
@@ -21,6 +24,8 @@ 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
@@ -31,7 +36,6 @@ import org.springframework.web.bind.annotation.RestController;
 public class LoginController implements LoginControllerAPI {
 
 
-
     @Autowired
     private AdminService adminService;
 
@@ -44,16 +48,15 @@ public class LoginController implements LoginControllerAPI {
 
     /**
      * 登录接口
-     * @param loginRequest
-     * account 账号
-     * password 密码
-     * @return
      *
+     * @param loginRequest account 账号
+     *                     password 密码
+     * @return
      */
     @Override
     @PassToken
     public CommonResult Login(@RequestBody loginRequest loginRequest, BindingResult bindingResult) {
-       if(loginRequest == null){
+        if (loginRequest == null) {
             return CommonResult.fail("请传递参数");
         }
         if (bindingResult.hasErrors()) {
@@ -62,50 +65,27 @@ public class LoginController implements LoginControllerAPI {
         }
 
         Admin result = adminService.getAdminByAccount(loginRequest.getAccount());
-        if(result == null){
+        if (result == null) {
             return CommonResult.fail("账号或密码错误");
         }
 
         try {
 //           传入的解密
-            String decryptData = RSAUtils.decrypt(loginRequest.getPassword(),RSAUtils.getPrivateKey(mySecurity.privateKey));
+            String decryptData = RSAUtils.decrypt(loginRequest.getPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey));
 //            原密码解密
             String decrypt = RSAUtils.decrypt(result.getPassWord(), RSAUtils.getPrivateKey(mySecurity.privateKey));
 
 
-            if(!decryptData.equals(decrypt)){
+            if (!decryptData.equals(decrypt)) {
                 return CommonResult.fail("密码错误");
             }
 
             String adminMenuId = result.getAdminMenuId();
 //            通过adminMenuId获取权限表的id
-            LambdaQueryWrapper<PermissionSetting> wrapper=new LambdaQueryWrapper<>();
-            wrapper.eq(PermissionSetting::getAdminMenuId,adminMenuId);
+            LambdaQueryWrapper<PermissionSetting> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(PermissionSetting::getAdminMenuId, adminMenuId);
             PermissionSetting one = permissionSettingService.getOne(wrapper);
 
-//            JSONObject jsonObject = new JSONObject();
-////            房态
-//            String houseStatusManagement = one.getHouseStatusManagement();
-//            if (ObjectUtils.isEmpty(houseStatusManagement)) {
-//                jsonObject.put("houseStatusManagement",0);
-//            }else {
-//                jsonObject.put("houseStatusManagement",1);
-//            }
-////            房型
-//            String houseTypeManagement = one.getHouseTypeManagement();
-//
-//            if (ObjectUtils.isEmpty(houseTypeManagement)) {
-//                jsonObject.put("houseTypeManagement",0);
-//            }else {
-//                if (houseTypeManagement.contains("0")) {
-//
-//                    houseType.put("houseType",1);
-//                    houseType.put("housePrice",1);
-//                    jsonObject.put("houseTypeManagement",houseType);
-//                }
-//            }
-
-
             String token = JWTUtil.getAdminToken(result);
             LoginVO login = new LoginVO();
             login.setToken(token);
@@ -113,30 +93,29 @@ public class LoginController implements LoginControllerAPI {
             login.setUserName(result.getName());
             login.setId(result.getId());
             login.setPermissionSettingId(one.getId());
-            login.setUser_head(AesUtils.encrypt(result.getId()+""));
+            login.setUser_head(AesUtils.encrypt(result.getId() + ""));
             login.setPermissionSetting(one);
-            return CommonResult.ok("登录成功",login);
+            return CommonResult.ok("登录成功", login);
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             return CommonResult.fail("密码错误");
         }
 
 
-
     }
 
     /**
      * 修改密码
-     * @param cpr
-     * oldPassword 旧密码
-     * newPassword 新密码
-     * confirmPassword 确认密码
+     *
+     * @param cpr           oldPassword 旧密码
+     *                      newPassword 新密码
+     *                      confirmPassword 确认密码
      * @param bindingResult
      * @return
      */
     @Override
-    public CommonResult ChangePassword(changePasswordRequest cpr,  BindingResult bindingResult) {
+    public CommonResult ChangePassword(changePasswordRequest cpr, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
@@ -144,7 +123,7 @@ public class LoginController implements LoginControllerAPI {
 
 
         Admin admin = adminService.getById(cpr.getAdminId());
-        if(admin == null){
+        if (admin == null) {
             return CommonResult.fail("当前账号不合法!");
         }
 
@@ -155,7 +134,7 @@ public class LoginController implements LoginControllerAPI {
 //            确认密码解密
             String confirmPassword = RSAUtils.decrypt(cpr.getConfirmPassword(), RSAUtils.getPrivateKey(mySecurity.privateKey));
 
-            if(!newPassWord.equals(confirmPassword)){
+            if (!newPassWord.equals(confirmPassword)) {
                 return CommonResult.fail("确认密码和新密码不一致!");
             }
 
@@ -181,17 +160,704 @@ public class LoginController implements LoginControllerAPI {
                 return CommonResult.ok("修改成功");
             }
 
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
         }
 
         return CommonResult.fail();
 
 
+    }
+
+    @Override
+    public CommonResult menuBar(String permissionSettingId) {
+        PermissionSetting one = permissionSettingService.getById(permissionSettingId);
+
+        ArrayList<MenuBarVo> menuBarVos = new ArrayList<>();
+//            房态
+        String houseStatusManagement = one.getHouseStatusManagement();
 
 
+        if (ObjectUtils.isNotEmpty(houseStatusManagement)) {
+            MenuBarVo menuBarVo = new MenuBarVo();
+            menuBarVo.setName("房态管理");
+            ArrayList<FunctionPointVo> strings = new ArrayList<>();
+
+            if (houseStatusManagement.contains("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);
+
+            } 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);
+            }
+
+            menuBarVo.setFunctionPoints(strings);
+            menuBarVos.add(menuBarVo);
+        }
+
+        //            房型
+        String houseTypeManagement = one.getHouseTypeManagement();
+        if (ObjectUtils.isNotEmpty(houseTypeManagement)) {
 
+            MenuBarVo menuBarVo2 = new MenuBarVo();
+            menuBarVo2.setName("房型管理");
+            ArrayList<FunctionPointVo> vos2 = new ArrayList<>();
+
+
+            if (houseStatusManagement.contains("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);
+
+                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);
+
+                menuBarVo2.setFunctionPoints(vos2);
+
+            }
+
+            menuBarVos.add(menuBarVo2);
+        }
+        String housePriceManagement = one.getHousePriceManagement();
+        if (ObjectUtils.isNotEmpty(housePriceManagement)) {
+
+            MenuBarVo menuBarVo3 = new MenuBarVo();
+            menuBarVo3.setName("房价管理");
+            ArrayList<FunctionPointVo> vos3 = new ArrayList<>();
+            if (ObjectUtils.isEmpty(housePriceManagement)) {
+                housePriceManagement = "";
+            }
+            if (housePriceManagement.contains("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);
+
+                menuBarVo3.setFunctionPoints(vos3);
+            } else {
+                FunctionPointVo functionPointVo4 = ifContains(housePriceManagement, "4");
+                functionPointVo4.setFunctionPoint("批量改价");
+                vos3.add(functionPointVo4);
+
+                FunctionPointVo functionPointVo5 = ifContains(housePriceManagement, "5");
+                functionPointVo5.setFunctionPoint("改价记录");
+                vos3.add(functionPointVo5);
+
+                menuBarVo3.setFunctionPoints(vos3);
+            }
+
+            menuBarVos.add(menuBarVo3);
+        }
+//                订单
+        String houseOrderManagement = one.getHouseOrderManagement();
+        if (ObjectUtils.isNotEmpty(houseOrderManagement)) {
+
+            MenuBarVo menuBarVo4 = new MenuBarVo();
+            menuBarVo4.setName("订单管理");
+
+            ArrayList<FunctionPointVo> vos4 = new ArrayList<>();
+            if (houseOrderManagement.contains("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 functionPointVo8 = new FunctionPointVo();
+                functionPointVo8.setFunctionPoint("换房");
+                functionPointVo8.setStatus(1);
+                vos4.add(functionPointVo8);
+
+                FunctionPointVo functionPointVo9 = new FunctionPointVo();
+                functionPointVo9.setFunctionPoint("导出");
+                functionPointVo9.setStatus(1);
+                vos4.add(functionPointVo9);
+
+            } 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 functionPointVo8 = ifContains(houseOrderManagement, "8");
+                functionPointVo8.setFunctionPoint("换房");
+                vos4.add(functionPointVo8);
+
+                FunctionPointVo functionPointVo9 = ifContains(houseOrderManagement, "9");
+                functionPointVo9.setFunctionPoint("导出");
+                vos4.add(functionPointVo9);
+            }
+            menuBarVo4.setFunctionPoints(vos4);
+            menuBarVos.add(menuBarVo4);
+        }
+//        课表管理
+        String dutyManagement = one.getDutyManagement();
+        if (ObjectUtils.isNotEmpty(dutyManagement)) {
+
+            MenuBarVo menuBarVo5 = new MenuBarVo();
+            menuBarVo5.setName("课表管理");
+            ArrayList<FunctionPointVo> vos5 = new ArrayList<>();
+            if (dutyManagement.contains("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);
+            } else {
+                FunctionPointVo functionPointVo = ifContains(dutyManagement, "1");
+                functionPointVo.setFunctionPoint("导入值班");
+                vos5.add(functionPointVo);
+
+                FunctionPointVo functionPointVo2 = ifContains(dutyManagement, "2");
+                functionPointVo2.setFunctionPoint("导出");
+                vos5.add(functionPointVo2);
+            }
+            menuBarVo5.setFunctionPoints(vos5);
+            menuBarVos.add(menuBarVo5);
+        }
+//        流程管理
+            String processManagement = one.getProcessManagement();
+            if (ObjectUtils.isNotEmpty(processManagement)) {
+
+            MenuBarVo menuBarVo6 = new MenuBarVo();
+            menuBarVo6.setName("流程管理");
+            ArrayList<FunctionPointVo> vos6 = new ArrayList<>();
+            if (processManagement.contains("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 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 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<FunctionPointVo> vos7 = new ArrayList<>();
+            if (reportManagement.contains("0")) {
+                FunctionPointVo functionPointVo2 = new FunctionPointVo();
+                functionPointVo2.setFunctionPoint("导出");
+                functionPointVo2.setStatus(1);
+                vos7.add(functionPointVo2);
+            } else {
+                FunctionPointVo functionPointVo2 = ifContains(reportManagement, "2");
+                functionPointVo2.setFunctionPoint("导出");
+                vos7.add(functionPointVo2);
+            }
+            menuBarVo7.setFunctionPoints(vos7);
+            menuBarVos.add(menuBarVo7);
+        }
+
+//        门锁管理
+        String doorLockManagement = one.getDoorLockManagement();
+        if (ObjectUtils.isNotEmpty(doorLockManagement)) {
+
+            MenuBarVo menuBarVo8 = new MenuBarVo();
+            menuBarVo8.setName("门锁管理");
+            ArrayList<FunctionPointVo> vos8 = new ArrayList<>();
+            if (doorLockManagement.contains("0")) {
+                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);
+            } else {
+                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);
+            }
+
+            menuBarVo8.setFunctionPoints(vos8);
+            menuBarVos.add(menuBarVo8);
+        }
+//        水电表管理
+        String hydropowerManagement = one.getHydropowerManagement();
+        if (ObjectUtils.isNotEmpty(hydropowerManagement)) {
+
+            MenuBarVo menuBarVo9 = new MenuBarVo();
+            menuBarVo9.setName("水电表管理");
+            ArrayList<FunctionPointVo> vos9 = new ArrayList<>();
+            if (hydropowerManagement.contains("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 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 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 userManagement = one.getUserManagement();
+        if (ObjectUtils.isNotEmpty(userManagement)) {
+
+            MenuBarVo menuBarVo10 = new MenuBarVo();
+            menuBarVo10.setName("用户管理");
+            ArrayList<FunctionPointVo> vos10 = new ArrayList<>();
+            if (userManagement.contains("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);
+
+
+            } 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);
+
+            }
+            menuBarVo10.setFunctionPoints(vos10);
+            menuBarVos.add(menuBarVo10);
+        }
+//        角色管理
+        String roleManagement = one.getRoleManagement();
+        if (ObjectUtils.isNotEmpty(roleManagement)) {
+
+            MenuBarVo menuBarVo11 = new MenuBarVo();
+            menuBarVo11.setName("角色管理");
+            ArrayList<FunctionPointVo> vos11 = new ArrayList<>();
+            if (roleManagement.contains("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);
+
+
+            } 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);
+
+            }
+            menuBarVo11.setFunctionPoints(vos11);
+            menuBarVos.add(menuBarVo11);
+        }
+//        账号管理
+        String accountManagement = one.getAccountManagement();
+        if (ObjectUtils.isNotEmpty(accountManagement)) {
+
+            MenuBarVo menuBarVo12 = new MenuBarVo();
+            menuBarVo12.setName("账号管理");
+            ArrayList<FunctionPointVo> vos12 = new ArrayList<>();
+            if (accountManagement.contains("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);
+
+
+            } 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);
+
+            }
+            menuBarVo12.setFunctionPoints(vos12);
+            menuBarVos.add(menuBarVo12);
+        }
+//        系统管理
+        String systemManagement = one.getSystemManagement();
+        if (ObjectUtils.isNotEmpty(systemManagement)) {
+
+            MenuBarVo menuBarVo13 = new MenuBarVo();
+            menuBarVo13.setName("系统管理");
+            ArrayList<FunctionPointVo> vos13 = new ArrayList<>();
+            if (systemManagement.contains("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);
+
+            } 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);
+            }
+            menuBarVo13.setFunctionPoints(vos13);
+            menuBarVos.add(menuBarVo13);
+        }
+
+        return CommonResult.ok(menuBarVos);
     }
 
+    public FunctionPointVo ifContains(String total, String s) {
+        FunctionPointVo vo = new FunctionPointVo();
+        if (total.contains(s)) {
+            vo.setStatus(1);
+        } else {
+            vo.setStatus(0);
+        }
+        return vo;
+    }
 
 }

+ 14 - 1
src/main/java/com/template/controller/PasswordIssController.java

@@ -643,7 +643,20 @@ public class PasswordIssController {
     }
 
 
+    public void nfcFunction(Integer nfcFunction,String luid) {
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("luid", luid);//"80A036AEA1D3");
+        map.put("categoryId", doorLockConfig.getCategoryId());//"d0c248256f8346d2a19afa296562b319");//设备分类ID 所有蓝牙wifi锁默认统一值
+        map.put("enable", nfcFunction);
 
+        String jsonContent = JSONObject.toJSONString(map);
+        try {
+            JSONObject jsonObject = queryData(jsonContent, PasswordUrlEnum.SetNFC.getUrl());
+            JSONObject data = jsonObject.getJSONObject("data");
+            System.out.println("data = " + data);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
 
-
+    }
 }

+ 5 - 8
src/main/java/com/template/controller/SubsidySetupController.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.SubsidySetupControllerAPI;
 import com.template.model.dto.SubsidySetupSaveOrUpdateDto;
-import com.template.model.pojo.CheckOutSetting;
 import com.template.model.pojo.PermissionSetting;
 import com.template.model.pojo.SubsidySetup;
 import com.template.model.result.CommonResult;
@@ -13,8 +12,6 @@ import com.template.services.PermissionSettingService;
 import com.template.services.SubsidySetupService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -43,10 +40,10 @@ public class SubsidySetupController implements SubsidySetupControllerAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("1")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String systemManagement = permissionSetting.getSystemManagement();
+//        if (!"0".equals(systemManagement) && !systemManagement.contains("1")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
         List<SubsidySetup> list = subsidySetupService.list(new LambdaQueryWrapper<>());
         if (ObjectUtils.isEmpty(list) && list.size() > 0) {
@@ -66,7 +63,7 @@ public class SubsidySetupController implements SubsidySetupControllerAPI {
         }
 //      判断该用户是否拥有权限
         String systemManagement = permissionSetting.getSystemManagement();
-        if (!"0".equals(systemManagement) && !systemManagement.contains("1")) {
+        if (!"0".equals(systemManagement) && !systemManagement.contains("3")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 

+ 4 - 4
src/main/java/com/template/controller/UsersController.java

@@ -93,10 +93,10 @@ public class UsersController implements UsersAPI {
             return CommonResult.fail("非法进入");
         }
 //      判断该用户是否拥有权限
-        String accountManagement = permissionSetting.getAccountManagement();
-        if (!"0".equals(accountManagement) && !accountManagement.contains("4")) {
-            return CommonResult.fail("此账号暂无该权限");
-        }
+//        String accountManagement = permissionSetting.getAccountManagement();
+//        if (!"0".equals(accountManagement) && !accountManagement.contains("4")) {
+//            return CommonResult.fail("此账号暂无该权限");
+//        }
 
 
         LambdaQueryWrapper<Users> wrapperU = new LambdaQueryWrapper<>();

+ 4 - 3
src/main/java/com/template/model/dto/UpdateMenuPermissionSettingDto.java

@@ -1,7 +1,5 @@
 package com.template.model.dto;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -21,9 +19,12 @@ public class UpdateMenuPermissionSettingDto {
     @ApiModelProperty(value = "房态管理 0.全部 1.预定,2退房,3.维修,4.关房,5.置脏,6.置净,7.退款,8.入住,9.锁房,10.日志,11.换房,12.开房,13.门锁管理")
     private String houseStatusManagement;
 
-    @ApiModelProperty(value = "房型管理 0.全部 1.添加,2.修改,3.删除,4.批量改价,5.改价记录")
+    @ApiModelProperty(value = "房型管理 0.全部 1.添加,2.修改,3.删除")
     private String houseTypeManagement;
 
+    @ApiModelProperty(value = "房价管理 0.全部 4.批量改价,5.改价记录")
+    private String housePriceManagement;
+
     @ApiModelProperty(value = "订单管理 0.全部 1.取消,2.详情,3.入住,4.退款,5.退房,6.查询,7.删除,8.换房,9.导出")
     private String houseOrderManagement;
 

+ 1 - 0
src/main/java/com/template/model/enumModel/PasswordUrlEnum.java

@@ -15,6 +15,7 @@ public enum PasswordUrlEnum {
     DeleteLockUser("deleteLockUser","删除锁用户"),
     GetLockDeviceList("getLockDeviceList","获得门锁设备信息列表"),
     RemoteOpen("remoteOpen","远程开锁"),
+    SetNFC("setNFC","设置NFC"),
     BatchModifyUserValidTimeRequest("batchModifyUserValidTimeRequest","批量修改用户时效");
     String url;
     String dsc;

+ 7 - 8
src/main/java/com/template/model/pojo/HouseLock.java

@@ -1,19 +1,15 @@
 package com.template.model.pojo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  * 
@@ -60,6 +56,9 @@ public class HouseLock implements Serializable {
 
 //    @ApiModelProperty(value = "上一次开锁时间")
 //    private Date unlockingTime;
+    @ApiModelProperty(value = "nfc标识 0 禁用 1 启用")
+    private Integer nfcFunction;
+
 
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)

+ 6 - 8
src/main/java/com/template/model/pojo/PermissionSetting.java

@@ -1,19 +1,14 @@
 package com.template.model.pojo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+
 /**
  * <p>
  * 
@@ -43,6 +38,9 @@ public class PermissionSetting implements Serializable {
     @ApiModelProperty(value = "房型管理 0.全部 1.添加,2.修改,3.删除,4.批量改价,5.改价记录")
     private String houseTypeManagement;
 
+    @ApiModelProperty(value = "房价管理 0.全部 4.批量改价,5.改价记录")
+    private String housePriceManagement;
+
     @ApiModelProperty(value = "订单管理 0.全部 1.取消,2.详情,3.入住,4.退款,5.退房,6.查询,7.删除,8.换房,9.导出")
     private String houseOrderManagement;
 

+ 11 - 0
src/main/java/com/template/model/vo/FunctionPointVo.java

@@ -0,0 +1,11 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class FunctionPointVo {
+    private String functionPoint;
+
+//    1需要,2:不需要
+    private Integer status;
+}

+ 12 - 0
src/main/java/com/template/model/vo/MenuBarVo.java

@@ -0,0 +1,12 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class MenuBarVo {
+    private String name;
+
+    private List<FunctionPointVo> functionPoints;
+}