From 5e121e6c9c2c7c04b85738a2d9bb81f13ea489ff Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 11 Sep 2023 18:09:15 +0800
Subject: [PATCH] 优惠卷
---
src/test/java/cc/mrbird/febs/AgentTest.java | 133 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 125 insertions(+), 8 deletions(-)
diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java
index 884a130..7be46b8 100644
--- a/src/test/java/cc/mrbird/febs/AgentTest.java
+++ b/src/test/java/cc/mrbird/febs/AgentTest.java
@@ -5,34 +5,42 @@
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
-import cc.mrbird.febs.mall.dto.AddOrderItemDto;
-import cc.mrbird.febs.mall.dto.AgentLevelUpdateDto;
-import cc.mrbird.febs.mall.dto.ApiCreateOrderVerifyDto;
-import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
+import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.quartz.ProfitJob;
import cc.mrbird.febs.mall.service.IAgentService;
-import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
-import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
+import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.pay.util.WechatConfigure;
import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.exceptions.ApiException;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
import org.aspectj.weaver.loadtime.Agent;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.web.client.RestTemplate;
+import javax.annotation.Resource;
+import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* @author wzy
@@ -72,6 +80,115 @@
private MallOrderItemMapper mallOrderItemMapper;
@Autowired
private MallGoodsMapper mallGoodsMapper;
+ @Autowired
+ private MallGoodsImagesMapper goodsImagesMapper;
+
+
+ @Autowired
+ private RedisUtils redisUtils;
+ @Resource
+ RestTemplate restTemplate;
+
+ public static final String API_KEY = "MPHXcBxkGLIDOmoaahS9pIB7";
+ public static final String SECRET_KEY = "f5ueNY65fE9C6FzFTVKc6Imo8NdZSWMw";
+
+ static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();
+ @Test
+ public void getAccessToken(){
+ ApiIdentifyAddressDto apiIdentifyAddressDto = new ApiIdentifyAddressDto();
+ apiIdentifyAddressDto.setText("上海市浦东新区纳贤路701号百度上海研发中心 F4A000 张三");
+ MediaType mediaType = MediaType.parse("application/json");
+ RequestBody body = RequestBody.create(mediaType, JSONUtil.toJsonStr(apiIdentifyAddressDto));
+ Request request = new Request.Builder()
+ .url("https://aip.baidubce.com/rpc/2.0/nlp/v1/address?access_token=" + redisUtils.get(WechatConfigure.BAIDU_ACCESS_TOKEN_REDIS_KEY).toString())
+ .method("POST", body)
+ .addHeader("Content-Type", "application/json")
+ .addHeader("Accept", "application/json")
+ .build();
+ try {
+ Response response = HTTP_CLIENT.newCall(request).execute();
+ String responseStr = response.body().string();
+ System.out.println(responseStr);
+ if (responseStr.contains("error_code")) {
+ System.out.println("获取access_token失败");
+ JSONObject jsonObject = JSONUtil.parseObj(responseStr);
+ System.out.print(jsonObject.get("error_code").toString());
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ @Test
+ public void getAccessToken2(){
+ // 官网获取的 API Key 更新为你注册的
+ String clientId = "MPHXcBxkGLIDOmoaahS9pIB7";
+ // 官网获取的 Secret Key 更新为你注册的
+ String clientSecret = "f5ueNY65fE9C6FzFTVKc6Imo8NdZSWMw";
+ String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
+ String getAccessTokenUrl = authHost
+ // 1. grant_type为固定参数
+ + "grant_type=client_credentials"
+ // 2. 官网获取的 API Key
+ + "&client_id=" + clientId
+ // 3. 官网获取的 Secret Key
+ + "&client_secret=" + clientSecret;
+ String jsonStr = restTemplate.getForObject(getAccessTokenUrl, String.class);
+
+ /**
+ * 返回结果
+ * {"access_token":"ACCESS_TOKEN","expires_in":7200}
+ */
+ if (!jsonStr.contains("access_token")) {
+ System.out.println("获取access_token失败");
+ }
+ com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(jsonStr);
+ String accessToken = jsonObject.getString("access_token");
+
+ String accessTokenKey = WechatConfigure.BAIDU_ACCESS_TOKEN_REDIS_KEY;
+ if (StrUtil.isEmpty(accessToken)) {
+ log.error("获取baidu access_token失败: {}" , jsonObject.getString("errmsg"));
+ throw new ApiException("获取access token失败");
+ } else {
+ log.info("baidu access_token : {}",accessToken);
+ System.out.println(accessToken);
+ redisUtils.set(accessTokenKey,accessToken);
+ }
+ }
+ @Test
+ public void goodsDetails(){
+ Long id = 68L;
+ MallGoods mallGoods = mallGoodsMapper.selectGoodsDetailById(id);
+ if (mallGoods == null) {
+ throw new FebsException("商品不存在");
+ }
+ List<String> images = goodsImagesMapper.selectGoodsImagesByGoodsId(mallGoods.getId());
+ MallGoodsDetailsVo mallGoodsDetailsVo = MallGoodsConversion.INSTANCE.entityToDetailsVo(mallGoods);
+
+ List<GoodsDetailsStyleVo> styles = mallGoodsDetailsVo.getStyles();
+ if(ObjectUtil.isNotEmpty(styles)){
+ for(GoodsDetailsStyleVo goodsDetailsStyleVo : styles){
+ List<GoodsDetailsSkuVo> skus = goodsDetailsStyleVo.getSkus();
+ if(CollUtil.isNotEmpty(skus) ){
+ for(GoodsDetailsSkuVo goodsDetailsSkuVo : skus){
+ if(StrUtil.isNotEmpty(goodsDetailsSkuVo.getSample())){
+ goodsDetailsSkuVo.setSampleFlag(true);
+ }else{
+ goodsDetailsSkuVo.setSampleFlag(false);
+ }
+ }
+ }
+ }
+ }
+
+ if (CollUtil.isNotEmpty(mallGoods.getStyles())) {
+ Map<String, BigDecimal> stockAndVolume = mallGoodsMapper.selectGoodsStockAndVolume(id);
+ mallGoodsDetailsVo.setStock(stockAndVolume.get("stock").intValue());
+ mallGoodsDetailsVo.setVolume(stockAndVolume.get("volume").intValue());
+ }
+ mallGoodsDetailsVo.setImages(images);
+
+ }
+
@Test
public void levelTest(){
ApiCreateOrderVerifyDto apiCreateOrderVerifyDto = new ApiCreateOrderVerifyDto();
@@ -103,7 +220,7 @@
}else{
//验证用户的等级
if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){
- System.out.println(sku.getSkuName() + "请先申请成为代理人");
+ System.out.println(sku.getSkuName() + "请先申请成为合伙人");
}
}
--
Gitblit v1.9.1