فهرست منبع

Merge remote-tracking branch 'origin/master'

yuliang 5 سال پیش
والد
کامیت
d897103fd8

+ 1 - 1
whepi-doc/task.sql

@@ -4,7 +4,7 @@
 drop table if exists qz_task;
 create table qz_task (
     task_id         bigint(20)      NOT NULL DEFAULT 0          COMMENT '求助任务ID',
-    task_target     varchar(20)     NOT NULL DEFAULT ''         COMMENT '求助对象:A业委会,B居委会,C物业,D志愿者',
+    task_target     varchar(20)     NOT NULL DEFAULT ''         COMMENT '求助对象:A管理员,B居委会,C物业,D志愿者',
     task_status     int(11)         NOT NULL DEFAULT 0          COMMENT '求助状态:1未解决,2处理中,3已处理',
     task_title      varchar(20)     NOT NULL DEFAULT ''         COMMENT '求助标题',
     remark          varchar(100)    NOT NULL DEFAULT ''         COMMENT '备注',

+ 25 - 33
whepi-ui/templates/home/home.ftl

@@ -95,11 +95,20 @@
             buyGroup();
         }
 
+        function selectqiuzhu() {
+            $("#tab1").removeClass('weui-tab__bd-item--active');
+            $("#jt1").removeClass('weui-bar__item--on');
+            $("#tab2").addClass('weui-tab__bd-item--active');
+            $("#jt2").addClass('weui-bar__item--on');
+        }
+
         var show = ${show!'"-"'};
 
         if (show == 'tuangou') {
             selectTab();
 
+        } else if (show == 'qiuzhu') {
+            selectqiuzhu();
         }
     })(jQuery);
 
