| | |
| | | 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.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.mall.conversion.MallGoodsConversion; |
| | | 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.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.*; |
| | | 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 cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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; |
| | |
| | | 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; |