粉丝关注
业务逻辑:
- 判断参数是否合法
- 根据writerId查询用户信息
- 新建粉丝对象 并将用户信息和基本设置到粉丝对象中
- 进行插入操作 redis粉丝数 + 1
controller
public GraceJSONResult follow(String writerId, String fanId) {
// 0. 判断参数是否合法
if (StringUtils.isBlank(writerId) || StringUtils.isBlank(fanId)) {
GraceException.display(ResponseStatusEnum.USERNAME_NOTFOUND);
}
fanService.addFans(writerId, fanId);
return GraceJSONResult.ok();
}
service
@Transactional
public void addFans(String writerId, String fanId) {
// 思路: 1. 根据用户id 将用户信息查询出来 2. 将用户信息设置到fans对象中 3. 执行插入操作 4. 修改redis 粉丝数
AppUser appUser = userMapper.selectById(writerId);
if (appUser == null) {
GraceException.display(ResponseStatusEnum.USER_NOT_EXIST_ERROR);
}
Fans fans = new Fans();
fans.setWriterId(writerId);
fans.setFanId(fanId);
fans.setFace(appUser.getFace());
fans.setFanNickname(appUser.getNickname());
fans.setSex(appUser.getSex());
fans.setProvince(appUser.getProvince());
fanMapper.insert(fans);
redisOperator.increment(REDIS_WRITER_FOLLOW_COUNTS + ":" + writerId, 1);
redisOperator.increment(REDIS_MY_FOLLOW_COUNTS + ":" + fanId, 1);
}
虽然道路是曲折的,但前途是光明的。