@@ -108,7 +117,7 @@
     function familyClick() {
         $('#notitle').empty();//清除节点
         $.ajax({
-            url: '/home/home/queryQzTask',
+            url: '/home/home/queryQzTaskxq',
             data: {userId: $('#userId').val()},
             type: 'GET',
             async: false,
@@ -142,40 +151,23 @@
     }
 
     function xiaoQuItemClick(v) {
-        /*$.alert(v.taskId)*/
-        if ($('#titlteZs')[0].style.display == 'none') {
-            $('#notitle').toggle();
-            $('#titlteZs')[0].style.display = '';
-            $('#qzHS').empty();//清除节点
-            //详情页面的展示
-            $.ajax({
-                url: '/home/home/taskQuery',
-                data: {taskId: v.taskId},
-                type: 'GET',
-                success: function (data) {
-                    console.log(data);
-                    if (data.data.length > 0) {
-                        hasData = true;
-                        $('#qzHS').append($('<div>' + data.data[0].taskTitle + '</div>\n' + '<div class="weui-cell ">\n' + '<div class="weui-cell__bd">\n'
-                                + '<textarea class="weui-textarea" rows="1" readonly />' + data.data[0].remark + '</div>'));
-                        if (data.data[0].nickName != null) {
-                            data.data.forEach(function (v) {
-                                shValue(v);
-                            });
-                        }
-                    } else {
-
-                    }
-                },
-                error: function () {
+        $.ajax({
+            url: '/home/home/taskQuery',
+            data: {taskId: v.taskId},
+            type: 'GET',
+            success: function (data) {
+                console.log(data);
+                if (v.userId != data.data.userId) {
+                    $.alert('当前求助信息不是你的')
+                } else {
+                    window.location.href = "/quzhu/home/quxiao.html?taskId=" + v.taskId + "&userId=" + v.userId;
+                    familyClick()
                 }
-            });
-            /*$('#qzHS').*/
+            },
+            error: function () {
+            }
+        });
 
-        } else {
-            $('#notitle')[0].style.display = '';
-            $('#titlteZs')[0].style.display = 'none';
-        }
     }
 
 

+ 177 - 0
whepi-ui/templates/home/htlpXq.ftl

@@ -0,0 +1,177 @@
+<#assign title="求助详情"/>
+<#include "/home/frag.head.ftl" />
+
+<div class="weui-tab">
+    <div class="weui-btn-area" style="display: flex; flex-direction: row;">
+        <a class="weui-btn weui-btn_primary" href="javascript:goback();"
+           style="width: 25vw; height: 6vh; line-height: 6vh;">返回</a>
+        <div style="width: 65%;"></div>
+    </div>
+
+    <div class="weui-btn-area">
+
+        <p class="weui-media-box__desc">求助标题</p>
+        <h4 class="weui-media-box__title">${ task.taskTitle }</h4>
+        <br>
+        <p class="weui-media-box__desc">求助对象</p>
+        <h4 class="weui-media-box__title">${ task.taskTarget }</h4>
+        <br>
+        <p class="weui-media-box__desc">求助内容</p>
+        <h4 class="weui-media-box__title">${ task.remark }</h4>
+        <br>
+
+
+
+
+
+        <#if task.taskStatus == 1>
+        <#--<div class="weui-btn-area">
+            <p style="align-items: center">处理中</p>
+        </div>-->
+        </#if>
+        <#if task.taskStatus == 2>
+        <div class="weui-btn-area">
+            <a class="weui-btn weui-btn_default" href="javascript:doTask();">回复</a>
+            <a class="weui-btn weui-btn_primary" href="javascript:commint();">完成</a>
+        </div>
+            <p class="weui-media-box__desc" style="margin-top: 3vh;">回复列表:</p>
+            <div id="qz_doing_detail" style="margin-top: 3vh;"></div>
+        </#if>
+        <#if task.taskStatus == 3>
+            <div class="weui-btn_primary"
+                 style="margin-bottom: 3vh; display: flex; justify-content: center; height: 5vh; line-height: 5vh">
+                <h4 class="weui-media-box__title">已完成</h4>
+            </div>
+            <p class="weui-media-box__desc" style="margin-top: 3vh;">回复列表:</p>
+            <div id="qz_done_detail"></div>
+        </#if>
+    </div>
+
+    <div id="qz_showPop" class="weui-popup__container popup-bottom">
+        <div class="weui-popup__overlay"></div>
+        <div class="weui-popup__modal">
+            <div class="weui-btn-area">
+                <div style="display:flex; flex-direction: row; justify-content: space-between;">
+                    <div style="width: 75%;"></div>
+                    <a class="weui-btn weui-btn_primary" style="margin-bottom: 3vh;" href="javascript:close();">关闭</a>
+                </div>
+                <textarea id="qz_content" class="weui-textarea" placeholder="请输入文本" rows="5" maxlength="99"></textarea>
+                <a class="weui-btn weui-btn_primary" style="margin-top: 3vh;margin-bottom: 5vh;"
+                   href="javascript:send();">提交</a>
+            </div>
+        </div>
+    </div>
+</div>
+
+<#include "/home/frag.foot.ftl" />
+
+<script>
+    var task = ${taskJson};
+    var userId = ${userId};
+    <#--var YeuserId = ${YeuserId};//业委会id-->
+    (function ($) {
+
+        if (task.taskStatus == 2 || task.taskStatus == 3) {
+            getdealdetail();
+        }
+
+    })(jQuery);
+
+    function doTask() {
+        $("#qz_showPop").popup();
+    }
+
+    //完成
+    function commint() {
+        $.ajax({
+            url: '/home/qiuzhu/reply.json',
+            type: 'GET',
+            data: {
+                taskId: task.taskId,
+            },
+            success: function (data) {
+                /*$.closePopup();*/
+                window.location.href = "/user/homeIndex.html?show=qiuzhu&userId=" + userId + "&userType=" + 1;
+            },
+            error: function () {
+            }
+        });
+    }
+
+    function close() {
+        $.closePopup();
+    }
+
+    function send() {
+
+        let qzcontent = $('#qz_content').val();
+        if (qzcontent.length <= 0) {
+            $.alert("请输入内容");
+            return;
+        }
+        $.ajax({
+            url: '/yeweihui/qiuzhu/reply/add.json',
+            type: 'post',
+            data: {
+                userId: userId,
+                taskId: task.taskId,
+                replyContent: qzcontent,
+                userCreate: userId,
+                userUpdate: userId,
+            },
+            success: function (data) {
+                $.closePopup();
+                window.location.href = "/user/homeIndex.html?show=qiuzhu&userId=" + userId + "&userType=" + 1;
+            },
+            error: function () {
+                $.alert("网络异常");
+            }
+        });
+    }
+
+    function goback() {
+        window.location.href = "/user/homeIndex.html?show=qiuzhu&userId=" + userId + "&userType=" + 1;
+    }
+
+    function getdealdetail() {
+        $.ajax({
+            url: '/home/qiuzhu/getData',
+            type: 'post',
+            data: {
+                taskId: task.taskId,
+            },
+            success: function (data) {
+                console.log("---返回数据---", data);
+
+                if (task.taskStatus == 2) {
+                    for (let i = 0; i < data.data.length; i++) {
+                        let reply = data.data[i];
+                        $("#qz_doing_detail").append('<p class="weui-media-box__desc">' + reply.nickName + '&emsp;' + reply.timeUpdate + '</p>\n' +
+                                '        <h4 class="weui-media-box__title">' + reply.replyContent + '</h4><br>');
+                    }
+                }
+                else if (task.taskStatus == 3) {
+                    for (let i = 0; i < data.data.length; i++) {
+                        let reply = data.data[i];
+                        $("#qz_done_detail").append('<p class="weui-media-box__desc">' + reply.nickName + '&emsp;' + reply.timeUpdate + '</p>\n' +
+                                '        <h4 class="weui-media-box__title">' + reply.replyContent + '</h4><br>');
+                    }
+                }
+            },
+            error: function () {
+                $.alert("网络异常");
+            }
+        });
+    }
+
+    function timestampToTime(timestamp) {
+        var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+        var Y = date.getFullYear() + '/';
+        var M = ((date.getMonth() + 1) < 10) ? ('0' + (date.getMonth() + 1) + '/') : ((date.getMonth() + 1) + '/');
+        var D = (date.getDate() < 10) ? ('0' + date.getDate() + ' ') : (date.getDate() + ' ');
+        var h = (date.getHours() < 10) ? ('0' + date.getHours() + ':') : (date.getHours() + ':');
+        var m = (date.getMinutes() < 10) ? ('0' + date.getMinutes() + ':') : (date.getMinutes() + ':');
+        var s = (date.getSeconds() < 10) ? ('0' + date.getSeconds()) : (date.getSeconds());
+        return Y + M + D + h + m + s;
+    }
+</script>

+ 30 - 33
whepi-ui/templates/home/qiuzhu.ftl

@@ -73,7 +73,7 @@
                     <div class="weui-cell weui-cell_active weui-cell_switch">
                         <div class="weui-cell">
                             <div class="weui-cell__bd">
-                                <input id="quetyFamily" type="text" class="weui-input" placeholder="搜关键字"
+                                <input id="quetyFamily" type="text" class="weui-input" placeholder="搜关键字"
                                        maxlength="10" style="width: 150px"/>
                             </div>
                             <a href="javascript:"
@@ -318,40 +318,37 @@
     var aid;
 
     function myItemClick(v) {
-        if ($('#familyDisplay')[0].style.display == 'none') {
-            $('#familyDisplay')[0].style.display = '';
-            $("#notPlay").toggle();
-            $('#qzHS2').empty();
+        window.location.href = "/quzhu/home/quxiao.html?taskId=" + v.taskId + "&userId=" + v.userId;
+        /*     $.ajax({
+                 url: '/home/home/taskQuery',
+                 data: {taskId: v.taskId},
+                 type: 'GET',
+                 success: function (data) {
+                     console.log(data);
 
-            $.ajax({
-                url: '/home/home/taskQuery',
-                data: {taskId: v.taskId},
-                type: 'GET',
-                success: function (data) {
-                    console.log(data);
-                    //判断该求助是否完成  来判断按钮是否展示
-                    if (data.data.length > 0 && data.data[0].taskStatus == 2) {
-                        $('#isHiddenStyle12')[0].style.display = '';
-                    } else {
-                        $('#isHiddenStyle12')[0].style.display = 'none';
-                    }
+                /!*     //判断该求助是否完成  来判断按钮是否展示
+                     if (data.data.length > 0 && data.data[0].taskStatus == 2) {
+                         $('#isHiddenStyle12')[0].style.display = '';
+                     } else {
+                         $('#isHiddenStyle12')[0].style.display = 'none';
+                     }
 
-                    if (data.data.length > 0) {
-                        $('#qzHS2').append($('<div>' + data.data[0].taskTitle + '</div>\n'+'<div class="weui-cell ">\n'+'<div class="weui-cell__bd">\n'
-                                +data.data[0].remark+'</div>'));
-                        if(data.data[0].nickName!=null){
-                            data.data.forEach(function (v) {
-                                shValuenat2(v);
-                            });
-                        }
-                    } else {
+                     if (data.data.length > 0) {
+                         $('#qzHS2').append($('<div>' + data.data[0].taskTitle + '</div>\n' + '<div class="weui-cell ">\n' + '<div class="weui-cell__bd">\n'
+                                 + data.data[0].remark + '</div>'));
+                         if (data.data[0].nickName != null) {
+                             data.data.forEach(function (v) {
+                                 shValuenat2(v);
+                             });
+                         }
+                     } else {
+
+                     }*!/
+                 },
+                 error: function () {
+                 }
+             });*/
 
-                    }
-                },
-                error: function () {
-                }
-            });
-        }
     }
 
     function shValuenat2(v) {
@@ -418,7 +415,7 @@
         /*展示*/
         $('#play')[0].style.display = '';
         $('#Qzinput').val("")
-       // $("#qzf2").removeAttr('checked', false)
+        // $("#qzf2").removeAttr('checked', false)
         $('#remarks').val("")
     }
 

