mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 13:42:07 +08:00
1、新增组织修改状态接口;2、禅道bug#1506修复;
This commit is contained in:
+8
@@ -104,6 +104,14 @@ public class OrganController {
|
|||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/status")
|
||||||
|
@Operation(summary = "更新组织状态")
|
||||||
|
@PreAuthorize("@ss.hasPermission('organizationLIst:update')")
|
||||||
|
public CommonResult<Boolean> updateOrganStatus(@Valid @RequestBody OrganUpdateStatusReqVO updateReqVO) {
|
||||||
|
organService.updateOrganStatus(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
@DeleteMapping("/delete")
|
@DeleteMapping("/delete")
|
||||||
@Operation(summary = "删除组织")
|
@Operation(summary = "删除组织")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
|||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
package com.cf.imes.module.system.controller.admin.organ.vo.organ;
|
||||||
|
|
||||||
|
import com.cf.imes.module.system.validation.common.CommonStatus;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 组织更新状态 Request VO")
|
||||||
|
@Data
|
||||||
|
public class OrganUpdateStatusReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "组织编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
|
@NotNull(message = "组织编号不能为空")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "状态,见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
|
@NotNull(message = "状态不能为空")
|
||||||
|
@CommonStatus
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
}
|
||||||
+8
@@ -7,6 +7,7 @@ import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganPageReqVO;
|
|||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganRespVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSaveReqVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSaveReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganUpdateStatusReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.statistics.vo.ManageOrgTotalStatisticRespVO;
|
import com.cf.imes.module.system.controller.admin.statistics.vo.ManageOrgTotalStatisticRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
|
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
|
||||||
import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO;
|
import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO;
|
||||||
@@ -41,6 +42,13 @@ public interface OrganService {
|
|||||||
*/
|
*/
|
||||||
void updateOrgan(@Valid OrganSaveReqVO updateReqVO);
|
void updateOrgan(@Valid OrganSaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新组织状态
|
||||||
|
*
|
||||||
|
* @param updateReqVO
|
||||||
|
*/
|
||||||
|
void updateOrganStatus(@Valid OrganUpdateStatusReqVO updateReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新组织的角色菜单
|
* 更新组织的角色菜单
|
||||||
*
|
*
|
||||||
|
|||||||
+26
-6
@@ -6,6 +6,7 @@ import cn.hutool.core.lang.Assert;
|
|||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||||
@@ -33,6 +34,7 @@ import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganPageReqVO;
|
|||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganRespVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSaveReqVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSaveReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
||||||
|
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganUpdateStatusReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.statistics.vo.ManageOrgTotalStatisticRespVO;
|
import com.cf.imes.module.system.controller.admin.statistics.vo.ManageOrgTotalStatisticRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
|
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
|
||||||
import com.cf.imes.module.system.controller.admin.systemconfig.vo.ProcessSchemeConfig;
|
import com.cf.imes.module.system.controller.admin.systemconfig.vo.ProcessSchemeConfig;
|
||||||
@@ -228,16 +230,13 @@ public class OrganServiceImpl implements OrganService {
|
|||||||
|
|
||||||
organMapper.insert(tenant);
|
organMapper.insert(tenant);
|
||||||
Long organId = tenant.getId();
|
Long organId = tenant.getId();
|
||||||
if (!tenant.getLarge()) {
|
|
||||||
tenant.setDbNo(organId.intValue() % 8);
|
|
||||||
}
|
|
||||||
tenant.setTableNo(organId.intValue() % 256);
|
|
||||||
organMapper.updateById(tenant);
|
|
||||||
// 创建组织的管理员
|
// 创建组织的管理员
|
||||||
// 1、创建用户,并分配角色
|
// 1、创建用户,并分配角色
|
||||||
Long userId = createUser(InternalRoleConstants.ORGAN_ADMIN_ROLE_ID, createReqVO, organId);
|
Long userId = createUser(InternalRoleConstants.ORGAN_ADMIN_ROLE_ID, createReqVO, organId);
|
||||||
// 2、修改组织的管理员
|
// 2、修改组织的管理员
|
||||||
organMapper.updateById(new OrganizationDO().setId(tenant.getId()).setContactUserId(userId));
|
organMapper.update(new LambdaUpdateWrapper<OrganizationDO>()
|
||||||
|
.eq(OrganizationDO::getId, organId)
|
||||||
|
.set(OrganizationDO::getContactUserId, userId));
|
||||||
|
|
||||||
// 复制系统配置里的相关配置
|
// 复制系统配置里的相关配置
|
||||||
copySystemConfig(organId);
|
copySystemConfig(organId);
|
||||||
@@ -324,6 +323,27 @@ public class OrganServiceImpl implements OrganService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void updateOrganStatus(OrganUpdateStatusReqVO updateReqVO) {
|
||||||
|
Long organId = updateReqVO.getId();
|
||||||
|
Integer status = updateReqVO.getStatus();
|
||||||
|
// 校验存在
|
||||||
|
OrganizationDO tenant = validateUpdateTenant(organId);
|
||||||
|
// 不允许禁用自身组织
|
||||||
|
checkCfOrgWhenOperate(organId);
|
||||||
|
// 更新状态
|
||||||
|
OrganizationDO updateObj = new OrganizationDO();
|
||||||
|
updateObj.setId(organId);
|
||||||
|
updateObj.setStatus(status);
|
||||||
|
organMapper.updateById(updateObj);
|
||||||
|
|
||||||
|
if (CommonStatusEnum.DISABLE.getStatus().equals(status)) {
|
||||||
|
// 移除机构下用户的token
|
||||||
|
scanAndCompareDeptAndDelToken(String.format(OAUTH2_ACCESS_TOKEN, "*"), organId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void validTenantNameDuplicate(String name, Long id) {
|
private void validTenantNameDuplicate(String name, Long id) {
|
||||||
OrganizationDO tenant = organMapper.selectByName(name);
|
OrganizationDO tenant = organMapper.selectByName(name);
|
||||||
if (tenant == null) {
|
if (tenant == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user