Commit 1ce84b30 by shenjunjie

新增用户中心注册功能4

parent dafc9495
package com.zhiwei.brandkbs2.service;
import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.middleware.auth.pojo.CenterUser;
/**
* @ClassName: UserCenterService
......@@ -29,6 +30,6 @@ public interface UserCenterService {
* @param password 密码
* @return
*/
boolean registerUser(long phone, String password);
CenterUser registerUser(long phone, String password);
}
......@@ -3,6 +3,7 @@ package com.zhiwei.brandkbs2.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.service.UserCenterService;
import com.zhiwei.middleware.auth.pojo.CenterUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
......@@ -68,7 +69,7 @@ public class UserCenterServiceImpl implements UserCenterService {
}
@Override
public boolean registerUser(long phone, String password) {
public CenterUser registerUser(long phone, String password) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(EXTERNAL_ORIGIN, SERVICE_NAME);
httpHeaders.set(EXTERNAL_TOKEN, token);
......@@ -78,6 +79,10 @@ public class UserCenterServiceImpl implements UserCenterService {
HttpEntity<JSONObject> requestEntity = new HttpEntity<>(json, httpHeaders);
HttpEntity<JSONObject> entity = restTemplate.exchange(yuqingInterface + "/thirdPart/external/register/phone", HttpMethod.POST,
requestEntity, JSONObject.class);
return null != entity.getBody() && entity.getBody().getBoolean("status");
System.out.println("registerUser:" + entity.getBody());
if (null == entity.getBody() || !entity.getBody().getBoolean("status")) {
return null;
}
return entity.getBody().getObject("data", CenterUser.class);
}
}
......@@ -135,15 +135,23 @@ public class UserServiceImpl implements UserService {
ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE);
}
// 有密码则通过用户中心注册
CenterUser centerUser = null;
if (null != userDTO.getPassword()) {
if (!userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword())) {
if (null == (centerUser = userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword()))) {
return ResponseResult.failure("用户中心注册账号失败");
}
}
User user = userDao.findOneById(userDTO.getId());
// 新用户
if (null == user) {
userDao.insertOne(createNewUser(userDTO));
User newUser;
// 优先使用用户中心信息
if (null != centerUser) {
newUser = User.createFromCenterUser(centerUser);
} else {
newUser = createNewUser(userDTO);
}
userDao.insertOne(newUser);
return ResponseResult.success();
}
List<UserRole> roles = user.getRoles();
......@@ -205,8 +213,9 @@ public class UserServiceImpl implements UserService {
@Override
public ResponseResult addSuperAdmin(UserDTO userDTO) {
// 有密码则通过用户中心注册
CenterUser centerUser = null;
if (null != userDTO.getPassword()) {
if (!userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword())) {
if (null == (centerUser = userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword()))) {
return ResponseResult.failure("用户中心注册账号失败");
}
}
......@@ -222,8 +231,14 @@ public class UserServiceImpl implements UserService {
}
}
// 新用户
userDTO.setRoleId(RoleEnum.SUPER_ADMIN.getState());
userDao.insertOne(createNewUser(userDTO));
User newUser;
// 优先使用用户中心信息
if (null != centerUser) {
newUser = User.createFromCenterUser(centerUser);
} else {
newUser = createNewUser(userDTO);
}
userDao.insertOne(newUser);
return ResponseResult.success();
}
......@@ -338,9 +353,11 @@ public class UserServiceImpl implements UserService {
}
private PageVO<JSONObject> findList(int page, int size, String keyword, String pid, Query query) {
userDao.addKeywordFuzz(query,keyword,"nickname");
userDao.addSort(query,"{\"cTime\":\"descend\"}");
long count = userDao.count(query);
mongoUtil.start(page, size, query);
List<User> userList = userDao.findListByKeywordFuzz(query, keyword, new String[]{"nickname"});
List<User> userList = userDao.findList(query);
List<JSONObject> resList = userList.stream().map(user -> {
JSONObject result = new JSONObject();
result.put("id", user.getId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment