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