Browse Source

企业申请优化

黄远 5 years ago
parent
commit
ec91223ecb

+ 0 - 4
lift-common/src/main/java/cn.com.ty.lift.common/constants/ApiConstants.java

@@ -289,10 +289,6 @@ public class ApiConstants {
          */
         int CLERK_WORK_ADD = 2;
 
-        /**
-         * 全局设置编码常量
-         */
-
         /**
          * 项目组维保工是否能查看到项目的所有电梯,并接收该项目所有维保任务
          */

+ 6 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/DefaultMenuConstants.java

@@ -40,6 +40,10 @@ public class DefaultMenuConstants {
      * 高级主管默认菜单
      */
     public static final long[] HIGH_DIRECTOR_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 企业管理员默认菜单
+     */
+    public static final long[] ENTERPRISE_ADMIN_MENUIDS = {};
     /**
      * 默认角色对应菜单信息
      */
@@ -56,5 +60,7 @@ public class DefaultMenuConstants {
         DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.REGION_DIRECTOR.getCode(), REGION_DIRECTOR_MENUIDS);
         //设置高级主管默认菜单
         DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.HIGH_DIRECTOR.getCode(), HIGH_DIRECTOR_MENUIDS);
+        //企业管理员默认菜单
+        DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode(), ENTERPRISE_ADMIN_MENUIDS);
     }
 }

+ 6 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/dao/entity/model/CompanyAttestationRequest.java

@@ -124,6 +124,12 @@ public class CompanyAttestationRequest {
      */
     private Integer isCertificated;
 
+    /**
+     * 默认分配标识 0 默认分配 1 手动分配
+     * 默认值 默认分配方式
+     */
+    private int defaultAssign = 0;
+
     /**
      * 每页的条数
      */

+ 2 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MtCompanyAttestationServiceImpl.java

@@ -125,7 +125,8 @@ public class MtCompanyAttestationServiceImpl extends ServiceImpl<MtCompanyAttest
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "操作失败");
         }
         //4.给企业分配默认角色,并绑定角色默认菜单
-        if (!roleService.saveDefaultMessage(companyId)) {
+        if (!roleService.saveDefaultMessage(companyId, companyAttestationRequest.getDefaultAssign(),
+                companyAttestationRequest.getMenuIds())) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "操作失败");
         }

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/LoginController.java

@@ -224,7 +224,7 @@ public class LoginController {
             if (StringUtils.isNotBlank(inputSmsCode) && inputSmsCode.equals(smsCode)) {
                 return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "短信验证码校验成功");
             } else {
-                RestResponse.fail(ApiConstants.RESULT_ERROR, "短信验证码输入有误");
+                return RestResponse.fail(ApiConstants.RESULT_ERROR, "短信验证码输入有误");
             }
         }
         return RestResponse.fail(ApiConstants.RESULT_ERROR, "短信验证码已经过期,请重新获取");

+ 6 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IRoleService.java

@@ -64,13 +64,15 @@ public interface IRoleService extends IService<Role> {
      */
     Role getRoleByUserIdAndCompanyId(Long userId, Long companyId);
 
-    /***
+    /**
+     * @param companyId     公司id
+     * @param defaultAssign 默认分配标识
+     * @param assignMenuIds 手动分配菜单id
+     * @return 是否成功
      * @description 给其分配默认角色
      * @date 2019-12-12 16:38
-     * @param companyId 公司id
-     * @return 是否成功
      */
-    boolean saveDefaultMessage(Long companyId);
+    boolean saveDefaultMessage(Long companyId, int defaultAssign, String assignMenuIds);
 
     /**
      * @param

+ 8 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/MenuService.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -106,7 +107,9 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
         );
         List<Long> companyMenuIds = ProjectUtils.getAttrList(needDeleteCompanyMenuList, "id", null);
         if (companyMenuIds.size() > 0) {
-            companyMenuService.removeByIds(companyMenuIds);
+            if(!companyMenuService.removeByIds(companyMenuIds)){
+               return RestResponse.fail(ApiConstants.RESULT_ERROR, "操作失败");
+            }
         }
         //获取菜单id列表
         List<Long> menuIdList = ProjectUtils.getLongIdFromIds(menuRequest.getMenuIds());
@@ -121,7 +124,10 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> implements IMenuS
         }
         //保存公司菜单关联关系
         if (needSaveCompanyMenuList.size() > 0) {
-            companyMenuService.saveBatch(needSaveCompanyMenuList);
+            if(!companyMenuService.saveBatch(needSaveCompanyMenuList)){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return RestResponse.fail(ApiConstants.RESULT_ERROR, "操作失败");
+            }
         }
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "分配菜单成功");
     }

+ 27 - 16
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/RoleService.java

@@ -162,7 +162,7 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> implements IRoleS
 
     @Override
     @Transactional
-    public boolean saveDefaultMessage(Long companyId) {
+    public boolean saveDefaultMessage(Long companyId, int defaultAssign, String assignMenuIds) {
         //默认角色列表
         List<Role> defaultRoleList = new ArrayList<>();
         for (CommonEnum.DefaultRole defaultRole : DefaultMenuConstants.DEFAULT_ROLE) {
@@ -175,22 +175,33 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> implements IRoleS
         if (!this.saveBatch(defaultRoleList)) {
             return false;
         }
-        //关联关系列表
-        List<RoleMenu> needSaveRoleMenuList = new ArrayList<>();
-        //生成角色菜单关联关系
-        for (Role role : defaultRoleList) {
-            long[] menuIds = DefaultMenuConstants.DEFAULT_ROLE_MENUIDS.get(role.getCode());
-            for (Long menuId : menuIds) {
-                RoleMenu roleMenu = new RoleMenu();
-                roleMenu.setMenuId(menuId);
-                roleMenu.setRoleId(role.getId());
-                needSaveRoleMenuList.add(roleMenu);
+        //获取当前企业的企业管理员
+        Role enterpriseAdminRole = this.getOne(new QueryWrapper<Role>()
+                .eq("company_id", companyId)
+                .eq("code", CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode())
+        );
+        if(0 == defaultAssign) {
+            //菜单默认分配方式
+            //关联关系列表
+            List<RoleMenu> needSaveRoleMenuList = new ArrayList<>();
+            //生成角色菜单关联关系
+            for (Role role : defaultRoleList) {
+                long[] menuIds = DefaultMenuConstants.DEFAULT_ROLE_MENUIDS.get(role.getCode());
+                for (Long menuId : menuIds) {
+                    RoleMenu roleMenu = new RoleMenu();
+                    roleMenu.setMenuId(menuId);
+                    roleMenu.setRoleId(role.getId());
+                    needSaveRoleMenuList.add(roleMenu);
+                }
             }
-        }
-        //需要保存角色菜单信息
-        if (!roleMenuService.saveBatch(needSaveRoleMenuList)) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return false;
+            //需要保存角色菜单信息
+            if (!roleMenuService.saveBatch(needSaveRoleMenuList)) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return false;
+            }
+        } else {
+            //菜单手动分配方式
+
         }
         return true;
     }