+ 2 - 2
whepi-ui/templates/home/qiuzhu.js

@@ -3,7 +3,7 @@ function qiuzhu_init() {
 }
 
 function shValue(v) {
-  $('#qzHS').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
+/*  $('#qzHS').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
     '                <div class="weui-media-box__bd">\n' +
     '                    <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
     '                        <p class="weui-media-box__desc">' + v.nickName + '</p>\n' +
@@ -16,7 +16,7 @@ function shValue(v) {
     '                        </div>\n' +
     '                    </div>\n' +
     '                </div>\n' +
-    '            </a>\n<br />'));
+    '            </a>\n<br />'));*/
 }
 
 function timestampToTime(timestamp) {

+ 9 - 6
whepi-ui/templates/yeweihui/qiuzhu.js

@@ -8,7 +8,8 @@ function qiuzhu_init() {
       type: 'post',
       data: {
         houseNumber: $('#qz_searchNum1').val(),
-        status: 1
+        status: 1,
+        userId: $('#userId').val()
       },
       success: function (data) {
         makeList1(data.data);
@@ -26,7 +27,8 @@ function qiuzhu_init() {
       type: 'post',
       data: {
         houseNumber: $('#qz_searchNum2').val(),
-        status: 2
+        status: 2,
+        userId: $('#userId').val()
       },
       success: function (data) {
         makeList2(data.data);
@@ -44,7 +46,8 @@ function qiuzhu_init() {
       type: 'post',
       data: {
         houseNumber: $('#qz_searchNum3').val(),
-        status: 3
+        status: 3,
+        userId: $('#userId').val()
       },
       success: function (data) {
         makeList3(data.data);
@@ -97,7 +100,7 @@ function makeList1(tasks) {
         '                            <div class="weui-media-box__bd">\n' +
         '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
         '                                    <p class="weui-media-box__desc">' + task.ridgepole + '-' + task.unit + '-' + task.houseNumber + '</p>\n' +
-        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + task.timeCreate + '</p>\n' +
         '                                </div>\n' +
         '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
         '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
@@ -121,7 +124,7 @@ function makeList2(tasks) {
         '                            <div class="weui-media-box__bd">\n' +
         '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
         '                                    <p class="weui-media-box__desc">' + task.ridgepole + '-' + task.unit + '-' + task.houseNumber + '</p>\n' +
-        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + task.timeCreate + '</p>\n' +
         '                                </div>\n' +
         '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
         '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
@@ -146,7 +149,7 @@ function makeList3(tasks) {
         '                            <div class="weui-media-box__bd">\n' +
         '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
         '                                    <p class="weui-media-box__desc">' + task.ridgepole + '-' + task.unit + '-' + task.houseNumber + '</p>\n' +
-        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + task.timeCreate + '</p>\n' +
         '                                </div>\n' +
         '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
         '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +

+ 28 - 9
whepi-ui/templates/yeweihui/qiuzhuDetail.ftl

@@ -24,16 +24,19 @@
             </div>
         </#if>
         <#if task.taskStatus == 2>
-            <div class="weui-btn_primary" style="margin-bottom: 3vh; display: flex; justify-content: center; height: 5vh; line-height: 5vh">
-                <h4 class="weui-media-box__title">处理中</h4>
+            <div class="weui-btn-area">
+                <a class="weui-btn weui-btn_default">处理中</a>
+                <a class="weui-btn weui-btn_primary" href="javascript:reply();">回复</a>
             </div>
+            <p class="weui-media-box__desc" style="margin-top: 3vh;">回复列表:</p>
             <div id="qz_doing_detail" style="margin-top: 3vh;"></div>
         </#if>
         <#if task.taskStatus == 3>
-            <div class="weui-btn_primary" style="margin-bottom: 3vh; display: flex; justify-content: center; height: 5vh; line-height: 5vh">
-                <h4 class="weui-media-box__title">已处理完成</h4>
+            <div class="weui-btn-area">
+                <a class="weui-btn weui-btn_default">已处理完成</a>
             </div>
-            <div id="qz_done_detail"></div>
+            <p class="weui-media-box__desc" style="margin-top: 3vh;">回复列表:</p>
+            <div id="qz_done_detail" style="margin-top: 3vh;"></div>
         </#if>
     </div>
 
@@ -69,6 +72,10 @@
         $("#qz_showPop").popup();
     }
 
+    function reply() {
+        $("#qz_showPop").popup();
+    }
+
     function close() {
         $.closePopup();
     }
@@ -92,8 +99,18 @@
                 userUpdate: userId,
             },
             success: function (data) {
-                $.closePopup();
-                window.location.href = "/yeweihui/home.html?show=qiuzhu&userId=" + userId;
+                if (data.success == true) {
+                    $.closePopup();
+                    if (task.taskStatus == 1) {
+                        window.location.href = "/yeweihui/home.html?show=qiuzhu&userId=" + userId;
+                    }
+                    else if (task.taskStatus == 2) {
+                        getdealdetail();
+                    }
+                }
+                else {
+                    $.alert("操作失败");
+                }
             },
             error: function () {
                 $.alert("网络异常");
@@ -116,16 +133,18 @@
                 console.log("---返回数据---",data);
 
                 if (task.taskStatus == 2) {
+                    $("#qz_doing_detail").empty();
                     for (let i = 0; i < data.data.length; i++) {
                         let reply = data.data[i];
-                        $("#qz_doing_detail").append('<p class="weui-media-box__desc">回复' + i + '</p>\n' +
+                        $("#qz_doing_detail").append('<p class="weui-media-box__desc">' + reply.nickName + '&emsp;' + reply.timeUpdate + '</p>\n' +
                             '        <h4 class="weui-media-box__title">' + reply.replyContent + '</h4><br>');
                     }
                 }
                 else if (task.taskStatus == 3) {
+                    $("#qz_done_detail").empty();
                     for (let i = 0; i < data.data.length; i++) {
                         let reply = data.data[i];
-                        $("#qz_done_detail").append('<p class="weui-media-box__desc">回复' + i + '</p>\n' +
+                        $("#qz_done_detail").append('<p class="weui-media-box__desc">' + reply.nickName + '&emsp;' + reply.timeUpdate + '</p>\n' +
                             '        <h4 class="weui-media-box__title">' + reply.replyContent + '</h4><br>');
                     }
                 }

+ 3 - 2
whepi-web/src/main/java/com/bofeng/dao/QzTaskDao.java

@@ -18,13 +18,14 @@ public interface QzTaskDao extends BaseMapper<QzTask> {
 
     QzTask queryByTaskId(@Param("taskId") Long taskId);
 
-    List<QzTask> queryByHouseNumber(@Param("houseNumber") String houseNumber, @Param("status") Integer status);
+    List<QzTask> queryByHouseNumber(@Param("uptownId") Long uptownId, @Param("houseNumber") String houseNumber, @Param("status") Integer status);
 
     Integer updateStatusById(@Param("taskId") Long taskId, @Param("status") Integer status);
 
-    List<QzTask> queryQzTaskByStatus(@Param("taskStatus") Integer taskStatus);
+    List<QzTask> queryQzTaskByStatus(@Param("uptownId") Long uptownId, @Param("taskStatus") Integer taskStatus);
 
     List<QzTask> queryQzTask(@Param("taskStatus") Integer taskStatus, @Param("taskTitle") String taskTitle, @Param("userId") Long userId);
+    List<QzTask> queryQzTaskxq(@Param("userId") Long userId);
 
     //当前用户名称
     QzTask selectUserName(@Param("userId") Long userId);

+ 2 - 0
whepi-web/src/main/java/com/bofeng/dao/QzTaskReplyDao.java

@@ -16,4 +16,6 @@ public interface QzTaskReplyDao extends BaseMapper<QzTaskReply> {
 
   List<QzTaskReply> queryQzTaskReplyByTaskId(@Param("taskId")Long taskId);
 
+  QzTaskReply selectId(@Param("taskId")Long taskId);
+
 }

+ 7 - 4
whepi-web/src/main/java/com/bofeng/entity/QzTask.java

@@ -1,9 +1,10 @@
 package com.bofeng.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import org.joda.time.DateTime;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * qz_task
@@ -17,7 +18,7 @@ public class QzTask implements Serializable {
     private Long taskId;
 
     /**
-     * 求助对象:A业委会,B居委会,C物业,D志愿者
+     * 求助对象:A管理员,B居委会,C物业,D志愿者
      */
     private String taskTarget;
 
@@ -78,7 +79,8 @@ public class QzTask implements Serializable {
     /**
      * 新增时间
      */
-    private DateTime timeCreate;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date timeCreate;
 
     /**
      * 修改人
@@ -88,7 +90,8 @@ public class QzTask implements Serializable {
     /**
      * 修改时间
      */
-    private DateTime timeUpdate;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    private Date timeUpdate;
 
     private static final long serialVersionUID = 1L;
 }

+ 10 - 3
whepi-web/src/main/java/com/bofeng/entity/QzTaskReply.java

@@ -1,7 +1,7 @@
 package com.bofeng.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import org.joda.time.DateTime;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -25,6 +25,11 @@ public class QzTaskReply implements Serializable {
   private Long userId;
 
   /**
+   * 回复用户ID
+   */
+  private String nikeName;
+
+  /**
    * 回复内容
    */
   private String replyContent;
@@ -37,7 +42,8 @@ public class QzTaskReply implements Serializable {
   /**
    * 新增时间
    */
-  private DateTime timeCreate;
+  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+  private Date timeCreate;
 
   /**
    * 修改人
@@ -47,7 +53,8 @@ public class QzTaskReply implements Serializable {
   /**
    * 修改时间
    */
-  private DateTime timeUpdate;
+  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+  private Date timeUpdate;
 
   private String taskTitle;
   private Integer taskStatus;

+ 3 - 0
whepi-web/src/main/java/com/bofeng/service/QzTaskReplyService.java

@@ -40,4 +40,7 @@ public class QzTaskReplyService {
         return qzTaskReplyDao.queryQzTaskReplyByTaskId(taskId);
     }
 
+    public QzTaskReply selectId(Long taskId){
+        return qzTaskReplyDao.selectId(taskId);
+    }
 }

+ 18 - 7
whepi-web/src/main/java/com/bofeng/service/QzTaskService.java

@@ -6,12 +6,12 @@ import com.bofeng.dao.YeweihuiSysOwnerMapper;
 import com.bofeng.dao.YeweihuiUserRoleMapper;
 import com.bofeng.entity.QzTask;
 import lombok.var;
-import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -36,8 +36,12 @@ public class QzTaskService {
     return qzTaskDao.selectAll(uptownId);
   }
 
-  public List<QzTask> queryByHouseNumber(String houseNumber, Integer status) {
-    return qzTaskDao.queryByHouseNumber(houseNumber, status);
+  public List<QzTask> queryByHouseNumber(Long userId, String houseNumber, Integer status) {
+    Long propertyId = yeweihuiUserRoleMapper.queryPropertyIdByUserId(userId);
+
+    Long uptownId = yeweihuiSysOwnerMapper.queryUptownIdByUserId(propertyId);
+
+    return qzTaskDao.queryByHouseNumber(uptownId, houseNumber, status);
   }
 
   public QzTask queryByTaskId(Long taskId) {
@@ -63,19 +67,26 @@ public class QzTaskService {
     qzTak.setUptownId(qzTask1.getUptownId());
     qzTak.setHouseNumber(qzTask1.getHouseNumber());
     qzTak.setUserCreate(userId);
-    qzTak.setTimeCreate(new DateTime());
+    qzTak.setTimeCreate(new Date());
     qzTak.setUserUpdate(userId);
-    qzTak.setTimeUpdate(new DateTime());
+    qzTak.setTimeUpdate(new Date());
     return qzTaskDao.insert(qzTak);
   }
 
-  public List<QzTask> queryQzTaskByStatus(Integer taskStatus) {
-    return qzTaskDao.queryQzTaskByStatus(taskStatus);
+  public List<QzTask> queryQzTaskByStatus(Long userId, Integer taskStatus) {
+    Long propertyId = yeweihuiUserRoleMapper.queryPropertyIdByUserId(userId);
+
+    Long uptownId = yeweihuiSysOwnerMapper.queryUptownIdByUserId(propertyId);
+
+    return qzTaskDao.queryQzTaskByStatus(uptownId, taskStatus);
   }
 
   public List<QzTask> queryQzTask(Integer taskStatus, String taskTitle, Long userId) {
     return qzTaskDao.queryQzTask(taskStatus, taskTitle, userId);
   }
+  public List<QzTask> queryQzTaskxq(Long userId) {
+    return qzTaskDao.queryQzTaskxq(userId);
+  }
 
   @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
   public int taskQueryTaskId(Long taskId) {

+ 119 - 71
whepi-web/src/main/java/com/bofeng/wx/controller/HomeController.java

@@ -1,97 +1,145 @@
 package com.bofeng.wx.controller;
 
-import com.baomidou.mybatisplus.toolkit.IdWorker;
-import com.bofeng.Consts;
-import com.bofeng.JwtHelper;
-import com.bofeng.dao.UserOpenMapper;
+
 import com.bofeng.entity.*;
 import com.bofeng.service.*;
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.collect.Maps;
 import com.yvan.Model;
 import com.yvan.ModelOps;
-import com.yvan.mvc.JsonBody;
 import com.yvan.mvc.Pd;
 import com.yvan.platform.JsonWapper;
-import com.yvan.platform.YvanUtil;
-import lombok.val;
-import lombok.var;
-import me.chanjar.weixin.mp.bean.result.WxMpUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
-import javax.annotation.PreDestroy;
 import java.util.List;
-import java.util.Map;
+
+import com.yvan.platform.JsonWapper;
 
 @RestController
 public class HomeController {
 
-    @Autowired
-    private HomeService homeService;
-
-    @Autowired
-    private QzTaskService qzTaskService;
-
-    @Autowired
-    private QzTaskReplyService qzTaskReplyService;
-
-    @Autowired
-    private MsReportService msReportService;
-
-
-    @GetMapping("/home/home.html")
-    public ModelAndView home(ModelMap model) throws JsonProcessingException {
-        model.put("user", new JsonWapper("{\"www\": \"er\"}"));
-        //初始化今日日报
-        UserOpen userOpen = homeService.getUserOpen();
-        Long userId = userOpen.getUserId();
-       // Long userId = 1224706869998772226L;
-        MsReport msReport = msReportService.getReportByDateNow(userId);
-        model.put("msReport", new JsonWapper(msReport));
-        return new ModelAndView("/home/home.ftl", model);
+  @Autowired
+  private HomeService homeService;
+
+  @Autowired
+  private QzTaskService qzTaskService;
+
+  @Autowired
+  private QzTaskReplyService qzTaskReplyService;
+
+  @Autowired
+  private MsReportService msReportService;
+
+
+  @GetMapping("/home/home.html")
+  public ModelAndView home(ModelMap model) throws JsonProcessingException {
+    model.put("user", new JsonWapper("{\"www\": \"er\"}"));
+    //初始化今日日报
+    UserOpen userOpen = homeService.getUserOpen();
+    Long userId = userOpen.getUserId();
+    // Long userId = 1224706869998772226L;
+    MsReport msReport = msReportService.getReportByDateNow(userId);
+    model.put("msReport", new JsonWapper(msReport));
+    return new ModelAndView("/home/home.ftl", model);
+  }
+
+
+  //家庭求助
+  @GetMapping("/home/home/addFimaly")
+  public ModelOps family(@Pd(name = "taskTitle") String taskTitle,
+                         @Pd(name = "taskTarget") String taskTarget,
+                         @Pd(name = "remark") String remark,
+                         @Pd(name = "userId", required = false) Long userId) {
+    return ModelOps.newSuccess(qzTaskService.addHelp(taskTitle, taskTarget, remark, userId));
+  }
+
+  //我的在求助的展示
+  @GetMapping("/home/home/queryQzTask")
+  public Model<List<QzTask>> queryQzTask(@Pd(name = "taskStatus", required = false) Integer taskStatus,
+                                         @Pd(name = "taskTitle", required = false) String taskTitle,
+                                         @Pd(name = "userId", required = false) Long userId) {
+    return Model.newSuccess(qzTaskService.queryQzTask(taskStatus, taskTitle, userId));
+  }
+
+  //我的在求助的展示
+  @GetMapping("/home/home/queryQzTaskxq")
+  public Model<List<QzTask>> queryQzTaskxq(@Pd(name = "userId", required = false) Long userId) {
+    return Model.newSuccess(qzTaskService.queryQzTaskxq(userId));
+  }
+
+
+  //页面存储taskId
+  @GetMapping("/home/qiuzhu/reply.json")
+  public ModelOps taskQueryTaskId(@RequestParam(value = "taskId") Long taskId) {
+    int i = qzTaskService.taskQueryTaskId(taskId);
+    return ModelOps.newSuccess(i);
+  }
+
+
+  //小区求助的查看
+  @GetMapping("/home/home/taskQuery")
+  public Model<QzTask> taskQuery(@Pd(name = "taskId") Long taskId) {
+    return Model.newSuccess(qzTaskService.queryByTaskId(taskId));
+  }
+
+  @GetMapping("/home/home_new.html")
+  public ModelAndView hmoe_new(ModelMap model) {
+    model.put("user", new JsonWapper("{\"www\": \"er\"}"));
+    return new ModelAndView("/home/home_new.ftl", model);
+  }
+
+  @GetMapping("/quzhu/home/quxiao.html")
+  public ModelAndView quxiao(@Pd(name = "taskId") Long taskId, @Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException {
+    QzTask task = qzTaskService.queryByTaskId(taskId);
+
+  /*  //回复人的id
+    QzTaskReply qzTaskReply = qzTaskReplyService.selectId(taskId);
+    Long userId1 = null;
+    if (qzTaskReply != null) {
+      userId1 = qzTaskReply.getUserId();
+    }*/
+
+
+//        A业委会,B居委会,C物业,D志愿者
+    StringBuffer target = new StringBuffer();
+    if (task.getTaskTarget().equals("A")) {
+      target.append("管理员");
+    } else if (task.getTaskTarget().equals("B")) {
+      if (target.length() > 0) {
+        target.append("、管理员");
+      } else {
+        target.append("管理员");
+      }
+    } else if (task.getTaskTarget().equals("C")) {
+      if (target.length() > 0) {
+        target.append("、物业");
+      } else {
+        target.append("物业");
+      }
+    } else if (task.getTaskTarget().equals("D")) {
+      if (target.length() > 0) {
+        target.append("、志愿者");
+      } else {
+        target.append("志愿者");
+      }
     }
 
+    task.setTaskTarget(target.toString());
 
-    //家庭求助
-    @GetMapping("/home/home/addFimaly")
-    public ModelOps family(@Pd(name = "taskTitle") String taskTitle,
-                           @Pd(name = "taskTarget") String taskTarget,
-                           @Pd(name = "remark") String remark,
-                           @Pd(name = "userId", required = false) Long userId) {
-        return ModelOps.newSuccess(qzTaskService.addHelp(taskTitle, taskTarget, remark, userId));
-    }
+    model.put("taskJson", new JsonWapper(task));
+    model.put("task", task);
+    model.put("userId", "\"" + userId + "\"");
+    //model.put("YeuserId", "\"" + userId1 + "\"");
+    return new ModelAndView("/home/htlpXq.ftl", model);
+  }
 
-    //我的在求助的展示
-    @GetMapping("/home/home/queryQzTask")
-    public Model<List<QzTask>> queryQzTask(@Pd(name = "taskStatus", required = false) Integer taskStatus,
-                                           @Pd(name = "taskTitle", required = false) String taskTitle,
-                                           @Pd(name = "userId", required = false) Long userId) {
-        return Model.newSuccess(qzTaskService.queryQzTask(taskStatus, taskTitle, userId));
-    }
-
-
-    //页面存储taskId
-    @GetMapping("/home/qiuzhu/reply.json")
-    public ModelOps taskQueryTaskId(@RequestParam(value = "taskId") Long taskId) {
-        int i = qzTaskService.taskQueryTaskId(taskId);
-        return ModelOps.newSuccess(i);
-    }
-
-    //小区求助的查看
-    @GetMapping("/home/home/taskQuery")
-    public Model<List<QzTaskReply>> taskQuery(@Pd(name = "taskId") Long taskId) {
-        return Model.newSuccess(qzTaskReplyService.taskQuery(taskId));
-    }
-
-    @GetMapping("/home/home_new.html")
-    public ModelAndView hmoe_new(ModelMap model) {
-        model.put("user", new JsonWapper("{\"www\": \"er\"}"));
-        return new ModelAndView("/home/home_new.ftl", model);
-    }
+  @PostMapping("home/qiuzhu/getData")
+  public Model<List<QzTaskReply>> getData(@Pd(name = "taskId") Long taskId) {
+    return Model.newSuccess(qzTaskReplyService.taskQuery(taskId));
+  }
 }

+ 4 - 5
whepi-web/src/main/java/com/bofeng/wx/controller/UserOpenController.java

@@ -21,7 +21,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.View;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -66,10 +65,10 @@ public class UserOpenController {
                              @RequestParam(value = "userType", required = false, defaultValue = "0") Integer userType) throws JsonProcessingException {
         List<UserRole> list = new ArrayList<>();
         if (userId == 0) {
-            UserOpen userOpen = homeService.getUserOpen();
-            list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
-//            list = userRoleMapper.getUserRoleByUserId(1225321682867105793L);
-//            UserOpen userOpen = userOpenMapper.selectByUserId(1225321682867105793L);
+//            UserOpen userOpen = homeService.getUserOpen();
+//            list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
+            list = userRoleMapper.getUserRoleByUserId(1225321682867105793L);
+            UserOpen userOpen = userOpenMapper.selectByUserId(1225321682867105793L);
             userId = userOpen.getUserId();
             model.put("user", userOpen);
             model.put("user_id", "\"" + userOpen.getUserId() + "\"");

+ 12 - 12
whepi-web/src/main/java/com/bofeng/wx/controller/YeWeiHuiController.java

@@ -82,10 +82,10 @@ public class YeWeiHuiController {
   public ModelAndView qiuzhudetail(@Pd(name = "taskId") Long taskId, @Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException {
 
     QzTask task = qzTaskService.queryByTaskId(taskId);
-//        A业委会,B居委会,C物业,D志愿者
+//        A管理员,B居委会,C物业,D志愿者
     StringBuffer target = new StringBuffer();
     if (task.getTaskTarget().equals("A")) {
-      target.append("业委会");
+      target.append("管理员");
     } else if (task.getTaskTarget().equals("B")) {
       if (target.length() > 0) {
         target.append("、居委会");
@@ -115,13 +115,13 @@ public class YeWeiHuiController {
     return new ModelAndView("/yeweihui/qiuzhuDetail.ftl", model);
   }
 
-  @PostMapping("/yeweihui/qiuzhu/queryTasksByStatus.json")
-  public Model queryTasksByStatus(@Pd(name = "status") Integer status) {
-
-    List<QzTask> taskList = qzTaskService.queryQzTaskByStatus(status);
-
-    return Model.newSuccess(taskList);
-  }
+//  @PostMapping("/yeweihui/qiuzhu/queryTasksByStatus.json")
+//  public Model queryTasksByStatus(@Pd(name = "status") Integer status) {
+//
+//    List<QzTask> taskList = qzTaskService.queryQzTaskByStatus(status);
+//
+//    return Model.newSuccess(taskList);
+//  }
 
   @PostMapping("/yeweihui/qiuzhu/reply/add.json")
   public ModelOps replyQiuzhuInsert(QzTaskReply qzTaskReply) {
@@ -144,13 +144,13 @@ public class YeWeiHuiController {
   }
 
   @PostMapping("/yeweihui/qiuzhu/list.json")
-  public Model queryByHouseNumber(String houseNumber, @Pd(name = "status") Integer status) {
+  public Model queryByHouseNumber(@Pd(name = "userId") Long userId, String houseNumber, @Pd(name = "status") Integer status) {
 
     if (houseNumber.length() <= 0) {
-      return Model.newSuccess(qzTaskService.queryQzTaskByStatus(status));
+      return Model.newSuccess(qzTaskService.queryQzTaskByStatus(userId, status));
     }
 
-    List<QzTask> list = qzTaskService.queryByHouseNumber(houseNumber, status);
+    List<QzTask> list = qzTaskService.queryByHouseNumber(userId, houseNumber, status);
 
     return Model.newSuccess(list);
   }

+ 2 - 2
whepi-web/src/main/resources/application-guojing.yml

@@ -65,8 +65,8 @@ spring:
     #driverClassName: com.mysql.jdbc.Driver
     #url: jdbc:mysql://localhost:3306/bofeng_test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false
     driverClassName: net.sf.log4jdbc.DriverSpy
-    url: jdbc:log4jdbc:mysql://localhost:3306/whepi_test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false
-    username: root
+    url: jdbc:log4jdbc:mysql://39.99.148.1:3306/whepi_test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false
+    username: whepi_test
     password: 123456
 
   redis:

+ 33 - 2
whepi-web/src/main/resources/mapper/QzTaskDao.xml

@@ -11,6 +11,7 @@
         ) c
     LEFT JOIN sys_uptown_unit d
     ON c.unit_id=d.unit_id
+    order by c.time_create desc
   </select>
 
     <select id="queryByTaskId" resultType="com.bofeng.entity.QzTask">
@@ -18,7 +19,16 @@
   </select>
 
     <select id="queryByHouseNumber" resultType="com.bofeng.entity.QzTask">
-    select * from qz_task where task_status=#{status} and house_number like concat('%', #{houseNumber}, '%')
+    select c.*, d.ridgepole, d.unit FROM
+        (
+            select a.*, b.unit_id from qz_task a
+                                           LEFT JOIN sys_uptown_house b
+                                                     ON (a.house_id=b.house_id)
+            WHERE a.uptown_id=#{uptownId} and task_status=#{status} and house_number like concat('%', #{houseNumber}, '%')
+        ) c
+            LEFT JOIN sys_uptown_unit d
+                      ON c.unit_id=d.unit_id
+    order by c.time_create desc
   </select>
 
     <update id="updateStatusById">
@@ -26,7 +36,28 @@
   </update>
 
     <select id="queryQzTaskByStatus" resultType="com.bofeng.entity.QzTask">
-        select * from qz_task where task_status=#{taskStatus}
+        select c.*, d.ridgepole, d.unit FROM
+            (
+                select a.*, b.unit_id from qz_task a
+                                               LEFT JOIN sys_uptown_house b
+                                                         ON (a.house_id=b.house_id)
+                WHERE a.uptown_id=#{uptownId} and task_status=#{taskStatus}
+            ) c
+                LEFT JOIN sys_uptown_unit d
+                          ON c.unit_id=d.unit_id
+        order by c.time_create desc
+    </select>
+
+    <select id="queryQzTaskxq" resultType="com.bofeng.entity.QzTask">
+        select qz.* from qz_task qz
+        <where>
+            qz.uptown_id =(select c.uptown_id
+            FROM sys_user_role a
+            INNER JOIN sys_uptown_house b on a.property_id=b.house_id
+            INNER JOIN sys_uptown_unit c on c.unit_id=b.unit_id
+            where a.user_id=#{userId} limit 1)
+        </where>
+        order by qz.time_update desc
     </select>
 
     <select id="queryQzTask" resultType="com.bofeng.entity.QzTask">

+ 9 - 2
whepi-web/src/main/resources/mapper/QzTaskReplyDao.xml

@@ -5,7 +5,7 @@
 
     <select id="taskQuery" resultType="com.bofeng.entity.QzTaskReply">
      select a.task_title,a.remark,b.time_update,c.nick_name,b.reply_content,
-     a.task_id,a.task_status
+     a.task_id,a.task_status,b.user_id
      from qz_task a
      left JOIN qz_task_reply b on a.task_id=b.task_id
      left JOIN sys_user_open c on c.user_id=b.user_id
@@ -13,6 +13,13 @@
     </select>
 
     <select id="queryQzTaskReplyByTaskId" resultType="com.bofeng.entity.QzTaskReply">
-        select * from qz_task_reply where task_id=#{taskId}
+        select a.*, b.nick_name, b.user_id as b_user_id from qz_task_reply a
+        LEFT JOIN sys_user_open b
+        on a.user_id=b.user_id
+        where task_id=#{taskId}
+    </select>
+
+    <select id="selectId" resultType="com.bofeng.entity.QzTaskReply">
+        select * from qz_task_reply where task_id=#{taskId} order by time_update desc limit 1
     </select>
 </mapper>