Pu Zhibing
3 天以前 b219589d73f46bd98995bceb4caf16dadb56b869
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java
@@ -5,6 +5,8 @@
import com.google.gson.Gson;
import com.open.common.util.OpenApiClient;
import com.open.common.util.SystemParameterNames;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.SpringContextsUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
import lombok.extern.slf4j.Slf4j;
@@ -22,19 +24,21 @@
@Slf4j
public class EmployeeUtil {
   
   private static QianYunTongConfig qianYunTongConfig = SpringContextsUtil.getBean(QianYunTongConfig.class).getQianYunTongConfig();
   
   /**
    * 企业增加员工
    * @param request
    * @return
    */
   public static SaveStaffNode saveStaffNode(SaveStaffNodeRequest request){
   public static ResultUtil<SaveStaffNode> saveStaffNode(SaveStaffNodeRequest request){
      //请求路径
      String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/saveStaffNode";
      String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/saveStaffNode";
      //私钥文件
      String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
      String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
      //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
      String appKey = QianYunTongProperties.appkey;//appkey
      String appKey = qianYunTongConfig.getAppkey();//appkey
      Map<String, String> headers = new HashMap<>();
      headers.put("Content-Type", "application/json");
      Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -45,8 +49,8 @@
      String messageId = UUID.randomUUID().toString().replaceAll("-", "");
      contentMap.put(SystemParameterNames.getAppKey(), appKey);
      contentMap.put(SystemParameterNames.getMessage_id(), messageId);
      contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
      contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
      contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
      contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
      contentMap.put("content", new Gson().toJson(request));
      log.info("【企业增加员工】请求地址:" + url);
      log.info("【企业增加员工】请求参数:" + JSON.toJSONString(contentMap));
@@ -56,16 +60,24 @@
      String retCode = jsonObject.getString("retCode");
      if (!"0".equals(retCode)) {
         log.error("【企业增加员工】请求失败:" + result);
         throw new RuntimeException("【企业增加员工】请求失败:" + result);
         String retMsg = jsonObject.getString("retMsg");
         if(retMsg.contains("员工昵称已存在")){
            request.setEmpName(request.getEmpName() + Double.valueOf(Math.random() * 100).intValue());
            request.setEmpNickname(request.getEmpName());
            return saveStaffNode(request);
         }
         retMsg = retMsg.substring(retMsg.indexOf("{"));
         jsonObject = JSON.parseObject(retMsg);
         return ResultUtil.error("【企业增加员工】请求失败:" + jsonObject.getString("msg"));
      }
      JSONObject object = jsonObject.getJSONObject("object");
      String status = object.getString("status");
      if (!"0".equals(status)) {
         log.error("【企业增加员工】失败:" + object.toJSONString());
         throw new RuntimeException("【企业增加员工】失败:" + object.toJSONString());
         return ResultUtil.error("【企业增加员工】失败:" + object.getString("desc"));
      }
      SaveStaffNode saveStaffNode = object.getObject("data", SaveStaffNode.class);
      return saveStaffNode;
      return ResultUtil.success(saveStaffNode);
   }
   
   
@@ -76,11 +88,11 @@
    */
   public static Boolean editStaffNode(EditStaffNodeRequest request){
      //请求路径
      String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/editStaffNode";
      String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/editStaffNode";
      //私钥文件
      String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
      String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
      //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
      String appKey = QianYunTongProperties.appkey;//appkey
      String appKey = qianYunTongConfig.getAppkey();//appkey
      Map<String, String> headers = new HashMap<>();
      headers.put("Content-Type", "application/json");
      Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -91,8 +103,8 @@
      String messageId = UUID.randomUUID().toString().replaceAll("-", "");
      contentMap.put(SystemParameterNames.getAppKey(), appKey);
      contentMap.put(SystemParameterNames.getMessage_id(), messageId);
      contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
      contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
      contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
      contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
      contentMap.put("content", new Gson().toJson(request));
      log.info("【企业修改员工信息】请求地址:" + url);
      log.info("【企业修改员工信息】请求参数:" + JSON.toJSONString(contentMap));
@@ -121,11 +133,11 @@
    */
   public static Boolean ecrmDeleteStafNode(DeleteStafNodeRequest request){
      //请求路径
      String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/ecrmDeleteStafNode";
      String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/ecrmDeleteStafNode";
      //私钥文件
      String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
      String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
      //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
      String appKey = QianYunTongProperties.appkey;//appkey
      String appKey = qianYunTongConfig.getAppkey();//appkey
      String content = "";//业务参数
      Map<String, String> headers = new HashMap<>();
      headers.put("Content-Type", "application/json");
@@ -137,8 +149,8 @@
      String messageId = UUID.randomUUID().toString().replaceAll("-", "");
      contentMap.put(SystemParameterNames.getAppKey(), appKey);
      contentMap.put(SystemParameterNames.getMessage_id(), messageId);
      contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
      contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
      contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
      contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
      contentMap.put("content", new Gson().toJson(request));
      log.info("【企业删除人员】请求地址:" + url);
      log.info("【企业删除人员】请求参数:" + JSON.toJSONString(contentMap));
@@ -167,11 +179,11 @@
    */
   public static StaffNodeInfo getStaffNode(GetStaffNodeRequest request){
      //请求路径
      String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/getStaffNode";
      String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/getStaffNode";
      //私钥文件
      String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
      String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
      //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
      String appKey = QianYunTongProperties.appkey;//appkey
      String appKey = qianYunTongConfig.getAppkey();//appkey
      Map<String, String> headers = new HashMap<>();
      headers.put("Content-Type", "application/json");
      Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -182,8 +194,8 @@
      String messageId = UUID.randomUUID().toString().replaceAll("-", "");
      contentMap.put(SystemParameterNames.getAppKey(), appKey);
      contentMap.put(SystemParameterNames.getMessage_id(), messageId);
      contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
      contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
      contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
      contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
      contentMap.put("content", new Gson().toJson(request));
      log.info("【根据员工ID获取人员信息】请求地址:" + url);
      log.info("【根据员工ID获取人员信息】请求参数:" + JSON.toJSONString(contentMap));
@@ -212,12 +224,17 @@
    * @return 状态 0 成功 其他失败
    */
   public static Integer addAccountInfo(AddAccountInfoRequest request){
      request.setPartnerId("522700");
      request.setIndustryCode("100");
      request.setPayModeId("501101");
      request.setAccessMode("APP");
      //请求路径
      String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/addAccountInfo";
      String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/addAccountInfo";
      //私钥文件
      String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
      String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
      //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
      String appKey = QianYunTongProperties.appkey;//appkey
      String appKey = qianYunTongConfig.getAppkey();//appkey
      Map<String, String> headers = new HashMap<>();
      headers.put("Content-Type", "application/json");
      Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -228,19 +245,20 @@
      String messageId = UUID.randomUUID().toString().replaceAll("-", "");
      contentMap.put(SystemParameterNames.getAppKey(), appKey);
      contentMap.put(SystemParameterNames.getMessage_id(), messageId);
      contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
      contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
      contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
      contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
      contentMap.put("content", new Gson().toJson(request));
      log.info("【创建账号-同步证联开户信息】请求地址:" + url);
      log.info("【创建账号-同步证联开户信息】请求参数:" + JSON.toJSONString(contentMap));
      String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap);
      log.info("【创建账号-同步证联开户信息】请求结果:" + result);
      JSONObject jsonObject = JSON.parseObject(result);
      String resCode = jsonObject.getString("resCode");
      if (!"000000".equals(resCode)) {
         log.error("【创建账号-同步证联开户信息】请求失败:" + jsonObject.getString("resMsg"));
      String retCode = jsonObject.getString("retCode");
      if (!"0".equals(retCode)) {
         log.error("【创建账号-同步证联开户信息】请求失败:" + jsonObject.getString("retMsg"));
         return -1;
      }
      return jsonObject.getInteger("status");
      JSONObject object = jsonObject.getJSONObject("object");
      return object.getInteger("status");
   }
}