Переглянути джерело

Merge branch 'develop' of http://132.232.206.88:3000/lift-manager/lift-server into feature-wcz

wcz 5 роки тому
батько
коміт
91e840650a

+ 21 - 1
lift-common/src/main/java/cn.com.ty.lift.common/constants/ApiConstants.java

@@ -70,7 +70,7 @@ public class ApiConstants {
         int TYPE_SUPER_ADMIN = 0;
 
         /**
-         *企业管理员
+         * 企业管理员
          */
         int TYPE_ENTERPRISE_ADMIN = 1;
 
@@ -80,4 +80,24 @@ public class ApiConstants {
         int TYPE_USER = 2;
     }
 
+    /**
+     * 企业常量
+     */
+    public interface CompanyConstants {
+        /**
+         * 待审核
+         */
+        int MAINTENANCE_WAIT_AUDIT = 0;
+
+        /**
+         * 审核通过
+         */
+        int MAINTENANCE_PASS = 1;
+
+        /**
+         * 审核失败
+         */
+        int MAINTENANCE_FAIL = -1;
+    }
+
 }

+ 51 - 3
lift-common/src/main/java/cn.com.ty.lift.common/constants/CommonEnum.java

@@ -11,8 +11,8 @@ public class CommonEnum {
         NORMAL("正常", "2"),
         MAINTENANCE("保养中", "3"),
         EMERGENCY_REPAIR("维修中", "4"),
-        ANNUAL_INSPECTION("年检中","5"),
-        CAPITAL_REPAIR("大修中","6");
+        ANNUAL_INSPECTION("年检中", "5"),
+        CAPITAL_REPAIR("大修中", "6");
         /**
          * 值
          */
@@ -84,7 +84,7 @@ public class CommonEnum {
         NOT_START("尚未开始", "1"),
         IN_SERVICE("服务中", "2"),
         STOP_SERVICE("停止服务", "3"),
-        OVERDUE("逾期","4");
+        OVERDUE("逾期", "4");
         /**
          * 值
          */
@@ -146,4 +146,52 @@ public class CommonEnum {
             return this.label;
         }
     }
+
+    /**
+     * 默认角色
+     */
+    public enum DefaultRole implements IEnum {
+
+        MTWORK("维保工", "ROLEMTWORK"),
+        CLERK("文员", "CLERK"),
+        REGION_DIRECTOR("区域主管", "REGION_DIRECTOR"),
+        HIGH_DIRECTOR("高级主管", "HIGH_DIRECTOR"),
+        ENTERPRISE_ADMIN("企业管理员", "ENTERPRISE_ADMIN");
+
+        /**
+         * 值
+         */
+        private String label;
+
+        /**
+         * 键
+         */
+        private String code;
+
+        /**
+         * 构造函数
+         *
+         * @param label String
+         * @param code  String
+         */
+        DefaultRole(String label, String code) {
+            this.label = label;
+            this.code = code;
+        }
+
+        @Override
+        public String getEnumName() {
+            return "DefaultRole";
+        }
+
+        @Override
+        public String getCode() {
+            return code;
+        }
+
+        @Override
+        public String getLabel() {
+            return label;
+        }
+    }
 }

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

