|
@@ -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, "申请团队成功");
|
|
|
}
|
|
|
}
|