فهرست منبع

供应商快捷登录

huangzhiguo 1 سال پیش
والد
کامیت
ae113ffbf5

+ 45 - 0
src/main/java/com/caimei365/user/components/WeChatService.java

@@ -648,4 +648,49 @@ public class WeChatService {
         return ResponseJson.success(result);
     }
 
+    /**
+     * 获取微信urlscheme 联合丽格
+     *
+     * @param path
+     * @param query
+     * @return
+     */
+    public ResponseJson getOpenLinkMcare(String path, String query, String env) {
+        String token = null;
+        try {
+            String link = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
+            link = link.replace("APPID", mcareAppId);
+            link = link.replace("APPSECRET", mcareAppSecret);
+            String result = RequestUtil.sendGet(link);
+            log.info("微信公众号获取access_token>>>" + result);
+            Map<String, Object> map = JSONObject.parseObject(result, Map.class);
+            token = (String) map.get("access_token");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        String url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" + token;
+        JSONObject jumpWxa = new JSONObject();
+        jumpWxa.put("path", path);
+        jumpWxa.put("query", query);
+        //正式版为"release",体验版为"trial",开发版为"develop"
+        jumpWxa.put("env_version", env);
+
+        JSONObject reqMap = new JSONObject();
+        reqMap.put("jump_wxa", jumpWxa);
+        String result = "";
+        try {
+            // 发起请求
+            HttpRequest request = HttpUtil.createPost(url);
+            request.contentType("application/json");
+            request.body(reqMap.toJSONString());
+            result = request.execute().body();
+            result = URLDecoder.decode(result, "UTF-8");
+            log.info("微信获取getOpenLink回调报文" + result);
+            result = JSONObject.parseObject(result).getString("openlink");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return ResponseJson.success(result);
+    }
+
 }

+ 6 - 0
src/main/java/com/caimei365/user/controller/BaseApi.java

@@ -255,6 +255,12 @@ public class BaseApi {
         return weChatService.getOpenLink(path, query, env);
     }
 
+    @ApiOperation("获取微信跳转url  联合丽格")
+    @GetMapping("/wechat/link/mcare")
+    public ResponseJson getWechatLinkMcare(String path, String query, String env) {
+        return weChatService.getOpenLinkMcare(path, query, env);
+    }
+
     @ApiOperation("获取Dict")
     @GetMapping("/getDict")
     public ResponseJson getDict(String type) {

+ 10 - 4
src/main/java/com/caimei365/user/service/impl/ShopServiceImpl.java

@@ -2,6 +2,7 @@ package com.caimei365.user.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.caimei365.user.components.RedisService;
 import com.caimei365.user.feign.CommodityFeign;
 import com.caimei365.user.mapper.*;
 import com.caimei365.user.model.ResponseJson;
@@ -12,10 +13,7 @@ import com.caimei365.user.model.dto.ShopUpdateDto;
 import com.caimei365.user.model.po.*;
 import com.caimei365.user.model.vo.*;
 import com.caimei365.user.service.ShopService;
-import com.caimei365.user.utils.DateUtil;
-import com.caimei365.user.utils.GenerateUtils;
-import com.caimei365.user.utils.ImageUtils;
-import com.caimei365.user.utils.OssUtil;
+import com.caimei365.user.utils.*;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -42,6 +40,8 @@ public class ShopServiceImpl implements ShopService {
     @Value("${caimei.wwwDomain}")
     private String wwwDomain;
     @Resource
+    private RedisService redisService;
+    @Resource
     private CommodityFeign commodityFeign;
     @Resource
     private BaseMapper baseMapper;
@@ -68,6 +68,11 @@ public class ShopServiceImpl implements ShopService {
     @Override
     public ResponseJson<UserLoginVo> shortcutLogin(Integer userId) {
         UserLoginVo userLoginVo = shopMapper.getShopByUserId(userId);
+        // 生成token给用户
+        String token = JwtUtil.createToken(userId);
+        // 为了过期续签,将token存入redis,并设置超时时间
+        redisService.set(token, token, JwtUtil.getExpireTime());
+        userLoginVo.setToken(token);
         if (null != userLoginVo) {
             if (null != userLoginVo.getShopId()) {
                 if (null != userLoginVo.getShopStatus() && null != userLoginVo.getUserIdentity() && 3 == userLoginVo.getUserIdentity()) {
@@ -89,6 +94,7 @@ public class ShopServiceImpl implements ShopService {
                 if (null != shopProductList) {
                     for(String product : shopProductList ) {
                         if (StringUtils.isNotBlank(product)) {
+                            // 商品上架平台是否在联合丽格上架
                             if (product.contains("4")) {
                                 flag = true;
                             }