@@ -0,0 +1,60 @@
+package cn.com.ty.lift.common.constants;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author huangyuan
+ * @date 2019-12-11
+ * @description 默认菜单常量
+ */
+public class DefaultMenuConstants {
+
+    /**
+     * 默认角色名称
+     */
+    public static final String[] DEFAULT_ROLE_NAMES= {
+            CommonEnum.DefaultRole.MTWORK.getCode(),
+            CommonEnum.DefaultRole.CLERK.getCode(),
+            CommonEnum.DefaultRole.REGION_DIRECTOR.getCode(),
+            CommonEnum.DefaultRole.HIGH_DIRECTOR.getCode()
+    };
+    /**
+     * 维保工默认菜单
+     */
+    public static final Long[] MTWORK_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 文员默认菜单
+     */
+    public static final Long[] CLERK_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 区域主管默认菜单
+     */
+    public static final Long[] REGION_DIRECTOR_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 高级主管默认菜单
+     */
+    public static final Long[] HIGH_DIRECTOR_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 企业默认菜单
+     */
+    public static final Long[] ENTERPRISE_MENUIDS = {1L, 2L, 3L};
+    /**
+     * 默认角色对应菜单信息
+     */
+    public static Map<String, Long[]> DEFAULT_ROLE_MENUIDS = new HashMap<>();
+
+    /**
+     * 初始化数据
+     */
+    static {
+        //设置维保工默认菜单
+        DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.MTWORK.getCode(), MTWORK_MENUIDS);
+        //设置文员默认菜单
+        DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.CLERK.getCode(), CLERK_MENUIDS);
+        //设置区域主管默认菜单
+        DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.REGION_DIRECTOR.getCode(), REGION_DIRECTOR_MENUIDS);
+        //设置高级主管默认菜单
+        DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.HIGH_DIRECTOR.getCode(), HIGH_DIRECTOR_MENUIDS);
+    }
+}

+ 73 - 17
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/service/impl/MaintenanceCompanyServiceImpl.java

@@ -1,19 +1,27 @@
 package cn.com.ty.lift.system.settings.service.impl;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.constants.CommonEnum;
+import cn.com.ty.lift.common.constants.DefaultMenuConstants;
 import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
 import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
 import cn.com.ty.lift.system.settings.dao.mapper.MaintenanceCompanyMapper;
 import cn.com.ty.lift.system.settings.service.IMaintenanceCompanyService;
+import cn.com.ty.lift.system.user.dao.entity.*;
+import cn.com.ty.lift.system.user.service.*;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 维保公司 服务实现类
@@ -25,36 +33,84 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompanyMapper, MaintenanceCompany> implements IMaintenanceCompanyService {
 
+    @Autowired
+    private IRoleService roleService;
+
+    @Autowired
+    private IUserRoleService userRoleService;
+
+    @Autowired
+    private ICompanyMenuService companyMenuService;
+
+    @Autowired
+    private IUserAccountService userAccountService;
+
+    @Autowired
+    private IMtCompanyUserService mtCompanyUserService;
+
     @Override
-    public RestResponse list(MaintenanceCompanyRequest MaintenanceCompanyRequest) {
+    public RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest) {
         IPage<MaintenanceCompany> maintenanceCompanyPage = new Page<>(
-                MaintenanceCompanyRequest.getPageNum(), MaintenanceCompanyRequest.getPageSize());
+                maintenanceCompanyRequest.getPageNum(), maintenanceCompanyRequest.getPageSize());
         maintenanceCompanyPage = this.page(
                 maintenanceCompanyPage, new QueryWrapper<MaintenanceCompany>()
                 //通过公司名称模糊查找公司信息
-                .like(StringUtils.isNotBlank(MaintenanceCompanyRequest.getCompanyName()), "name", MaintenanceCompanyRequest.getCompanyName())
+                .like(StringUtils.isNotBlank(maintenanceCompanyRequest.getCompanyName()), "name", maintenanceCompanyRequest.getCompanyName())
         );
         return RestResponse.ok(maintenanceCompanyPage, ApiConstants.RESULT_SUCCESS, "获取公司列表成功");
     }
 
     @Override
     @Transactional
