Quellcode durchsuchen

优化编辑功能

wuxw vor 6 Jahren
Ursprung
Commit
d129d37995

+ 27 - 2
Api/src/main/java/com/java110/api/listener/complaint/UpdateComplaintListener.java

@@ -3,6 +3,8 @@ package com.java110.api.listener.complaint;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeConstant;
@@ -12,26 +14,33 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeComplaintConstant;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 
+import java.util.List;
+
 /**
  * 保存投诉建议侦听
  * add by wuxw 2019-06-30
  */
 @Java110Listener("updateComplaintListener")
 public class UpdateComplaintListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
 
         Assert.hasKeyAndValue(reqJson, "complaintId", "投诉ID不能为空");
         Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID");
         Assert.hasKeyAndValue(reqJson, "typeCd", "必填,请选择投诉类型");
-        Assert.hasKeyAndValue(reqJson, "roomId", "必填,请选择房屋编号");
+        //Assert.hasKeyAndValue(reqJson, "roomId", "必填,请选择房屋编号");
         Assert.hasKeyAndValue(reqJson, "complaintName", "必填,请填写投诉人");
         Assert.hasKeyAndValue(reqJson, "tel", "必填,请填写投诉电话");
-        Assert.hasKeyAndValue(reqJson, "state", "必填,请填写投诉状态");
+        //Assert.hasKeyAndValue(reqJson, "state", "必填,请填写投诉状态");
         Assert.hasKeyAndValue(reqJson, "context", "必填,请填写投诉内容");
 
     }
@@ -83,6 +92,13 @@ public class UpdateComplaintListener extends AbstractServiceApiListener {
      */
     private JSONObject updateComplaint(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
+        ComplaintDto complaintDto = new ComplaintDto();
+        complaintDto.setStoreId(paramInJson.getString("storeId"));
+        complaintDto.setComplaintId(paramInJson.getString("complaintId"));
+        List<ComplaintDto> complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto);
+
+        Assert.listOnlyOne(complaintDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId());
+
 
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
         business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_COMPLAINT);
@@ -90,9 +106,18 @@ public class UpdateComplaintListener extends AbstractServiceApiListener {
         business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessComplaint = new JSONObject();
         businessComplaint.putAll(paramInJson);
+        businessComplaint.put("state", complaintDtos.get(0).getState());
+        businessComplaint.put("roomId", complaintDtos.get(0).getRoomId());
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessComplaint", businessComplaint);
         return business;
     }
 
+    public IComplaintInnerServiceSMO getComplaintInnerServiceSMOImpl() {
+        return complaintInnerServiceSMOImpl;
+    }
+
+    public void setComplaintInnerServiceSMOImpl(IComplaintInnerServiceSMO complaintInnerServiceSMOImpl) {
+        this.complaintInnerServiceSMOImpl = complaintInnerServiceSMOImpl;
+    }
 }

+ 6 - 5
WebService/src/main/java/com/java110/web/smo/complaint/impl/EditComplaintSMOImpl.java

@@ -3,6 +3,7 @@ package com.java110.web.smo.complaint.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.util.Assert;
@@ -29,12 +30,12 @@ public class EditComplaintSMOImpl extends AbstractComponentSMO implements IEditC
         //super.validatePageInfo(pd);
 
         Assert.hasKeyAndValue(paramIn, "complaintId", "投诉ID不能为空");
-        Assert.hasKeyAndValue(paramIn, "storeId", "必填,请填写商户ID");
+        //Assert.hasKeyAndValue(paramIn, "storeId", "必填,请填写商户ID");
         Assert.hasKeyAndValue(paramIn, "typeCd", "必填,请选择投诉类型");
-        Assert.hasKeyAndValue(paramIn, "roomId", "必填,请选择房屋编号");
+        //Assert.hasKeyAndValue(paramIn, "roomId", "必填,请选择房屋编号");
         Assert.hasKeyAndValue(paramIn, "complaintName", "必填,请填写投诉人");
         Assert.hasKeyAndValue(paramIn, "tel", "必填,请填写投诉电话");
