Browse Source

软文留言管理调整

huangct 8 years ago
parent
commit
8f8620033a

+ 6 - 2
jpress-model/src/main/java/io/jpress/model/Comment.java

@@ -15,14 +15,14 @@
  */
 package io.jpress.model;
 
-import java.math.BigInteger;
-
 import io.jpress.model.base.BaseComment;
 import io.jpress.model.core.Table;
 import io.jpress.model.query.CommentQuery;
 import io.jpress.model.query.ContentQuery;
 import io.jpress.model.query.UserQuery;
 
+import java.math.BigInteger;
+
 @Table(tableName = "comment", primaryKey = "id")
 public class Comment extends BaseComment<Comment> {
 	private static final long serialVersionUID = 1L;
@@ -49,6 +49,10 @@ public class Comment extends BaseComment<Comment> {
 		return content;
 	}
 
+	public Content getContentById(BigInteger id) {
+		return ContentQuery.me().findById(id);
+	}
+
 	public void setContent(Content content) {
 		this.content = content;
 	}

+ 29 - 5
jpress-model/src/main/java/io/jpress/model/query/CommentQuery.java

@@ -107,8 +107,8 @@ public class CommentQuery extends JBaseQuery {
 		if (hasSon == true) {
 			fromBuilder.append("and c.parent_id is not null ");
 		} else {
-			//不找作者本身的回复
-			fromBuilder.append("and c.parent_id is null and quote_user.user_id != content.user_id ");
+			//不找作者本身的回复(需再思考  数量和实际显示)
+			fromBuilder.append("and c.parent_id is null and c.user_id != content.user_id ");
 		}
 
 		LinkedList<Object> params = new LinkedList<Object>();
@@ -174,12 +174,36 @@ public class CommentQuery extends JBaseQuery {
 		return DAO.doFindCount("content_module = ? and status=?", module, status);
 	}
 
-	public long findCountByModuleAndSon(String module, boolean parent) {
+	public long findCountByModuleAndSonAndContentId(BigInteger contentId, String module, boolean hasSon) {
+		io.jpress.model.Content content = DAO.getContentById(contentId);
+		BigInteger authorUserId = null;
+		if (content != null) {
+			authorUserId = content.getUserId();
+		}
+		Long count = new Long(0);
+		if (hasSon == true) {
+			count = DAO.doFindCount("content_module = ? and parent_id is not null and content_id = ?", module ,contentId);
+		} else {
+			if (authorUserId == null) {
+				count = DAO.doFindCount("content_module = ? and parent_id is null and content_id = ? ", module ,contentId);
+			} else {
+				count = DAO.doFindCount("content_module = ? and parent_id is null and content_id = ? and user_id != ?", module ,contentId ,authorUserId);
+			}
+		}
+
+		return count;
+	}
+
+	public long findCountByModuleAndStatusAndContentId(BigInteger contentId, String module, String status) {
+		return DAO.doFindCount(" content_id = ? and content_module = ? and status=?",contentId, module, status);
+	}
+
+	public long findCountByModuleAndStatusAndContentId(BigInteger contentId, String module, boolean parent) {
 		Long count = new Long(0);
 		if (parent == true) {
-			count = DAO.doFindCount("content_module = ? and parent_id is not null", module);
+			count = DAO.doFindCount("content_module = ? and parent_id is not null and content_id = " + contentId, module);
 		} else {
-			count = DAO.doFindCount("content_module = ? and parent_id is null", module);
+			count = DAO.doFindCount("content_module = ? and parent_id is null and content_id = " + contentId, module);
 		}
 
 		return count;

+ 10 - 6
jpress-web-admin/src/main/java/io/jpress/admin/controller/_CommentController.java

@@ -57,14 +57,18 @@ public class _CommentController extends JBaseCRUDController<Comment> {
 		keepPara();
 
 		setAttr("module", TemplateManager.me().currentTemplateModule(getModule()));
-		setAttr("delete_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_DELETE));
-		setAttr("draft_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_DRAFT));
-		setAttr("normal_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_NORMAL));
-		setAttr("count", CommentQuery.me().findCountInNormalByModule(getModule()));
 
 		if ("uuhelper".equals(getModule())) {
-			setAttr("answered_count", CommentQuery.me().findCountByModuleAndSon(getModule(), true));
-			setAttr("unanswered_count", CommentQuery.me().findCountByModuleAndSon(getModule(), false));
+			setAttr("answered_count", CommentQuery.me().findCountByModuleAndSonAndContentId(getParaToBigInteger("cid"), getModule(), true));
+			setAttr("unanswered_count", CommentQuery.me().findCountByModuleAndSonAndContentId(getParaToBigInteger("cid"), getModule(), false));
+			setAttr("draft_count", CommentQuery.me().findCountByModuleAndStatusAndContentId(getParaToBigInteger("cid"), getModule(), Comment.STATUS_DRAFT));
+			setAttr("normal_count", CommentQuery.me().findCountByModuleAndStatusAndContentId(getParaToBigInteger("cid"), getModule(), Comment.STATUS_NORMAL));
+			setAttr("delete_count", CommentQuery.me().findCountByModuleAndStatusAndContentId(getParaToBigInteger("cid"), getModule(), Comment.STATUS_DELETE));
+		} else {
+			setAttr("delete_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_DELETE));
+			setAttr("draft_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_DRAFT));
+			setAttr("normal_count", CommentQuery.me().findCountByModuleAndStatus(getModule(), Comment.STATUS_NORMAL));
+			setAttr("count", CommentQuery.me().findCountInNormalByModule(getModule()));
 		}
 
 		super.index();

+ 1 - 1
jpress-web-admin/src/main/webapp/WEB-INF/admin/comment/index.html

@@ -135,7 +135,7 @@ function reply(id){
 	<section class="content-header">
 		<div class="navUas">
 			<a class="commentManage <#if !way?? || (way?? && way == 'comment')>active</#if>" onclick="changePage(0)" href="${CPATH}/admin/comment?t=comment&m=uuhelper&p=uuhelper&c=comment&way=comment">留言管理</a>
-            <a class="groupManage <#if way?? && way == 'group'>active</#if>" onclick="changePage(1)" href="${CPATH}/admin/comment?t=comment&m=uuhelper&p=uuhelper&c=comment&way=group">群发消息管理</a>
+            <a class="groupManage <#if way?? && (way == 'group' || way == 'detail')>active</#if>" onclick="changePage(1)" href="${CPATH}/admin/comment?t=comment&m=uuhelper&p=uuhelper&c=comment&way=group">群发消息管理</a>
 		</div>
 	</section>
 	<!-- Main content -->

+ 19 - 19
jpress-web-admin/src/main/webapp/WEB-INF/admin/comment/uuHelperCommentList.html

@@ -92,30 +92,30 @@
                                             <img src="${(bean.user.avatar)!CPATH+'/static/jpress/admin/image/nothumbnail.jpg'}" alt="头像">
                                         </div>
                                         <div class="rightContent">
-                                            <p><a href="${CPATH}/admin/user/edit?id=${bean.user_id!}&c=list&p=user"> ${(bean.user.username)!comment.author!} </a></p>
+                                            <p><a href="${CPATH}/admin/user/edit?id=${bean.user_id!}&c=list&p=user"><#if bean.user?? >${(bean.user.username)!}<#else>${(comment.author)!}</#if> </a></p>
                                             <span>
                                                 ${bean.text!}<#if "draft" == bean.status!>(待审核)</#if>
                                             </span>
                                         </div>
                                     </div>
-                                    <div class="jp-flash-comment">
-                                        <p class="row-actions jp-cancel-pad">
-                                            <#if "normal" == bean.status!>
-                                                <span class="approve"><a class="vim-a" href="javascript:reply(${bean.id})">回复</a></span>
-                                                <span class="approve">|<a class="vim-a" href="${CPATH}/admin/comment/edit?id=${bean.id!}&p=${(p)!}&c=${(c)!}">编辑</a></span>
-                                                <span class="spam">|<a class="vim-s vim-destructive" href="javascript:draft(${bean.id})">待审核</a></span>
-                                                <span class="spam">|<a class="vim-s vim-destructive" href="javascript:trash(${bean.id})">垃圾箱</a></span>
-                                                <#elseif "draft" == bean.status!>
-                                                    <span class="approve"><a class="vim-a" href="javascript:reply(${bean.id})">回复</a></span>
-                                                    <span class="approve">|<a class="vim-a" href="${CPATH}/admin/comment/edit?id=${bean.id!}&p=${(p)!}&c=${(c)!}">编辑</a></span>
-                                                    <span class="spam">|<a class="vim-s vim-destructive" href="javascript:pub(${bean.id})">允许发布</a></span>
-                                                    <span class="spam">|<a class="vim-s vim-destructive" href="javascript:trash(${bean.id})">垃圾箱</a></span>
-                                                    <#else>
-                                                        <span class="approve"> <a class="vim-a" href="javascript:restore(${bean.id})">放回草稿</a></span>
-                                                        <span class="spam">|<a class="vim-s vim-destructive" href="javascript:del(${bean.id})">永久删除</a></span>
-                                            </#if>
-                                        </p>
-                                    </div>
+                                    <!--<div class="jp-flash-comment">-->
+                                        <!--<p class="row-actions jp-cancel-pad">-->
+                                            <!--<#if "normal" == bean.status!>-->
+                                                <!--<span class="approve"><a class="vim-a" href="javascript:reply(${bean.id})">回复</a></span>-->
+                                                <!--<span class="approve">|<a class="vim-a" href="${CPATH}/admin/comment/edit?id=${bean.id!}&p=${(p)!}&c=${(c)!}">编辑</a></span>-->
+                                                <!--<span class="spam">|<a class="vim-s vim-destructive" href="javascript:draft(${bean.id})">待审核</a></span>-->
+                                                <!--<span class="spam">|<a class="vim-s vim-destructive" href="javascript:trash(${bean.id})">垃圾箱</a></span>-->
+                                                <!--<#elseif "draft" == bean.status!>-->
+                                                    <!--<span class="approve"><a class="vim-a" href="javascript:reply(${bean.id})">回复</a></span>-->
+                                                    <!--<span class="approve">|<a class="vim-a" href="${CPATH}/admin/comment/edit?id=${bean.id!}&p=${(p)!}&c=${(c)!}">编辑</a></span>-->
+                                                    <!--<span class="spam">|<a class="vim-s vim-destructive" href="javascript:pub(${bean.id})">允许发布</a></span>-->
+                                                    <!--<span class="spam">|<a class="vim-s vim-destructive" href="javascript:trash(${bean.id})">垃圾箱</a></span>-->
+                                                    <!--<#else>-->
+                                                        <!--<span class="approve"> <a class="vim-a" href="javascript:restore(${bean.id})">放回草稿</a></span>-->
+                                                        <!--<span class="spam">|<a class="vim-s vim-destructive" href="javascript:del(${bean.id})">永久删除</a></span>-->
+                                            <!--</#if>-->
+                                        <!--</p>-->
+                                    <!--</div>-->
                                 </td>
                                 <td class="messageTitle">${bean.content_title!}</td>
                                 <td class="messageTime">

+ 59 - 45
jpress-web-admin/src/main/webapp/WEB-INF/admin/comment/uuHelperGroupDetail.html

@@ -92,10 +92,27 @@
     <div class="box box-message">
         <div class="messageNav">
             <ul>
-                <li><a>已显示</a></li>
-                <li><a>未显示</a></li>
-                <li><a>已回复</a></li>
-                <li><a>未回复</a></li>
+                <li><a href="${CPATH}/admin/comment?t=${t!}&m=${m!}&p=${p!}&c=${c!}&s=normal&cid=${cid!}&way=${way!}">
+                        已显示 <span class="count">(${normal_count!"0"})</span>
+                    </a>
+                </li>
+
+                <li><a href="${CPATH}/admin/comment?t=${t!}&m=${m!}&p=${p!}&c=${c!}&s=draft&cid=${cid!}&way=${way!}">
+                        未显示 <span class="count">(${draft_count!"0"})</span>
+                    </a>
+                </li>
+                <li><a href="${CPATH}/admin/comment?t=${t!}&m=${m!}&p=${p!}&c=${c!}&son=true&cid=${cid!}&way=${way!}">
+                        已回复<span class="count">(${answered_count!"0"})</span>
+                    </a>
+                </li>
+                <li><a href="${CPATH}/admin/comment?t=${t!}&m=${m!}&p=${p!}&c=${c!}&son=false&cid=${cid!}&way=${way!}">
+                        未回复<span class="count">(${unanswered_count!"0"})</span>
+                    </a>
+                </li>
+                <li><a href="${CPATH}/admin/comment?t=${t!}&m=${m!}&p=${p!}&c=${c!}&s=delete&cid=${cid!}&way=${way!}">
+                        垃圾箱 <span class="count">(${delete_count!"0"})</span>
+                    </a>
+                </li>
             </ul>
         </div>
         <!-- /.box-header -->
@@ -105,53 +122,50 @@
                 <table class="table table-striped" style="word-break:break-all">
                     <thead>
                     <tr>
-                        <th style="padding-left: 40px;" width="25"><input type="checkbox"></th>
+                        <th style="padding-left: 40px;" width="25"><input name="dataItem" onclick="checkAll(this)" type="checkbox"></th>
                         <th width="500" class="chooseCount">留言 <span>(已选中 <span>0</span>条)</span></th>
                         <th width="400">留言时间</th>
                         <th width="400">操作</th>
                     </tr>
                     </thead>
                     <tbody class="bodyUas">
-                    <tr>
-                        <td style="padding-left: 40px;"><input type="checkbox"></td>
-                        <td>
-                            <div class="messageContent">
-                                <div class="leftImg">
-                                    <img src="${CPATH}/static/jpress/admin/image/nothumbnail.jpg" alt="">
-                                </div>
-                                <div class="rightContent">
-                                    <p>电量十足</p>
-                                    <span>赞</span>
-                                </div>
-                            </div>
-                        </td>
-                        <td class="messageTime">
-                            2017-08-26 17:24:23
-                        </td>
-                        <td class="handleMessage">
-                            <a>显示</a><a>置顶</a><a>回复</a><a>删除</a>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="padding-left: 40px;"><input type="checkbox"></td>
-                        <td>
-                            <div class="messageContent">
-                                <div class="leftImg">
-                                    <img src="${CPATH}/static/jpress/admin/image/nothumbnail.jpg" alt="">
-                                </div>
-                                <div class="rightContent">
-                                    <p>电量十足</p>
-                                    <span>赞</span>
-                                </div>
-                            </div>
-                        </td>
-                        <td class="messageTime">
-                            2017-08-26 17:24:23
-                        </td>
-                        <td class="handleMessage">
-                            <a>显示</a><a>置顶</a><a>回复</a><a>删除</a>
-                        </td>
-                    </tr>
+
+                    <#if page??>
+                        <#list page.getList() as bean>
+                            <tr>
+                                <td style="padding-left: 40px;"><input name="dataItem" type="checkbox"></td>
+                                <td>
+                                    <div class="messageContent">
+                                        <div class="leftImg">
+                                            <img src="${(bean.user.avatar)!CPATH+'/static/jpress/admin/image/nothumbnail.jpg'}" alt="头像">
+                                        </div>
+                                        <div class="rightContent">
+                                            <p><a href="${CPATH}/admin/user/edit?id=${bean.user_id!}&c=list&p=user"> ${(bean.user.username)!comment.author!} </a></p>
+                                            ${bean.text!}<#if "draft" == bean.status!>(待审核)<#elseif "delete" == bean.status!>(垃圾箱)</#if>
+                                        </div>
+                                    </div>
+                                </td>
+                                <td class="messageTime">
+                                    ${bean.created!}
+                                </td>
+                                <td class="handleMessage">
+                                    <#if "delete" == bean.status!>
+                                        <a href="javascript:restore(${bean.id})">放回草稿</a>
+                                        <a href="javascript:del(${bean.id})">永久删除</a>
+                                    <#else>
+                                        <a><select id="isShowMessageSelect${bean.id}" onchange="showMessageSelect(${bean.id})">
+                                            <option value="draft" <#if bean?? && bean.status?? && bean.status=="draft"> selected="selected" </#if>>不显示</option>
+                                            <option value="normal" <#if bean?? && bean.status?? && bean.status=="normal"> selected="selected" </#if>>显示</option>
+                                        </select>
+                                        </a>
+                                        <a>置顶</a>
+                                        <a href="javascript:reply(${bean.id})">回复</a>
+                                        <a href="javascript:trash(${bean.id})">删除</a>
+                                    </#if>
+                                </td>
+                            </tr>
+                        </#list>
+                    </#if>
                     </tbody>
                 </table>
             </form>

+ 1 - 1
jpress-web-admin/src/main/webapp/WEB-INF/admin/comment/uuHelperGroupList.html

@@ -76,7 +76,7 @@
                                     </select>
                                 </td>
                                 <td class="handleMessage">
-                                    <a class="replay" href="${CPATH}/admin/comment?t=comment&m=uuhelper&p=uuhelper&c=comment&way=detail">查看</a>
+                                    <a class="replay" href="${CPATH}/admin/comment?t=comment&m=uuhelper&p=uuhelper&c=comment&cid=${content.id!}&way=detail">查看</a>
                                 </td>
                             </tr>
                         </#list>