Ver código fonte

加入 投诉处理页面

wuxw 7 anos atrás
pai
commit
56a98b6988

+ 102 - 0
Api/src/main/java/com/java110/api/listener/auditOrder/ListAuditComplaintsListener.java

@@ -0,0 +1,102 @@
+package com.java110.api.listener.auditOrder;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
+import com.java110.core.smo.complaint.IComplaintUserInnerServiceSMO;
+import com.java110.entity.audit.AuditUser;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeAuditUserConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.complaint.ApiComplaintDataVo;
+import com.java110.vo.api.complaint.ApiComplaintVo;
+import com.java110.vo.api.resourceOrder.ApiResourceOrderDataVo;
+import com.java110.vo.api.resourceOrder.ApiResourceOrderVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 查询审核订单侦听类
+ */
+@Java110Listener("listAuditComplaintsListener")
+public class ListAuditComplaintsListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeAuditUserConstant.LIST_AUDIT_COMPLAINTS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+    public IComplaintUserInnerServiceSMO getComplaintUserInnerServiceSMOImpl() {
+        return complaintUserInnerServiceSMOImpl;
+    }
+
+    public void setComplaintUserInnerServiceSMOImpl(IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl) {
+        this.complaintUserInnerServiceSMOImpl = complaintUserInnerServiceSMOImpl;
+    }
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID");
+        Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户ID");
+        Assert.hasKeyAndValue(reqJson, "row", "必填,请填写每页显示数");
+        Assert.hasKeyAndValue(reqJson, "page", "必填,请填写页数");
+
+        super.validatePageInfo(reqJson);
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        AuditUser auditUser = new AuditUser();
+        auditUser.setUserId(reqJson.getString("userId"));
+        auditUser.setPage(reqJson.getInteger("page"));
+        auditUser.setRow(reqJson.getInteger("row"));
+
+        long count = complaintUserInnerServiceSMOImpl.getUserTaskCount(auditUser);
+
+        List<ApiComplaintDataVo> auditComplaints = null;
+
+        if (count > 0) {
+            auditComplaints = BeanConvertUtil.covertBeanList(complaintUserInnerServiceSMOImpl.getUserTasks(auditUser), ApiComplaintDataVo.class);
+        } else {
+            auditComplaints = new ArrayList<>();
+        }
+
+        ApiComplaintVo apiComplaintVo = new ApiComplaintVo();
+
+        apiComplaintVo.setTotal((int) count);
+        apiComplaintVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+        apiComplaintVo.setComplaints(auditComplaints);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiComplaintVo), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+
+    }
+}

+ 2 - 2
CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java

@@ -63,7 +63,7 @@ public class ComplaintUserInnerServiceSMOImpl extends BaseServiceSMO implements
      */
     public long getUserTaskCount(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery();
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("complaint");
         query.taskAssignee(user.getUserId());
         return query.count();
     }
@@ -75,7 +75,7 @@ public class ComplaintUserInnerServiceSMOImpl extends BaseServiceSMO implements
      */
     public List<ComplaintDto> getUserTasks(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery();
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("complaint");;
         query.taskAssignee(user.getUserId());
         query.orderByTaskCreateTime().desc();
         List<Task> list = null;

+ 2 - 2
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java

@@ -65,7 +65,7 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
      */
     public long getUserTaskCount(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery();
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
         query.taskAssignee(user.getUserId());
         return query.count();
     }
@@ -77,7 +77,7 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
      */
     public List<ResourceOrderDto> getUserTasks(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery();
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
         query.taskAssignee(user.getUserId());
         query.orderByTaskCreateTime().desc();
         List<Task> list = null;

+ 42 - 0
WebService/src/main/java/com/java110/web/components/auditUser/MyAuditComplaintsComponent.java

@@ -0,0 +1,42 @@
+package com.java110.web.components.auditUser;
+
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.auditUser.IListAuditComplaintsSMO;
+import com.java110.web.smo.auditUser.IListAuditOrdersSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 我的审核单查询
+ * <p>
+ * add by wuxw
+ * <p>
+ * 2019-06-29
+ */
+@Component("myAuditComplaints")
+public class MyAuditComplaintsComponent {
+
+    @Autowired
+    private IListAuditComplaintsSMO listAuditComplaintsSMOImpl;
+
+    /**
+     * 查询审核人员列表
+     *
+     * @param pd 页面数据封装
+     * @return 返回 ResponseEntity 对象
+     */
+    public ResponseEntity<String> list(IPageData pd) {
+        return listAuditComplaintsSMOImpl.listAuditComplaints(pd);
+    }
+
+    public IListAuditComplaintsSMO getListAuditComplaintsSMOImpl() {
+        return listAuditComplaintsSMOImpl;
+    }
+
+    public void setListAuditComplaintsSMOImpl(IListAuditComplaintsSMO listAuditComplaintsSMOImpl) {
+        this.listAuditComplaintsSMOImpl = listAuditComplaintsSMOImpl;
+    }
+}

+ 17 - 0
WebService/src/main/java/com/java110/web/smo/auditUser/IListAuditComplaintsSMO.java

@@ -0,0 +1,17 @@
+package com.java110.web.smo.auditUser;
+
+import com.java110.core.context.IPageData;
+import org.springframework.http.ResponseEntity;
+
+/**
+ * 查询审核单
+ */
+public interface IListAuditComplaintsSMO {
+
+    /**
+     * 查询审核订单
+     * @param pd
+     * @return
+     */
+    public ResponseEntity<String> listAuditComplaints(IPageData pd);
+}

+ 63 - 0
WebService/src/main/java/com/java110/web/smo/auditUser/impl/ListAuditComplaintsSMOImpl.java

@@ -0,0 +1,63 @@
+package com.java110.web.smo.auditUser.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.component.AbstractComponentSMO;
+import com.java110.core.context.IPageData;
+import com.java110.entity.component.ComponentValidateResult;
+import com.java110.utils.constant.PrivilegeCodeConstant;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.exception.SMOException;
+import com.java110.web.smo.auditUser.IListAuditComplaintsSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * 查询auditUser服务类
+ */
+@Service("listAuditComplaintsSMOImpl")
+public class ListAuditComplaintsSMOImpl extends AbstractComponentSMO implements IListAuditComplaintsSMO {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    public ResponseEntity<String> listAuditComplaints(IPageData pd) throws SMOException {
+        return businessProcess(pd);
+    }
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        super.validatePageInfo(pd);
+
+        super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_AUDITORDER);
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+
+        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+        paramIn.put("storeId", result.getStoreId());
+        paramIn.put("userId", result.getUserId());
+
+        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/auditUser.listAuditComplaints" + mapToUrlParam(paramIn);
+
+
+        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "",
+                apiUrl,
+                HttpMethod.GET);
+
+        return responseEntity;
+    }
+
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
+}

