From 56d6af7c8b64c8b477296c591364559c2d8b9a0c Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 02 七月 2025 18:58:55 +0800
Subject: [PATCH] 修改bug

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java |  299 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 218 insertions(+), 81 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java
index 23c09f0..a5d5d88 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java
@@ -2,16 +2,12 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
 import com.open.common.util.OpenApiClient;
 import com.open.common.util.SystemParameterNames;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.CheckEnterExist;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterpriseRequest;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.EnterpriseInfo;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyEnterpriseInfoRequest;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import lombok.extern.slf4j.Slf4j;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
@@ -41,31 +37,36 @@
 		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
 		String appKey = QianYunTongProperties.appkey;//appkey
-		String content = "";//业务参数
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
-		Map<String, Object> request = new HashMap<String, Object>();
+		Map<String, Object> map = new HashMap<>();
 		Date nowdate = new Date();
 		SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss");
 		
 		String timeStamp = date.format(nowdate);
 		String messageId = UUID.randomUUID().toString().replaceAll("-", "");
-		request.put(SystemParameterNames.getAppKey(), appKey);
-		request.put(SystemParameterNames.getMessage_id(), messageId);
-		request.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		request.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
-		request.put("content", content);
-		request.put("uscc", uscc);
-		log.info("【根据社会信用代码判断企业是否已存在】请求参数:" + JSON.toJSONString(request));
-		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, request);
+		map.put(SystemParameterNames.getAppKey(), appKey);
+		map.put(SystemParameterNames.getMessage_id(), messageId);
+		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
+		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		map.put("content", "{\"uscc\":\"" + uscc + "\"}");
+		log.info("【根据社会信用代码判断企业是否已存在】请求地址:" + url);
+		log.info("【根据社会信用代码判断企业是否已存在】请求参数:" + JSON.toJSONString(map));
+		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map);
 		log.info("【根据社会信用代码判断企业是否已存在】请求结果:" + result);
 		JSONObject jsonObject = JSON.parseObject(result);
-		String status = jsonObject.getString("status");
-		if (!"0".equals(status)) {
+		String retCode = jsonObject.getString("retCode");
+		if (!"0".equals(retCode)) {
 			log.error("【根据社会信用代码判断企业是否已存在】请求失败:" + result);
 			return null;
 		}
-		return jsonObject.getObject("data", CheckEnterExist.class);
+		JSONObject object = jsonObject.getJSONObject("object");
+		String status = object.getString("status");
+		if (!"0".equals(status)) {
+			log.error("【根据社会信用代码判断企业是否已存在】失败:" + object.toJSONString());
+			return null;
+		}
+		return jsonObject.getObject("object", CheckEnterExist.class);
 	}
 	
 	
@@ -82,31 +83,36 @@
 		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
 		String appKey = QianYunTongProperties.appkey;//appkey
-		String content = "";//业务参数
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
-		Map<String, Object> request = new HashMap<String, Object>();
+		Map<String, Object> map = new HashMap<>();
 		Date nowdate = new Date();
 		SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss");
 		
 		String timeStamp = date.format(nowdate);
 		String messageId = UUID.randomUUID().toString().replaceAll("-", "");
-		request.put(SystemParameterNames.getAppKey(), appKey);
-		request.put(SystemParameterNames.getMessage_id(), messageId);
-		request.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		request.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
-		request.put("content", content);
-		request.put("enterName", enterName);
-		log.info("【根据企业名称判断企业是否已存在】请求参数:" + JSON.toJSONString(request));
-		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, request);
+		map.put(SystemParameterNames.getAppKey(), appKey);
+		map.put(SystemParameterNames.getMessage_id(), messageId);
+		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
+		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		map.put("content", "{\"enterName\":\"" + enterName + "\"}");
+		log.info("【根据企业名称判断企业是否已存在】请求地址:" + url);
+		log.info("【根据企业名称判断企业是否已存在】请求参数:" + JSON.toJSONString(map));
+		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map);
 		log.info("【根据企业名称判断企业是否已存在】请求结果:" + result);
 		JSONObject jsonObject = JSON.parseObject(result);
