package com.xiaopeng.pushMessage.controller;
|
|
|
import com.aliyun.core.annotation.Path;
|
import com.xiaopeng.api.feignClient.account.UserSubscribeMessageClient;
|
import com.xiaopeng.api.vo.pushMessage.SendSubscribeMessageVo;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.pushMessage.utils.SubscribeMessageUtil;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.Map;
|
|
@RestController
|
@RequestMapping("")
|
public class SubscribeMessageController {
|
|
|
@Resource
|
private SubscribeMessageUtil subscribeMessageUtil;
|
|
@Resource
|
private UserSubscribeMessageClient userSubscribeMessageClient;
|
|
|
/**
|
* 根据微信jscode获取openid
|
* @param code
|
* @return
|
*/
|
@GetMapping("/logan/inner/v1/subscribeMessage/getOpenId/{code}")
|
public R<String> getOpenId(@PathVariable("code") String code){
|
Map<String, Object> map = subscribeMessageUtil.code2Session(code);
|
if(null != map){
|
return R.ok(map.get("openid").toString());
|
}
|
return R.fail("获取openid失败");
|
}
|
|
|
/**
|
* 发送订阅消息
|
* @param vo
|
* @return
|
*/
|
@PostMapping("/logan/inner/v1/subscribeMessage/sendSubscribeMessage")
|
public R<?> sendSubscribeMessage(@RequestBody SendSubscribeMessageVo vo){
|
String openid = userSubscribeMessageClient.getUserOpenId(vo.getUserId().intValue()).getData();
|
return subscribeMessageUtil.send(vo.getTemplateId(), vo.getPage(), openid, vo.getJson(), "developer", "zh_CN");
|
}
|
}
|