首页 > 其他分享 >公众号发送模板消息

公众号发送模板消息

时间:2024-09-19 15:49:25浏览次数:12  
标签:String implementation 发送 公众 org put import com 模板

gradle配置

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.4'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    maven {
        url 'https://maven.aliyun.com/repository/public'
    }
    mavenCentral()
}


dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.google.code.gson:gson:2.8.8'
    //支付相关功能
    implementation 'com.squareup.okhttp3:okhttp:4.9.0'
    implementation 'com.github.wechatpay-apiv3:wechatpay-java:0.2.1'
    implementation 'com.github.wechatpay-apiv3:wechatpay-java-shangmi:0.2.1'
    //公众号模板信息
    implementation 'org.apache.httpcomponents:httpclient:4.5.13'
    implementation 'org.apache.httpcomponents:httpcore'
    implementation 'com.github.binarywang:weixin-java-mp:4.1.0'
    implementation 'cn.hutool:hutool-http:5.7.5' // Hutool HTTP
    implementation 'cn.hutool:hutool-json:5.7.5' // Hutool JSON

    //数据库
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'mysql:mysql-connector-java:8.0.26'
    implementation 'com.fasterxml.jackson.core:jackson-databind'
}

tasks.named('test') {
    useJUnitPlatform()
}

代码

package io.linfeng.modules.officialaccounts.service.impl;

import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import io.linfeng.modules.officialaccounts.service.UnionIdTransformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

@Service
public class TemplateMessageManager {
    
    @Autowired
    private UnionIdTransformService unionIdTransformService;
    
    public String getAccessToken(){
        return unionIdTransformService.getOfficialAccountAccessToken();
    }

    public void sendChatMessageRemind(String openId){
        sendMessageRemind(openId,"您收到了一条新消息","聊天消息");
    }

    public void sendCommentMessageRemind(String openId){
        sendMessageRemind(openId,"您的商品有一条新评论","商品评论");
    }


    /**
     * 发送消息提醒
     * @param openId
     * @param key 工单名称
     * @param value 工单类型
     */
    private void sendMessageRemind(String openId,String key,String value){
        String token=getAccessToken();
        String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="  + token;
        Map<String,Object> content=new HashMap<>();
        JSONObject data = JSONUtil.createObj();
        //value 为需要设置的值   color为字体颜色
        data.put("thing4",new JSONObject().put("value",key));
        data.put("phrase2",new JSONObject().put("value",value));


        JSONObject miniProgram = JSONUtil.createObj();
        miniProgram.set("appid","wx42f93423792f65d5");
        miniProgram.set("path","gc_market/pages/chat/index");

        content.put("touser",openId);
        content.put("template_id","UMQCYRXxk0jnBXSdqOm0GIFApM3R149ZzcPhRfHZ72w");
        content.put("miniprogram",miniProgram);
        content.put("data",data);
        String resp = HttpUtil.post(requestUrl,new JSONObject(content).toString());
        System.out.println(content.toString());
        JSONObject result = JSONUtil.parseObj(resp);
        System.out.println("发送消息:" + resp);
        return;
    }

}

 

 

标签:String,implementation,发送,公众,org,put,import,com,模板
From: https://www.cnblogs.com/railgunRG/p/18420698

相关文章

  • java 根据模板导出word文档(poi-tl)
    poi-tl是什么poi-tl是一个基于Apache POI的Word模板引擎,也是一个免费开源的Java类库,你可以非常方便的加入到你的项目中,并且拥有着让人喜悦的特性。为什么选择poi-tl方案移植性功能性易用性Poi-tlJava跨平台Word模板引擎,基于ApachePOI,提供更友好的API低代码,准备......
  • 易优EyouCMS模板安装常见问题
    在安装易优EyouCMS模板时,可能会遇到一些常见问题。下面列出了一些可能遇到的问题及其解决方法:1.模板安装失败问题描述:在安装模板时,提示安装失败。解决方法:检查模板包:确保模板包完整且未损坏。检查权限:确保服务器上的文件和目录具有正确的权限,通常文件权限应设置为644,目录......
  • 多分录下推插件模板,亮点:只需配置好参数,代码无需改动
    多分录下推插件模板,金蝶云星空企业版亮点:只需配置好参数,代码无需改动usingKingdee.BOS.Core.Bill.PlugIn;usingKingdee.BOS.Core.Metadata;usingKingdee.BOS.ServiceHelper;usingKingdee.BOS.Util;usingSystem;usingSystem.ComponentModel;usingSystem.Data;nam......
  • [模板题] - 53. 最大子数组和
    题目链接53.最大子数组和思路1.前缀和2.动态规划题解链接两种方法:前缀和/动态规划(Python/Java/C++/C/Go/JS/Rust)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(前缀和):classSolution:defmaxSubArray(self,nums:List[int])->......
  • Z-BlogPHP 模板文件与模板标签
    在Z-BlogPHP中,模板文件和模板标签是非常重要的组成部分,用于生成前端页面。下面详细介绍Z-BlogPHP的模板文件结构和常用的模板标签。模板文件结构Z-BlogPHP的模板文件通常位于 /zb_users/theme/你的主题名字/template/ 目录下。常见的模板文件包括:index.php:首页模板文件......
  • 3D高斯渲染 (1-3)ros下 接受c++节点发送的位姿,python节点渲染图像返回,同步版本
    基础学习3D高斯渲染(1-2)ros下接受c++节点发送的位姿,python节点渲染图像返回https://www.cnblogs.com/gooutlook/p/18385485ros自定义消息(图像+标志位+位姿)python和c++发布和接受https://www.cnblogs.com/gooutlook/p/18412553 本工程代码为什么要做这个,因为之前的版本......
  • Kafka生产者如何实现消息的批量发送?
    ApacheKafka生产者可以实现消息的批量发送,这有助于提高数据传输的效率并减少网络负载。在Kafka中,生产者可以配置几个参数来控制批量发送的行为:batch.size:这个参数指定了生产者批次的大小(以字节为单位)。当生产者收集到一定数量的消息(达到指定的字节数),它会将这些消息......
  • Windows 10 使用SMTP向QQ邮箱发送邮件
    一、QQ邮箱开启SMTP服务登录QQ邮箱网页版:https://mail.qq.com。进入设置:右上角点击“设置”图标(齿轮图标)。在下拉菜单中选择“账户”。开启SMTP服务:在“账户设置”页面下,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”。点击“开启”旁边的“POP3/SMTP......
  • zblog 404.php 怎么写,zblogphp主题错误之模板选择
    在Z-BlogPHP中,如果你想要自定义404页面(即当用户访问不存在的页面时显示的页面),你可以创建一个 404.php 文件。下面是创建一个简单的404页面的基本步骤和示例代码:创建404.php文件创建文件:在你的主题目录中创建一个名为 404.php 的文件。添加基本HTML结构:在文件中......
  • Python Email库:发送与接收邮件完整指南!
    PythonEmail库如何集成?怎么优化PythonEmail库性能?Python作为一种强大的编程语言,提供了丰富的库来处理电子邮件,其中最著名的就是PythonEmail库。AokSend将深入探讨如何使用PythonEmail库来发送和接收邮件,帮助你掌握这一关键技能。PythonEmail库:安装配置只需确保你的Pyt......