当前位置: 首页 > news >正文

网站备案后的标识/建站宝盒

网站备案后的标识,建站宝盒,咸阳网站建设seo,做网络推广的网站有哪些前言 access_toaken能干什么 自定义菜单,客户回复消息,图文上传都需要用到它。非常重要,但是它的使用是有次数的,每天只能使用2000次,所以我们要非常小心,因为它两个小时才过期,所以&#xff…

前言

access_toaken能干什么

自定义菜单,客户回复消息,图文上传都需要用到它。非常重要,但是它的使用是有次数的,每天只能使用2000次,所以我们要非常小心,因为它两个小时才过期,所以,只要我们重复使用它,还是够用的啦

[外链图片转存失败(img-GfWKrRR6-1566554003168)(https://raw.githubusercontent.com/HealerJean123/HealerJean123.github.io/master/blogImages/WX20180606-160021@2x.png)]

1、解决access_toaken失效问题

1.1、使用缓存(快)

1.2、使用数据库(慢)博主这里暂时没有缓存库,所以只能倒霉的用到数据库了,哎悲哀

1.2.1、实体

/*** @Desc: 为了防止调用测试过多* @Author HealerJean* @Date 2018/6/1  下午3:04.*/
@Data
@Entity
@Table(name = "wechat_access_toaken")
@Accessors(chain = true)
public class WechatAccessToaken {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String accessToaken; //防止调用过多 这里使用数据库进行添加@Temporal(TemporalType.TIMESTAMP)@Column(columnDefinition = "DEFAULT TIMESTI")private Date cdate;@UpdateTimestamp@Temporal(TemporalType.TIMESTAMP)private Date udate;}create table wechat_access_toaken(
id BIGINT(20) not null auto_increment,
accessToaken varchar(1000) default null,
cdate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
udate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY key (id));

2、获取access_toaken工具类

这里其实很重点了,这里获取access_toaken的时候,使用的是static方法,所以对于使用的服务层注入是不可以直接注入的,所以需要用到其他的一些简单的手段

@Resource
private WechatAccessToakenMapper wechatAccessToakenMapper;@Resource
private WechatAccessToakenRepository wechatAccessToakenRepository;//静态的方便直接调用
private static   AccessToakeUtil accessToakeUtil;@PostConstruct
public void init() {accessToakeUtil = this;accessToakeUtil.wechatAccessToakenRepository = this.wechatAccessToakenRepository;accessToakeUtil.wechatAccessToakenMapper = this.wechatAccessToakenMapper;}
package com.duodian.youhui.admin.utils;import com.duodian.youhui.admin.constants.WeChatMessageParams;
import com.duodian.youhui.admin.utils.SdkHttpHelper;
import com.duodian.youhui.dao.db.utils.WechatAccessToakenRepository;
import com.duodian.youhui.dao.mybatis.utils.WechatAccessToakenMapper;
import com.duodian.youhui.data.http.HttpBackBean;
import com.duodian.youhui.entity.db.utils.WechatAccessToaken;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Service;import javax.annotation.PostConstruct;
import javax.annotation.Resource;/*** @Desc: 获取access_toaken* @Author HealerJean* @Date 2018/5/25  上午11:34.*/
@Slf4j
@Service
public class AccessToakeUtil {@Resourceprivate WechatAccessToakenMapper wechatAccessToakenMapper;@Resourceprivate WechatAccessToakenRepository wechatAccessToakenRepository;//静态的方便直接调用private static   AccessToakeUtil accessToakeUtil;@PostConstructpublic void init() {accessToakeUtil = this;accessToakeUtil.wechatAccessToakenRepository = this.wechatAccessToakenRepository;accessToakeUtil.wechatAccessToakenMapper = this.wechatAccessToakenMapper;}/*** @Desc: 获取access_toaken* @Date:  2018/5/24 下午6:50.*/public  static String getAccessToaken(){WechatAccessToaken wechatAccessToaken =accessToakeUtil.getWechatAccessToaken();if(wechatAccessToaken!=null){ //先判断数据库中有没有return wechatAccessToaken.getAccessToaken();}String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ WeChatMessageParams.WECHAT_APPID + "&secret=" + WeChatMessageParams.WECHAT_APPSECRET;HttpBackBean httpBackBean = SdkHttpHelper.handleGet(url,null,null,SdkHttpHelper.OVERTIME);log.info("获取 accessToken 返回结果"+httpBackBean.getResult());String accessToken = JSONObject.fromObject(httpBackBean.getResult()).getString("access_token");if(accessToken!=null){accessToakeUtil.saveWechatAccessToaken(accessToken); //向数据库中保存accessToakenreturn  accessToken;}else {log.error("获取accessToken失败");}return null;}private WechatAccessToaken getWechatAccessToaken(){return accessToakeUtil.wechatAccessToakenMapper.findOnlyToday();}private WechatAccessToaken saveWechatAccessToaken(String accessToaken){accessToakeUtil.wechatAccessToakenRepository.deleteAll(); //保证只有一个数据WechatAccessToaken wechatAccessToaken = new WechatAccessToaken();wechatAccessToaken.setAccessToaken(accessToaken);return accessToakeUtil.wechatAccessToakenRepository.save(wechatAccessToaken);}
}

3、查询7000秒内的access_是否存在于数据库中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.duodian.youhui.dao.mybatis.utils.WechatAccessToakenMapper"><select id="findOnlyToday"  resultType="com.duodian.youhui.entity.db.utils.WechatAccessToaken"><![CDATA[ SELECT  * from  wechat_access_toaken w WHERE TIMESTAMPDIFF(SECOND ,w.cdate,now())  < 7000 ]]></select></mapper>

ContactAuthor

http://www.jmfq.cn/news/5015683.html

相关文章:

  • dw自己做网站/营销型网站seo
  • 网站开发配置状态统计样本/沈阳网站建设制作公司
  • b站推广网站2024大全/百度上做优化
  • 互联网网站开发发展/关键词简谱
  • Javaweb就是做网站吗/网页百度
  • php网站开发工具有哪些/网络营销的基本方法有哪些
  • 知名的环保行业网站开发/b2b电商平台
  • 创想ECS网站建设服务/磁力狗在线
  • 网站空间价格/seo优化的技巧
  • 幸福宝推广app网站入口/seo网络运营
  • 南通优普网站建设制作/网络推广服务合同
  • 可以做区位分析的网站/山东疫情最新情况
  • 个人开店的电商平台/seo优化代理
  • 建站之星官网 discuz/优化深圳seo
  • 泉州网站页面设计公司/成都网站建设系统
  • 140平米装修多少钱/seo营销策划
  • 威海建设局网站首页/怎样优化网站
  • 云主机 做网站/新手学seo
  • 网站制作的基本步骤/网络推广公司简介模板
  • 门户网站 cms/seo能从搜索引擎中获得更多的
  • php网站开发缓存的运用/seo综合查询工具下载
  • 先做网站还是服务器/建站之星官网
  • 淘宝网站开发源码/南京seo域名
  • 禁止粘贴的网站/品牌型网站制作价格
  • 建设招聘网站需要哪些资质/重庆seo全网营销
  • wordpress 内容 管理员查看/郑州seo关键词优化公司
  • 自己做的网站出现500错误怎么解决/今日热点新闻
  • 电子商务网站特点/长沙网站设计拓谋网络
  • 网站首页做301/怎么在百度发帖
  • 西宁网站建设平台公司/郑州网站建设七彩科技