Преглед изворни кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	zzjs-admin/src/main/java/com/miaxis/app/controller/film/FilmNotifyController.java
小么熊🐻 пре 4 година
родитељ
комит
7fa4dff953

+ 100 - 0
zzjs-admin/src/test/java/com/miaxis/test/WxTest.java

@@ -0,0 +1,100 @@
+package com.miaxis.test;
+
+import com.alibaba.fastjson.JSONObject;
+import com.miaxis.ZzjsApplication;
+import com.miaxis.feign.dto.AddTemplate;
+import com.miaxis.feign.dto.WxSend;
+import com.miaxis.feign.service.IWxAddTemplate;
+import com.miaxis.feign.service.IWxSendService;
+import com.miaxis.feign.service.IWxTemplateList;
+import com.miaxis.feign.service.IWxgetTokenService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@SpringBootTest(classes = ZzjsApplication.class)
+@RunWith(SpringRunner.class)
+public class WxTest {
+
+    private String token ="45_NDxpMTA7H4BUlbToZa9IHTCe4zyctpzyt_RNoaIOAGxTAtT_OQ3fZ2iTuSyXjILqC21eG8Pcyi6756FCSR0YWDbXyMoyL3GdJ9JHNm-qhZQZfEIwLe12TC2_b7f3Zmkj684Ph7xfu6bmNB8TSRJcAEAYXP";
+    @Autowired
+    private IWxgetTokenService wxgetTokenService;
+    @Autowired
+    private IWxSendService wxSendService;
+    @Autowired
+    private IWxAddTemplate wxAddTemplate;
+
+    @Autowired
+    private IWxTemplateList wxTemplateList;
+
+
+
+    @Value("${app.appid}")
+    private String appid;
+
+    @Value("${app.secret}")
+    private String secret;
+
+    @Test
+    public void getWxgetTokenService(){
+        String result = wxgetTokenService.getAccessToken("client_credential",appid,secret);
+
+        JSONObject json = JSONObject.parseObject(result);
+        String accessToken = json.get("access_token").toString();
+        String expiresIn = json.get("expires_in").toString();
+
+        System.out.println(accessToken);
+        System.out.println(expiresIn);
+
+    }
+
+    @Test
+    public void getWxSendService(){
+        WxSend wxSend = new WxSend();
+        wxSend.setAccess_token(token);
+        wxSend.setTouser("oO7PJ5JxqYj0kVYLb1e3FG55mD8E");
+        wxSend.setTemplate_id("NlZAFJj1p5aHFOg6BBesP7xFAJh5kIZ0kp_YwtJje0g");
+        wxSend.setPage("/pages/index/index?active=user");
+
+        JSONObject jsonObject = new JSONObject();
+        JSONObject jsonObject1 = new JSONObject();
+        JSONObject jsonObject2 = new JSONObject();
+        JSONObject jsonObject3 = new JSONObject();
+        jsonObject1.put("value","2019年10月1日");
+        jsonObject2.put("value","林霖强");
+        jsonObject3.put("value","3");
+        jsonObject.put("time3",jsonObject1);
+        jsonObject.put("name1",jsonObject2);
+        jsonObject.put("thing2",jsonObject3);
+
+        wxSend.setData(jsonObject);
+        wxSend.setMiniprogram_state("developer");
+        wxSend.setLang("zh_CN");
+
+        String result = wxSendService.sendMessage(token,wxSend);
+        System.out.println(result);
+    }
+
+
+    @Test
+    public void addWxTemplate(){
+        AddTemplate addTemplate = new AddTemplate();
+        addTemplate.setAccess_token(token);
+        addTemplate.setTid("gAayj95qwP5C59NApKj9VCis3zpnfg5G3TqJIOx-CGc");
+        Integer[] intList = {1,2,3};
+        addTemplate.setKidList(intList);
+        addTemplate.setSceneDesc("测试模板");
+        String result = wxAddTemplate.addTemplate(token,addTemplate);
+        System.out.println(result);
+    }
+
+    @Test
+    public void getWxTemplate(){
+        String result =  wxTemplateList.getAccessToken(token);;
+        System.out.println(result);
+    }
+
+}