+ 61 - 0
WebService/src/main/resources/components/auditPackage/myAuditComplaint/myAuditComplaints.html

@@ -0,0 +1,61 @@
+<div class="wrapper wrapper-content animated fadeInRight ecommerce">
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="ibox">
+                <div class="ibox-title">
+                    <h5>投诉单信息</h5>
+                    <div class="ibox-tools" style="top:10px;">
+
+                    </div>
+                </div>
+                <div class="ibox-content">
+
+                    <table class="footable table table-stripped toggle-arrow-tiny"
+                           data-page-size="15"
+                    >
+                        <thead>
+                        <tr>
+                            <th class="text-center">投诉ID</th>
+                            <th class="text-center">投诉类型</th>
+                            <th class="text-center">房屋</th>
+                            <th class="text-center">投诉人</th>
+                            <th class="text-center">投诉电话</th>
+                            <th class="text-center">投诉状态</th>
+                            <th class="text-center">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <tr v-for="complaint in myAuditComplaintsInfo.complaints">
+                            <td class="text-center">{{complaint.complaintId}}</td>
+                            <td class="text-center">{{complaint.typeCdName}}</td>
+                            <td class="text-center">
+                                {{complaint.floorNum}}号楼{{complaint.unitNum}}单元{{complaint.roomNum}}室
+                            </td>
+                            <td class="text-center">{{complaint.complaintName}}</td>
+                            <td class="text-center">{{complaint.tel}}</td>
+                            <td class="text-center">{{complaint.stateName}}</td>
+                            <td class="text-center">
+                                <div class="btn-group">
+                                    <button class="btn-white btn btn-xs"
+                                            v-on:click="_openAuditComplaintModel(complaint)">审批
+                                    </button>
+                                </div>
+                            </td>
+
+                        </tr>
+                        </tbody>
+                        <tfoot>
+                        <tr>
+                            <td colspan="7">
+                                <ul class="pagination float-right"></ul>
+                            </td>
+                        </tr>
+                        </tfoot>
+                    </table>
+                    <!-- 分页 -->
+                    <vc:create name="pagination"></vc:create>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 75 - 0
WebService/src/main/resources/components/auditPackage/myAuditComplaint/myAuditComplaints.js

