fix(flow): 科室/成员端点补 requireId 边界防护——缺 id 回业务错而非 findById(null) 笼统 500(用户验收反馈 R2)
build / build-push (push) Successful in 2m54s
build / build-push (push) Successful in 2m54s
This commit is contained in:
@@ -12,6 +12,8 @@ import com.yunhai.flowcenter.service.FlowCallbackAdminService;
|
|||||||
import com.yunhai.flowcenter.service.FlowDefAdminService;
|
import com.yunhai.flowcenter.service.FlowDefAdminService;
|
||||||
import com.yunhai.flowcenter.service.FlowDiagramService;
|
import com.yunhai.flowcenter.service.FlowDiagramService;
|
||||||
import com.yunhai.flowcenter.service.FlowMapAdminService;
|
import com.yunhai.flowcenter.service.FlowMapAdminService;
|
||||||
|
import com.yunhai.platform.apistd.BizException;
|
||||||
|
import com.yunhai.platform.utils.exception.ErrorCode;
|
||||||
import com.yunhai.platform.utils.model.BasePageResult;
|
import com.yunhai.platform.utils.model.BasePageResult;
|
||||||
import com.yunhai.platform.utils.model.BoaUser;
|
import com.yunhai.platform.utils.model.BoaUser;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -178,21 +180,21 @@ public class FlowAdminController {
|
|||||||
@PostMapping("/dept/rename")
|
@PostMapping("/dept/rename")
|
||||||
public com.yunhai.flowcenter.entity.FlwDept deptRename(BoaUser user, @RequestBody Map<String, Object> body) {
|
public com.yunhai.flowcenter.entity.FlwDept deptRename(BoaUser user, @RequestBody Map<String, Object> body) {
|
||||||
Long schId = adminGuard.requireAdmin(user, null);
|
Long schId = adminGuard.requireAdmin(user, null);
|
||||||
return deptAdminService.rename(schId, longVal(body.get("id")), (String) body.get("deptName"));
|
return deptAdminService.rename(schId, requireId(body.get("id")), (String) body.get("deptName"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 停用/启用科室(停用=解析不出办理人、发布校验拦新引用;成员不动) */
|
/** 停用/启用科室(停用=解析不出办理人、发布校验拦新引用;成员不动) */
|
||||||
@PostMapping("/dept/status")
|
@PostMapping("/dept/status")
|
||||||
public void deptStatus(BoaUser user, @RequestBody Map<String, Object> body) {
|
public void deptStatus(BoaUser user, @RequestBody Map<String, Object> body) {
|
||||||
Long schId = adminGuard.requireAdmin(user, null);
|
Long schId = adminGuard.requireAdmin(user, null);
|
||||||
deptAdminService.setStatus(schId, longVal(body.get("id")), boolVal(body.get("enabled")));
|
deptAdminService.setStatus(schId, requireId(body.get("id")), boolVal(body.get("enabled")));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 删除科室(级联删成员;被流程引用的 deptKey 将解析失败——发布校验/办理时会拦) */
|
/** 删除科室(级联删成员;被流程引用的 deptKey 将解析失败——发布校验/办理时会拦) */
|
||||||
@PostMapping("/dept/delete")
|
@PostMapping("/dept/delete")
|
||||||
public void deptDelete(BoaUser user, @RequestBody Map<String, Object> body) {
|
public void deptDelete(BoaUser user, @RequestBody Map<String, Object> body) {
|
||||||
Long schId = adminGuard.requireAdmin(user, null);
|
Long schId = adminGuard.requireAdmin(user, null);
|
||||||
deptAdminService.delete(schId, longVal(body.get("id")));
|
deptAdminService.delete(schId, requireId(body.get("id")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/dept/members")
|
@GetMapping("/dept/members")
|
||||||
@@ -214,13 +216,13 @@ public class FlowAdminController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return deptAdminService.memberAdd(schId, longVal(body.get("deptId")), userIds);
|
return deptAdminService.memberAdd(schId, requireId(body.get("deptId")), userIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/dept/memberRemove")
|
@PostMapping("/dept/memberRemove")
|
||||||
public void deptMemberRemove(BoaUser user, @RequestBody Map<String, Object> body) {
|
public void deptMemberRemove(BoaUser user, @RequestBody Map<String, Object> body) {
|
||||||
Long schId = adminGuard.requireAdmin(user, null);
|
Long schId = adminGuard.requireAdmin(user, null);
|
||||||
deptAdminService.memberRemove(schId, longVal(body.get("memberId")));
|
deptAdminService.memberRemove(schId, requireId(body.get("memberId")));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -242,6 +244,15 @@ public class FlowAdminController {
|
|||||||
return o == null ? null : Long.valueOf(String.valueOf(o));
|
return o == null ? null : Long.valueOf(String.valueOf(o));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 科室/成员行 id 缺失=调用方bug/脏请求:回业务错提示,不让 findById(null) 炸成笼统 500 */
|
||||||
|
private static Long requireId(Object o) {
|
||||||
|
Long v = longVal(o);
|
||||||
|
if (v == null) {
|
||||||
|
throw new BizException(ErrorCode.PARAM_ERROR, "缺少 id");
|
||||||
|
}
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean boolVal(Object o) {
|
private static boolean boolVal(Object o) {
|
||||||
return o == null ? false : Boolean.parseBoolean(String.valueOf(o));
|
return o == null ? false : Boolean.parseBoolean(String.valueOf(o));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user