|
@@ -2,12 +2,17 @@ package com.qs.mp.framework.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.qs.mp.common.exception.ServiceException;
|
|
|
+import com.qs.mp.common.qcloud.QcloudFileUtils;
|
|
|
import com.qs.mp.common.utils.LogUtil;
|
|
|
+import com.qs.mp.common.utils.UUIDUtils;
|
|
|
import com.qs.mp.common.utils.http.HttpUtils;
|
|
|
import com.qs.mp.framework.service.IAppTokenService;
|
|
|
import com.qs.mp.framework.service.IWxUrlLinkService;
|
|
|
+import java.io.InputStream;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
+import org.apache.http.entity.ContentType;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -31,6 +36,12 @@ public class WxUrlLinkServiceImpl implements IWxUrlLinkService {
|
|
|
@Value("${wx-channel.appId}")
|
|
|
private String channelAppId;
|
|
|
|
|
|
+ /**
|
|
|
+ * 公开
|
|
|
+ */
|
|
|
+ @Value("${cloud.public-bucket-name}")
|
|
|
+ private String publicBucketName;
|
|
|
+
|
|
|
@Override
|
|
|
public String generate(String path, String query) {
|
|
|
Map<String, Object> param = new HashMap<String, Object>();
|
|
@@ -66,16 +77,25 @@ public class WxUrlLinkServiceImpl implements IWxUrlLinkService {
|
|
|
param.put("env_version", "trial");
|
|
|
// 获取access_token
|
|
|
String accessToken = appTokenService.getAccessToken(channelAppId);
|
|
|
- String res = HttpUtils.sendImagePost(
|
|
|
+ InputStream in = HttpUtils.sendImagePost(
|
|
|
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken,
|
|
|
JSON.toJSONString(param));
|
|
|
- LogUtil.info(logger, "小程序链接获取,path:{0},scene:{1},res:{2}",
|
|
|
- new Object[]{path, scene, res});
|
|
|
- JSONObject jsonObject = JSON.parseObject(res);
|
|
|
- if (jsonObject.getIntValue("errcode") != 0) {
|
|
|
- LogUtil.error(logger, "小程序码获取错误,res:{0}", res);
|
|
|
+ LogUtil.info(logger, "小程序链接获取,path:{0},scene:{1}",
|
|
|
+ new Object[]{path, scene});
|
|
|
+// JSONObject jsonObject = JSON.parseObject(res);
|
|
|
+ if (null == in) {
|
|
|
+ LogUtil.error(logger, "小程序码获取错误");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ // 上传图片
|
|
|
+ String uuid = UUIDUtils.newId();
|
|
|
+ try {
|
|
|
+
|
|
|
+ QcloudFileUtils.putStream(in, uuid, publicBucketName, ContentType.IMAGE_JPEG.getMimeType());
|
|
|
+ } catch (Exception e) {
|
|
|
+ LogUtil.error(logger, e, "小程序码获取错误");
|
|
|
return null;
|
|
|
}
|
|
|
- return res;
|
|
|
+ return uuid;
|
|
|
}
|
|
|
}
|