diff --git a/core/src/main/java/com/apobates/forum/core/service/PostsMoodRecordsService.java b/core/src/main/java/com/apobates/forum/core/service/PostsMoodRecordsService.java index 1b6857d2929cc8f42212f1e1f5ee448e46d242b2..92c0e2fd8b506d08a2253db8241ef5138583f6e5 100644 --- a/core/src/main/java/com/apobates/forum/core/service/PostsMoodRecordsService.java +++ b/core/src/main/java/com/apobates/forum/core/service/PostsMoodRecordsService.java @@ -59,7 +59,7 @@ public interface PostsMoodRecordsService { * @param topicId 话题ID * @param like 是否为赞,true,false为讨厌 * @param culpritor 操作的肇事信息 - * @return -1表示点过赞了,大于0表示点赞成功,0点赞失败 + * @return -1表示删除喜好,大于0表示喜好增加成功,0喜好增加失败 */ long toggleMoodRecord(long id, long topicId, boolean like, ActionEventCulpritor culpritor); -} \ No newline at end of file +} diff --git a/thrones/src/main/java/com/apobates/forum/thrones/controller/PostsMoodController.java b/thrones/src/main/java/com/apobates/forum/thrones/controller/PostsMoodController.java index d7dc8c4b99f9d5f74a48b45685829c73e7197202..27f679aad9b4462cec7fa1128f478e606d91c574 100644 --- a/thrones/src/main/java/com/apobates/forum/thrones/controller/PostsMoodController.java +++ b/thrones/src/main/java/com/apobates/forum/thrones/controller/PostsMoodController.java @@ -69,7 +69,14 @@ public class PostsMoodController { // 移至StrategyInterceptorAdapter //---------------------------------- boolean liked = (moodStatus == 1); - return TipMessage.Builder.of(()->postsMoodRecordsService.toggleMoodRecord(postsId, tpObj.getId(), liked, aec)>0).success("回复点赞成功").error("点赞失败"); + long retVal = postsMoodRecordsService.toggleMoodRecord(postsId, tpObj.getId(), liked, aec); + if(-1 == retVal){ + return TipMessage.ofSuccess("操作成功", "DEL"); + } + if(retVal > 0){ + return TipMessage.ofSuccess("操作成功", "ADD"); + } + return TipMessage.ofError("操作失败"); } //查看点赞的计数 @@ -97,4 +104,4 @@ public class PostsMoodController { Map result = Map.ofEntries(Map.entry("topic", tpObj.getId()), Map.entry("result", data)); return callBackFun + "(" + new Gson().toJson(result) + ");"; } -} \ No newline at end of file +} diff --git a/thrones/src/main/webapp/static/lib/forum/jForum.xhr.defer.js b/thrones/src/main/webapp/static/lib/forum/jForum.xhr.defer.js index 48d1382d5ef4fe9c7128d39a83dcaa8b6699b586..13d174dee0d5b5ab46244e3ea8c89247bacfeb02 100644 --- a/thrones/src/main/webapp/static/lib/forum/jForum.xhr.defer.js +++ b/thrones/src/main/webapp/static/lib/forum/jForum.xhr.defer.js @@ -26,11 +26,19 @@ define('jForumXhrDefer', ['require','jquery'], function (require, $) { }); }; //回复点赞计数更新 - da.updateMoodCounter = function(jqEle){ + da.updateMoodCounter = function(jqEle, inputVal){ var cc = jqEle.find('span'); var upC = 1; if(cc.length == 1){ - upC += parseInt(cc.html()); + //是+是- + var curVal = parseInt(cc.html()); + if('ADD' === inputVal){ + curVal += 1; + } + if('DEL' === inputVal){ + curVal -= 1; + } + upC = curVal; }else{ cc = $('').appendTo(jqEle); } @@ -107,4 +115,4 @@ define('jForumXhrDefer', ['require','jquery'], function (require, $) { return da; })(); return jForumXhrDefer; -}); \ No newline at end of file +}); diff --git a/thrones/src/main/webapp/static/lib/forum/jForum.xhr.js b/thrones/src/main/webapp/static/lib/forum/jForum.xhr.js index 658a7c910d605378fd093d77ff2a96fd3f1bd226..e2af592d557e7af17d8e279824c02b36b653b864 100644 --- a/thrones/src/main/webapp/static/lib/forum/jForum.xhr.js +++ b/thrones/src/main/webapp/static/lib/forum/jForum.xhr.js @@ -81,7 +81,7 @@ define('jForumXhr', ['require','jquery','jForumUtils','jForumTemplate','jForumXh //成功:有回调的执行回调,没有回调的提示 if (response.level === 'acc') { try { - xhrDefer[callFun](jqEle); + xhrDefer[callFun](jqEle, response.input); } catch (e) { console.error(e.message); } } else { //失败:都提示 showTipMessage = true; @@ -159,4 +159,4 @@ define('jForumXhr', ['require','jquery','jForumUtils','jForumTemplate','jForumXh return jqXhr; })(); return jForumXhr; -}); \ No newline at end of file +});