-        Assert.hasKeyAndValue(paramIn, "state", "必填,请填写投诉状态");
+        //Assert.hasKeyAndValue(paramIn, "state", "必填,请填写投诉状态");
         Assert.hasKeyAndValue(paramIn, "context", "必填,请填写投诉内容");
 
 
@@ -45,8 +46,8 @@ public class EditComplaintSMOImpl extends AbstractComponentSMO implements IEditC
     @Override
     protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
         ResponseEntity<String> responseEntity = null;
-        super.validateStoreStaffCommunityRelationship(pd, restTemplate);
-
+        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+        paramIn.put("storeId", result.getStoreId());
         responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
                 ServiceConstant.SERVICE_API_URL + "/api/complaint.updateComplaint",
                 HttpMethod.POST);

+ 3 - 21
WebService/src/main/resources/components/complaintPackage/edit-complaint/editComplaint.html

@@ -7,13 +7,7 @@
                 <div class="ibox-content">
                     <div>
                         <div>
-                            <div class="form-group row">
-                                <label class="col-sm-2 col-form-label">商户ID</label>
-                                <div class="col-sm-10">
-                                    <input v-model="editComplaintInfo.storeId" type="text" placeholder="必填,请填写商户ID"
-                                           class="form-control">
-                                </div>
-                            </div>
+
                             <div class="form-group row">
                                 <label class="col-sm-2 col-form-label">投诉类型</label>
                                 <div class="col-sm-10">
@@ -23,13 +17,7 @@
                                         <option value="809002">建议</option>
                                     </select></div>
                             </div>
-                            <div class="form-group row">
-                                <label class="col-sm-2 col-form-label">房屋编号</label>
-                                <div class="col-sm-10">
-                                    <input v-model="editComplaintInfo.roomId" type="text" placeholder="必填,请填写房屋编号"
-                                           class="form-control">
-                                </div>
-                            </div>
+
                             <div class="form-group row">
                                 <label class="col-sm-2 col-form-label">投诉人</label>
                                 <div class="col-sm-10">
@@ -44,13 +32,7 @@
                                            class="form-control">
                                 </div>
                             </div>
-                            <div class="form-group row">
-                                <label class="col-sm-2 col-form-label">投诉状态</label>
-                                <div class="col-sm-10">
-                                    <input v-model="editComplaintInfo.state" type="text" placeholder="必填,请填写投诉状态"
-                                           class="form-control">
-                                </div>
-                            </div>
+
                             <div class="form-group row">
                                 <label class="col-sm-2 col-form-label">投诉内容</label>
                                 <div class="col-sm-10">

+ 83 - 123
WebService/src/main/resources/components/complaintPackage/edit-complaint/editComplaint.js

