Quellcode durchsuchen

Merge branch 'master' of http://git.ycjcjy.com/zhiyuxing/estateagents

# Conflicts:
#	src/main/java/com/huiju/estateagents/common/CommConstant.java

合并
魏熙美 vor 5 Jahren
Ursprung
Commit
941d88924c

+ 55
- 0
src/main/java/com/huiju/estateagents/controller/TaSaveController.java Datei anzeigen

@@ -0,0 +1,55 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+
4
+import com.huiju.estateagents.base.BaseController;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.JWTUtils;
7
+import com.huiju.estateagents.service.ITaSaveService;
8
+import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.web.bind.annotation.*;
10
+
11
+import javax.servlet.http.HttpServletRequest;
12
+
13
+/**
14
+ * <p>
15
+ * 收藏表  前端控制器
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-07-25
20
+ */
21
+@RestController
22
+@RequestMapping("/api")
23
+public class TaSaveController extends BaseController {
24
+
25
+    @Autowired
26
+    private ITaSaveService iTaSaveService;
27
+
28
+    /**
29
+     * 点赞
30
+     * @param typeOf
31
+     * @param id
32
+     * @param request
33
+     * @return
34
+     */
35
+    @PostMapping("/wx/{typeOf}/like/{id}")
36
+    public ResponseBean giveFavor(@PathVariable String typeOf, @PathVariable String id, HttpServletRequest request) {
37
+        String openid = JWTUtils.getSubject(request);
38
+
39
+        return iTaSaveService.postLike(openid, typeOf, id);
40
+    }
41
+
42
+    /**
43
+     * 取消赞
44
+     * @param typeOf
45
+     * @param id
46
+     * @param request
47
+     * @return
48
+     */
49
+    @DeleteMapping("/wx/{typeOf}/like/{id}")
50
+    public ResponseBean cancelFavor(@PathVariable String typeOf, @PathVariable String id, HttpServletRequest request) {
51
+        String openid = JWTUtils.getSubject(request);
52
+        return iTaSaveService.cancelLike(openid, typeOf, id);
53
+    }
54
+
55
+}

+ 76
- 0
src/main/java/com/huiju/estateagents/entity/TaSave.java Datei anzeigen

@@ -0,0 +1,76 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import com.baomidou.mybatisplus.annotation.TableName;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+import java.io.Serializable;
11
+import java.time.LocalDateTime;
12
+
13
+/**
14
+ * <p>
15
+ * 收藏表 
16
+ * </p>
17
+ *
18
+ * @author jobob
19
+ * @since 2019-07-25
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@TableName("ta_save")
25
+public class TaSave implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    /**
30
+     * 收藏ID
31
+     */
32
+    @TableId(value = "save_id", type = IdType.AUTO)
33
+    private Integer saveId;
34
+
35
+    /**
36
+     * 收藏人ID
37
+     */
38
+    private String personId;
39
+
40
+    /**
41
+     * 名称
42
+     */
43
+    private String nameOrnick;
44
+
45
+    /**
46
+     * 头像
47
+     */
48
+    private String photoOravatar;
49
+
50
+    /**
51
+     * 被收藏对象
52
+     */
53
+    private String savedTarget;
54
+
55
+    /**
56
+     * 收藏类型
57
+     */
58
+    private String tagertType;
59
+
60
+    /**
61
+     * 创建时间
62
+     */
63
+    private LocalDateTime createDate;
64
+
65
+    /**
66
+     * 公司id
67
+     */
68
+    private Integer orgId;
69
+
70
+    /**
71
+     * 楼盘id
72
+     */
73
+    private String buildingId;
74
+
75
+
76
+}

+ 11
- 0
src/main/java/com/huiju/estateagents/mapper/TaNewsMapper.java Datei anzeigen

@@ -3,6 +3,8 @@ package com.huiju.estateagents.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.huiju.estateagents.entity.TaNews;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
7
+import org.apache.ibatis.annotations.Update;
6 8
 
7 9
 /**
8 10
  * <p>
@@ -15,4 +17,13 @@ import org.apache.ibatis.annotations.Mapper;
15 17
 @Mapper
16 18
 public interface TaNewsMapper extends BaseMapper<TaNews> {
17 19
 
20
+    /**
21
+     * 某个字段值 +1
22
+     * @param personId
23
+     * @param field
24
+     * @param increment
25
+     */
26
+    @Update("UPDATE ta_news  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE news_id = #{newsId}")
27
+    void setFieldNum(@Param("newsId") String personId, @Param("field") String field, @Param("increment") int increment);
28
+
18 29
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TaSaveMapper.java Datei anzeigen

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaSave;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 收藏表  Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-07-25
14
+ */
15
+@Mapper
16
+public interface TaSaveMapper extends BaseMapper<TaSave> {
17
+
18
+}

