Compare commits

...

2 Commits

  1. 3
      src/application/auth-dept/auth-dept.service.ts
  2. 4
      src/application/auth-role/auth-role.service.ts
  3. 3
      src/application/auth-user/auth-user.service.ts
  4. 9
      src/application/core-dict/core-dict.service.ts
  5. 3
      src/application/core-env/core-env.service.ts
  6. 19
      src/application/core-menu/core-menu.service.ts

@ -446,6 +446,9 @@ export class AuthDeptService {
// DB 修改 // DB 修改
private updateDept(id, updateAuthDeptDto: UpdateAuthDeptDto, userId) { private updateDept(id, updateAuthDeptDto: UpdateAuthDeptDto, userId) {
if (id == updateAuthDeptDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
return this.mysqlService.db return this.mysqlService.db
.update(pacAuthDept) .update(pacAuthDept)
.set({ .set({

@ -173,6 +173,10 @@ export class AuthRoleService {
} }
public async update(roleId: string, updateAuthRoleDto: UpdateAuthRoleDto, guardInfo: GuardInfo) { public async update(roleId: string, updateAuthRoleDto: UpdateAuthRoleDto, guardInfo: GuardInfo) {
if (roleId == updateAuthRoleDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
// ! 查找角色信息 // ! 查找角色信息
const roleData = await this.getRoleForRoleId(roleId); const roleData = await this.getRoleForRoleId(roleId);

@ -576,6 +576,9 @@ export class AuthUserService {
// DB 更新账户 // DB 更新账户
private async updateUser(id: string, updateAuthUserDto: UpdateAuthUserDto, guardInfo: GuardInfo) { private async updateUser(id: string, updateAuthUserDto: UpdateAuthUserDto, guardInfo: GuardInfo) {
if (id == updateAuthUserDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
const user = await this.mysqlService.db const user = await this.mysqlService.db
.select({ id: pacAuthUser.userId, pid: pacAuthUser.pid }) .select({ id: pacAuthUser.userId, pid: pacAuthUser.pid })
.from(pacAuthUser) .from(pacAuthUser)

@ -14,6 +14,7 @@ import { alias, QueryBuilder } from 'drizzle-orm/mysql-core';
import { GuardInfo } from '@utils/myType'; import { GuardInfo } from '@utils/myType';
import { isTrueEnum, isExistKey } from '@utils/boolean.enum'; import { isTrueEnum, isExistKey } from '@utils/boolean.enum';
import { customDrizzleRowWithRecursive } from '@utils/customDrizzleRowWithRecursive'; import { customDrizzleRowWithRecursive } from '@utils/customDrizzleRowWithRecursive';
import { Case } from 'change-case-all';
@Injectable() @Injectable()
export class CoreDictService { export class CoreDictService {
@ -137,7 +138,9 @@ export class CoreDictService {
* DATE: 2024-06-04 19:21:40 - * DATE: 2024-06-04 19:21:40 -
* */ * */
public async findTargetList(dictKey: string, pacCoreDictTargetListDto: PacCoreDictTargetListDto) { public async findTargetList(dictKey: string, pacCoreDictTargetListDto: PacCoreDictTargetListDto) {
const [result] = await this.getTargetDictList(dictKey, pacCoreDictTargetListDto); const DictKey = Case.constant(dictKey);
console.log(DictKey);
const [result] = await this.getTargetDictList(DictKey, pacCoreDictTargetListDto);
return result; return result;
} }
@ -152,6 +155,10 @@ export class CoreDictService {
throw new HttpException('没有权限修改原始字典!', HttpStatus.UNAUTHORIZED); throw new HttpException('没有权限修改原始字典!', HttpStatus.UNAUTHORIZED);
} }
if (dictId == updateCoreDictDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
// ! 产看目标字典是否存在 // ! 产看目标字典是否存在
const oldDict = await this.getMore(dictId); const oldDict = await this.getMore(dictId);
if (oldDict.length == 0) throw new HttpException('未找到目标字典,无法修改!', HttpStatus.BAD_REQUEST); if (oldDict.length == 0) throw new HttpException('未找到目标字典,无法修改!', HttpStatus.BAD_REQUEST);

@ -150,6 +150,9 @@ export class CoreEnvService {
if (this.config.get<number>('masterId') != guardInfo.userId && updateCoreEnvDto.root !== undefined) { if (this.config.get<number>('masterId') != guardInfo.userId && updateCoreEnvDto.root !== undefined) {
throw new HttpException('没有权限修改原始字典!', HttpStatus.UNAUTHORIZED); throw new HttpException('没有权限修改原始字典!', HttpStatus.UNAUTHORIZED);
} }
if (envId == updateCoreEnvDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
// ! 查变量是否存在 // ! 查变量是否存在
const oldEnv = await this.getMore(envId); const oldEnv = await this.getMore(envId);

@ -115,7 +115,12 @@ export class CoreMenuService {
throw new HttpException('没有权限删除菜单!', HttpStatus.UNAUTHORIZED); throw new HttpException('没有权限删除菜单!', HttpStatus.UNAUTHORIZED);
} }
if (id == updateCoreMenuDto.pid) {
throw new HttpException('数据成环,无法设置!', HttpStatus.BAD_REQUEST);
}
// ! 写入数据 // ! 写入数据
return this.updateMenuData(id, updateCoreMenuDto, guardInfo);
} }
public async remove(id: string, guardInfo: GuardInfo) { public async remove(id: string, guardInfo: GuardInfo) {
@ -157,8 +162,8 @@ export class CoreMenuService {
menuType: createCoreMenuDto.menuType, menuType: createCoreMenuDto.menuType,
menuIcon: createCoreMenuDto.menuIcon, menuIcon: createCoreMenuDto.menuIcon,
isFrame: isTrueEnum(createCoreMenuDto.isFrame) ? 1 : 0, isFrame: isTrueEnum(createCoreMenuDto.isFrame) ? 1 : 0,
isVisible: isTrueEnum(createCoreMenuDto.isVisible) ? 0 : 1, isVisible: isTrueEnum(createCoreMenuDto.isVisible) ? 1 : 0,
isActivate: isTrueEnum(createCoreMenuDto.isActivate) ? 0 : 1, isActivate: isTrueEnum(createCoreMenuDto.isActivate) ? 1 : 0,
orderNum: createCoreMenuDto.orderNum, orderNum: createCoreMenuDto.orderNum,
serviceKey: createCoreMenuDto.serviceKey, serviceKey: createCoreMenuDto.serviceKey,
createby: guardInfo.userId, createby: guardInfo.userId,
@ -217,7 +222,7 @@ export class CoreMenuService {
wl.push(eq(pacCoreMenu.isFrame, isTrueEnum(data.isFrame) ? 1 : 0).if(isExistKey(data, 'isFrame'))); wl.push(eq(pacCoreMenu.isFrame, isTrueEnum(data.isFrame) ? 1 : 0).if(isExistKey(data, 'isFrame')));
// ? 根据是否显示查 // ? 根据是否显示查
wl.push(eq(pacCoreMenu.isVisible, isTrueEnum(data.isVisible) ? 0 : 1).if(isExistKey(data, 'isVisible'))); wl.push(eq(pacCoreMenu.isVisible, isTrueEnum(data.isVisible) ? 1 : 0).if(isExistKey(data, 'isVisible')));
// ? 根据状态查 // ? 根据状态查
wl.push(eq(pacCoreMenu.status, data.status as any).if(isExistKey(data, 'status'))); wl.push(eq(pacCoreMenu.status, data.status as any).if(isExistKey(data, 'status')));
@ -226,11 +231,11 @@ export class CoreMenuService {
if (this.config.get<number>('masterId') === guardInfo.userId) { if (this.config.get<number>('masterId') === guardInfo.userId) {
// ? 是否要按照激活查 // ? 是否要按照激活查
if (isExistKey(data, 'isActivate')) { if (isExistKey(data, 'isActivate')) {
wl.push(eq(pacCoreMenu.isActivate, isTrueEnum(data['isActivate']) ? 0 : 1)); wl.push(eq(pacCoreMenu.isActivate, isTrueEnum(data['isActivate']) ? 1 : 0));
} }
} else { } else {
// 非pac只能查激活的 // 非pac只能查激活的
wl.push(eq(pacCoreMenu.isActivate, 0)); wl.push(eq(pacCoreMenu.isActivate, 1));
} }
query.where(and(...wl)); query.where(and(...wl));
@ -302,8 +307,8 @@ export class CoreMenuService {
menuType: updateCoreMenuDto.menuType, menuType: updateCoreMenuDto.menuType,
menuIcon: updateCoreMenuDto.menuIcon, menuIcon: updateCoreMenuDto.menuIcon,
isFrame: isTrueEnum(updateCoreMenuDto.isFrame) ? 1 : 0, isFrame: isTrueEnum(updateCoreMenuDto.isFrame) ? 1 : 0,
isVisible: isTrueEnum(updateCoreMenuDto.isVisible) ? 0 : 1, isVisible: isTrueEnum(updateCoreMenuDto.isVisible) ? 1 : 0,
isActivate: isTrueEnum(updateCoreMenuDto.isActivate) ? 0 : 1, isActivate: isTrueEnum(updateCoreMenuDto.isActivate) ? 1 : 0,
orderNum: updateCoreMenuDto.orderNum, orderNum: updateCoreMenuDto.orderNum,
status: updateCoreMenuDto.status, status: updateCoreMenuDto.status,
serviceKey: updateCoreMenuDto.serviceKey, serviceKey: updateCoreMenuDto.serviceKey,

Loading…
Cancel
Save