@@ -0,0 +1,75 @@
+/**
+ 入驻小区
+ **/
+(function (vc) {
+    var DEFAULT_PAGE = 1;
+    var DEFAULT_ROWS = 10;
+    vc.extends({
+        data: {
+            myAuditComplaintsInfo: {
+                complaints: [],
+                total: 0,
+                records: 1,
+                moreCondition: false,
+                userName: '',
+                conditions: {
+                    AuditOrdersId: '',
+                    userName: '',
+                    auditLink: '',
+
+                }
+            }
+        },
+        _initMethod: function () {
+            vc.component._listAuditOrders(DEFAULT_PAGE, DEFAULT_ROWS);
+        },
+        _initEvent: function () {
+            vc.on('pagination', 'page_event', function (_currentPage) {
+                vc.component._listAuditOrders(_currentPage, DEFAULT_ROWS);
+            });
+        },
+        methods: {
+            _listAuditOrders: function (_page, _rows) {
+
+                vc.component.myAuditComplaintsInfo.conditions.page = _page;
+                vc.component.myAuditComplaintsInfo.conditions.row = _rows;
+                var param = {
+                    params: vc.component.myAuditComplaintsInfo.conditions
+                };
+
+                //发送get请求
+                vc.http.get('myAuditComplaints',
+                    'list',
+                    param,
+                    function (json, res) {
+                        var _myAuditComplaintsInfo = JSON.parse(json);
+                        vc.component.myAuditComplaintsInfo.total = _myAuditComplaintsInfo.total;
+                        vc.component.myAuditComplaintsInfo.records = _myAuditComplaintsInfo.records;
+                        vc.component.myAuditComplaintsInfo.complaints = _myAuditComplaintsInfo.complaints;
+                        vc.emit('pagination', 'init', {
+                            total: vc.component.myAuditComplaintsInfo.records,
+                            currentPage: _page
+                        });
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
+            },
+            _openAuditComplaintModel: function () {
+                //vc.jumpToPage("/flow/addAuditOrderstepFlow")
+            },
+            _queryAuditOrdersMethod: function () {
+                vc.component._listAuditOrders(DEFAULT_PAGE, DEFAULT_ROWS);
+            },
+            _moreCondition: function () {
+                if (vc.component.AuditOrdersManageInfo.moreCondition) {
+                    vc.component.AuditOrdersManageInfo.moreCondition = false;
+                } else {
+                    vc.component.AuditOrdersManageInfo.moreCondition = true;
+                }
+            }
+
+
+        }
+    });
+})(window.vc);

+ 36 - 0
WebService/src/main/resources/views/myAuditComplaintsFlow.html

@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html lang="en"
+      xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:th="http://www.thymeleaf.org"
+      xmlns:vc="http://www.thymeleaf.org">
+<head>
+    <meta charset="UTF-8"/>
+    <title>审核投诉单|java110</title>
+    <vc:create name="commonTop"></vc:create>
+</head>
+<body>
+<vc:create name="bodyTop"></vc:create>
+<div id="wrapper">
+    <vc:create name="menu"></vc:create>
+
+
+    <div id="page-wrapper" class="gray-bg dashbard-1">
+        <div class="row border-bottom">
+            <vc:create name="nav"></vc:create>
+        </div>
+        <div class="wrapper wrapper-content" style="padding-bottom: 0px;">
+            <vc:create name="breadcrumb"></vc:create>
+        </div>
+        <!-- id="component" -->
+        <div id="component" class="wrapper wrapper-content animated fadeInRight">
+            <vc:create name="myAuditComplaints"></vc:create>
+        </div>
+
+        <vc:create name="copyright"></vc:create>
+
+    </div>
+</div>
+
+<vc:create name="commonBottom"></vc:create>
+</body>
+</html>

+ 40 - 0
java110-bean/src/main/java/com/java110/vo/api/complaint/ApiComplaintDataVo.java

@@ -5,6 +5,10 @@ import java.util.Date;
 
 public class ApiComplaintDataVo implements Serializable {
 
+    //工作流实例ID
+    private String processInstanceId;
+
+    private String taskId;
     private String complaintId;
     private String storeId;
     private String typeCd;
@@ -19,6 +23,10 @@ public class ApiComplaintDataVo implements Serializable {
     private String unitNum;
     private String floorNum;
     private String communityId;
+    //
+    private String auditCode;
+
+    private String auditMessage;
 
 
     public String getComplaintId() {
@@ -132,4 +140,36 @@ public class ApiComplaintDataVo implements Serializable {
     public void setTypeCdName(String typeCdName) {
         this.typeCdName = typeCdName;
     }
+
+    public String getProcessInstanceId() {
+        return processInstanceId;
+    }
+
+    public void setProcessInstanceId(String processInstanceId) {
+        this.processInstanceId = processInstanceId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getAuditCode() {
+        return auditCode;
+    }
+
+    public void setAuditCode(String auditCode) {
+        this.auditCode = auditCode;
+    }
+
+    public String getAuditMessage() {
+        return auditMessage;
+    }
+
+    public void setAuditMessage(String auditMessage) {
+        this.auditMessage = auditMessage;
+    }
 }

+ 5 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeAuditUserConstant.java

@@ -33,5 +33,10 @@ public class ServiceCodeAuditUserConstant {
      */
     public static final String LIST_AUDITORDERS = "auditUser.listAuditOrders";
 
+    /**
+     * 查询 审核投诉
+     */
+    public static final String LIST_AUDIT_COMPLAINTS = "auditUser.listAuditComplaints";
+
 
 }