|
@@ -74,6 +74,9 @@ public class SysUserController {
|
|
|
private ISysUserRoleService sysUserRoleService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private ISysRoleService sysRoleService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private ISysUserDepartService sysUserDepartService;
|
|
|
|
|
|
@Autowired
|
|
@@ -1028,6 +1031,104 @@ public class SysUserController {
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 用户注册接口
|
|
|
+ *
|
|
|
+ * @param jsonObject 包含用户名、企业全称、邮箱、手机号(选填)和密码的 JSON 对象
|
|
|
+ * @return 注册结果
|
|
|
+ */
|
|
|
+ @PostMapping("/registerNew")
|
|
|
+ public Result<JSONObject> registerNew(@RequestBody JSONObject jsonObject) {
|
|
|
+ Result<JSONObject> result = new Result<>();
|
|
|
+ String username = jsonObject.getString("username");
|
|
|
+ String companyName = jsonObject.getString("companyName");
|
|
|
+ String email = jsonObject.getString("email");
|
|
|
+ String phone = jsonObject.getString("phone"); // 可选
|
|
|
+ String password = jsonObject.getString("password");
|
|
|
+
|
|
|
+ // 验证输入参数
|
|
|
+ if (oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(companyName) || oConvertUtils.isEmpty(email) || oConvertUtils.isEmpty(password)) {
|
|
|
+ result.setMessage("用户名、企业全称、邮箱和密码不能为空");
|
|
|
+ result.setSuccess(false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检查用户是否存在
|
|
|
+ SysUser sysUser1 = sysUserService.getUserByName(username);
|
|
|
+ if (sysUser1 != null) {
|
|
|
+ result.setMessage("用户名已注册");
|
|
|
+ result.setSuccess(false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ SysUser sysUser2 = sysUserService.getUserByEmail(email);
|
|
|
+ if (sysUser2 != null) {
|
|
|
+ result.setMessage("该邮箱已注册");
|
|
|
+ result.setSuccess(false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (oConvertUtils.isNotEmpty(phone)) {
|
|
|
+ SysUser sysUser3 = sysUserService.getUserByPhone(phone);
|
|
|
+ if (sysUser3 != null) {
|
|
|
+ result.setMessage("该手机号已注册");
|
|
|
+ result.setSuccess(false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 设置默认租户为“苏豪” (tenant_id 为 1003)
|
|
|
+ Integer tenantId = 1003; // “苏豪”的租户ID是 1003
|
|
|
+
|
|
|
+ SysUser user = new SysUser();
|
|
|
+ user.setCreateTime(new Date()); // 设置创建时间
|
|
|
+ String salt = oConvertUtils.randomGen(8);
|
|
|
+ String passwordEncode = PasswordUtil.encrypt(username, password, salt);
|
|
|
+ user.setSalt(salt);
|
|
|
+ user.setUsername(username);
|
|
|
+ user.setRealname(companyName);
|
|
|
+ user.setCompanyName(companyName);
|
|
|
+ user.setPassword(passwordEncode);
|
|
|
+ user.setEmail(email);
|
|
|
+ user.setPhone(phone);
|
|
|
+ user.setLoginTenantId(tenantId);
|
|
|
+ user.setStatus(CommonConstant.USER_UNFREEZE);
|
|
|
+ user.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
+ user.setActivitiSync(CommonConstant.ACT_SYNC_1);
|
|
|
+
|
|
|
+ // 保存用户
|
|
|
+ sysUserService.save(user);
|
|
|
+
|
|
|
+ // 查询 "third_role" 角色的 ID
|
|
|
+ LambdaQueryWrapper<SysRole> roleQuery = new LambdaQueryWrapper<>();
|
|
|
+ roleQuery.eq(SysRole::getRoleCode, "third_role");
|
|
|
+ SysRole thirdRole = sysRoleService.getOne(roleQuery);
|
|
|
+ if (thirdRole == null) {
|
|
|
+ log.error("third_role not found in database");
|
|
|
+ result.error500("注册失败: third_role 未找到");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置用户角色为 “第三方登陆角色”
|
|
|
+ SysUserRole sysUserRole = new SysUserRole(user.getId(), thirdRole.getId());
|
|
|
+ sysUserRoleService.save(sysUserRole);
|
|
|
+
|
|
|
+
|
|
|
+ SysUserTenant sysUserTenant = new SysUserTenant();
|
|
|
+ sysUserTenant.setUserId(user.getId());
|
|
|
+ sysUserTenant.setTenantId(tenantId);
|
|
|
+ sysUserTenant.setStatus(CommonConstant.USER_TENANT_NORMAL);
|
|
|
+ userTenantService.save(sysUserTenant);
|
|
|
+
|
|
|
+ result.success("注册成功");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ result.error500("注册失败");
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// /**
|
|
|
// * 根据用户名或手机号查询用户信息
|