use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class TopicController method newLikeTopic.
/**
* 点赞话题(新接口)
* - 自动处理用户喜欢话题状态,取反(已喜欢 -> 未喜欢, 未喜欢 -> 已喜欢)
*
* @param requestBodyParamsMap request-body 内 JSON 数据
* @return ApiJsonDTO 接口 JSON 传输对象
*/
@LoginAuthorization
@AccountActivation
@RequestMapping(value = "/topic/newlike", method = RequestMethod.POST, consumes = "application/json")
public ApiJsonDTO newLikeTopic(@RequestBody Map<String, Object> requestBodyParamsMap) {
Integer topicId = (Integer) requestBodyParamsMap.get(ParamConst.TOPIC_ID);
validationService.check(ParamConst.TOPIC_ID, String.valueOf(topicId));
UserDO cookieUser = secretService.getUserInfoByAuthentication(httpService.getAuthenticationCookieValue());
Map<String, Object> resultMap = new LinkedHashMap<>(SetConst.SIZE_TWO);
resultMap.put(ParamConst.USER_LIKE_TOPIC_ID, topicService.operateLikeTopic(cookieUser.getId(), topicId));
resultMap.put(ParamConst.LIKE, topicService.countTopicContentLike(topicId));
return new ApiJsonDTO().success().model(resultMap);
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountController method validateActivateToken.
/**
* 激活 token 验证
* - 验证 token
* - 数据库激活用户
* - 修改客户端 cookie (重新保存用户信息)
*
* @param token 传入的 token
* @return ApiJsonDTO 接口 JSON 传输对象
*/
@RequestMapping(value = "/validate", method = RequestMethod.GET)
public ApiJsonDTO validateActivateToken(@RequestParam(value = "token", required = false) String token) {
validationService.check(ParamConst.TOKEN, token);
UserDO activatedUser = userService.alterUserActivateStateByEmailToken(token);
httpService.saveAuthenticationCookie(secretService.generateUserInfoAuthentication(activatedUser));
return new ApiJsonDTO().success();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class AccountController method registerAccount.
/**
* 注册
*
* @param requestBodyParamsMap request-body 内 JSON 数据
* @return ApiJsonDTO 接口 JSON 传输对象
*/
@RequestMapping(value = "/register", method = RequestMethod.POST, consumes = "application/json")
public ApiJsonDTO registerAccount(@RequestBody Map<String, Object> requestBodyParamsMap) {
String username = (String) requestBodyParamsMap.get(ParamConst.USERNAME);
String password = (String) requestBodyParamsMap.get(ParamConst.PASSWORD);
String email = (String) requestBodyParamsMap.get(ParamConst.EMAIL);
validationService.check(ParamConst.USERNAME, username).check(ParamConst.PASSWORD, password).check(ParamConst.EMAIL, email);
// database register user
UserDO newRegisterUser = userService.registerUser(username, password, email);
// create user person directory on cloud ftp server
ftpService.createUserPersonalDirectory(newRegisterUser);
return new ApiJsonDTO().success().model(userService.getUserInfoModelMap(newRegisterUser));
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class UserActionDAOTest method saveTestUserActionDOToDatabase.
/**
* 保存测试 UserActionDO 对象至数据库
* - 新建测试用户
* - 保存,且重新查询数据库获得对象(根据用户 id,进行查询)
*
* @return UserActionDO 用户行为对象
*/
private UserActionDO saveTestUserActionDOToDatabase() {
UserDO user = new UserDO();
user.setName("testUser");
user.setPassword(SecretUtil.encryptMd5(SecretUtil.encryptMd5("123456") + "123456"));
user.setEmail("testUser@neubbs.com");
Assert.assertEquals(1, userDAO.saveUser(user));
UserActionDO userAction = new UserActionDO();
userAction.setUserId(user.getId());
Assert.assertEquals(1, userActionDAO.saveUserAction(userAction));
return userActionDAO.getUserAction(user.getId());
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class UserServiceImpl method getUserInfoModelMap.
@Override
public Map<String, Object> getUserInfoModelMap(String username, String email) {
UserDO user = username != null ? this.isEmailType(username) ? userDAO.getUserByEmail(username) : userDAO.getUserByName(username) : userDAO.getUserByEmail(email);
Map<String, Object> userInfoMap = this.getUserInfoMap(user);
// append extra information
userInfoMap.put(ParamConst.FOLLOWING, this.countUserFollowingTotals(user.getId()));
userInfoMap.put(ParamConst.FOLLOWED, this.countUserFollowedTotals(user.getId()));
userInfoMap.put(ParamConst.LIKE, this.countUserLikeTopicTotals(user.getId()));
userInfoMap.put(ParamConst.COLLECT, this.countUserCollectTopicTotals(user.getId()));
userInfoMap.put(ParamConst.ATTENTION, this.countUserAttentionTopicTotals(user.getId()));
userInfoMap.put(ParamConst.TOPIC, this.countUserTopicTotals(user.getId()));
userInfoMap.put(ParamConst.REPLY, this.countUserReplyTotals(user.getId()));
return userInfoMap;
}
Aggregations