Commit ac156e1e by shenjunjie

新增用户中心注册功能

parent 53c0e739
...@@ -5,18 +5,14 @@ import com.zhiwei.brandkbs2.auth.Auth; ...@@ -5,18 +5,14 @@ import com.zhiwei.brandkbs2.auth.Auth;
import com.zhiwei.brandkbs2.enmus.RoleEnum; import com.zhiwei.brandkbs2.enmus.RoleEnum;
import com.zhiwei.brandkbs2.model.ResponseResult; import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.service.ProjectService; import com.zhiwei.brandkbs2.service.ProjectService;
import com.zhiwei.brandkbs2.service.UserCenterService;
import com.zhiwei.brandkbs2.service.UserService; import com.zhiwei.brandkbs2.service.UserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -36,21 +32,15 @@ public class LoginController extends BaseController { ...@@ -36,21 +32,15 @@ public class LoginController extends BaseController {
@Value("${jwt.hour}") @Value("${jwt.hour}")
private int jwtHour; private int jwtHour;
@Value("${qbjc.userCenter.url}")
private String yuqingInterface;
@Value("${qbjc.userCenter.token}")
private String token;
@Autowired
private RestTemplate restTemplate;
@Resource(name = "userServiceImpl") @Resource(name = "userServiceImpl")
private UserService UserService; private UserService UserService;
@Resource(name = "projectServiceImpl") @Resource(name = "projectServiceImpl")
private ProjectService ProjectService; private ProjectService ProjectService;
@Resource(name = "userCenterServiceImpl")
private UserCenterService userCenterService;
@ApiOperation("用户登录") @ApiOperation("用户登录")
@PostMapping("/user/login") @PostMapping("/user/login")
public ResponseResult login() { public ResponseResult login() {
...@@ -105,41 +95,19 @@ public class LoginController extends BaseController { ...@@ -105,41 +95,19 @@ public class LoginController extends BaseController {
@ApiOperation("第三方接入-验证External-Token") @ApiOperation("第三方接入-验证External-Token")
@GetMapping("/user/login/verify/token") @GetMapping("/user/login/verify/token")
public ResponseResult verifyToken() { public ResponseResult verifyToken() {
HttpHeaders httpHeaders = new HttpHeaders(); return userCenterService.verifyToken();
httpHeaders.set("External-Origin", "BRANDKBS");
httpHeaders.set("External-Service", "BRANDKBS");
httpHeaders.set("External-Token", token);
HttpEntity<String> requestEntity = new HttpEntity<>(httpHeaders);
HttpEntity<JSONObject> entity = restTemplate.exchange(yuqingInterface + "/thirdPart/external/verify/token", HttpMethod.GET,
requestEntity, JSONObject.class);
if (null != entity.getBody() || !entity.getBody().getBoolean("status")) {
String ticket = entity.getBody().getJSONObject("data").getString("ticket");
return ResponseResult.success(ticket);
}
return ResponseResult.failure("ticket获取失败");
} }
@ApiOperation("第三方接入-验证External-Ticket") @ApiOperation("第三方接入-验证External-Ticket")
@GetMapping("/user/login/verify/ticket") @GetMapping("/user/login/verify/ticket")
public ResponseResult verifyTicket(@RequestParam String ticket) { public ResponseResult verifyTicket(@RequestParam String ticket) {
HttpHeaders httpHeaders = new HttpHeaders(); return userCenterService.verifyTicket(ticket);
httpHeaders.set("External-Origin", "BRANDKBS");
httpHeaders.set("External-Token", token);
httpHeaders.set("External-Ticket", ticket);
HttpEntity<String> requestEntity = new HttpEntity<>(httpHeaders);
HttpEntity<JSONObject> entity = restTemplate.exchange(yuqingInterface + "/thirdPart/external/verify/ticket", HttpMethod.GET,
requestEntity, JSONObject.class);
if (null != entity.getBody()) {
JSONObject userInfo = entity.getBody().getJSONObject("data");
return ResponseResult.success(userInfo);
}
return ResponseResult.failure("用户信息获取失败");
} }
@ApiOperation("测试接口") @ApiOperation("测试接口")
@GetMapping("/test") @GetMapping("/test")
public ResponseResult test() { public ResponseResult test() {
return ResponseResult.success("brandkbs2-success 2022/12/5"); return ResponseResult.success("brandkbs2-success 2023/1/6");
} }
} }
......
...@@ -31,7 +31,7 @@ import javax.annotation.Resource; ...@@ -31,7 +31,7 @@ import javax.annotation.Resource;
public class UserController extends BaseController { public class UserController extends BaseController {
@Resource(name = "userServiceImpl") @Resource(name = "userServiceImpl")
private UserService UserService; private UserService userService;
@Resource(name = "behaviorServiceImpl") @Resource(name = "behaviorServiceImpl")
private BehaviorService behaviorService; private BehaviorService behaviorService;
...@@ -55,7 +55,7 @@ public class UserController extends BaseController { ...@@ -55,7 +55,7 @@ public class UserController extends BaseController {
@RequestParam(value = "keyword", defaultValue = "") String keyword, @RequestParam(value = "keyword", defaultValue = "") String keyword,
@RequestParam(value = "pid") String pid, @RequestParam(value = "pid") String pid,
@RequestParam(value = "role", defaultValue = "-1") int role) { @RequestParam(value = "role", defaultValue = "-1") int role) {
return ResponseResult.success(UserService.findUserList(page, size, keyword, pid, role)); return ResponseResult.success(userService.findUserList(page, size, keyword, pid, role));
} }
@ApiOperation("根据手机号搜索用户信息") @ApiOperation("根据手机号搜索用户信息")
...@@ -77,9 +77,7 @@ public class UserController extends BaseController { ...@@ -77,9 +77,7 @@ public class UserController extends BaseController {
@ApiOperation("添加用户") @ApiOperation("添加用户")
@PostMapping("/add") @PostMapping("/add")
public ResponseResult addUser(@RequestBody UserDTO userDTO) { public ResponseResult addUser(@RequestBody UserDTO userDTO) {
UserService.addUser(userDTO); return userService.addUser(userDTO);
behaviorService.pushBehaviorOld(OPERATION, "添加用户:" + userDTO.getId(), request);
return ResponseResult.success();
} }
@ApiOperation("删除用户") @ApiOperation("删除用户")
...@@ -89,16 +87,14 @@ public class UserController extends BaseController { ...@@ -89,16 +87,14 @@ public class UserController extends BaseController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Auth(role = RoleEnum.ADMIN) @Auth(role = RoleEnum.ADMIN)
public ResponseResult deleteUser(@RequestParam(value = "uid") String userId, @RequestParam(value = "pid") String pid) { public ResponseResult deleteUser(@RequestParam(value = "uid") String userId, @RequestParam(value = "pid") String pid) {
UserService.deleteUser(userId, pid); userService.deleteUser(userId, pid);
behaviorService.pushBehaviorOld(OPERATION, "删除用户:" + userId, request);
return ResponseResult.success(); return ResponseResult.success();
} }
@ApiOperation("编辑用户") @ApiOperation("编辑用户")
@PutMapping("/update") @PutMapping("/update")
public ResponseResult updateUser(@RequestBody UserDTO userDTO) { public ResponseResult updateUser(@RequestBody UserDTO userDTO) {
UserService.updateUser(userDTO); userService.updateUser(userDTO);
behaviorService.pushBehaviorOld(OPERATION, "编辑用户:" + userDTO, request);
return ResponseResult.success(); return ResponseResult.success();
} }
...@@ -113,16 +109,14 @@ public class UserController extends BaseController { ...@@ -113,16 +109,14 @@ public class UserController extends BaseController {
public ResponseResult findSuperAdminList(@RequestParam(value = "page", defaultValue = "1") int page, public ResponseResult findSuperAdminList(@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "size", defaultValue = "10") int size, @RequestParam(value = "size", defaultValue = "10") int size,
@RequestParam(value = "keyword", defaultValue = "") String keyword) { @RequestParam(value = "keyword", defaultValue = "") String keyword) {
return ResponseResult.success(UserService.findSuperAdminList(page, size, keyword)); return ResponseResult.success(userService.findSuperAdminList(page, size, keyword));
} }
@ApiOperation("添加超级管理员") @ApiOperation("添加超级管理员")
@PostMapping("/add/superAdmin") @PostMapping("/add/superAdmin")
@Auth(role = RoleEnum.SUPER_ADMIN) @Auth(role = RoleEnum.SUPER_ADMIN)
public ResponseResult addSuperAdmin(@RequestBody UserDTO userDTO) { public ResponseResult addSuperAdmin(@RequestBody UserDTO userDTO) {
UserService.addSuperAdmin(userDTO); return userService.addSuperAdmin(userDTO);
behaviorService.pushBehaviorOld(OPERATION, "添加超级管理员:" + userDTO.getId(), request);
return ResponseResult.success();
} }
@ApiOperation("删除超级管理员") @ApiOperation("删除超级管理员")
...@@ -131,8 +125,7 @@ public class UserController extends BaseController { ...@@ -131,8 +125,7 @@ public class UserController extends BaseController {
@DeleteMapping("/delete/superAdmin") @DeleteMapping("/delete/superAdmin")
@Auth(role = RoleEnum.SUPER_ADMIN) @Auth(role = RoleEnum.SUPER_ADMIN)
public ResponseResult deleteSuperAdmin(@RequestParam(value = "uid") String userId) { public ResponseResult deleteSuperAdmin(@RequestParam(value = "uid") String userId) {
UserService.deleteSuperAdmin(userId); userService.deleteSuperAdmin(userId);
behaviorService.pushBehaviorOld(OPERATION, "删除超级管理员:" + userId, request);
return ResponseResult.success(); return ResponseResult.success();
} }
......
...@@ -73,7 +73,7 @@ public class ChannelEsDao extends EsClientDao { ...@@ -73,7 +73,7 @@ public class ChannelEsDao extends EsClientDao {
} }
public void upsertChannelRecord(List<ChannelRecord> channelRecords) { public void upsertChannelRecord(List<ChannelRecord> channelRecords) {
String index = getChannelRecordIndex(); String index = getChannelRecordIndexes().get(0);
BulkRequest bulkRequest = new BulkRequest(); BulkRequest bulkRequest = new BulkRequest();
Long startTime = null; Long startTime = null;
Long endTime = null; Long endTime = null;
...@@ -119,7 +119,7 @@ public class ChannelEsDao extends EsClientDao { ...@@ -119,7 +119,7 @@ public class ChannelEsDao extends EsClientDao {
@Override @Override
public String[] getIndexes() { public String[] getIndexes() {
return new String[]{getChannelRecordIndex()}; return getChannelRecordIndexes().toArray(new String[0]);
} }
@Override @Override
...@@ -127,14 +127,20 @@ public class ChannelEsDao extends EsClientDao { ...@@ -127,14 +127,20 @@ public class ChannelEsDao extends EsClientDao {
return channelEsClient; return channelEsClient;
} }
public String getChannelRecordIndex() { public List<String> getChannelRecordIndexes() {
// if (test) { List<String> res = new ArrayList<>();
// return GenericAttribute.ES_CHANNEL_INDEX_TEST; // 近3年数据库
// }
// 近1年数据库
Calendar date = Calendar.getInstance(); Calendar date = Calendar.getInstance();
int year = date.get(Calendar.YEAR); int year = date.get(Calendar.YEAR);
return GenericAttribute.ES_CHANNEL_INDEX_PREFIX + year; for (int i = 0; i < 3; i++) {
year -= i;
// 2022年开始有channel_record库
if (year < 2022) {
break;
}
res.add(GenericAttribute.ES_CHANNEL_INDEX_PREFIX + year);
}
return res;
} }
private BoolQueryBuilder channelUniqueBool(String fid) { private BoolQueryBuilder channelUniqueBool(String fid) {
......
package com.zhiwei.brandkbs2.pojo.dto; package com.zhiwei.brandkbs2.pojo.dto;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -38,6 +39,6 @@ public class ChannelSearchDTO { ...@@ -38,6 +39,6 @@ public class ChannelSearchDTO {
private Integer[] articlesCount; private Integer[] articlesCount;
@ApiModelProperty("排序字段") @ApiModelProperty("排序字段")
private String sorter = "{\"influence\":\"descend\"}"; private JSONObject sorter;
} }
...@@ -35,6 +35,12 @@ public class UserDTO { ...@@ -35,6 +35,12 @@ public class UserDTO {
private String username; private String username;
/** /**
* 密码
*/
@ApiModelProperty("密码")
private String password;
/**
* 电话号码 * 电话号码
*/ */
@ApiModelProperty("电话号码") @ApiModelProperty("电话号码")
......
...@@ -266,6 +266,6 @@ public interface ChannelService { ...@@ -266,6 +266,6 @@ public interface ChannelService {
Integer[] articlesCount, String sorter); Integer[] articlesCount, String sorter);
PageVO<ChannelVO> getChannelListNew(int page, int pageSize, String keyword, List<String> platforms, List<Integer> emotions, List<String> mediaTypes, PageVO<ChannelVO> getChannelListNew(int page, int pageSize, String keyword, List<String> platforms, List<Integer> emotions, List<String> mediaTypes,
Integer[] articlesCount, String sorter); Integer[] articlesCount, JSONObject sorter);
} }
package com.zhiwei.brandkbs2.service;
import com.zhiwei.brandkbs2.model.ResponseResult;
/**
* @ClassName: UserCenterService
* @Description 用户中心服务接口
* @author: sjj
* @date: 2023-01-06 11:33
*/
public interface UserCenterService {
/**
* 第三方接入-验证External-Token
* @return
*/
ResponseResult verifyToken();
/**
* 第三方接入-验证External-Ticket
* @param ticket
* @return
*/
ResponseResult verifyTicket(String ticket);
/**
* 用户中心-用户注册
* @param phone 手机号
* @param password 密码
* @return
*/
boolean registerUser(long phone, String password);
}
package com.zhiwei.brandkbs2.service; package com.zhiwei.brandkbs2.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.pojo.UserInfo; import com.zhiwei.brandkbs2.pojo.UserInfo;
import com.zhiwei.brandkbs2.pojo.dto.UserDTO; import com.zhiwei.brandkbs2.pojo.dto.UserDTO;
import com.zhiwei.brandkbs2.pojo.vo.PageVO; import com.zhiwei.brandkbs2.pojo.vo.PageVO;
...@@ -56,7 +57,7 @@ public interface UserService { ...@@ -56,7 +57,7 @@ public interface UserService {
* *
* @param userDTO * @param userDTO
*/ */
void addUser(UserDTO userDTO); ResponseResult addUser(UserDTO userDTO);
/** /**
* 删除用户 * 删除用户
...@@ -88,7 +89,7 @@ public interface UserService { ...@@ -88,7 +89,7 @@ public interface UserService {
* *
* @param userDTO * @param userDTO
*/ */
void addSuperAdmin(UserDTO userDTO); ResponseResult addSuperAdmin(UserDTO userDTO);
/** /**
* 删除超级管理员 * 删除超级管理员
......
...@@ -971,7 +971,7 @@ public class ChannelServiceImpl implements ChannelService { ...@@ -971,7 +971,7 @@ public class ChannelServiceImpl implements ChannelService {
@Override @Override
public PageVO<ChannelVO> getChannelListNew(int page, int pageSize, String keyword, List<String> platforms, public PageVO<ChannelVO> getChannelListNew(int page, int pageSize, String keyword, List<String> platforms,
List<Integer> emotions, List<String> mediaTypes, Integer[] articlesCount, String sorter) { List<Integer> emotions, List<String> mediaTypes, Integer[] articlesCount, JSONObject sorter) {
try { try {
String projectId = UserThreadLocal.getProjectId(); String projectId = UserThreadLocal.getProjectId();
String contendId = "0"; String contendId = "0";
...@@ -979,9 +979,11 @@ public class ChannelServiceImpl implements ChannelService { ...@@ -979,9 +979,11 @@ public class ChannelServiceImpl implements ChannelService {
BoolQueryBuilder postFilter = getChannelListQuery(projectId, contendId, keyword, platforms, emotions, BoolQueryBuilder postFilter = getChannelListQuery(projectId, contendId, keyword, platforms, emotions,
mediaTypes, articlesCount); mediaTypes, articlesCount);
searchHelper.setPostFilter(postFilter); searchHelper.setPostFilter(postFilter);
if (null != sorter) { if (null == sorter || sorter.isEmpty()) {
for (Map.Entry<String, Object> entry : JSONObject.parseObject(sorter).entrySet()) { searchHelper.setSort(SortBuilders.fieldSort("influence").order(SortOrder.DESC));
if (entry.getValue().toString().contains("desc")) { } else {
for (Map.Entry<String, Object> entry : sorter.entrySet()) {
if (null == entry.getValue() || entry.getValue().toString().contains("desc")) {
searchHelper.setSort(SortBuilders.fieldSort(entry.getKey()).order(SortOrder.DESC)); searchHelper.setSort(SortBuilders.fieldSort(entry.getKey()).order(SortOrder.DESC));
} else { } else {
searchHelper.setSort(SortBuilders.fieldSort(entry.getKey()).order(SortOrder.ASC)); searchHelper.setSort(SortBuilders.fieldSort(entry.getKey()).order(SortOrder.ASC));
......
package com.zhiwei.brandkbs2.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.service.UserCenterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
* @ClassName: UserCenterServiceImpl
* @Description UserCenterServiceImpl
* @author: sjj
* @date: 2023-01-06 11:36
*/
@Service("userCenterServiceImpl")
public class UserCenterServiceImpl implements UserCenterService {
@Value("${qbjc.userCenter.url}")
private String yuqingInterface;
@Value("${qbjc.userCenter.token}")
private String token;
@Autowired
private RestTemplate restTemplate;
private static final String EXTERNAL_ORIGIN = "External-Origin";
private static final String EXTERNAL_SERVICE = "External-Service";
private static final String EXTERNAL_TOKEN = "External-Token";
private static final String EXTERNAL_TICKET = "External-Ticket";
private static final String SERVICE_NAME = "BRANDKBS";
@Override
public ResponseResult verifyToken() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(EXTERNAL_ORIGIN, SERVICE_NAME);
httpHeaders.set(EXTERNAL_SERVICE, SERVICE_NAME);
httpHeaders.set(EXTERNAL_TOKEN, token);
HttpEntity<String> requestEntity = new HttpEntity<>(httpHeaders);
HttpEntity<JSONObject> entity = restTemplate.exchange(yuqingInterface + "/thirdPart/external/verify/token", HttpMethod.GET,
requestEntity, JSONObject.class);
if (null != entity.getBody() || !entity.getBody().getBoolean("status")) {
String ticket = entity.getBody().getJSONObject("data").getString("ticket");
return ResponseResult.success(ticket);
}
return ResponseResult.failure("ticket获取失败");
}
@Override
public ResponseResult verifyTicket(String ticket) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(EXTERNAL_ORIGIN, SERVICE_NAME);
httpHeaders.set(EXTERNAL_SERVICE, token);
httpHeaders.set(EXTERNAL_TICKET, ticket);
HttpEntity<String> requestEntity = new HttpEntity<>(httpHeaders);
HttpEntity<JSONObject> entity = restTemplate.exchange(yuqingInterface + "/thirdPart/external/verify/ticket", HttpMethod.GET,
requestEntity, JSONObject.class);
if (null != entity.getBody()) {
JSONObject userInfo = entity.getBody().getJSONObject("data");
return ResponseResult.success(userInfo);
}
return ResponseResult.failure("用户信息获取失败");
}
@Override
public boolean registerUser(long phone, String password) {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(EXTERNAL_ORIGIN, SERVICE_NAME);
httpHeaders.set(EXTERNAL_TOKEN, token);
JSONObject json = new JSONObject();
json.put("phone", phone);
json.put("password", password);
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");
}
}
...@@ -10,11 +10,13 @@ import com.zhiwei.brandkbs2.enmus.RoleEnum; ...@@ -10,11 +10,13 @@ import com.zhiwei.brandkbs2.enmus.RoleEnum;
import com.zhiwei.brandkbs2.enmus.response.LoginCodeEnum; import com.zhiwei.brandkbs2.enmus.response.LoginCodeEnum;
import com.zhiwei.brandkbs2.exception.ExceptionCast; import com.zhiwei.brandkbs2.exception.ExceptionCast;
import com.zhiwei.brandkbs2.model.CommonCodeEnum; import com.zhiwei.brandkbs2.model.CommonCodeEnum;
import com.zhiwei.brandkbs2.model.ResponseResult;
import com.zhiwei.brandkbs2.pojo.User; import com.zhiwei.brandkbs2.pojo.User;
import com.zhiwei.brandkbs2.pojo.UserInfo; import com.zhiwei.brandkbs2.pojo.UserInfo;
import com.zhiwei.brandkbs2.pojo.UserRole; import com.zhiwei.brandkbs2.pojo.UserRole;
import com.zhiwei.brandkbs2.pojo.dto.UserDTO; import com.zhiwei.brandkbs2.pojo.dto.UserDTO;
import com.zhiwei.brandkbs2.pojo.vo.PageVO; import com.zhiwei.brandkbs2.pojo.vo.PageVO;
import com.zhiwei.brandkbs2.service.UserCenterService;
import com.zhiwei.brandkbs2.service.UserService; import com.zhiwei.brandkbs2.service.UserService;
import com.zhiwei.brandkbs2.util.MongoUtil; import com.zhiwei.brandkbs2.util.MongoUtil;
import com.zhiwei.brandkbs2.util.Tools; import com.zhiwei.brandkbs2.util.Tools;
...@@ -61,6 +63,9 @@ public class UserServiceImpl implements UserService { ...@@ -61,6 +63,9 @@ public class UserServiceImpl implements UserService {
@Autowired @Autowired
private com.zhiwei.middleware.auth.core.UserInfoClient userInfoClient; private com.zhiwei.middleware.auth.core.UserInfoClient userInfoClient;
@Resource(name = "userCenterServiceImpl")
private UserCenterService userCenterService;
@Override @Override
public UserInfo login() { public UserInfo login() {
String uid = UserThreadLocal.getUserId(); String uid = UserThreadLocal.getUserId();
...@@ -119,21 +124,27 @@ public class UserServiceImpl implements UserService { ...@@ -119,21 +124,27 @@ public class UserServiceImpl implements UserService {
} }
@Override @Override
public void addUser(UserDTO userDTO) { public ResponseResult addUser(UserDTO userDTO) {
if (Objects.isNull(userDTO.getRoleId()) || userDTO.getRoleId() < RoleEnum.ADMIN.getState()) { if (Objects.isNull(userDTO.getRoleId()) || userDTO.getRoleId() < RoleEnum.ADMIN.getState()) {
// 抛出用户权限设置错误异常 // 抛出用户权限设置错误异常
ExceptionCast.cast(CommonCodeEnum.INVALID_PARAM, "用户权限设置异常"); ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE);
} }
int roleId = UserThreadLocal.getRoleId(); int roleId = UserThreadLocal.getRoleId();
// 只有超管能设置管理员 // 只有超管能设置管理员
if (roleId != RoleEnum.SUPER_ADMIN.getState() && userDTO.getRoleId() <= RoleEnum.ADMIN.getState()) { if (roleId != RoleEnum.SUPER_ADMIN.getState() && userDTO.getRoleId() <= RoleEnum.ADMIN.getState()) {
ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE); ExceptionCast.cast(CommonCodeEnum.UN_AUTHORISE);
} }
// 有密码则通过用户中心注册
if (null != userDTO.getPassword()) {
if (!userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword())) {
return ResponseResult.failure("用户中心注册账号失败");
}
}
User user = userDao.findOneById(userDTO.getId()); User user = userDao.findOneById(userDTO.getId());
// 新用户 // 新用户
if (null == user) { if (null == user) {
userDao.insertOne(createNewUser(userDTO)); userDao.insertOne(createNewUser(userDTO));
return; return ResponseResult.success();
} }
List<UserRole> roles = user.getRoles(); List<UserRole> roles = user.getRoles();
// 无任何角色 // 无任何角色
...@@ -149,6 +160,7 @@ public class UserServiceImpl implements UserService { ...@@ -149,6 +160,7 @@ public class UserServiceImpl implements UserService {
Update update = new Update(); Update update = new Update();
update.set("roles", roles); update.set("roles", roles);
userDao.updateOneByIdWithField(userDTO.getId(), update); userDao.updateOneByIdWithField(userDTO.getId(), update);
return ResponseResult.success();
} }
@Override @Override
...@@ -191,7 +203,13 @@ public class UserServiceImpl implements UserService { ...@@ -191,7 +203,13 @@ public class UserServiceImpl implements UserService {
} }
@Override @Override
public void addSuperAdmin(UserDTO userDTO) { public ResponseResult addSuperAdmin(UserDTO userDTO) {
// 有密码则通过用户中心注册
if (null != userDTO.getPassword()) {
if (!userCenterService.registerUser(userDTO.getPhoneNumber(), userDTO.getPassword())) {
return ResponseResult.failure("用户中心注册账号失败");
}
}
User user = userDao.findOneById(userDTO.getId()); User user = userDao.findOneById(userDTO.getId());
// 老用户 // 老用户
if (null != user) { if (null != user) {
...@@ -200,12 +218,13 @@ public class UserServiceImpl implements UserService { ...@@ -200,12 +218,13 @@ public class UserServiceImpl implements UserService {
update.set("superAdmin", true); update.set("superAdmin", true);
update.set("roles", null); update.set("roles", null);
userDao.updateOneByIdWithField(user.getId(), update); userDao.updateOneByIdWithField(user.getId(), update);
return; return ResponseResult.success();
} }
} }
// 新用户 // 新用户
userDTO.setRoleId(RoleEnum.SUPER_ADMIN.getState()); userDTO.setRoleId(RoleEnum.SUPER_ADMIN.getState());
userDao.insertOne(createNewUser(userDTO)); userDao.insertOne(createNewUser(userDTO));
return ResponseResult.success();
} }
@Override @Override
...@@ -299,9 +318,7 @@ public class UserServiceImpl implements UserService { ...@@ -299,9 +318,7 @@ public class UserServiceImpl implements UserService {
// if (null == userId || null == projectId) { // if (null == userId || null == projectId) {
// ExceptionCast.cast(LoginCodeEnum.LOGIN_EXPIRED_ERROR); // ExceptionCast.cast(LoginCodeEnum.LOGIN_EXPIRED_ERROR);
// } // }
Map<String,Object> userInfoMap = queryUserInfo(UserThreadLocal.getUserId(), UserThreadLocal.getProjectId()).toMap(); return queryUserInfo(UserThreadLocal.getUserId(), UserThreadLocal.getProjectId()).toMap();
return userInfoMap;
} }
private User createNewUser(UserDTO userDTO) { private User createNewUser(UserDTO userDTO) {
......
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