From b6d954a524a16747ca6cedbfba56254acf718ce2 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 17 十月 2019 23:19:18 +0800
Subject: [PATCH] 优化 前台保存空问题

---
 WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java |  265 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 227 insertions(+), 38 deletions(-)

diff --git a/WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java
index 14bc31d..4df78a2 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/StaffServiceSMOImpl.java
@@ -1,8 +1,9 @@
 package com.java110.web.smo.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.common.constant.ServiceConstant;
-import com.java110.common.util.Assert;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import com.java110.core.context.IPageData;
 import com.java110.web.core.BaseComponentSMO;
 import com.java110.web.smo.IStaffServiceSMO;
@@ -25,39 +26,46 @@
 
     @Autowired
     private RestTemplate restTemplate;
+
     /**
      * 娣诲姞鍛樺伐淇℃伅
+     *
      * @param pd
      * @return
      */
     @Override
     public ResponseEntity<String> saveStaff(IPageData pd) {
-        logger.debug("淇濆瓨鍛樺伐淇℃伅鍏ュ弬锛歿}",pd.toString());
-        Assert.jsonObjectHaveKey(pd.getReqData(),"username","璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛鍚嶄俊鎭�");
-        Assert.jsonObjectHaveKey(pd.getReqData(),"email","璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈閭淇℃伅");
-        Assert.jsonObjectHaveKey(pd.getReqData(),"tel","璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎵嬫満淇℃伅");
-        Assert.jsonObjectHaveKey(pd.getReqData(),"sex","璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎬у埆淇℃伅");
-        Assert.jsonObjectHaveKey(pd.getReqData(),"address","璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍦板潃淇℃伅");
+        logger.debug("淇濆瓨鍛樺伐淇℃伅鍏ュ弬锛歿}", pd.toString());
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        Assert.hasKeyAndValue(reqJson, "username", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛鍚嶄俊鎭�");
+        Assert.hasKeyAndValue(reqJson, "email", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈閭淇℃伅");
+        Assert.hasKeyAndValue(reqJson, "tel", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎵嬫満淇℃伅");
+        Assert.hasKeyAndValue(reqJson, "sex", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎬у埆淇℃伅");
+        Assert.hasKeyAndValue(reqJson, "address", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍦板潃淇℃伅");
+        Assert.hasKeyAndValue(reqJson, "orgId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈閮ㄩ棬淇℃伅");
+        Assert.hasKeyAndValue(reqJson, "relCd", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍛樺伐瑙掕壊");
 
-        ResponseEntity responseEntity = super.getStoreInfo(pd,restTemplate);
 
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
+        ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
         }
-        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeIdQueryStaffServiceListener", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
 
         String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
-        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
-        reqJson.put("name",reqJson.getString("username"));
-        reqJson.put("storeId",storeId);
-        reqJson.put("storeTypeCd",storeTypeCd);
-        responseEntity = this.callCenterService(restTemplate,pd,reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL+"/api/user.staff.add", HttpMethod.POST);
+       // JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("name", reqJson.getString("username"));
+        reqJson.put("storeId", storeId);
+        reqJson.put("storeTypeCd", storeTypeCd);
+        responseEntity = this.callCenterService(restTemplate, pd, reqJson.toJSONString(), ServiceConstant.SERVICE_API_URL + "/api/user.staff.add", HttpMethod.POST);
         return responseEntity;
     }
 
     /**
      * 鍔犺浇鍛樺伐鏁版嵁
+     *
      * @param pd
      * @return
      */
@@ -65,42 +73,223 @@
     public ResponseEntity<String> loadData(IPageData pd) {
 
 
-        Assert.jsonObjectHaveKey(pd.getReqData(),"page","璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");
-        Assert.jsonObjectHaveKey(pd.getReqData(),"rows","璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "page", "璇锋眰鎶ユ枃涓湭鍖呭惈page鑺傜偣");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "rows", "璇锋眰鎶ユ枃涓湭鍖呭惈rows鑺傜偣");
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
-        Assert.isInteger(paramIn.getString("page"),"page涓嶆槸鏁板瓧");
-        Assert.isInteger(paramIn.getString("rows"),"rows涓嶆槸鏁板瓧");
+        Assert.isInteger(paramIn.getString("page"), "page涓嶆槸鏁板瓧");
+        Assert.isInteger(paramIn.getString("rows"), "rows涓嶆槸鏁板瓧");
         int page = Integer.parseInt(paramIn.getString("page"));
         int rows = Integer.parseInt(paramIn.getString("rows"));
-        if(rows>50){
-            return new ResponseEntity<String>("rows 鏁伴噺涓嶈兘澶т簬50",HttpStatus.BAD_REQUEST);
+        String staffName = paramIn.getString("staffName");
+
+        if (rows > 50) {
+            return new ResponseEntity<String>("rows 鏁伴噺涓嶈兘澶т簬50", HttpStatus.BAD_REQUEST);
         }
-        page = (page-1)*rows;
-        ResponseEntity responseEntity = super.getStoreInfo(pd,restTemplate);
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
+       // page = (page - 1) * rows;
+        ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
         }
-        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(),"storeId","鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
 
         String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
-        responseEntity = this.callCenterService(restTemplate,pd,"",
-                ServiceConstant.SERVICE_API_URL+"/api/query.store.users?row="+rows+"&page="+page+"&storeId="+storeId, HttpMethod.GET);
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
+        //paramIn.put("page", page);
+        paramIn.put("storeId", storeId);
+        //if (StringUtil.isEmpty(staffName)) {
+            responseEntity = this.callCenterService(restTemplate, pd, "",
+                    ServiceConstant.SERVICE_API_URL + "/api/query.staff.infos" + super.mapToUrlParam(paramIn), HttpMethod.GET);
+       /* } else {
+            responseEntity = this.callCenterService(restTemplate, pd, "",
+                    ServiceConstant.SERVICE_API_URL + "/api/query.staff.byName?rows=" + rows + "&page=" + page + "&storeId=" + storeId + "&name=" + staffName, HttpMethod.GET);
+        }*/
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return responseEntity;
         }
 
-        String result = "{'total':1,'page':1,'row':10,'datas':[" +
-                "{'userId':'111','name':'123','email':'928255095@qq.com','address':'寮犲畨1','sex':'鐢�','tel':'17797173944','statusCd':'0','createTime':'2019-03-19'}," +
-                "{'userId':'111','name':'123','email':'928255095@qq.com','address':'寮犲畨2','sex':'鐢�','tel':'17797173945','statusCd':'0','createTime':'2019-03-19'}," +
-                "{'userId':'111','name':'123','email':'928255095@qq.com','address':'寮犲畨3','sex':'鐢�','tel':'17797173946','statusCd':'0','createTime':'2019-03-19'}" +
-                "]}";
-
-        JSONObject resultObjs = JSONObject.parseObject(result);
-        resultObjs.put("row",rows);
-        resultObjs.put("page",page);
+        JSONObject resultObjs = JSONObject.parseObject(responseEntity.getBody().toString());
+        resultObjs.put("row", rows);
+        resultObjs.put("page", page);
         return responseEntity;
     }
 
+    /**
+     * 淇敼鍛樺伐淇℃伅
+     *
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> modifyStaff(IPageData pd) {
+
+        ResponseEntity<String> responseEntity = null;
+        //鏍¢獙 鍓嶅彴鏁版嵁
+        modifyStaffValidate(pd);
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        paramIn.put("name", paramIn.getString("username"));
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/user.staff.modify", HttpMethod.POST);
+        return responseEntity;
+    }
+
+    /**
+     * 鍒犻櫎宸ュ彿
+     *
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> delete(IPageData pd) {
+        ResponseEntity<String> responseEntity = null;
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "storeId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍟嗘埛ID淇℃伅");
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        JSONObject newParam = new JSONObject();
+        newParam.put("userId", paramIn.getString("userId"));
+        newParam.put("storeId", paramIn.getString("storeId"));
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, newParam.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/user.staff.delete", HttpMethod.POST);
+        return responseEntity;
+    }
+
+    /**
+     * 鏌ヨ 鍛樺伐娌℃湁缁戝畾鐨勬潈闄愮粍
+     *
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> listNoAddPrivilegeGroup(IPageData pd) {
+
+        ResponseEntity<String> responseEntity = null;
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+        responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/query.privilegeGroup.noAddPrivilegeGroup?userId="
+                        + _paramObj.getString("userId") + "&storeId=" + storeId + "&storeTypeCd=" + storeTypeCd,
+                HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+
+        JSONObject outDataObj = JSONObject.parseObject(responseEntity.getBody());
+        return new ResponseEntity<String>(outDataObj.getJSONArray("privilgeGroups").toJSONString(), HttpStatus.OK);
+    }
+
+    /**
+     * 鏌ヨ 鍛樺伐娌℃湁缁戝畾鐨勬潈闄�
+     *
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> listNoAddPrivilege(IPageData pd) {
+        ResponseEntity<String> responseEntity = null;
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+        responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/query.privilege.noAddPrivilege?userId="
+                        + _paramObj.getString("userId") + "&storeId=" + storeId + "&storeTypeCd=" + storeTypeCd,
+                HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+
+        JSONObject outDataObj = JSONObject.parseObject(responseEntity.getBody());
+        return new ResponseEntity<String>(outDataObj.getJSONArray("privilges").toJSONString(), HttpStatus.OK);
+    }
+
+    /**
+     * 娣诲姞鏉冮檺 鎴栨潈闄愮粍
+     *
+     * @param pd
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> addStaffPrivilegeOrPrivilegeGroup(IPageData pd) {
+        ResponseEntity<String> responseEntity = null;
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "pId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鏉冮檺ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "pFlag", "璇锋眰鎶ユ枃鏍煎紡閿欒");
+        JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+        responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        _paramObj.put("storeId", storeId);
+        _paramObj.put("storeTypeCd", storeTypeCd);
+
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, _paramObj.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/add.privilege.userPrivilege",
+                HttpMethod.POST);
+
+        return responseEntity;
+    }
+
+    @Override
+    public ResponseEntity<String> deleteStaffPrivilege(IPageData pd) {
+        ResponseEntity<String> responseEntity = null;
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "pId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鏉冮檺ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "pFlag", "璇锋眰鎶ユ枃鏍煎紡閿欒");
+        JSONObject _paramObj = JSONObject.parseObject(pd.getReqData());
+        responseEntity = super.getStoreInfo(pd, restTemplate);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return responseEntity;
+        }
+        Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛ID澶辫触锛屾湭鍖呭惈storeId鑺傜偣");
+
+        String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
+        String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
+        _paramObj.put("storeId", storeId);
+        _paramObj.put("storeTypeCd", storeTypeCd);
+
+        //淇敼鐢ㄦ埛淇℃伅
+        responseEntity = this.callCenterService(restTemplate, pd, _paramObj.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/delete.privilege.userPrivilege",
+                HttpMethod.POST);
+
+        return responseEntity;
+    }
+
+    /**
+     * 淇敼鍛樺伐 鏁版嵁鏍¢獙
+     *
+     * @param pd
+     */
+    private void modifyStaffValidate(IPageData pd) {
+        Assert.jsonObjectHaveKey(pd.getReqData(), "userId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛ID淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "username", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鐢ㄦ埛鍚嶄俊鎭�");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "email", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈閭淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "tel", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎵嬫満淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "sex", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎬у埆淇℃伅");
+        Assert.jsonObjectHaveKey(pd.getReqData(), "address", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍦板潃淇℃伅");
+    }
+
 
     public RestTemplate getRestTemplate() {
         return restTemplate;

--
Gitblit v1.8.0