|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | //验证用户的等级 | 
|---|
|  |  |  | if(AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())){ | 
|---|
|  |  |  | System.out.println(sku.getSkuName() + "请先申请成为代理人"); | 
|---|
|  |  |  | System.out.println(sku.getSkuName() + "请先申请成为合伙人"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|