diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java
index 52b8fce60b..07d8b24339 100644
--- a/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java
+++ b/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java
@@ -71,6 +71,9 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService {
         String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.THIRD_PAUSER_SAVEUSER, JSON.toJSONString(dto)).getData();
         JSONObject toResult = JSON.parseObject(data);
         Result result = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            result.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!result.success()) {
             throw new RenException(PublicUserLoginConstant.SAVE_USER_EXCEPTION);
         }
@@ -165,6 +168,9 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService {
         String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER, JSON.toJSONString(dto)).getData();
         JSONObject toResult = JSON.parseObject(data);
         Result result = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            result.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!result.success()) {
             logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getPhone(), result.getCode(), result.getMsg()));
             throw new RenException(result.getCode());
@@ -211,6 +217,9 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService {
         String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER, JSON.toJSONString(dto)).getData();
         JSONObject toResult = JSON.parseObject(data);
         Result result = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            result.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!result.success()) {
             logger.error(String.format("手机验证码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getPhone(), result.getCode(), result.getMsg()));
             throw new RenException(result.getCode());
@@ -259,6 +268,9 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService {
         String data1 = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.THIRD_PAUSERVISITED_SAVEUSERVISITED, JSON.toJSONString(visited)).getData();
         JSONObject json = JSON.parseObject(data1);
         Result visitedResult = ConvertUtils.mapToEntity(json, Result.class);
+        if (null != json.get("code")) {
+            visitedResult.setCode(((Integer) json.get("code")).intValue());
+        }
         if (!visitedResult.success()) {
             logger.error(PublicUserLoginConstant.SAVE_VISITED_EXCEPTION);
         }
@@ -281,6 +293,9 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService {
         String data = HttpClientManager.getInstance().sendPostByJSON(AuthHttpUrlConstant.REGISTER_URL, JSON.toJSONString(formDTO)).getData();
         JSONObject toResult = JSON.parseObject(data);
         Result result = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            result.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!result.success()) {
             logger.error(String.format("调用epmet_third服务初始化用户信息失败,数据来源[%s],手机号[%s],userId:[%S]", formDTO.getSource(), formDTO.getPhone(), formDTO.getUserId()));
             throw new RenException(result.getCode());
diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
index a01706e01d..a7980eebe1 100644
--- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
+++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
@@ -510,6 +510,9 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
         logger.info("ThirdLoginServiceImpl.getCustomerInfo:httpclient->url:"+AuthHttpUrlConstant.CUSTOMER_MSG_URL+",结果->"+data);
         JSONObject toResult = JSON.parseObject(data);
         Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            mapToResult.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!mapToResult.success()) {
             logger.error(String.format("根据appId查询客户Id失败,对应appId->" + appId));
             throw new RenException(mapToResult.getMsg());
@@ -532,6 +535,9 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
         logger.info("ThirdLoginServiceImpl.getUserWeChat:httpclient->url:"+AuthHttpUrlConstant.RESI_AND_WORK_LOGIN_URL+",结果->"+data);
         JSONObject toResult = JSON.parseObject(data);
         Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            mapToResult.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!mapToResult.success()) {
             logger.error("居民端小程序登陆,调用epmet_third服务获取数据失败");
             throw new RenException(mapToResult.getCode());
diff --git a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml
index 3998c514b4..40fdbfdc04 100644
--- a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml
+++ b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-dev.yml
@@ -2,7 +2,7 @@ version: "3.7"
 services:
   epmet-point-server:
     container_name: epmet-point-server-dev
-    image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:0.0.32
+    image: 192.168.1.130:10080/epmet-cloud-dev/epmet-point-server:0.0.33
     ports:
       - "8112:8112"
     network_mode: host # 使用现有网络
diff --git a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml
index d21875e037..fa710c245b 100644
--- a/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml
+++ b/epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-test.yml
@@ -2,7 +2,7 @@ version: "3.7"
 services:
   epmet-point-server:
     container_name: epmet-point-server-test
-    image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-point-server:0.0.31
+    image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-point-server:0.0.33
     ports:
       - "8112:8112"
     network_mode: host # 使用现有网络
diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml
index c96d4e9ee4..3fda51dcd7 100644
--- a/epmet-module/epmet-point/epmet-point-server/pom.xml
+++ b/epmet-module/epmet-point/epmet-point-server/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     4.0.0
-    0.0.32
+    0.0.33
     
         epmet-point
         com.epmet
diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
index a509da86ad..1fed1dc23f 100644
--- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
+++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml
@@ -2,7 +2,7 @@ version: "3.7"
 services:
   epmet-third-server:
     container_name: epmet-third-server-dev
-    image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.101
+    image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.103
     ports:
       - "8110:8110"
     network_mode: host # 使用现有网络
diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml
index 0dd8b4ce55..982e0e434c 100644
--- a/epmet-module/epmet-third/epmet-third-server/pom.xml
+++ b/epmet-module/epmet-third/epmet-third-server/pom.xml
@@ -2,7 +2,7 @@
 
     4.0.0
-    0.0.101
+    0.0.103
 
     
         com.epmet
@@ -147,6 +147,14 @@
             5.1.12.RELEASE
             compile
         
+
+        
+        
+            com.aliyun
+            alibaba-dingtalk-service-sdk
+            1.0.1
+        
+
     
 
     
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java
index c977d5d7f4..7f59170729 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java
@@ -77,4 +77,11 @@ public interface PaCustomerDao extends BaseDao {
      * @Description 修改pa_customer表主键值
      **/
     int updateIdById(ModifyCustomerFormDTO formDTO);
+
+    /**
+     * @Description  查询客户名称
+     * @author zxc
+     * @date 2020/8/5 3:23 下午
+     */
+    String selectCustomerName(@Param("customerId") String customerId);
 }
\ No newline at end of file
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
index d9b753172c..39dddfe6dc 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java
@@ -3,6 +3,10 @@ package com.epmet.service.impl;
 import cn.hutool.json.JSONObject;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.nacos.client.config.utils.IOUtils;
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiRobotSendRequest;
+import com.dingtalk.api.response.OapiRobotSendResponse;
 import com.epmet.commons.tools.constant.NumConstant;
 import com.epmet.commons.tools.utils.ConvertUtils;
 import com.epmet.commons.tools.utils.HttpClientManager;
@@ -24,6 +28,7 @@ import com.epmet.wxapi.constant.WxMaCodeConstant;
 import com.fasterxml.jackson.core.JsonEncoding;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.taobao.api.ApiException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.dom4j.DocumentException;
@@ -70,6 +75,8 @@ public class WarrantServiceImpl implements WarrantService {
     private MessagePushTextDao messagePushTextDao;
     @Autowired
     private RedisThird redisThird;
+    @Autowired
+    private PaCustomerDao paCustomerDao;
 
     /**
      * @Description  1.保存代码审核结果 2.更新代码上传结果
@@ -134,21 +141,27 @@ public class WarrantServiceImpl implements WarrantService {
                 codeAuditRecord.setCustomerId(customerId);
                 codeAuditRecord.setAuthAppId(authAppId);
                 codeAuditRecord.setTemplateId(templateId);
+                String customerName = paCustomerDao.selectCustomerName(customerId);
+                String client = this.getClient(clientType);
                 //插入 代码审核 记录
                 log.info(String.format(ThirdRunTimeInfoConstant.CODE_AUDIT_RESULT, xml));
                 codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord);
                 // 修改 code_audit_result 中的代码审核结果
 //                String event = codeAuditRecord.getEvent();
+                String reason = codeAuditRecord.getReason();
                 String codeResult = null;
                 switch (event) {
                     case ModuleConstant.WEAPP_AUDIT_SUCCESS:
                         codeResult = ModuleConstant.AUDIT_SUCCESS;
+                        this.dingDingRobot(reason,null,customerName,client);
                         break;
                     case ModuleConstant.WEAPP_AUDIT_FAIL:
                         codeResult = ModuleConstant.AUDIT_FAILED;
+                        this.dingDingRobot(reason,codeResult,customerName,client);
                         break;
                     case ModuleConstant.WEAPP_AUDIT_DELAY:
                         codeResult = ModuleConstant.DELAY;
+                        this.dingDingRobot(reason,codeResult,customerName,client);
                         break;
                 }
                 String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord);
@@ -190,6 +203,44 @@ public class WarrantServiceImpl implements WarrantService {
         return ModuleConstant.SUCCESS;
     }
 
+    public void dingDingRobot(String result,String event,String customerName,String clientType){
+        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=5b48fcbc3fde24b8ba4696aa062b7f8146479a9d3467dbb1f9cf132ec36b955a");
+        OapiRobotSendRequest request = new OapiRobotSendRequest();
+        request.setMsgtype("text");
+        OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
+        switch (event){
+            case ModuleConstant.WEAPP_AUDIT_SUCCESS:
+                text.setContent("代码审核结果: 审核成功\n"+
+                        "客户名称:" + customerName +"\n"+
+                        "客户端:"+clientType+"\n");
+                break;
+            case ModuleConstant.WEAPP_AUDIT_FAIL:
+                text.setContent("代码审核结果: 审核不通过\n"+
+                        "客户名称:" + customerName +"\n"+
+                        "客户端:"+clientType+"\n"+
+                        "不通过原因:"+result);
+                break;
+            case ModuleConstant.WEAPP_AUDIT_DELAY:
+                text.setContent("代码审核结果: 审核延时\n"+
+                        "客户名称:" + customerName +"\n"+
+                        "客户端:"+clientType+"\n"+
+                        "延时原因:"+result);
+                break;
+        }
+        request.setText(text);
+        try {
+            OapiRobotSendResponse response = client.execute(request);
+        } catch (ApiException e) {
+            log.error("机器人生病了......");
+            e.printStackTrace();
+        }
+    }
+
+    public String getClient(String clientType){
+        String result = clientType == "resi" ? "居民端" : "工作端";
+        return result;
+    }
+
     /**
      * 方法描述: 类型为enevt的时候,拼接
      * @param request
@@ -242,7 +293,7 @@ public class WarrantServiceImpl implements WarrantService {
     public void replyTextMessage(HttpServletRequest request, HttpServletResponse response,
                                  String content,String toUserName, String fromUserName)
             throws DocumentException, IOException {
-        Long createTime = System.currentTimeMillis() / 1000;
+        Long createTime = System.currentTimeMillis() / NumConstant.ONE_THOUSAND;
         StringBuffer sb = new StringBuffer(512);
         sb.append("");
         sb.append("");
@@ -269,7 +320,7 @@ public class WarrantServiceImpl implements WarrantService {
         // 得到微信授权成功的消息后,应该立刻进行处理!!相关信息只会在首次授权的时候推送过来
         //第三方平台【component_access_token】
         String componentAccessToken = redisThird.getComponentAccessToken();
-        com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
+        JSONObject jsonObject = new JSONObject();
         jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId);
         jsonObject.put(ModuleConstant.AUTHORIZATION_CODE, auth_code);
         String authInfo = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_QUERY_AUTH_URL + componentAccessToken, JSON.toJSONString(jsonObject)).getData();
diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml
index 7d4c8e69ef..2d09708ba1 100644
--- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml
+++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaCustomerDao.xml
@@ -71,6 +71,17 @@
         
     
 
+    
+    
+
     
         UPDATE pa_customer
         SET is_initialize = #{isInitialize}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
index 4b37250b73..826e186d7f 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
@@ -334,7 +334,7 @@ public class AgencyServiceImpl implements AgencyService {
         //3.查询客户具有指定RoleKey的角色信息
         CustomerRoleFormDTO customerRoleForm = new CustomerRoleFormDTO();
         customerRoleForm.setCustomerId(agencyDTO.getCustomerId());
-        customerRoleForm.setRoleKey(RoleKeyConstants.ROLE_KEY_MANAGER);
+        customerRoleForm.setRoleKey(RoleKeyConstants.ROLE_KEY_ROOT_MANAGER);
         Result getRoleResult = epmetUserOpenFeignClient.getRoleOfCustomer(customerRoleForm);
         if (!getRoleResult.success() || getRoleResult.getData() == null) {
             log.error("查询客户具有指定RoleKey的角色信息失败:".concat(getRoleResult.toString()));
diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java
index c666fde165..2127fe4f26 100644
--- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java
+++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java
@@ -424,6 +424,9 @@ public class CustomerServiceImpl extends BaseServiceImplurl:" + GuideHttpUrlConstant.CUSTOMER_MSG_URL + ",结果->" + data);
         JSONObject toResult = JSON.parseObject(data);
         Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class);
+        if (null != toResult.get("code")) {
+            mapToResult.setCode(((Integer) toResult.get("code")).intValue());
+        }
         if (!mapToResult.success()) {
             logger.error(String.format("根据appId查询客户Id失败,对应appId->" + appId));
             throw new RenException(mapToResult.getMsg());
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
index 7ba79252b2..a60d242550 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
@@ -115,6 +115,9 @@ public class ResiMineGridServiceImpl implements ResiMineGridService {
 		logger.info("调用third服务,根据appId查询客户信息:httpclient->url:" + customerMsgUrl + ",结果->" + data);
 		JSONObject toResult = JSON.parseObject(data);
 		Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class);
+		if (null != toResult.get("code")) {
+			mapToResult.setCode(((Integer) toResult.get("code")).intValue());
+		}
 		if (!mapToResult.success()) {
 			logger.error(String.format("根据appId查询客户信息失败,对应appId->" + formDTO.getAppId()));
 			throw new RenException(mapToResult.getMsg());