Ver código fonte

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

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

合并
魏熙美 5 anos atrás
pai
commit
941d88924c

+ 55
- 0
src/main/java/com/huiju/estateagents/controller/TaSaveController.java Ver arquivo

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 Ver arquivo

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 Ver arquivo

3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.huiju.estateagents.entity.TaNews;
4
 import com.huiju.estateagents.entity.TaNews;
5
 import org.apache.ibatis.annotations.Mapper;
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
  * <p>
10
  * <p>
15
 @Mapper
17
 @Mapper
16
 public interface TaNewsMapper extends BaseMapper<TaNews> {
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 Ver arquivo

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 Ver arquivo

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 Ver arquivo

6
 import com.huiju.estateagents.entity.TaFavor;
6
 import com.huiju.estateagents.entity.TaFavor;
7
 import com.huiju.estateagents.entity.TaPerson;
7
 import com.huiju.estateagents.entity.TaPerson;
8
 import com.huiju.estateagents.mapper.TaFavorMapper;
8
 import com.huiju.estateagents.mapper.TaFavorMapper;
9
+import com.huiju.estateagents.mapper.TaNewsMapper;
9
 import com.huiju.estateagents.mapper.TaPersonMapper;
10
 import com.huiju.estateagents.mapper.TaPersonMapper;
10
 import com.huiju.estateagents.service.ITaFavorService;
11
 import com.huiju.estateagents.service.ITaFavorService;
11
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
34
     @Autowired
35
     @Autowired
35
     TaFavorMapper taFavorMapper;
36
     TaFavorMapper taFavorMapper;
36
 
37
 
38
+    @Autowired
39
+    private TaNewsMapper taNewsMapper;
40
+
37
     @Override
41
     @Override
38
     public ResponseBean postLike(String openid, String typeOf, String like) {
42
     public ResponseBean postLike(String openid, String typeOf, String like) {
39
         List<TaPerson> persons = getPersonsByOpenId(openid);
43
         List<TaPerson> persons = getPersonsByOpenId(openid);
73
             taPersonMapper.setFieldIncrement(like,"like_num", 1);
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
         return ResponseBean.success("");
85
         return ResponseBean.success("");
77
     }
86
     }
78
 
87
 
102
         taFavorMapper.deleteByMap(condition);
111
         taFavorMapper.deleteByMap(condition);
103
 
112
 
104
         // 如果是点赞置业, 则人员点赞 - 1
113
         // 如果是点赞置业, 则人员点赞 - 1
105
-        if (typeOf == CommConstant.FAVOR_CONSULTANT) {
114
+        if (typeOf.equals(CommConstant.FAVOR_CONSULTANT)) {
106
             taPersonMapper.setFieldIncrement(taPerson.getPersonId(),"like_num", -1);
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
         return ResponseBean.success("");
123
         return ResponseBean.success("");
110
     }
124
     }
111
 
125
 

+ 7
- 6
src/main/java/com/huiju/estateagents/service/impl/TaNewsServiceImpl.java Ver arquivo

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

+ 120
- 0
src/main/java/com/huiju/estateagents/service/impl/TaSaveServiceImpl.java Ver arquivo

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
+}