@@ -1,132 +1,95 @@
-(function(vc,vm){
+(function (vc, vm) {
 
     vc.extends({
-        data:{
-            editComplaintInfo:{
-                complaintId:'',
-storeId:'',
-typeCd:'',
-roomId:'',
-complaintName:'',
-tel:'',
-state:'',
-context:'',
+        data: {
+            editComplaintInfo: {
+                complaintId: '',
+                typeCd: '',
+                complaintName: '',
+                tel: '',
+                context: '',
 
             }
         },
-         _initMethod:function(){
+        _initMethod: function () {
 
-         },
-         _initEvent:function(){
-             vc.on('editComplaint','openEditComplaintModal',function(_params){
+        },
+        _initEvent: function () {
+            vc.on('editComplaint', 'openEditComplaintModal', function (_params) {
                 vc.component.refreshEditComplaintInfo();
                 $('#editComplaintModel').modal('show');
-                vc.copyObject(_params, vc.component.editComplaintInfo );
+                vc.copyObject(_params, vc.component.editComplaintInfo);
                 vc.component.editComplaintInfo.communityId = vc.getCurrentCommunity().communityId;
             });
         },
-        methods:{
-            editComplaintValidate:function(){
-                        return vc.validate.validate({
-                            editComplaintInfo:vc.component.editComplaintInfo
-                        },{
-                            'editComplaintInfo.storeId':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"商户ID不能为空"
-                        },
- {
-                            limit:"num",
-                            param:"",
-                            errInfo:"商户ID必须为数字"
-                        },
-                    ],
-'editComplaintInfo.typeCd':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉类型不能为空"
-                        },
- {
-                            limit:"num",
-                            param:"",
-                            errInfo:"投诉类型格式错误"
-                        },
-                    ],
-'editComplaintInfo.roomId':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"房屋编号不能为空"
-                        },
- {
-                            limit:"num",
-                            param:"",
-                            errInfo:"房屋编号格式错误"
-                        },
-                    ],
-'editComplaintInfo.complaintName':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉人不能为空"
+        methods: {
+            editComplaintValidate: function () {
+                return vc.validate.validate({
+                    editComplaintInfo: vc.component.editComplaintInfo
+                }, {
+
+                    'editComplaintInfo.typeCd': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "投诉类型不能为空"
                         },
- {
-                            limit:"maxLength",
-                            param:"200",
-                            errInfo:"投诉人不能大于200位"
+                        {
+                            limit: "num",
+                            param: "",
+                            errInfo: "投诉类型格式错误"
                         },
                     ],
-'editComplaintInfo.tel':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉电话不能为空"
+
+                    'editComplaintInfo.complaintName': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "投诉人不能为空"
                         },
- {
-                            limit:"phone",
-                            param:"",
-                            errInfo:"投诉电话格式错误"
+                        {
+                            limit: "maxLength",
+                            param: "200",
+                            errInfo: "投诉人不能大于200位"
                         },
                     ],
-'editComplaintInfo.state':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉状态不能为空"
+                    'editComplaintInfo.tel': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "投诉电话不能为空"
                         },
- {
-                            limit:"num",
-                            param:"",
-                            errInfo:"投诉状态格式错误"
+                        {
+                            limit: "phone",
+                            param: "",
+                            errInfo: "投诉电话格式错误"
                         },
                     ],
-'editComplaintInfo.context':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉内容不能为空"
+                    'editComplaintInfo.context': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "投诉内容不能为空"
                         },
- {
-                            limit:"maxLength",
-                            param:"4000",
-                            errInfo:"投诉状态超过4000位"
+                        {
+                            limit: "maxLength",
+                            param: "4000",
+                            errInfo: "投诉状态超过4000位"
                         },
                     ],
-'editComplaintInfo.complaintId':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"投诉ID不能为空"
+                    'editComplaintInfo.complaintId': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "投诉ID不能为空"
                         }]
 
-                        });
-             },
-            editComplaint:function(){
-                if(!vc.component.editComplaintValidate()){
+                });
+            },
+            editComplaint: function () {
+                if (!vc.component.editComplaintValidate()) {
                     vc.message(vc.validate.errInfo);
-                    return ;
+                    return;
                 }
 
                 vc.http.post(
@@ -134,38 +97,35 @@ context:'',
                     'update',
                     JSON.stringify(vc.component.editComplaintInfo),
                     {
-                        emulateJSON:true
-                     },
-                     function(json,res){
+                        emulateJSON: true
+                    },
+                    function (json, res) {
                         //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
-                        if(res.status == 200){
+                        if (res.status == 200) {
                             //关闭model
                             $('#editComplaintModel').modal('hide');
-                             vc.emit('complaintManage','listComplaint',{});
-                            return ;
+                            vc.emit('complaintManage', 'listComplaint', {});
+                            return;
                         }
                         vc.message(json);
-                     },
-                     function(errInfo,error){
+                    },
+                    function (errInfo, error) {
                         console.log('请求失败处理');
 
                         vc.message(errInfo);
-                     });
+                    });
             },
-            refreshEditComplaintInfo:function(){
-                vc.component.editComplaintInfo= {
-                  complaintId:'',
-storeId:'',
-typeCd:'',
-roomId:'',
-complaintName:'',
-tel:'',
-state:'',
-context:'',
+            refreshEditComplaintInfo: function () {
+                vc.component.editComplaintInfo = {
+                    complaintId: '',
+                    typeCd: '',
+                    complaintName: '',
+                    tel: '',
+                    context: '',
 
                 }
             }
         }
     });
 
-})(window.vc,window.vc.component);
+})(window.vc, window.vc.component);