+ 15 - 0
zzjs-service/src/main/java/com/miaxis/feign/dto/AddTemplate.java

@@ -0,0 +1,15 @@
+package com.miaxis.feign.dto;
+
+import lombok.Data;
+
+@Data
+public class AddTemplate {
+
+    private String access_token;  //是	接口调用凭证
+    private String tid;		//是	模板标题 id,可通过接口获取,也可登录小程序后台查看获取
+    private Integer[] kidList;  //是 开发者自行组合好的模板关键词列表,关键词顺序可以自由搭配(例如 [3,5,4] 或 [4,5,3]),最多支持5个,最少2个关键词组合
+    private String sceneDesc;   //否	服务场景描述,15个字以内
+
+
+
+}

+ 17 - 0
zzjs-service/src/main/java/com/miaxis/feign/dto/WxSend.java

@@ -0,0 +1,17 @@
+package com.miaxis.feign.dto;
+
+import lombok.Data;
+
+@Data
+public class WxSend {
+
+    //公共参数
+    private String access_token;  //是	接口调用凭证
+    private String touser; //是	接收者(用户)的 openid
+    private String template_id;  // 是	所需下发的订阅模板id
+    private String page; //否	点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
+    private Object data; //是 模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
+    private String miniprogram_state; //否	跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
+    private String lang;  //否 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
+
+}

+ 20 - 0
zzjs-service/src/main/java/com/miaxis/feign/service/IWxAddTemplate.java

@@ -0,0 +1,20 @@
+package com.miaxis.feign.service;
+
+import com.miaxis.common.config.FeignConfig;
+import com.miaxis.feign.dto.AddTemplate;
+import com.miaxis.feign.dto.WxSend;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ *
+ * 微信接口
+ */
+@FeignClient(name="wxAddTemplate",
+        url = "https://api.weixin.qq.com/wxaapi/newtmpl",configuration = FeignConfig.class)
+public interface IWxAddTemplate {
+
+    @PostMapping(value = "/addtemplate")
+    String addTemplate(@RequestParam("access_token") String accessToken, AddTemplate addTemplate);
+}

+ 22 - 0
zzjs-service/src/main/java/com/miaxis/feign/service/IWxSendService.java

@@ -0,0 +1,22 @@
+package com.miaxis.feign.service;
+
+import com.miaxis.common.config.FeignConfig;
+import com.miaxis.feign.dto.Pdd;
+import com.miaxis.feign.dto.WxSend;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ *
+ * 微信接口
+ */
+@FeignClient(name="wxSendService",
+        url = "https://api.weixin.qq.com/cgi-bin/message",configuration = FeignConfig.class)
+public interface IWxSendService {
+
+    @PostMapping(value = "/subscribe/send")
+    String sendMessage(@RequestParam("access_token")String accessToken, WxSend wxSend);
+
+
+}

+ 15 - 0
zzjs-service/src/main/java/com/miaxis/feign/service/IWxTemplateList.java

@@ -0,0 +1,15 @@
+package com.miaxis.feign.service;
+
+import com.miaxis.common.config.FeignConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(name="wxTemplateList",
+        url = "https://api.weixin.qq.com/wxaapi/newtmpl/",configuration = FeignConfig.class)
+public interface IWxTemplateList {
+
+    @GetMapping(value = "/gettemplate")
+    String getAccessToken(@RequestParam("access_token") String access_token);
+
+}

+ 24 - 0
zzjs-service/src/main/java/com/miaxis/feign/service/IWxgetTokenService.java

@@ -0,0 +1,24 @@
+package com.miaxis.feign.service;
+
+
+import com.miaxis.common.config.FeignConfig;
+import com.miaxis.feign.service.fallback.CarFallBackService;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+
+@FeignClient(name="wxgetTokenService",
+        url = "https://api.weixin.qq.com/cgi-bin",
+        fallbackFactory = CarFallBackService.class,configuration = FeignConfig.class)
+@Component
+public interface IWxgetTokenService {
+
+
+    @GetMapping(value = "/token")
+    String getAccessToken(@RequestParam("grant_type") String grant_type,
+               @RequestParam("appid") String appid,
+               @RequestParam("secret") String secret);
+
+}