用户同步接口
This commit is contained in:
@@ -199,4 +199,11 @@ public class AuthController {
|
||||
return success(authService.socialLogin(reqVO));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/api/user-add")
|
||||
@PermitAll
|
||||
@Operation(summary = "同步用户")
|
||||
public CommonResult<Boolean> synchronize(@RequestBody @Valid UserReqVO reqVO) {
|
||||
return success(authService.synchronize(reqVO));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.auth.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Schema(description = "同步用户")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class UserReqVO {
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickname;
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
private String phone;
|
||||
}
|
||||
@@ -64,6 +64,10 @@ public class UserSaveReqVO {
|
||||
@DiffLogField(name = "用户头像")
|
||||
private String avatar;
|
||||
|
||||
private Integer isSynchronize;
|
||||
|
||||
private Integer status;
|
||||
|
||||
// ========== 仅【创建】时,需要传递的字段 ==========
|
||||
|
||||
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
|
||||
|
||||
@@ -98,4 +98,5 @@ public class AdminUserDO extends TenantBaseDO {
|
||||
private String unionid;
|
||||
private String miniProgramAvatar;
|
||||
private String miniProgramNickname;
|
||||
private Integer isSynchronize;
|
||||
}
|
||||
|
||||
@@ -92,4 +92,6 @@ public interface AdminAuthService {
|
||||
String getAccessToken();
|
||||
|
||||
AuthLoginRespVO getPhoneNumber(@Valid WxLoginReqVO reqVO);
|
||||
|
||||
Boolean synchronize(@Valid UserReqVO reqVO);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.convert.auth.AuthConvert;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
@@ -365,6 +366,25 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean synchronize(UserReqVO reqVO) {
|
||||
AdminUserDO userByMobile = userService.getUserByMobile(reqVO.getPhone());
|
||||
if (userByMobile == null) {
|
||||
UserSaveReqVO adminUserDO = new UserSaveReqVO();
|
||||
adminUserDO.setMobile(reqVO.getPhone());
|
||||
adminUserDO.setNickname(reqVO.getNickname());
|
||||
adminUserDO.setUsername(reqVO.getPhone());
|
||||
adminUserDO.setStatus(CommonStatusEnum.DISABLE.getStatus());
|
||||
adminUserDO.setPassword("123456");
|
||||
adminUserDO.setIsSynchronize(1);
|
||||
userService.createUser(adminUserDO);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密微信小程序数据
|
||||
* 根据微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html
|
||||
|
||||
@@ -105,7 +105,9 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
createReqVO.getMobile(), createReqVO.getEmail(), createReqVO.getDeptId(), createReqVO.getPostIds());
|
||||
// 2.1 插入用户
|
||||
AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class);
|
||||
if(user.getStatus()==null){
|
||||
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
||||
}
|
||||
user.setPassword(encodePassword(createReqVO.getPassword())); // 加密密码
|
||||
userMapper.insert(user);
|
||||
// 2.2 插入关联岗位
|
||||
|
||||
@@ -280,6 +280,7 @@ yudao:
|
||||
- /admin-api/system/auth/get-access-token
|
||||
- /admin-api/system/auth/get-session
|
||||
- /admin-api/system/auth/get-phone-number
|
||||
- /admin-api/system/auth/api/user-add
|
||||
ignore-visit-urls:
|
||||
- /admin-api/system/user/profile/**
|
||||
- /admin-api/system/auth/**
|
||||
|
||||
Reference in New Issue
Block a user