From 9057e04efad1b7d61c77a72e5c37a504d0aee935 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期五, 26 九月 2025 09:24:03 +0800 Subject: [PATCH] H5静态化 --- server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java | 248 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 248 insertions(+), 0 deletions(-) diff --git a/server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java b/server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java new file mode 100644 index 0000000..a41b37a --- /dev/null +++ b/server/src/main/java/com/doumee/core/utils/qiyeweixin/QywxUtil.java @@ -0,0 +1,248 @@ +package com.doumee.core.utils.qiyeweixin; + +import com.alibaba.fastjson.JSONObject; +import com.doumee.core.utils.HttpsUtil; +import com.doumee.core.utils.qiyeweixin.model.request.QywxSendMsgRequest; +import com.doumee.core.utils.qiyeweixin.model.response.*; +import com.fasterxml.jackson.core.type.TypeReference; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@Component +@Slf4j +public class QywxUtil { + private static JSONObject json = new JSONObject(); + + + + private static QywxUtil qyUtil; + +// @Value("${qiwei.serviceurl}") + private String qiweiUrl; + +// @PostConstruct + private void init() { + qyUtil = this; +// QywxUtil.qiweiUrl = serviceurl; + } + + + public static String create(Map<String, Object> map, String url, String token) throws IOException { + // String token = getToken(QY_Constant.CORPID, QY_Constant.SCHEDULESECRET); + String postData = createPostData(map); + String response = HttpsUtil.post(url + token, postData, "application/json", false); + System.out.println("鑾峰彇鍒扮殑token======>" + token); + System.out.println("璇锋眰鏁版嵁======>" + postData); + System.out.println("鍙戦�佸井淇$殑鍝嶅簲鏁版嵁======>" + response); + return response; + } + + private static String createPostData(Map<String, Object> map) { + System.out.println("杩涘叆createPostData鏂规硶-------------------------"); + return JSONObject.toJSONString(map); + } + + + public static String getAccessToken(String corpId, String corpSecret) { + String[] interfaceUrl = QywxConstant.GET_ACCESS_TOKEN; + String url = interfaceUrl[0].replace("${corpid}",corpId).replace("${secret}",corpSecret); + QywxBaseResponse response = sendHttpRequest(url,interfaceUrl[1],"",new TypeReference<QywxBaseResponse<String>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response.getAccess_token(); + } + return null; + } + public static List<QywxDepartInfoResponse> getDepartmentAll(String token) { + String[] interfaceUrl = QywxConstant.GET_DEPARTMENT_LIST; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${id}",""); + QywxBaseResponse<List<QywxDepartInfoResponse>> response = sendHttpRequest(url,interfaceUrl[1],"",new TypeReference<QywxBaseResponse<List<QywxDepartInfoResponse>>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response.getData(); + } + return null; + } + public static QywxDepartInfoResponse getDepartmentInfo(String token,String departid) { + String[] interfaceUrl = QywxConstant.GET_DEPARTMENT_INFO; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${id}",departid); + QywxBaseResponse<QywxDepartInfoResponse> response = sendHttpRequest(url,interfaceUrl[1],"" + ,new TypeReference< QywxBaseResponse<QywxDepartInfoResponse>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response.getData(); + } + return null; + } + public static QywxSendMsgResponse sendMsg(String token, QywxSendMsgRequest param) { + try{ + String[] interfaceUrl = QywxConstant.SEND_MSG; + String url = interfaceUrl[0].replace("${accesstoken}",token); + QywxSendMsgResponse response = sendHttpRequestSingle(url,interfaceUrl[1], JSONObject.toJSONString(param) + ,new TypeReference<QywxSendMsgResponse>(){}); + log.error("鎺ㄩ�佹秷鎭粨鏋渰}",JSONObject.toJSONString(response)); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response; + } + }catch (Exception e){ + + } + + return null; + } + public static List<QywxUserListResponse> getUserList(String token,String depatId) { + try { + String[] interfaceUrl = QywxConstant.GET_DEPARTMENT_USER_LIST; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${departmentId}",depatId); + QywxBaseResponse<List<QywxUserListResponse>> response = sendHttpRequest(url,interfaceUrl[1],"",new TypeReference<QywxBaseResponse<List<QywxUserListResponse>>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response.getData(); + } + }catch (Exception e){ + e.printStackTrace(); + } + + return null; + } + public static InputStream getMediaInputstream(String token, String media) { + try { + String[] interfaceUrl = QywxConstant.GET_MEDIA; + String url = qyUtil.qiweiUrl+interfaceUrl[0].replace("${accesstoken}",token).replace("${media_id}",media); + log.info("浼佷笟寰俊涓存椂绱犳潗鑾峰彇url=========="+url); + return HttpsUtil.connectionInputsteam(url,"GET",null,null); + }catch (Exception e){ + e.printStackTrace(); + log.error("浼佷笟寰俊涓存椂绱犳潗鑾峰彇error=========="+e.getMessage()); + } + + return null; + } + public static QywxUserInfoResponse getUserInfo(String token,String id) { + String[] interfaceUrl = QywxConstant.GET_USER_DETAIL; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${id}",id); + QywxUserInfoResponse response = sendHttpRequestSingle(url,interfaceUrl[1],"" + ,new TypeReference<QywxUserInfoResponse>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response; + } + return null; + } + + /** + * + * @param token + * @param type 濯掍綋鏂囦欢绫诲瀷锛屽垎鍒湁鍥剧墖锛坕mage锛夈�佽闊筹紙voice锛夈�佽棰戯紙video锛夛紝鏅�氭枃浠讹紙file锛� + * @return + */ + public static QywxUploadMediaResponse uploadMedia(String token,String type,String imgurl) { + String[] interfaceUrl = QywxConstant.UPLOAD_TEMP_MEDIA; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${type}",type); + QywxUploadMediaResponse response = sendHttpRequestMultifile(url,interfaceUrl[1],imgurl + ,new TypeReference<QywxUploadMediaResponse>(){}); + if(response !=null && response.getErrcode()!=null && response.getErrcode() ==0){ + return response; + } + return null; + } + public static QywxBaseResponse<String> getUserInfoByCode(String token,String code) { + String[] interfaceUrl = QywxConstant.GET_USER_BY_AUTH_CODE; + String url = interfaceUrl[0].replace("${accesstoken}",token).replace("${code}",code); + QywxBaseResponse<String> response = sendHttpRequest(url,interfaceUrl[1],"" + ,new TypeReference<QywxBaseResponse<String>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response; + } + return null; + } + + + public static String getJsApiTicket(String token) { + String[] interfaceUrl = QywxConstant.GET_JSAPI_TICKET; + String url = interfaceUrl[0].replace("${accesstoken}",token); + QywxBaseResponse<String> response = sendHttpRequest(url,interfaceUrl[1],"" + ,new TypeReference<QywxBaseResponse<String>>(){}); + if(response.getErrcode()!=null && response.getErrcode() ==0){ + return response.getTicket(); + } + return null; + } + + + /** + * 鍙戣捣wms鎺ュ彛璇锋眰 + * @param url + * @param name + * @param param + * @param typeReference + * @return + * @param <T> + */ + public static <T> QywxBaseResponse<T> sendHttpRequest(String url, String name, String param, TypeReference<QywxBaseResponse<T>> typeReference){ + log.info("銆�"+name+"銆�================寮�濮�===="+url+"\nparam==========================:"+ JSONObject.toJSONString(param)); + if ( StringUtils.isNotBlank(url)) { + String res = null; + try { + Map<String,String> headers = new HashMap<>(); + res = HttpsUtil.postJson(qyUtil.qiweiUrl+url,param); + QywxBaseResponse result = JSONObject.parseObject(res, typeReference.getType()); + logResult(result,name); + return result; + }catch (Exception e){ + e.printStackTrace(); + log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param)); + } + } + return null; + } + public static <T extends QywxBaseSingleResponse> T sendHttpRequestMultifile(String url, String name, String imgUrl , TypeReference<T> typeReference){ + log.info("銆�"+name+"銆�================寮�濮�===="+ imgUrl); + if ( StringUtils.isNotBlank(url)) { + String res = null; + try { + res = HttpsUtil.uploadTempMedia (qyUtil.qiweiUrl+url,imgUrl); + log.info("浠庝紒寰帴鍙�:{}----涓婁紶涓存椂绱犳潗缁撴灉:{}",url,res); + JSONObject jsonObject = JSONObject.parseObject(res); + T result = JSONObject.parseObject(res, typeReference.getType()); + return result; + }catch (Exception e){ + e.printStackTrace(); + log.error("銆�"+name+"銆�================澶辫触===="+ imgUrl); + } + } + return null; + } + public static <T extends QywxBaseSingleResponse> T sendHttpRequestSingle(String url, String name, String param, TypeReference<T> typeReference){ + log.info("銆�"+name+"銆�================寮�濮�===="+ JSONObject.toJSONString(param)); + if ( StringUtils.isNotBlank(url)) { + String res = null; + try { + Map<String,String> headers = new HashMap<>(); + res = HttpsUtil.postJson(qyUtil.qiweiUrl+url,param); + T result = JSONObject.parseObject(res, typeReference.getType()); +// logResult(result,name); + return result; + }catch (Exception e){ + e.printStackTrace(); + log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param)); + } + } + return null; + } + private static void logResult(QywxBaseResponse res,String name) { + if( res.getErrcode() !=null && res.getErrcode().equals(0)){ + log.info("銆愪紒涓氬井淇℃帴鍙o細"+name+"銆�================鎴愬姛====\n"+ JSONObject.toJSONString(res)); + }else{ + log.error("銆愪紒涓氬井淇℃帴鍙o細"+name+"銆�================澶辫触====锛歕n"+ JSONObject.toJSONString(res)); + } + } +} + + + + + -- Gitblit v1.9.3