-		String status = jsonObject.getString("status");
-		if (!"0".equals(status)) {
+		String retCode = jsonObject.getString("retCode");
+		if (!"0".equals(retCode)) {
 			log.error("【根据企业名称判断企业是否已存在】请求失败:" + result);
 			return null;
 		}
-		return jsonObject.getObject("data", CheckEnterExist.class);
+		JSONObject object = jsonObject.getJSONObject("object");
+		String status = object.getString("status");
+		if (!"0".equals(status)) {
+			log.error("【根据企业名称判断企业是否已存在】失败:" + object.toJSONString());
+			return null;
+		}
+		return jsonObject.getObject("object", CheckEnterExist.class);
 	}
 	
 	
@@ -123,31 +129,36 @@
 		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
 		String appKey = QianYunTongProperties.appkey;//appkey
-		String content = "";//业务参数
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
-		Map<String, Object> request = new HashMap<String, Object>();
+		Map<String, Object> map = new HashMap<>();
 		Date nowdate = new Date();
 		SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss");
 		
 		String timeStamp = date.format(nowdate);
 		String messageId = UUID.randomUUID().toString().replaceAll("-", "");
-		request.put(SystemParameterNames.getAppKey(), appKey);
-		request.put(SystemParameterNames.getMessage_id(), messageId);
-		request.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		request.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
-		request.put("content", content);
-		request.put("enter_code", enter_code);
-		log.info("【查询企业详情】请求参数:" + JSON.toJSONString(request));
-		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, request);
+		map.put(SystemParameterNames.getAppKey(), appKey);
+		map.put(SystemParameterNames.getMessage_id(), messageId);
+		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
+		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		map.put("content", "{\"enter_code\":\"" + enter_code + "\"}");
+		log.info("【查询企业详情】请求地址:" + url);
+		log.info("【查询企业详情】请求参数:" + JSON.toJSONString(map));
+		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map);
 		log.info("【查询企业详情】请求结果:" + result);
 		JSONObject jsonObject = JSON.parseObject(result);
-		String status = jsonObject.getString("status");
-		if (!"0".equals(status)) {
+		String retCode = jsonObject.getString("retCode");
+		if (!"0".equals(retCode)) {
 			log.error("【查询企业详情】请求失败:" + result);
 			return null;
 		}
-		EnterpriseInfo enterpriseInfo = jsonObject.getObject("data", EnterpriseInfo.class);
+		JSONObject object = jsonObject.getJSONObject("object");
+		String status = object.getString("status");
+		if (!"0".equals(status)) {
+			log.error("【查询企业详情】失败:" + object.toJSONString());
+			return null;
+		}
+		EnterpriseInfo enterpriseInfo = jsonObject.getObject("object", EnterpriseInfo.class);
 		return enterpriseInfo;
 	}
 	
@@ -165,46 +176,46 @@
 		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
 		String appKey = QianYunTongProperties.appkey;//appkey
-		String content = "";//业务参数
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
+		Map<String, Object> map = new HashMap<>();
 		Date nowdate = new Date();
 		SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss");
 		
 		String timeStamp = date.format(nowdate);
 		String messageId = UUID.randomUUID().toString().replaceAll("-", "");
-		request.put(SystemParameterNames.getAppKey(), appKey);
-		request.put(SystemParameterNames.getMessage_id(), messageId);
-		request.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		request.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
-		request.put("content", content);
-		log.info("【修改企业基本信息】请求参数:" + JSON.toJSONString(request));
-		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, request);
+		map.put(SystemParameterNames.getAppKey(), appKey);
+		map.put(SystemParameterNames.getMessage_id(), messageId);
+		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
+		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		map.put("content", new Gson().toJson(request));
+		log.info("【修改企业基本信息】请求地址:" + url);
+		log.info("【修改企业基本信息】请求参数:" + JSON.toJSONString(map));
+		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, map);
 		log.info("【修改企业基本信息】请求结果:" + result);
 		JSONObject jsonObject = JSON.parseObject(result);
 		String status = jsonObject.getString("status");
 		if (!"0".equals(status)) {
 			log.error("【修改企业基本信息】请求失败:" + result);
-			return false;
+			throw new RuntimeException("【修改企业基本信息】请求失败:" + result);
 		}
 		return true;
 	}
 	
