mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.panzhihua.service_community.util;
 
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.panzhihua.common.model.vos.SanShuoMessageVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
 
import java.util.HashMap;
import java.util.Map;
 
@Slf4j
public class WXMessageUtil {
    private static final String APP_ID="wx0cef797390444b75";
    private static final String SEND_MESSAGE_URL="https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=";
    private static final String TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
    private static final String SECRET="c7ea9aaa7e391a487e8a5b9ba61045d1";
    private static final String TEMPLATE_ID="iy8r0YbGlvmysbjGcbEj0yx-kftKBjC-HrXlSeNBrE0";
    public static String queryToken(){
        String tokenUrl=TOKEN_URL+"&appid="+APP_ID+"&secret="+SECRET;
        String result= HttpUtil.get(tokenUrl);
        cn.hutool.json.JSONObject obj = JSONUtil.parseObj(result);
        String token = obj.get("access_token").toString();
        return token;
    }
 
    public static String sendStatusMessage(SanShuoMessageVO vo){
        String token = queryToken();
        if (StringUtils.isNotEmpty(token)){
            //发送消息
            String url=SEND_MESSAGE_URL+token;
            Map<String,Object> param=new HashMap<>();
            param.put("touser", vo.getTouser());
            param.put("template_id", TEMPLATE_ID);
            param.put("page","packageE/page/sanShuo/mediationRoom/mediationRoom");
            Map<String,Object> data=new HashMap<>();
            data.put("thing1", formData(vo.getThing1()));
            data.put("thing5", formData(vo.getThing5()));
            data.put("thing2", formData(vo.getThing2()));
            data.put("time3", formData(vo.getTime3()));
            param.put("data", data);
            String paramMap = JSONUtil.toJsonStr(param);
            log.info("===============推送参数:"+paramMap);
            String result = HttpUtil.post(url, paramMap);
            log.info("状态推送结果"+result);
            return result;
        }
        return null;
    }
 
    public static Map<String,Object> formData(String param){
        Map<String,Object> data=new HashMap<>();
        data.put("value",param );
        return data;
    }
 
}