增加拼团访问数、商品详情接口放开以及其它bug修复

This commit is contained in:
taozi
2021-04-18 19:21:50 +08:00
parent 36ac8839f2
commit 2c4f806ea2
13 changed files with 154 additions and 33 deletions

View File

@ -9,10 +9,17 @@
package co.yixiang.common.bean;
import co.yixiang.api.ApiCode;
import co.yixiang.api.UnAuthenticatedException;
import co.yixiang.common.util.JwtToken;
import co.yixiang.common.util.RequestUtils;
import co.yixiang.modules.user.domain.YxUser;
import com.auth0.jwt.interfaces.Claim;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
* 全局user
@ -44,4 +51,26 @@ public class LocalUser {
Integer scope = (Integer)map.get("scope");
return scope;
}
public static Long getUidByToken(){
String bearerToken = RequestUtils.getRequest().getHeader("Authorization");
if (StringUtils.isEmpty(bearerToken)) {
return 0L;
}
if (!bearerToken.startsWith("Bearer")) {
return 0L;
}
String[] tokens = bearerToken.split(" ");
if (!(tokens.length == 2)) {
return 0L;
}
String token = tokens[1];
Optional<Map<String, Claim>> optionalMap = JwtToken.getClaims(token);
Map<String, Claim> map = optionalMap
.orElseThrow(() -> new UnAuthenticatedException(ApiCode.UNAUTHORIZED));
return map.get("uid").asLong();
}
}

View File

@ -208,8 +208,8 @@ public class StoreProductController {
/**
* 普通商品详情
*/
@AppLog(value = "普通商品详情", type = 1)
@AuthCheck
//@AppLog(value = "普通商品详情", type = 1)
//@AuthCheck
@GetMapping("/product/detail/{id}")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "商品ID", paramType = "query", dataType = "long",required = true),
@ -222,7 +222,7 @@ public class StoreProductController {
@RequestParam(value = "",required=false) String latitude,
@RequestParam(value = "",required=false) String longitude,
@RequestParam(value = "",required=false) String from) {
long uid = LocalUser.getUser().getUid();
long uid = LocalUser.getUidByToken();
storeProductService.incBrowseNum(id);
ProductVo productDTO = storeProductService.goodsDetail(id,uid,latitude,longitude);
return ApiResult.ok(productDTO);