zcloud-gbs-primeport/.sisyphus/plans/add-current-user-can-audit.md

69 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Add currentUserCanAudit Field Logic
## TL;DR
`ClosedAreaPersonApplyQueryExe.execute()` 方法中添加逻辑,为每条查询结果设置 `currentUserCanAudit` 字段,标识当前登录用户是否能审核该申请。
**Deliverables**:
- 修改 `ClosedAreaPersonApplyQueryExe.java`
**Estimated Effort**: Quick (1 file, <20 lines)
---
## Context
### Target File
`web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java`
### Business Logic
- `currentUserCanAudit = 1`:当前用户能审核(审核中状态且当前用户是审批人)
- `currentUserCanAudit = 2`:当前用户不能审核
### Implementation Requirements
1. 获取当前登录用户ID`AuthContext.getUserId()`
2. 遍历查询结果,对每个 `ClosedAreaPersonApplyCO` 设置字段:
- 如果 `auditFlag == 1`(审核中)且 `auditPersonUserId == currentUserId` `currentUserCanAudit = 1`
- 否则 `currentUserCanAudit = 2`
---
## TODOs
- [x] Add currentUserCanAudit logic in ClosedAreaPersonApplyQueryExe.execute()
**What to do**:
1. `execute` 方法中获取当前登录用户ID
2. 在转换DOCO后,遍历CO列表设置 `currentUserCanAudit` 字段
3. 判断逻辑:审核中(1)且当前用户是审批人 能审核(1),否则不能审核(2)
**References**:
- `web-app/src/main/java/com/zcloud/primeport/command/query/ClosedAreaPersonApplyQueryExe.java:48-53` - execute method to modify
- `web-client/src/main/java/com/zcloud/primeport/dto/clientobject/ClosedAreaPersonApplyCO.java:124-125` - currentUserCanAudit field already exists
- `web-app/src/main/java/com/zcloud/primeport/command/ClosedAreaPersonApplyAddExe.java` - AuthContext.getUserId() usage example
**Acceptance Criteria**:
- [ ] `execute` 方法中获取 `AuthContext.getUserId()`
- [ ] 对每条记录正确设置 `currentUserCanAudit` 字段
- [ ] 代码编译通过
- [ ] 使用 `import com.jjb.saas.framework.auth.utils.AuthContext;`
---
## Commit Strategy
- **1**: `feat(closedArea): add currentUserCanAudit logic in query` ClosedAreaPersonApplyQueryExe.java
---
## Success Criteria
### Verification Commands
```bash
mvn compile -pl web-app
```
### Final Checklist
- [ ] `currentUserCanAudit` 逻辑正确实现
- [ ] 代码编译通过