Skip to content

Commit 97de793

Browse files
committed
取消喜爱功能
1 parent b5e3c05 commit 97de793

File tree

4 files changed

+41
-5
lines changed

4 files changed

+41
-5
lines changed

springboot-dubbo-api/src/main/java/com/lzq/api/pojo/Favorites.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.baomidou.mybatisplus.annotation.FieldFill;
44
import com.baomidou.mybatisplus.annotation.TableField;
5+
import com.baomidou.mybatisplus.annotation.TableId;
56
import com.baomidou.mybatisplus.annotation.TableName;
67
import com.fasterxml.jackson.annotation.JsonIgnore;
78
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -24,13 +25,13 @@ public class Favorites implements Serializable {
2425
/**
2526
* 用户名
2627
*/
27-
@TableField("username")
28+
@TableId("username")
2829
@JsonProperty("username")
2930
private String username;
3031
/**
3132
* 实例id
3233
*/
33-
@TableField("example_id")
34+
@TableId("example_id")
3435
@JsonProperty("exampleId")
3536
private String exampleId;
3637
/**

springboot-dubbo-api/src/main/java/com/lzq/api/service/FavoritesService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ public interface FavoritesService {
1616
*/
1717
Boolean addFavorites(Favorites favorites);
1818

19+
/**
20+
* 取消喜爱
21+
* @param favorites
22+
* @return
23+
*/
24+
Boolean cancelFavorites(Favorites favorites);
25+
1926
/**
2027
* 删除喜爱(物理)
2128
* @param exampleId

springboot-dubbo-service/src/main/java/com/lzq/dubboservice/service/FavoritesServiceImpl.java

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.lzq.api.pojo.Example;
66
import com.lzq.api.pojo.Favorites;
77
import com.lzq.api.service.FavoritesService;
8+
import com.lzq.dubboservice.mapper.AccountMapper;
89
import com.lzq.dubboservice.mapper.ExampleMapper;
910
import com.lzq.dubboservice.mapper.FavoritesMapper;
1011
import org.apache.dubbo.config.annotation.Service;
@@ -25,12 +26,13 @@ public class FavoritesServiceImpl extends ServiceImpl<FavoritesMapper, Favorites
2526
@Resource
2627
private ExampleMapper exampleMapper;
2728

29+
2830
@Override
2931
@Transactional(rollbackFor = Exception.class)
3032
public Boolean addFavorites(Favorites favorites) {
31-
int i = baseMapper.insert(favorites);
33+
Boolean insert = baseMapper.insert(favorites) > 0 ? true : false;
3234
int i1 = 0;
33-
if (i > 0) {
35+
if (insert) {
3436
do {
3537
//用来查询关注人
3638
QueryWrapper<Example> wrapper = new QueryWrapper<>();
@@ -47,6 +49,31 @@ public Boolean addFavorites(Favorites favorites) {
4749
}
4850
}
4951

52+
@Override
53+
public Boolean cancelFavorites(Favorites favorites) {
54+
//先删除
55+
QueryWrapper<Favorites> wrapper = new QueryWrapper<>();
56+
wrapper.eq("username", favorites.getUsername());
57+
wrapper.eq("exampleId", favorites.getExampleId());
58+
Boolean delete = baseMapper.delete(wrapper) > 0 ? true : false;
59+
int i1 = 0;
60+
if (delete) {
61+
do {
62+
//用来查询关注人
63+
QueryWrapper<Example> exampleQueryWrapper = new QueryWrapper<>();
64+
wrapper.eq("example_id", favorites.getExampleId());
65+
//获取喜爱的用例
66+
Example example = exampleMapper.selectOne(exampleQueryWrapper);
67+
example.setFavorites(example.getFavorites() - 1);
68+
//更新喜爱人数
69+
i1 = exampleMapper.update(example, exampleQueryWrapper);
70+
} while (i1 == 0);
71+
return true;
72+
}else {
73+
return false;
74+
}
75+
}
76+
5077
@Override
5178
public void deleteFavorites(String exampleId) {
5279
baseMapper.deleteFavorites(exampleId);
@@ -55,7 +82,7 @@ public void deleteFavorites(String exampleId) {
5582
@Override
5683
public Integer getCount(String username) {
5784
QueryWrapper<Favorites> wrapper = new QueryWrapper<>();
58-
wrapper.eq("username",username);
85+
wrapper.eq("username", username);
5986
return baseMapper.selectCount(wrapper);
6087
}
6188
}

springboot-dubbo-service/src/main/resources/mapper/FavoritesMapper.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
33
<mapper namespace="com.lzq.dubboservice.mapper.FavoritesMapper">
44

5+
<!--删除实例的时候同时删除掉喜爱表中所有该实例的数据-->
56
<delete id="deleteFavorites">
67
delete from favorites where example_id=#{exampleId}
78
</delete>

0 commit comments

Comments
 (0)