提交
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
# Overseas Warehouse Service 模块指引
|
||||
|
||||
## 数据库访问与中文注释约束
|
||||
|
||||
- 强制遵守根 `../AGENTS.md` 的“数据库访问与中文代码注释”全部规则:正常业务访问统一为 `Controller → Service → Repository → Mapper`,不得省略 Repository 或跨层直调;生产 SQL 由 Mapper 执行,Repository 不得直接使用 JdbcTemplate 或原生 JDBC。非 HTTP 入口从 Service 进入;无数据库模块不引入数据库访问。
|
||||
- 每个手写方法及构造器须有简短中文说明;核心业务规则、复杂 SQL、事务、锁、幂等、并发及失败处理须补充适量中文注释,重点说明原因和边界。新增、修改方法立即执行,触及的存量代码同步整改。
|
||||
|
||||
## 职责与边界
|
||||
|
||||
- Mapper 只由 `BaiyueWarehouseOverseasApplication.java` 对 `com.baiyue.warehouse` 根包按 `@Mapper` 过滤扫描;新增或移动 Mapper 后从后端根运行 `node scripts/mapper-scan-contract.mjs`,不得增加子域扫描配置。
|
||||
|
||||
+1
-7
@@ -18,8 +18,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import java.util.Set;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@Service
|
||||
@@ -448,11 +446,7 @@ public class WarehouseResourceService {
|
||||
}
|
||||
|
||||
private static String generatedPalletCode(String warehouseCode, long palletId) {
|
||||
String compactWarehouseCode = warehouseCode.replaceAll("[^A-Za-z0-9]", "").toUpperCase(java.util.Locale.ROOT);
|
||||
if (compactWarehouseCode.length() > 9) compactWarehouseCode = compactWarehouseCode.substring(0, 9);
|
||||
return "PLT-" + compactWarehouseCode + "-"
|
||||
+ LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd")) + "-"
|
||||
+ Long.toUnsignedString(palletId, 36).toUpperCase(java.util.Locale.ROOT);
|
||||
return "TP-" + Long.toUnsignedString(palletId, 36).toUpperCase(java.util.Locale.ROOT);
|
||||
}
|
||||
|
||||
private static String defaultLocationCode(String warehouseCode) {
|
||||
|
||||
+1
-1
@@ -262,7 +262,7 @@ class WarehouseResourceServiceTest {
|
||||
|
||||
ArgumentCaptor<WarehousePalletEntity> captor = ArgumentCaptor.forClass(WarehousePalletEntity.class);
|
||||
verify(repository).insertPallet(captor.capture());
|
||||
assertThat(captor.getValue().getPalletCode()).matches("PLT-USLAX01-[0-9]{6}-[0-9A-Z]+");
|
||||
assertThat(captor.getValue().getPalletCode()).matches("TP-[0-9A-Z]+");
|
||||
assertThat(captor.getValue().getPalletCode()).hasSizeLessThanOrEqualTo(34);
|
||||
assertThat(captor.getValue().getLocationId()).isEqualTo(30003L);
|
||||
assertThat(captor.getValue().getId()).isNotNull();
|
||||
|
||||
Reference in New Issue
Block a user