Merge pull request 'refactor(domain): 将删除和恢复逻辑移至基类并实现幂等性' (#1) from fix/delete-method into dev

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-04-19 16:14:53 +08:00
5 changed files with 22 additions and 38 deletions
@@ -76,10 +76,29 @@ public abstract class BaseDomain {
return this.id;
}
/**
* 删除(幂等操作)
* 已删除的对象不会更新删除时间
*/
public void delete() {
if (this.deletedAt == null) {
this.deletedAt = LocalDateTime.now();
}
}
/**
* 恢复已删除的对象
*/
public void restore() {
this.deletedAt = null;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
BaseDomain that = (BaseDomain) o;
return id != null && id.equals(that.id);
}
@@ -77,18 +77,4 @@ public class SysPermission extends BaseDomain {
public void setStatus(Integer status) {
this.status = status;
}
/**
* 删除权限
*/
public void delete() {
this.deletedAt = java.time.LocalDateTime.now();
}
/**
* 恢复权限
*/
public void restore() {
this.deletedAt = null;
}
}
@@ -57,18 +57,4 @@ public class SysRole extends BaseDomain {
public void setStatus(Integer status) {
this.status = status;
}
/**
* 删除角色
*/
public void delete() {
this.deletedAt = LocalDateTime.now();
}
/**
* 恢复角色
*/
public void restore() {
this.deletedAt = null;
}
}
@@ -100,11 +100,4 @@ public class SysUser extends BaseDomain {
public void setStatus(Integer status) {
this.status = status;
}
/**
* 删除用户
*/
public void delete() {
this.deletedAt = LocalDateTime.now();
}
}
@@ -59,7 +59,7 @@ class SysUserTest {
assertNotNull(firstDeleteTime);
assertNotNull(secondDeleteTime);
assertNotEquals(firstDeleteTime, secondDeleteTime);
assertEquals(firstDeleteTime, secondDeleteTime);
}
@Test