|
@@ -2,6 +2,7 @@ package com.ydtech.modules.admin.controller;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.ydtech.config.MasterPasswordConfig;
|
|
import com.ydtech.config.MasterPasswordConfig;
|
|
|
|
|
+import com.ydtech.constants.sys.SysPasswordEnum;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.core.page.PageRequest;
|
|
import com.ydtech.core.page.PageRequest;
|
|
|
import com.ydtech.modules.admin.model.SysDept;
|
|
import com.ydtech.modules.admin.model.SysDept;
|
|
@@ -49,20 +50,34 @@ public class SysDeptController extends BaseController {
|
|
|
@PostMapping(value = "/deleteDept")
|
|
@PostMapping(value = "/deleteDept")
|
|
|
@ApiOperation("删除机构")
|
|
@ApiOperation("删除机构")
|
|
|
public HttpResult<Object> delete(@RequestBody SysDeptRemoveVo sysDeptRemoveVo) {
|
|
public HttpResult<Object> delete(@RequestBody SysDeptRemoveVo sysDeptRemoveVo) {
|
|
|
|
|
+ if (sysDeptRemoveVo.getPassword() == null) {
|
|
|
|
|
+ return HttpResult.error("输入的密码不能为空");
|
|
|
|
|
+ }
|
|
|
String username = BaseController.getUser().getId();
|
|
String username = BaseController.getUser().getId();
|
|
|
- SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, sysDeptRemoveVo.getCode()));
|
|
|
|
|
- if (sysDeptRemoveVo.getPassword() != null) {
|
|
|
|
|
- if (PasswordUtils.matches(sysPassword.getSalt(), sysDeptRemoveVo.getPassword(), sysPassword.getPassword())) {
|
|
|
|
|
- sysDeptService.deleteDept(sysDeptRemoveVo);
|
|
|
|
|
- return HttpResult.ok();
|
|
|
|
|
- } else if (!"admin".equals(username) && PasswordUtils.matches(masterPasswordConfig.getSalt(), sysDeptRemoveVo.getPassword(),
|
|
|
|
|
- masterPasswordConfig.getCiphertext())) {
|
|
|
|
|
|
|
+ SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.DEPT.getCode()));
|
|
|
|
|
+ SysPassword generalPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));
|
|
|
|
|
+ // 判断机构删除密码是否为空
|
|
|
|
|
+ if (sysPassword == null) {
|
|
|
|
|
+ // 机构删除密码为空时,直接使用万能密码进行验证
|
|
|
|
|
+ if (generalPassword != null && !"admin".equals(username)
|
|
|
|
|
+ && PasswordUtils.matches(generalPassword.getSalt(), sysDeptRemoveVo.getPassword(), generalPassword.getPassword())) {
|
|
|
sysDeptService.deleteDept(sysDeptRemoveVo);
|
|
sysDeptService.deleteDept(sysDeptRemoveVo);
|
|
|
return HttpResult.ok();
|
|
return HttpResult.ok();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return HttpResult.error("密码错误");
|
|
|
}
|
|
}
|
|
|
- return HttpResult.error("密码错误");
|
|
|
|
|
}
|
|
}
|
|
|
- return HttpResult.error("密码不能为空");
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (PasswordUtils.matches(sysPassword.getSalt(), sysDeptRemoveVo.getPassword(), sysPassword.getPassword())) {
|
|
|
|
|
+ sysDeptService.deleteDept(sysDeptRemoveVo);
|
|
|
|
|
+ return HttpResult.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果机构删除密码验证失败,再使用万能密码进行验证
|
|
|
|
|
+ if (generalPassword != null && !"admin".equals(username) && PasswordUtils.matches(generalPassword.getSalt(), sysDeptRemoveVo.getPassword(), generalPassword.getPassword())) {
|
|
|
|
|
+ sysDeptService.deleteDept(sysDeptRemoveVo);
|
|
|
|
|
+ return HttpResult.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+ return HttpResult.error("密码错误");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|