Explorar el Código

修改 点赞统计sql

wuweihao hace 3 años
padre
commit
2a2c8094a8

+ 3 - 2
gis_cms/src/main/java/com/gis/cms/mapper/GoodsVoteMapper.java

@@ -20,8 +20,9 @@ public interface GoodsVoteMapper extends IBaseMapper<GoodsVoteEntity, Long> {
             "and user_id=#{userId} and type=#{type}")
     List<String> findByGoodsModuleIdAndUserIdAndType(Long goodsModuleId, Long userId, String type);
 
-    @Update("update tb_goods_vote set is_delete=1 , update_time=NOW() where is_delete=0 and goods_id=#{goodsId} and type=#{type}")
-    void delByGoodsIdAndType(Long goodsId, String type);
+    @Update("update tb_goods_vote set is_delete=1 , update_time=NOW() where is_delete=0 and goods_id=#{goodsId} " +
+            "and type=#{type} and user_id=#{userId}")
+    void delByGoodsIdAndTypeAndUserId(Long goodsId, String type, Long userId);
 
     @Select("select id from tb_goods_vote where is_delete=0 and goods_module_id=#{goodsModuleId} " +
             "and user_id=#{userId} and type=#{type} and id=#{goodsId}")

+ 4 - 4
gis_cms/src/main/java/com/gis/cms/service/impl/GoodsServiceImpl.java

@@ -66,10 +66,10 @@ public class GoodsServiceImpl extends IBaseServiceImpl<GoodsEntity, Long> implem
         StringBuffer sql = new StringBuffer();
         // 使用了子查询
         sql.append("select a.*, b.countLike as countLike, b.countVote as countVote from tb_goods a left join " +
-                "(select g.id,sum(case v.type when 'like' then 1 else 0 end )countLike, " +
-                    "sum(case v.type when 'vote' then 1 else 0 end )countVote " +
-                    "from tb_goods g left join tb_goods_vote v on g.id=v.goods_id where g.is_delete=0 and v.is_delete=0 ) b " +
-                "on a.id=b.id where a.is_delete=0");
+                "(SELECT id,goods_id, count(case when type='vote' then 1 end) countVote, " +
+                    "count(case when type='like' then 1 end) countLike " +
+                    "from tb_goods_vote WHERE is_delete=0 GROUP BY goods_id) b " +
+                "on a.id=b.goods_id where a.is_delete=0");
 
         if (display != null){
             sql.append(" and a.display=").append(display);

+ 2 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/GoodsVoteServiceImpl.java

@@ -104,7 +104,7 @@ public class GoodsVoteServiceImpl extends IBaseServiceImpl<GoodsVoteEntity, Long
 
     @Override
     public Result goodsVoteDel(Long goodsId) {
-        entityMapper.delByGoodsIdAndType(goodsId, TYPE_VOTE);
+        entityMapper.delByGoodsIdAndTypeAndUserId(goodsId, TYPE_VOTE, getTokenUserId());
         return Result.success();
     }
 
@@ -122,7 +122,7 @@ public class GoodsVoteServiceImpl extends IBaseServiceImpl<GoodsVoteEntity, Long
 
     @Override
     public Result goodsVoteDelByType(Long goodsId, String type) {
-        entityMapper.delByGoodsIdAndType(goodsId, type);
+        entityMapper.delByGoodsIdAndTypeAndUserId(goodsId, type, getTokenUserId());
         return Result.success();
     }