点赞与收藏一模一样,本来想合在一起写的,还是分开了
点赞实体类
package com.wzh.springbootproject.entity;
/**
* 点赞模块
*/
public class Likes {
private Integer id;
private Integer fid;
private Integer userId;
private String module;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getFid() {
return fid;
}
public void setFid(Integer fid) {
this.fid = fid;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getModule() {
return module;
}
public void setModule(String module) {
this.module = module;
}
}
LikesService
package com.wzh.springbootproject.service;
import com.wzh.springbootproject.entity.Account;
import com.wzh.springbootproject.entity.Likes;
import com.wzh.springbootproject.mapper.LikesMapper;
import com.wzh.springbootproject.utils.TokenUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class LikesService {
@Resource
LikesMapper likesMapper;
public void set(Likes likes) {
Account currentUser = TokenUtils.getCurrentUser();
likes.setUserId(currentUser.getId());
Likes dblLikes = likesMapper.selectUserLikes(likes);
if (dblLikes == null) {
likesMapper.insert(likes);
} else {
likesMapper.deleteById(dblLikes.getId());
}
}
/**
* 查询当前用户是否点过赞
*/
public Likes selectUserLikes(Integer fid, String module) {
Account currentUser = TokenUtils.getCurrentUser();
Likes likes = new Likes();
likes.setUserId(currentUser.getId());
likes.setFid(fid);
likes.setModule(module);
return likesMapper.selectUserLikes(likes);
}
public int selectByFidAndModule(Integer fid, String module) {
return likesMapper.selectByFidAndModule(fid, module);
}
}
LikesMapper
package com.wzh.springbootproject.mapper;
import com.wzh.springbootproject.entity.Likes;
import org.apache.ibatis.annotations.Param;
public interface LikesMapper {
void insert(Likes likes);
Likes selectUserLikes(Likes likes);
void deleteById(Integer id);
int selectByFidAndModule(@Param("fid") Integer fid, @Param("module") String module);
}
实现的LikesMapper.xml
package com.wzh.springbootproject.mapper;
import com.wzh.springbootproject.entity.Likes;
import org.apache.ibatis.annotations.Param;
public interface LikesMapper {
void insert(Likes likes);
Likes selectUserLikes(Likes likes);
void deleteById(Integer id);
int selectByFidAndModule(@Param("fid") Integer fid, @Param("module") String module);
}