refactor: 租户 and 用户

This commit is contained in:
pengsz 2025-12-05 09:00:59 +08:00
parent 9ba5172bb2
commit d6a357f249
8 changed files with 51 additions and 34 deletions

View File

@ -58,6 +58,9 @@ public class Tenant {
@TableField("license_url")
private String licenseUrl;
@ApiModelProperty("租户专属注册二维码URL")
private String registerQrCodeUrl;
@ApiModelProperty("地址")
@TableField("address")
private String address;

View File

@ -41,6 +41,9 @@ public class User implements Serializable {
@ApiModelProperty(value = "真实姓名")
private String realName;
@ApiModelProperty("用户公司名称")
private String companyName;
@ApiModelProperty(value = "生日")
private String birthday;

View File

@ -20,15 +20,18 @@ public class RegisterRequest {
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty("用户公司名称")
private String companyName;
@NotBlank(message = "登录密码不能为空")
@Pattern(regexp = RegularConstants.PASSWORD, message = "密码格式错误,密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线")
@ApiModelProperty(value = "登录密码")
private String password;
@NotBlank(message = "交易密码不能为空")
@Size(min = 6, message = "交易密码至少6位")
@ApiModelProperty(value = "交易密码")
private String tradePassword;
// @NotBlank(message = "交易密码不能为空")
// @Size(min = 6, message = "交易密码至少6位")
// @ApiModelProperty(value = "交易密码")
// private String tradePassword;
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
@ -40,14 +43,14 @@ public class RegisterRequest {
@ApiModelProperty(value = "短信验证码")
private String validateCode;
@ApiModelProperty(value = "推广人id")
private Integer spreadUid;
// @ApiModelProperty(value = "推广人id")
// private Integer spreadUid;
@ApiModelProperty(value = "租户(公司)id")
private Long tenantId; // 公司ID
/**
* 机构名称(选填)
*/
@ApiModelProperty(value = "机构名称")
private String orgName;
// @ApiModelProperty(value = "机构名称")
// private String orgName;
}

View File

@ -22,6 +22,9 @@ public class TenantSaveRequest {
@ApiModelProperty("租户名称(英文)")
private String tenantNameEn;
@ApiModelProperty("租户专属注册二维码URL")
private String registerQrCodeUrl;
@ApiModelProperty("租户简介")
private String introduction;

View File

@ -30,6 +30,9 @@ public class TenantVo {
@ApiModelProperty("租户名称(英文)")
private String tenantNameEn;
@ApiModelProperty("租户专属注册二维码URL")
private String registerQrCodeUrl;
@ApiModelProperty("租户编码")
private String code;
@ -86,6 +89,6 @@ public class TenantVo {
@ApiModelProperty(value = "等级名称")
private String levelName;
@ApiModelProperty(value = "商户配置")
WechatMerchantConfigVo wechatMerchantConfigVo;
// @ApiModelProperty(value = "商户配置")
// WechatMerchantConfigVo wechatMerchantConfigVo;
}

View File

@ -132,10 +132,10 @@ public class LoginServiceImpl implements LoginService {
if (!user.getStatus()) {
throw new YztException("当前账户已禁用,请联系管理员!");
}
if (user.getSpreadUid().equals(0) && spreadPid > 0) {
// 绑定推广关系
bindSpread(user, spreadPid);
}
// if (user.getSpreadUid().equals(0) && spreadPid > 0) {
// // 绑定推广关系
// bindSpread(user, spreadPid);
// }
// 记录最后一次登录时间
user.setLastLoginTime(YztDateUtil.nowDateTime());
user.setUpdateTime(DateUtil.date());
@ -263,9 +263,10 @@ public class LoginServiceImpl implements LoginService {
user.setPhone(request.getPhone());
user.setAccount(request.getPhone());
user.setCompanyName(request.getCompanyName());
user.setPwd(YztUtil.encryptPassword(request.getPassword(), request.getPhone())); // 登录密码
user.setTradePassword(YztUtil.encryptPassword(request.getTradePassword(), request.getPhone())); // 交易密码
user.setSpreadUid(request.getSpreadUid()); // 推广人ID
// user.setTradePassword(YztUtil.encryptPassword(request.getTradePassword(), request.getPhone())); // 交易密码
// user.setSpreadUid(request.getSpreadUid()); // 推广人ID
// user.setTenantId(request.getTenantId()); // 公司ID
user.setTenantId(userService.getInfoByUid(user.getSpreadUid()).getTenantId()); // 公司ID
Date nowDate = YztDateUtil.nowDateTime();
@ -273,26 +274,26 @@ public class LoginServiceImpl implements LoginService {
user.setLastLoginTime(nowDate);
user.setUserType(Constants.USER_LOGIN_TYPE_H5);
user.setAvatar(systemConfigService.getValueByKey(Constants.USER_DEFAULT_AVATAR_CONFIG_KEY));
user.setOrgName(request.getOrgName());
// user.setOrgName(request.getOrgName());
user.setLevel(1);
// 推广人
if(ObjectUtil.isNull(request.getSpreadUid())){
throw new YztException("推广人不能为空!");
}
Boolean check = userService.checkBingSpread(user, request.getSpreadUid(), "new");
if (check) {
user.setSpreadUid(request.getSpreadUid());
user.setSpreadTime(nowDate);
}
// if(ObjectUtil.isNull(request.getSpreadUid())){
// throw new YztException("推广人不能为空!");
// }
// Boolean check = userService.checkBingSpread(user, request.getSpreadUid(), "new");
// if (check) {
// user.setSpreadUid(request.getSpreadUid());
// user.setSpreadTime(nowDate);
// }
// save(user);
Boolean execute = transactionTemplate.execute(e -> {
userService.save(user);
// 推广人处理
if (check) {
userService.updateSpreadCountByUid(request.getSpreadUid(), "add");
}
// if (check) {
// userService.updateSpreadCountByUid(request.getSpreadUid(), "add");
// }
return Boolean.TRUE;
});
if (!execute) {

View File

@ -890,11 +890,12 @@ public class UserCenterServiceImpl extends ServiceImpl<UserMapper, User> impleme
});
if (!execute) {
logger.error("微信用户注册生成失败,nickName = " + registerThirdUserRequest.getNickName());
} else if (!isNew) {// 老用户绑定推广人
if (ObjectUtil.isNotNull(registerThirdUserRequest.getSpreadPid()) && registerThirdUserRequest.getSpreadPid() > 0) {
loginService.bindSpread(finalUser, registerThirdUserRequest.getSpreadPid());
}
}
// else if (!isNew) {// 老用户绑定推广人
// if (ObjectUtil.isNotNull(registerThirdUserRequest.getSpreadPid()) && registerThirdUserRequest.getSpreadPid() > 0) {
// loginService.bindSpread(finalUser, registerThirdUserRequest.getSpreadPid());
// }
// }
LoginResponse loginResponse = new LoginResponse();
try {
String token = tokenComponent.createToken(finalUser);

View File

@ -69,7 +69,7 @@ public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> impleme
return transactionTemplate.execute(e -> {
this.saveOrUpdate(tenant);
wechatMerchantConfigService.saveOrUpdateByTenant(tenantSaveRequest.getWechatMerchantConfigVo(),tenant.getTenantId(), Objects.requireNonNull(SecurityUtil.getLoginUserVo()).getUser().getId());
// wechatMerchantConfigService.saveOrUpdateByTenant(tenantSaveRequest.getWechatMerchantConfigVo(),tenant.getTenantId(), Objects.requireNonNull(SecurityUtil.getLoginUserVo()).getUser().getId());
return tenant.getTenantId();
});
}
@ -107,7 +107,7 @@ public class TenantServiceImpl extends ServiceImpl<TenantMapper, Tenant> impleme
public TenantVo getInfo(Long tenantId) {
Tenant tenant = getById(tenantId);
TenantVo tenantVo = BeanUtil.copyProperties(tenant, TenantVo.class);
tenantVo.setWechatMerchantConfigVo(Objects.requireNonNull(wechatMerchantConfigService.getByTenant(tenantId)));
// tenantVo.setWechatMerchantConfigVo(Objects.requireNonNull(wechatMerchantConfigService.getByTenant(tenantId)));
return tenantVo;
}