fix: 保留新建用户选择的部门

- 创建账号时保留表单提交的部门归属

- 补充跨部门创建回归测试
This commit is contained in:
2026-07-31 16:44:02 +08:00
parent 12080ceedb
commit 527336bfc9
3 changed files with 131 additions and 3 deletions

View File

@@ -52,7 +52,7 @@ public class BaseCurdController<S extends IService<M>, M> extends BaseController
throw new NullPointerException("entity is null");
}
LoginAccount loginAccount = SaTokenUtil.getLoginAccount();
commonFiled(entity, loginAccount.getId(), loginAccount.getTenantId(), loginAccount.getDeptId());
fillCreateCommonFields(entity, loginAccount);
service.save(entity);
onSaveOrUpdateAfter(entity, true);
TableInfo tableInfo = TableInfoFactory.ofEntityClass(entity.getClass());
@@ -271,6 +271,19 @@ public class BaseCurdController<S extends IService<M>, M> extends BaseController
return service.page(page, queryWrapper);
}
/**
* 填充创建记录的公共审计与归属字段。
*
* <p>默认将部门归属设置为当前登录用户所属部门。若业务实体的部门字段具有独立业务含义,
* 子类可覆写此方法以保留业务侧传入的部门。</p>
*
* @param entity 待创建的实体
* @param loginAccount 当前登录账号
*/
protected void fillCreateCommonFields(M entity, LoginAccount loginAccount) {
commonFiled(entity, loginAccount.getId(), loginAccount.getTenantId(), loginAccount.getDeptId());
}
protected Result<?> onSaveOrUpdateBefore(M entity, boolean isSave) {
return null;
}