fix(user-invite-codes): 修复字段名拼写错误并新增代理邀请码生成

修正 owenrSystemUserId → ownerSystemUserId 拼写错误;
新增 UserInviteCodeApi 及实现,为代理租户自动生成 6 位唯一邀请码。
This commit is contained in:
2025-12-29 15:43:23 +08:00
parent c3b18774e0
commit 0cab423604
9 changed files with 166 additions and 17 deletions

View File

@@ -0,0 +1,19 @@
package com.yolo.keyboard.module.system.api.invitecode;
/**
* 用户邀请码 API 接口
*
* @author ziin
*/
public interface UserInviteCodeApi {
/**
* 为代理租户创建邀请码
*
* @param userId 系统用户ID
* @param tenantId 租户ID
* @return 生成的邀请码
*/
String createInviteCodeForAgent(Long userId, Long tenantId);
}

View File

@@ -21,6 +21,7 @@ import com.yolo.keyboard.module.system.dal.dataobject.permission.RoleDO;
import com.yolo.keyboard.module.system.dal.dataobject.tenant.TenantDO;
import com.yolo.keyboard.module.system.dal.dataobject.tenant.TenantPackageDO;
import com.yolo.keyboard.module.system.dal.mysql.tenant.TenantMapper;
import com.yolo.keyboard.module.system.api.invitecode.UserInviteCodeApi;
import com.yolo.keyboard.module.system.enums.permission.RoleCodeEnum;
import com.yolo.keyboard.module.system.enums.permission.RoleTypeEnum;
import com.yolo.keyboard.module.system.service.permission.MenuService;
@@ -75,6 +76,9 @@ public class TenantServiceImpl implements TenantService {
@Resource
private PermissionService permissionService;
@Autowired(required = false)
private UserInviteCodeApi userInviteCodeApi;
@Override
public List<Long> getTenantIdList() {
List<TenantDO> tenants = tenantMapper.selectList();
@@ -135,6 +139,10 @@ public class TenantServiceImpl implements TenantService {
Long userId = createUser(roleId, createReqVO);
// 修改租户的管理员
tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(userId));
// 为代理租户创建邀请码
if ("代理".equals(createReqVO.getTenantType()) && userInviteCodeApi != null) {
userInviteCodeApi.createInviteCodeForAgent(userId, tenant.getId());
}
});
return tenant.getId();
}