+ 22
- 0
src/main/java/com/huiju/estateagents/service/ITaSaveService.java Datei anzeigen

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaSave;
6
+
7
+/**
8
+ * <p>
9
+ * 收藏表  服务类
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-07-25
14
+ */
15
+public interface ITaSaveService extends IService<TaSave> {
16
+
17
+
18
+    ResponseBean postLike(String openid, String typeOf, String like);
19
+
20
+    ResponseBean cancelLike(String openid, String typeOf, String like);
21
+
22
+}

+ 15
- 1
src/main/java/com/huiju/estateagents/service/impl/TaFavorServiceImpl.java Datei anzeigen

@@ -6,6 +6,7 @@ import com.huiju.estateagents.common.CommConstant;
6 6
 import com.huiju.estateagents.entity.TaFavor;
7 7
 import com.huiju.estateagents.entity.TaPerson;
8 8
 import com.huiju.estateagents.mapper.TaFavorMapper;
9
+import com.huiju.estateagents.mapper.TaNewsMapper;
9 10
 import com.huiju.estateagents.mapper.TaPersonMapper;
10 11
 import com.huiju.estateagents.service.ITaFavorService;
11 12
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,6 +35,9 @@ public class TaFavorServiceImpl extends ServiceImpl<TaFavorMapper, TaFavor> impl
34 35
     @Autowired
35 36
     TaFavorMapper taFavorMapper;
36 37
 
38
+    @Autowired
39
+    private TaNewsMapper taNewsMapper;
40
+
37 41
     @Override
38 42
     public ResponseBean postLike(String openid, String typeOf, String like) {
39 43
         List<TaPerson> persons = getPersonsByOpenId(openid);
@@ -73,6 +77,11 @@ public class TaFavorServiceImpl extends ServiceImpl<TaFavorMapper, TaFavor> impl
73 77
             taPersonMapper.setFieldIncrement(like,"like_num", 1);
74 78
         }
75 79
 
80
+        // 如果是资讯点赞, 则 +1
81
+        if(typeOf.equals(CommConstant.FAVOR_NEWS)) {
82
+            taNewsMapper.setFieldNum(like, "favor_num", 1);
83
+        }
84
+
76 85
         return ResponseBean.success("");
77 86
     }
78 87
 
@@ -102,10 +111,15 @@ public class TaFavorServiceImpl extends ServiceImpl<TaFavorMapper, TaFavor> impl
102 111
         taFavorMapper.deleteByMap(condition);
103 112
 
104 113
         // 如果是点赞置业, 则人员点赞 - 1
105
-        if (typeOf == CommConstant.FAVOR_CONSULTANT) {
114
+        if (typeOf.equals(CommConstant.FAVOR_CONSULTANT)) {
106 115
             taPersonMapper.setFieldIncrement(taPerson.getPersonId(),"like_num", -1);
107 116
         }
108 117
 
118
+        // 如果是收藏资讯, 则 - 1
119
+        if (typeOf.equals(CommConstant.FAVOR_NEWS)) {
120
+            taNewsMapper.setFieldNum(taPerson.getPersonId(),"favor_num", -1);
121
+        }
122
+
109 123
         return ResponseBean.success("");
110 124
     }
111 125
 

+ 7
- 6
src/main/java/com/huiju/estateagents/service/impl/TaNewsServiceImpl.java Datei anzeigen

@@ -6,10 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.common.BeanTools;
9
+import com.huiju.estateagents.common.CommConstant;
9 10
 import com.huiju.estateagents.entity.TaBuilding;
11
+import com.huiju.estateagents.entity.TaFavor;
10 12
 import com.huiju.estateagents.entity.TaNews;
11 13
 import com.huiju.estateagents.entity.TaNewsType;
12 14
 import com.huiju.estateagents.exception.EstaException;
15
+import com.huiju.estateagents.mapper.TaFavorMapper;
13 16
 import com.huiju.estateagents.mapper.TaNewsMapper;
14 17
 import com.huiju.estateagents.service.ITaBuildingService;
15 18
 import com.huiju.estateagents.service.ITaFavorService;
@@ -20,7 +23,9 @@ import org.springframework.beans.factory.annotation.Autowired;
20 23
 import org.springframework.stereotype.Service;
21 24
 
22 25
 import java.time.LocalDateTime;
26
+import java.util.HashMap;
23 27
 import java.util.List;
28
+import java.util.Map;
24 29
 
