|
@@ -2,6 +2,7 @@ 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.common.utils.ProjectUtils;
|
|
|
import cn.com.ty.lift.system.homepage.dao.dto.request.LiftDataRequest;
|
|
|
import cn.com.ty.lift.system.homepage.dao.dto.response.LiftDataResponse;
|
|
@@ -11,14 +12,20 @@ import cn.com.ty.lift.system.homepage.dao.model.CountDataModel;
|
|
|
import cn.com.ty.lift.system.homepage.dao.model.LiftMapDataModel;
|
|
|
import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
|
|
|
import cn.com.ty.lift.system.settings.dao.entity.MtCompanyAttestation;
|
|
|
-import cn.com.ty.lift.system.settings.dao.entity.model.*;
|
|
|
+import cn.com.ty.lift.system.settings.dao.entity.model.CompanyActiveVo;
|
|
|
+import cn.com.ty.lift.system.settings.dao.entity.model.ConfirmCompanyResponse;
|
|
|
+import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
|
|
|
+import cn.com.ty.lift.system.settings.dao.entity.model.TeamInfoResponse;
|
|
|
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.settings.service.IMtCompanyAttestationService;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.MtCompanyUser;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.Role;
|
|
|
+import cn.com.ty.lift.system.user.dao.entity.RoleMenu;
|
|
|
import cn.com.ty.lift.system.user.dao.entity.UserRole;
|
|
|
+import cn.com.ty.lift.system.user.dao.entity.model.MenuRequest;
|
|
|
import cn.com.ty.lift.system.user.service.*;
|
|
|
+import cn.com.ty.lift.system.user.service.impl.RoleMenuService;
|
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -74,6 +81,9 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
|
|
|
@Resource
|
|
|
private MtCompanyAttestationServiceImpl mtCompanyAttestationServiceImpl;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private RoleMenuService roleMenuService;
|
|
|
+
|
|
|
@Override
|
|
|
public RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest) {
|
|
|
IPage<MaintenanceCompany> maintenanceCompanyPage = new Page<>(
|
|
@@ -149,7 +159,7 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
|
|
|
public RestResponse updateMaintenanceCompany(MaintenanceCompanyRequest maintenanceCompanyRequest) {
|
|
|
//获取公司id,前端传的字段是id
|
|
|
MtCompanyAttestation mtCompanyAttestation = mtCompanyAttestationService.getById(maintenanceCompanyRequest.getId());
|
|
|
- if(mtCompanyAttestation == null){
|
|
|
+ if (mtCompanyAttestation == null) {
|
|
|
return RestResponse.fail(ApiConstants.RESULT_ERROR, "用户申请信息不存在");
|
|
|
}
|
|
|
Long companyId = mtCompanyAttestation.getMtCompanyId();
|
|
@@ -165,17 +175,40 @@ public class MaintenanceCompanyServiceImpl extends ServiceImpl<MaintenanceCompan
|
|
|
//更新企业菜单信息
|
|
|
String menuIds = menuService.getAllMenuButtonIds(maintenanceCompanyRequest.getMenuIds());
|
|
|
// 重新分配菜单和角色
|
|
|
- CompanyAttestationRequest companyAttestationRequest = new CompanyAttestationRequest();
|
|
|
- companyAttestationRequest.setDefaultAssign(0);
|
|
|
- companyAttestationRequest.setMenuIds(menuIds);
|
|
|
- //删除原有分配的角色
|
|
|
- roleService.remove(new QueryWrapper<Role>().lambda().eq(Role::getCompanyId, companyId));
|
|
|
+ menuService.companyMenu(new MenuRequest(companyId, menuIds));
|
|
|
//重新分配菜单和角色
|
|
|
- mtCompanyAttestationServiceImpl.assignRoleAndMenu(companyAttestationRequest, companyId);
|
|
|
+ assignRoleAndMenu(companyId, menuIds);
|
|
|
this.updateById(maintenanceCompany);
|
|
|
return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "更新公司信息成功");
|
|
|
}
|
|
|
|
|
|
+ @SuppressWarnings("all")
|
|
|
+ private RestResponse assignRoleAndMenu(Long companyId, String menuIds) {
|
|
|
+ //公司分配菜单
|
|
|
+ menuService.companyMenu(new MenuRequest(companyId, menuIds));
|
|
|
+ //获取当前企业的企业管理员,设置企业管理员菜单
|
|
|
+ Role enterpriseAdminRole = roleService.getOne(new QueryWrapper<Role>()
|
|
|
+ .eq("company_id", companyId)
|
|
|
+ .eq("code", CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode()));
|
|
|
+ if (enterpriseAdminRole == null) {
|
|
|
+ return RestResponse.fail(ApiConstants.RESULT_ERROR, "企业管理员不存在,无法通过审核");
|
|
|
+ }
|
|
|
+ long[] enterpriseMenuIds = ProjectUtils.getLongIdArrayFromIds(menuIds);
|
|
|
+ DefaultMenuConstants.DEFAULT_ROLE_MENUIDS.put(CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode(),
|
|
|
+ enterpriseMenuIds);
|
|
|
+ //只给企业管理员分配
|
|
|
+ List<RoleMenu> needSaveRoleMenuList = new ArrayList<>();
|
|
|
+ for (long menuId : enterpriseMenuIds) {
|
|
|
+ RoleMenu roleMenu = new RoleMenu();
|
|
|
+ roleMenu.setMenuId(menuId);
|
|
|
+ roleMenu.setRoleId(enterpriseAdminRole.getId());
|
|
|
+ needSaveRoleMenuList.add(roleMenu);
|
|
|
+ }
|
|
|
+ roleMenuService.saveBatch(needSaveRoleMenuList);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public RestResponse ownList(MaintenanceCompanyRequest maintenanceCompanyRequest) {
|
|
|
//获取关联关系
|