package com.doumee.biz.system.impl; import com.doumee.biz.system.SystemDataPermissionBiz; import com.doumee.core.constants.DataPermissionConstants; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.dao.system.model.SystemDataPermission; import com.doumee.service.system.SystemDataPermissionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class SystemDataPermissionBizImpl implements SystemDataPermissionBiz { @Autowired private SystemDataPermissionService systemDataPermissionService; @Override public Integer create(SystemDataPermission systemDataPermission) { // 验证是否已存在配置 this.check(systemDataPermission, "该业务模块与角色存在有效的数据权限,请勿重复配置"); // 清空自定义数据 if ( DataPermissionConstants.Type.DEPARTMENT_CUSTOM.getCode() != systemDataPermission.getType() && DataPermissionConstants.Type.POSITION_CUSTOM.getCode() != systemDataPermission.getType() ) { systemDataPermission.setCustomData(""); } return systemDataPermissionService.create(systemDataPermission); } @Override public void update(SystemDataPermission systemDataPermission) { // 清空自定义数据 if ( DataPermissionConstants.Type.DEPARTMENT_CUSTOM.getCode() != systemDataPermission.getType() && DataPermissionConstants.Type.POSITION_CUSTOM.getCode() != systemDataPermission.getType() ) { systemDataPermission.setCustomData(""); } systemDataPermissionService.updateById(systemDataPermission); } @Override public void updateStatus(SystemDataPermission systemDataPermission) { if (!systemDataPermission.getDisabled()) { SystemDataPermission dbPermission = systemDataPermissionService.findById(systemDataPermission.getId()); if (dbPermission == null) { throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), ResponseStatus.DATA_EMPTY.getMessage()); } // 验证是否已存在配置 this.check(dbPermission, "该业务模块与角色存在有效的数据权限,请先禁用后再尝试启动此数据权限"); } systemDataPermissionService.updateById(systemDataPermission); } private void check (SystemDataPermission systemDataPermission, String message) { // 验证是否已存在配置 SystemDataPermission queryDto = new SystemDataPermission(); queryDto.setRoleId(systemDataPermission.getRoleId()); queryDto.setBusinessCode(systemDataPermission.getBusinessCode()); queryDto.setDisabled(Boolean.FALSE); queryDto.setDeleted(Boolean.FALSE); if (systemDataPermissionService.count(queryDto) > 0) { throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), message); } } }