-	
 	/**
-	 * 创建企业
+	 * 删除企业信息
 	 *
-	 * @param request
+	 * @param enterNum 企业编号
+	 * @param operator 管理员手机号码
 	 * @return
 	 */
-	public static Boolean createEnterprise(CreateEnterpriseRequest request) {
+	public static boolean delEnterprise(String enterNum, String operator) {
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.1/createEnterprise";
+		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/delCompany";
 		//私钥文件
 		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
 		String appKey = QianYunTongProperties.appkey;//appkey
-		String content = "";//业务参数
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> map = new HashMap<String, Object>();
@@ -217,35 +228,161 @@
 		map.put(SystemParameterNames.getMessage_id(), messageId);
 		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
 		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
-		map.put("content", content);
-		Class<? extends CreateEnterpriseRequest> clazz = request.getClass();
-		Field[] declaredFields = clazz.getDeclaredFields();
-		for (Field declaredField : declaredFields) {
-			String name = declaredField.getName();
-			Object invoke = null;
-			try {
-				invoke = clazz.getMethod("get" + name.substring(0, 1).toUpperCase() + name.substring(1)).invoke(request);
-			} catch (IllegalAccessException e) {
-				throw new RuntimeException(e);
-			} catch (InvocationTargetException e) {
-				throw new RuntimeException(e);
-			} catch (NoSuchMethodException e) {
-				throw new RuntimeException(e);
-			}
-			map.put(name, invoke);
+		map.put("content", "{\"enterNum\":\"" + enterNum + "\",\"operator\":\"" + operator + "\"}");
+		
+		log.info("【删除企业信息】请求地址:" + url);
+		log.info("【删除企业信息】请求参数:" + JSON.toJSONString(map));
+		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map);
+		log.info("【删除企业信息】请求结果:" + result);
+		JSONObject jsonObject = JSON.parseObject(result);
+		String retCode = jsonObject.getString("retCode");
+		if (!"0".equals(retCode)) {
+			log.error("【删除企业信息】请求失败:" + result);
+			throw new RuntimeException("【删除企业信息】请求失败:" + result);
 		}
+		JSONObject object = jsonObject.getJSONObject("object");
+		String status = object.getString("status");
+		if (!"0".equals(status)) {
+			log.error("【删除企业信息】请求失败:" + object.toJSONString());
+			throw new RuntimeException("【删除企业信息】请求失败:" + object.toJSONString());
+		}
+		return true;
+	}
+	
+	public static void main(String[] args) {
+//		CreateEnterpriseRequest request = new CreateEnterpriseRequest();
+//		request.setName("成都喜望科技有限公司");
+//		request.setNickName("成都喜望");
+//		request.setIndustry_code("123456789");
+//		request.setMobile("18200000000");
+//		request.setMobileFlag("1");
+//		EnterpriseUtil.createEnterprise(request);
+
+//		EnterpriseUtil.delEnterprise("981100006005878", "15828353127");
+		
+		
+		//短信
+//		SMSUtil.sendVerifyCode("15828353127");
+
+//		CheckEnterExist checkEnterNameExist = EnterpriseUtil.checkEnterNameExist("成都喜望科技有限公司");
+
+//		EnterpriseInfo enterpriseDetail = EnterpriseUtil.getEnterpriseDetail(checkEnterNameExist.getEnterCode());
+//		System.out.println(enterpriseDetail);
+
+//		List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone("15828353127", "981100006005878");
+
+//		RegisterViaMobileRequest request = new RegisterViaMobileRequest();
+//		request.setMobile("15828353126");
+//		request.setPassword("123456");
+//		request.setNickname("测试");
+//		request.setVerify_code("1111");
+//		request.setVerify_code_type("1");
+//		RegisterViaMobile registerViaMobile = UserUtil.registerViaMobile(request);
+
+//		ModifyPwdRequest request = new ModifyPwdRequest();
+//		request.setMobile("15828353126");
+//		request.setOldPwd("111111");
+//		request.setNewPwd("654321");
+//		request.setCode("1111");
+//		UserUtil.modifyPwd(request);
+
+//		ResetPwdRequest request = new ResetPwdRequest();
+//		request.setMobile("15828353126");
+//		request.setPassword("654321");
+//		request.setCode("1111");
+//		UserUtil.resetPwd(request);
+
+//		SaveStaffNodeRequest request = new SaveStaffNodeRequest();
+//		request.setMobile("15828353127");
+//		request.setEntercode("981100006005878");
+//		request.setEmpName("超级管理员");
+//		request.setEmpNickname("超级管理员");
+//		request.setLoginNo("18200000000");
+//		request.setEmpSex("男");
+//		request.setMphone("18200000000");
+//		request.setEmail("sn93@qq.com");
+//		request.setDeptId(0);
+//		request.setPositionId(1);
+//		request.setSuperLevel(0);
+//		request.setHideMobile(0);
+//		EmployeeUtil.saveStaffNode(request);
+		
+		//接口参数有问题
+		EditStaffNodeRequest request = new EditStaffNodeRequest();
+		request.setEmpId(11448071);
+		request.setMobile("15828353127");
+		request.setEntercode("981100006005901");
+		request.setEnterId(981100006005901L);
+		request.setEmpName("蒲师傅");
+		request.setEmpNickname("蒲师傅");
+		request.setLoginNo("15828353127");
+		request.setMphone("15828353127");
+		request.setEmail("393733352@qq.com");
+		request.setEmpSex("男");
+		request.setDeptId(0);
+		request.setPositionId(1);
+		request.setSuperLevel(0);
+		request.setHideMobile(0);
+		EmployeeUtil.editStaffNode(request);
+
+
+//		GetStaffNodeRequest request = new GetStaffNodeRequest();
+//		request.setEmpId(11448036L);
+//		request.setMobile("15828353127");
+//		request.setEntercode("981100006005878");
+//		EmployeeUtil.getStaffNode(request);
+
+
+//		DeleteStafNodeRequest request = new DeleteStafNodeRequest();
+//		request.setEmpId(11448036);
+//		request.setMobile("15828353127");
+//		request.setEntercode("981100006005878");
+//		EmployeeUtil.ecrmDeleteStafNode(request);
+	}
+	
+	/**
+	 * 创建企业
+	 *
+	 * @param request
+	 * @return
+	 */
+	public static CreateEnterprise createEnterprise(CreateEnterpriseRequest request) {
+		//请求路径
+		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/createEnterprise";
+		//私钥文件
+		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
+		String appKey = QianYunTongProperties.appkey;//appkey
+		Map<String, String> headers = new HashMap<>();
+		headers.put("Content-Type", "application/json");
+		Map<String, Object> map = new HashMap<String, Object>();
+		Date nowdate = new Date();
+		SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss");
+		
+		String timeStamp = date.format(nowdate);
+		String messageId = UUID.randomUUID().toString().replaceAll("-", "");
+		map.put(SystemParameterNames.getAppKey(), appKey);
+		map.put(SystemParameterNames.getMessage_id(), messageId);
+		map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
+		map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		map.put("content", new Gson().toJson(request));
 		
 		log.info("【创建企业】请求地址:" + url);
 		log.info("【创建企业】请求参数:" + JSON.toJSONString(map));
 		String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map);
 		log.info("【创建企业】请求结果:" + result);
 		JSONObject jsonObject = JSON.parseObject(result);
-		String resCode = jsonObject.getString("resCode");
-		String status = jsonObject.getString("status");
-		if (!"0".equals(status)) {
+		String retCode = jsonObject.getString("retCode");
+		if (!"0".equals(retCode)) {
 			log.error("【创建企业】请求失败:" + result);
-			return false;
+			throw new RuntimeException("【创建企业】请求失败:" + result);
 		}
-		return true;
+		JSONObject object = jsonObject.getJSONObject("object");
+		String status = object.getString("status");
+		if (!"0".equals(status)) {
+			log.error("【创建企业】请求失败:" + object.toJSONString());
+			throw new RuntimeException("【创建企业】请求失败:" + object.toJSONString());
+		}
+		return object.getObject("data", CreateEnterprise.class);
 	}
 }

--
Gitblit v1.7.1