-    public RestResponse applyTeam(MaintenanceCompanyRequest MaintenanceCompanyRequest) {
+    public RestResponse applyTeam(MaintenanceCompanyRequest maintenanceCompanyRequest) {
         MaintenanceCompany maintenanceCompany = new MaintenanceCompany();
+        //用户id
+        Long userId = maintenanceCompanyRequest.getUserId();
         //设置申请团队信息
-        maintenanceCompany.setName(MaintenanceCompanyRequest.getCompanyName());
-        maintenanceCompany.setCorporator(MaintenanceCompanyRequest.getCorporator());
-        maintenanceCompany.setCreatorId(MaintenanceCompanyRequest.getUserId());
-        maintenanceCompany.setRemarks(MaintenanceCompanyRequest.getRemarks());
-        boolean saveFlag = this.save(maintenanceCompany);
-        if(saveFlag){
-            //创建团队成功
-            //创建默认角色企业管理员
-
-            //保存成功给团队分配默认菜单
-
-            return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "申请团队成功");
+        maintenanceCompany.setName(maintenanceCompanyRequest.getCompanyName());
+        maintenanceCompany.setCorporator(maintenanceCompanyRequest.getCorporator());
+        maintenanceCompany.setCreatorId(userId);
+        maintenanceCompany.setRemarks(maintenanceCompanyRequest.getRemarks());
+        this.save(maintenanceCompany);
+        //公司id
+        Long companyId = maintenanceCompany.getId();
+
+        //创建团队成功
+        //1.设置申请用户为企业管理员
+        UserAccount userAccount = userAccountService.getByUserId(userId);
+        userAccount.setType(ApiConstants.UserConstants.TYPE_ENTERPRISE_ADMIN);
+        userAccountService.save(userAccount);
+        //2.设置用户类型为企业管理员
+        MtCompanyUser mtCompanyUser = new MtCompanyUser();
+        mtCompanyUser.setCreateUserId(userId);
+        mtCompanyUser.setUserId(userId);
+        mtCompanyUser.setMtCompanyId(companyId);
+        mtCompanyUserService.save(mtCompanyUser);
+        //3.创建默认角色-企业管理员
+        Role role = new Role();
+        role.setName(CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getLabel());
+        role.setCompanyId(companyId);
+        role.setDescription("企业管理员");
+        roleService.save(role);
+        //4.创建用户角色关联关系
+        UserRole userRole = new UserRole();
+        userRole.setUserId(userId);
+        userRole.setRoleId(role.getId());
+        userRole.setCompanyId(companyId);
+        userRoleService.save(userRole);
+        //5.给企业分配默认菜单
+        List<CompanyMenu> needSaveCompanyMenuList = new ArrayList<>();
+        for(Long menuId: DefaultMenuConstants.ENTERPRISE_MENUIDS){
+            CompanyMenu companyMenu = new CompanyMenu();
+            companyMenu.setMenuId(menuId);
+            companyMenu.setCompanyId(companyId);
+            needSaveCompanyMenuList.add(companyMenu);
         }
-        return RestResponse.error(ApiConstants.RESULT_ERROR, "申请团队失败");
+        //保存企业菜单关联关系
+        if(needSaveCompanyMenuList.size() > 0){
+            companyMenuService.saveBatch(needSaveCompanyMenuList);
+        }
+
+        return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "申请团队成功");
     }
 }

+ 2 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/Menu.java

@@ -16,6 +16,8 @@ public class Menu extends BaseTree {
 
 	private Long parentId;
 
+	private int defaultFlag;//是否是默认菜单,0表示否,1表示是
+
 	private String url;
 
 	private String type;

+ 2 - 1
lift-system-service/src/main/resources/mapper/MenuMapper.xml

@@ -8,11 +8,12 @@
 		<result column="code" property="code" jdbcType="VARCHAR" />
 		<result column="url" property="url" jdbcType="VARCHAR" />
 		<result column="type" property="type" jdbcType="VARCHAR" />
+		<result column="default_flag" property="defaultFlag" jdbcType="VARCHAR"/>
 		<result column="description" property="description" jdbcType="VARCHAR" />
 	</resultMap>
 
 	<sql id="Base_Column_List" >
-		id, parent_id, name, code, url, type, description
+		id, parent_id, name, code, url, type, default_flag, description
 	</sql>
 
 	<!-- 通过角色信息获取菜单列表 -->