25 30
 /**
26 31
  * <p>
@@ -40,7 +45,7 @@ public class TaNewsServiceImpl extends ServiceImpl<TaNewsMapper, TaNews> impleme
40 45
     private ITaBuildingService iTaBuildingService;
41 46
 
42 47
     @Autowired
43
-    private ITaFavorService iTaFavorService;
48
+    private TaFavorMapper taFavorMapper;
44 49
 
45 50
 
46 51
 
@@ -154,11 +159,7 @@ public class TaNewsServiceImpl extends ServiceImpl<TaNewsMapper, TaNews> impleme
154 159
             responseBean.addError("数据不存!");
155 160
         }
156 161
 
157
-        //-- 查询 点赞数,收藏数,阅读数
158
-
159
-
160
-
161
-
162
+        responseBean.addSuccess(taNews);
162 163
         return responseBean;
163 164
     }
164 165
 }

+ 120
- 0
src/main/java/com/huiju/estateagents/service/impl/TaSaveServiceImpl.java Datei anzeigen

@@ -0,0 +1,120 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.entity.TaPerson;
8
+import com.huiju.estateagents.entity.TaSave;
9
+import com.huiju.estateagents.mapper.TaNewsMapper;
10
+import com.huiju.estateagents.mapper.TaPersonMapper;
11
+import com.huiju.estateagents.mapper.TaSaveMapper;
12
+import com.huiju.estateagents.service.ITaSaveService;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+import org.springframework.stereotype.Service;
15
+
16
+import java.time.LocalDateTime;
17
+import java.util.HashMap;
18
+import java.util.List;
19
+import java.util.Map;
20
+
21
+/**
22
+ * <p>
23
+ * 收藏表  服务实现类
24
+ * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2019-07-25
28
+ */
29
+@Service
30
+public class TaSaveServiceImpl extends ServiceImpl<TaSaveMapper, TaSave> implements ITaSaveService {
31
+
32
+
33
+    @Autowired
34
+    TaPersonMapper taPersonMapper;
35
+
36
+    @Autowired
37
+    private TaSaveMapper taSaveMapper;
38
+
39
+    @Autowired
40
+    private TaNewsMapper taNewsMapper;
41
+
42
+    @Override
43
+    public ResponseBean postLike(String openid, String typeOf, String like) {
44
+        List<TaPerson> persons = getPersonsByOpenId(openid);
45
+        if (null == persons || persons.size() != 1) {
46
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
47
+        }
48
+
49
+        TaPerson taPerson = persons.get(0);
50
+
51
+        // 是否被赞过
52
+        QueryWrapper<TaSave> queryWrapper = new QueryWrapper<>();
53
+        queryWrapper.eq("person_id", taPerson.getPersonId());
54
+        queryWrapper.eq("be_favor", like);
55
+        queryWrapper.eq("tagert_type", typeOf);
56
+        List<TaSave> saves = taSaveMapper.selectList(queryWrapper);
57
+        if (null != saves && saves.size() > 0) {
58
+//            return ResponseBean.error("请不需要重复收藏", ResponseBean.ERROR_UNAVAILABLE);
59
+            return ResponseBean.success("");
60
+        }
61
+
62
+        // 写入收藏
63
+        TaSave taSave = new TaSave();
64
+        taSave.setSavedTarget(like);
65
+        taSave.setCreateDate(LocalDateTime.now());
66
+        taSave.setNameOrnick(taPerson.getNickname());
67
+        taSave.setPersonId(taPerson.getPersonId());
68
+        taSave.setPhotoOravatar(taPerson.getAvatarurl());
69
+        taSave.setTagertType(typeOf);
70
+
71
+        int row = taSaveMapper.insert(taSave);
72
+        if (row < 1) {
73
+            return ResponseBean.error("收藏失败", ResponseBean.ERROR_UNAVAILABLE);
74
+        }
75
+
76
+        // 如果是资讯收藏, 则 +1
77
+        if(typeOf.equals(CommConstant.FAVOR_NEWS)) {
78
+            taNewsMapper.setFieldNum(like, "save_num", 1);
79
+        }
80
+
81
+        return ResponseBean.success("");
82
+    }
83
+
84
+    @Override
85
+    public ResponseBean cancelLike(String openid, String typeOf, String like) {
86
+        List<TaPerson> persons = getPersonsByOpenId(openid);
87
+        if (null == persons || persons.size() != 1) {
88
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
89
+        }
90
+
91
+        TaPerson taPerson = persons.get(0);
92
+
93
+        // 是否被赞过
94
+        QueryWrapper<TaSave> queryWrapper = new QueryWrapper<>();
95
+        queryWrapper.eq("person_id", taPerson.getPersonId());
96
+        queryWrapper.eq("be_favor", like);
97
+        queryWrapper.eq("tagert_type", typeOf);
98
+        List<TaSave> saves = taSaveMapper.selectList(queryWrapper);
99
+        if (null == saves || saves.size() == 0) {
100
+            return ResponseBean.success("");
101
+        }
102
+
103
+        Map<String, Object> condition = new HashMap<>();
104
+        condition.put("person_id", taPerson.getPersonId());
105
+        condition.put("be_favor", like);
106
+        condition.put("tagert_type", typeOf);
107
+        taSaveMapper.deleteByMap(condition);
108
+
109
+        // 如果是收藏资讯, 则 - 1
110
+        if (typeOf.equals(CommConstant.FAVOR_NEWS)) {
111
+            taNewsMapper.setFieldNum(taPerson.getPersonId(),"save_num", -1);
112
+        }
113
+
114
+        return ResponseBean.success("");
115
+    }
116
+
117
+    List<TaPerson> getPersonsByOpenId(String openid) {
118
+        return taPersonMapper.getPersonByOpenId(openid);
119
+    }
120
+}