Search in sources :

Example 51 with UserDO

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);
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO) ApiJsonDTO(org.neusoft.neubbs.dto.ApiJsonDTO) LinkedHashMap(java.util.LinkedHashMap) AccountActivation(org.neusoft.neubbs.controller.annotation.AccountActivation) LoginAuthorization(org.neusoft.neubbs.controller.annotation.LoginAuthorization) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 52 with UserDO

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();
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO) ApiJsonDTO(org.neusoft.neubbs.dto.ApiJsonDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 53 with UserDO

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));
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO) ApiJsonDTO(org.neusoft.neubbs.dto.ApiJsonDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 54 with UserDO

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());
}
Also used : UserActionDO(org.neusoft.neubbs.entity.UserActionDO) UserDO(org.neusoft.neubbs.entity.UserDO)

Example 55 with UserDO

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;
}
Also used : UserDO(org.neusoft.neubbs.entity.UserDO)

Aggregations

UserDO (org.neusoft.neubbs.entity.UserDO)60 Test (org.junit.Test)28 Transactional (javax.transaction.Transactional)21 ApiJsonDTO (org.neusoft.neubbs.dto.ApiJsonDTO)15 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)15 AccountActivation (org.neusoft.neubbs.controller.annotation.AccountActivation)11 LoginAuthorization (org.neusoft.neubbs.controller.annotation.LoginAuthorization)11 Cookie (javax.servlet.http.Cookie)6 JSONArray (com.alibaba.fastjson.JSONArray)4 Map (java.util.Map)4 LinkedHashMap (java.util.LinkedHashMap)3 UserActionDO (org.neusoft.neubbs.entity.UserActionDO)3 ServiceException (org.neusoft.neubbs.exception.ServiceException)3 TopicContentDO (org.neusoft.neubbs.entity.TopicContentDO)2 TopicReplyDO (org.neusoft.neubbs.entity.TopicReplyDO)2 UserDynamicDO (org.neusoft.neubbs.entity.UserDynamicDO)2 PermissionException (org.neusoft.neubbs.exception.PermissionException)2 HandlerMethod (org.springframework.web.method.HandlerMethod)2 JWTVerifier (com.auth0.jwt.JWTVerifier)1 TokenExpiredException (com.auth0.jwt.exceptions.TokenExpiredException)1