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 getOpenId(@PathVariable("code") String code){ Map 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"); } }