Kaynağa Gözat

添加代码用于获取订单信息

zhumin 8 ay önce
ebeveyn
işleme
e812a69322

+ 6 - 2
raycos_common/src/main/java/com/raycos/raycoscommon/Internal/datacenterapi/TbAmzToken.java

@@ -20,11 +20,11 @@ public class TbAmzToken {
     /**
      * 企业编号
      */
-    private Long companyId;
+    private String companyId;
     /**
      * 店铺ID
      */
-    private Long storeId;
+    private String externalSystemId;
     /**
      * 短令牌 接口访问令牌
      */
@@ -45,6 +45,10 @@ public class TbAmzToken {
      * 亚马逊区域ID
      */
     private String marketId;
+    /**
+     *  授权时应用程序生成的  (UUID) 值。
+     */
+    private String uuid;
 
 
 }

+ 7 - 1
raycos_common/src/main/java/com/raycos/raycoscommon/Internal/datacenterapi/TbStoreInfo.java

@@ -21,11 +21,12 @@ public class TbStoreInfo {
     /**
      * 企业编号
      */
-    private Long companyId;
+    private String companyId;
     /**
      * 店铺名称
      */
     private String storeName;
+
     /**
      * 店铺类型 跨境:1 本土:2
      */
@@ -58,4 +59,9 @@ public class TbStoreInfo {
      */
     private String region;
 
+    /**
+     * 外部系统id
+     */
+    private String externalSystemId;
+
 }

+ 2 - 2
raycos_common/src/main/java/com/raycos/raycoscommon/Internal/datacenterapi/vo/GetAmzTokenByLwaCodeVo.java

@@ -18,11 +18,11 @@ public class GetAmzTokenByLwaCodeVo {
     /**
      *  企业 ID
      */
-    private Long companyId;
+    private String companyId;
     /**
      *  亚马逊店铺信息ID
      */
-    private Long storeId;
+    private String storeId;
     /**
      * 用于生成 LWA 刷新令牌的 Login with Amazon (LWA) 授权码
      */

+ 3 - 0
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/AmzOrderController.java

@@ -8,4 +8,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/erp/amzorder")
 public class AmzOrderController {
+
+
+
 }

+ 20 - 5
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/AmzPullOrderController.java

@@ -3,12 +3,13 @@ package com.raycos.raycosdatacenterapi.amzorder;
 
 import com.raycos.raycoscommon.Internal.Result;
 import com.raycos.raycoscommon.Internal.datacenterapi.TbAmzPullOrderTask;
+import com.raycos.raycoscommon.Internal.datacenterapi.vo.Orders0VO;
 import com.raycos.raycosdatacenterapi.config.attach.SendAmzPullOrderMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
 
 /**
  * 亚马逊拉单
@@ -26,8 +27,20 @@ public class AmzPullOrderController {
     @Autowired
     private SendAmzPullOrderMsg sendAmzPullOrderMsg;
 
-    @GetMapping("/getorder")
-    public Result<String> getorder() {
+
+    @PostMapping("/getOrderRealTime")
+    public @ResponseBody  String getOrderRealTime(@RequestBody  Orders0VO orders0VO){
+        try {
+           return amzPullOrderService.getOrderRealTime(orders0VO);
+        }catch (Exception e){
+
+        }
+        return "";
+    }
+
+
+    @GetMapping("/getOrder")
+    public Result<String> getOrder(Map map) {
         Result<String> rt = new Result<>();
         try {
             log.info(" 来了老铁   ");
@@ -43,4 +56,6 @@ public class AmzPullOrderController {
     }
 
 
+
+
 }

+ 6 - 0
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/AmzPullOrderService.java

@@ -1,8 +1,14 @@
 package com.raycos.raycosdatacenterapi.amzorder;
 
 import com.raycos.raycoscommon.Internal.datacenterapi.TbAmzPullOrderTask;
+import com.raycos.raycoscommon.Internal.datacenterapi.vo.Orders0VO;
+
+import java.util.List;
+import java.util.Map;
 
 public interface AmzPullOrderService {
 
     void sendGetOrders (TbAmzPullOrderTask task )throws Exception;
+
+   String getOrderRealTime(Orders0VO orders0VO) throws Exception;
 }

+ 172 - 59
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/impl/AmzPullOrderServiceImpl.java

@@ -2,10 +2,16 @@ package com.raycos.raycosdatacenterapi.amzorder.impl;
 
 import com.alibaba.fastjson2.JSONObject;
 import com.raycos.raycoscommon.Internal.datacenterapi.TbAmzPullOrderTask;
+import com.raycos.raycoscommon.Internal.datacenterapi.TbAmzToken;
+import com.raycos.raycoscommon.Internal.datacenterapi.TbStoreInfo;
+import com.raycos.raycoscommon.Internal.datacenterapi.vo.Orders0VO;
+import com.raycos.raycoscommon.utils.HttpClientUtilRacy;
 import com.raycos.raycosdatacenterapi.amzorder.AmzPullOrderService;
 import com.raycos.raycosdatacenterapi.amzorder.util.AmazonUtil;
 import com.raycos.raycosdatacenterapi.amzorder.util.CommonUtil;
+import com.raycos.raycosdatacenterapi.amzorder.util.Constant;
 import com.raycos.raycosdatacenterapi.authorize.AmzTokenService;
+import com.raycos.raycosdatacenterapi.authorize.StoreInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
@@ -13,10 +19,18 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -30,6 +44,9 @@ public class AmzPullOrderServiceImpl implements AmzPullOrderService {
     @Autowired
     private AmzTokenService amzTokenService;
 
+    @Autowired
+    private StoreInfoService storeInfoService;
+
     //@Resource(name = "ExternalNetwork")
     private static RestTemplate enRrestTemplate;
 
@@ -46,75 +63,171 @@ public class AmzPullOrderServiceImpl implements AmzPullOrderService {
 
 
 
-    /**
-     * 拉取亚马逊订单
-     *
-     * @throws Exception
-     */
-    @Override
-    public void sendGetOrders(TbAmzPullOrderTask task) throws Exception {
-
-        // 根据 企业编号 与站点 查询 amz接口令牌
 
 
+    /**
+     * 实时拉去订单
+     * @param map
+     * @return
+     */
+    public String getOrderRealTime(Orders0VO orders0VO)throws Exception{
+        try{
+            //公司id
+            String companyId = orders0VO.getCompanyId();
+            //外部系统id
+            String externalSystemId = orders0VO.getExternalSystemId();
+            //请求时间
+            String createdAfter = orders0VO.getCreatedAfter();
+            //请求url
+            TbAmzToken tbAmzTokenQuery = new TbAmzToken();
+            tbAmzTokenQuery.setCompanyId(companyId);
+            tbAmzTokenQuery.setExternalSystemId(externalSystemId);
+            //获取token信息
+            List<TbAmzToken> listTbAmzToken = amzTokenService.selAmzToken(tbAmzTokenQuery);
+            //获取token信息
+            TbStoreInfo tbStoreInfoQuery = new TbStoreInfo();
+            tbStoreInfoQuery.setCompanyId(companyId);
+            tbStoreInfoQuery.setExternalSystemId(externalSystemId);
+            //获取商户信息
+            List<TbStoreInfo>  listTbStoreInfo =  storeInfoService.selStoreInfo(tbStoreInfoQuery);
+            //只有token 和 商户信息 不为空的情况下请求数据
+            if(!CollectionUtils.isEmpty(listTbAmzToken) && !CollectionUtils.isEmpty(listTbStoreInfo)){
+                TbAmzToken  tbAmzToken = listTbAmzToken.get(0);
+                TbStoreInfo tbStoreInfo = listTbStoreInfo.get(0);
+
+
+//                 String accessToken = "Atza|IwEBIB_6Jfa97EdFW7l7xqJxNesLmTHpUNShv895BiFoTxDlk7iJANR50kIjoRyd4UN7XaY-KCzvQ8N7XUaPOXon0ItDF5CUBKWpo6sUFQo4bgEU5gn8faO_8mBDw2czmDq-mHTCr0Fg5bXpcn9oxsZZAJrA8qy_HtlDYQNvzt5MKfD_BC8Dr43FyKPgX8eBCD3X6T7pxJCbLhGvdcAqOPRzvwXwn6w7celgztswlV_2KJaZUGoy9cSyXG5yDsjoKpEq6TS7A3MLbBhybZwjqXyuPKUlcH5nh309tDouGasVHozEhxbhAoOcmQETZl5nhSrfz4JzmcRrULWhKZMo-yv4rSyU";
+                String accessToken = tbAmzToken.getAccessToken();
+                String marketplaceId = tbStoreInfo.getState();
+
+                 String HOST = "sandbox.sellingpartnerapi-na.amazon.com";
+
+                 String region = tbStoreInfo.getRegion();
+
+                 String apiMethod = Constant.APIMETHODORDERS;
+
+
+                ZonedDateTime createdAfterA = ZonedDateTime.now(ZoneOffset.UTC).minusDays(60);
+                String createdAfterStr = createdAfterA.format(DateTimeFormatter.ISO_INSTANT);
+
+                ZonedDateTime createdBefore = ZonedDateTime.now(ZoneOffset.UTC).minusDays(1);
+                String createdBeforeStr = createdBefore.format(DateTimeFormatter.ISO_INSTANT);
+
+                String queryString = "CreatedAfter=TEST_CASE_200&MarketplaceIds=" + marketplaceId + "&MaxResultsPerPage=2";
+
+//                String queryString = "CreatedAfter="+createdAfterStr+"&CreatedBefore="+createdBeforeStr+"&MarketplaceIds=" + marketplaceId + "&MaxResultsPerPage=20";
+//                String queryString = "MarketplaceIds=" + marketplaceId + "&MaxResultsPerPage=20";
+
+                enRrestTemplate = new RestTemplate();
+                String url = "https://" + HOST + apiMethod + queryString;
+                log.info("======url==="+url);
+                // 设置请求头
+                HttpHeaders headers = new HttpHeaders();
+                headers.setAll(AmazonUtil.calculateAwsSignatureAndReturnHeaders(
+                        apiMethod,
+                        "GET",
+                        HOST,
+                        "",
+                        queryString,
+                        region,
+                        accessToken
+                ));
+                // 创建请求实体
+                HttpEntity<String> entity = new HttpEntity<>(headers);
+
+                // 发送请求
+                ResponseEntity<String> resp = enRrestTemplate.exchange(
+                        url,
+                        HttpMethod.GET,
+                        entity,
+                        String.class
+                );
+                log.info("   orders 接口返回 " + JSONObject.toJSONString(resp));
+
+
+                return JSONObject.toJSONString(resp);
+
+            }
+
+        }catch (Exception e){
+            log.info("系统异常",e);
+            throw new Exception(e);
+        }
 
+        return null;
     }
 
 
-    private static final String accessToken = "Atza|IwEBIPmiS7q9d3TZFgfAbYxjTbWVEdtuYoRKgR1DTeywc1BY6EsA6ROmvoqqlwvx_08JWZLHgg5mSXMLuRVPu9vgDqhzTuVc4JH2qcRWf-wegd2JpJY5NslLho6IG5ftGSwwbiuKgrGA_AI1tnW9BkHbZZhdQbDlW4sqoKfVrT_E9iEyZYfCsOZtoLpScMWbaBi2jaHjRv27tuS2jzpeDF-NzOOAETzPD7PKWKNfLp__eq1QabglUJ6ax5sBMYPsdZm30CViI6yZXZrfkV0zctkDJ4TPy7K58ARU5okQhQu6v9WN8oRZQOfx6ziPHoLlD5u9kUAAGL4GRojFEeXi6rdX4mLUeEI8cQlXGyspsP1Uv8xbnA";
-    private static final String marketplaceId = "ATVPDKIKX0DER";
-
-    private static final String HOST = "sandbox.sellingpartnerapi-na.amazon.com";
-    private static final String region = "us-east-1";
-
-    private static final String apiMethod = "/orders/v0/orders?";
 
+    /**
+     * 拉取亚马逊订单
+     *
+     * @throws Exception
+     */
+    @Override
+    public void sendGetOrders(TbAmzPullOrderTask task) throws Exception {
 
-//    Date date = new Date();
-//    String reqDateTime = CommonUtil.getTimeFormat(date, "yyyyMMdd'T'HHmmss'Z'", true);
-
-    public static void getorder1() throws Exception {
-
-        String queryString = "CreatedAfter=TEST_CASE_200&MarketplaceIds=" + marketplaceId + "&MaxResultsPerPage=2";
-        enRrestTemplate = new RestTemplate();
-        String url = "https://" + HOST + apiMethod + queryString;
-        // 设置请求头
-        HttpHeaders headers = new HttpHeaders();
-        headers.setAll(AmazonUtil.calculateAwsSignatureAndReturnHeaders(
-                apiMethod,
-                "GET",
-                HOST,
-                "",
-                queryString,
-                region,
-                accessToken
-        ));
-        // 创建请求实体
-        HttpEntity<String> entity = new HttpEntity<>(headers);
-
-        // 发送请求
-        ResponseEntity<String> resp = enRrestTemplate.exchange(
-                url,
-                HttpMethod.GET,
-                entity,
-                String.class
-        );
-        log.info("   orders 接口返回 " + JSONObject.toJSONString(resp));
+        // 根据 企业编号 与站点 查询 amz接口令
 
     }
 
-
-    public static void main(String[] args) {
-        Date date = new Date();
-        String reqDateTime = CommonUtil.getTimeFormat(date, "yyyyMMdd'T'HHmmss'Z'", true);
-        System.out.println(reqDateTime);
-        try {
-            AmzPullOrderServiceImpl.getorder1();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-
-    }
+//    private static final String accessToken = "Atza|IwEBIMPWxFtDg9cy36K3k7OkSMhuMvwDjH0Tu2SMTUM5bPbGYahZ8wW5TN3KG7ZPdUkOWE4kXzfrr7OULKORenrWKAcayimriOL_xDw1cTp2hFOm4V4QOHDeY_Y7daGxkdZwNZZ-lO_V00Zjw_p6jx0if0R_uI5Oi3uStKO9oZTcnvMKhtdo4g9xtEIpt4gWWE9cOrOUW_Nt0Nvn1ZocTfwrUHBwD8imnbD4CuTXTJn6Fn1vGvxmAKPnSZOHBpJuQNOXpyR4v_SWXtmgdeJmfk7Kz14lTM4BUfjyXDeOM0k-mxKtHRnRu3rDh8kwa3onyNZxvAOKavKhYbTmyjEMMmxykoB4hx3wMRmUzel7eIYAXPQ4BA";
+            //"Atza|IwEBIPmiS7q9d3TZFgfAbYxjTbWVEdtuYoRKgR1DTeywc1BY6EsA6ROmvoqqlwvx_08JWZLHgg5mSXMLuRVPu9vgDqhzTuVc4JH2qcRWf-wegd2JpJY5NslLho6IG5ftGSwwbiuKgrGA_AI1tnW9BkHbZZhdQbDlW4sqoKfVrT_E9iEyZYfCsOZtoLpScMWbaBi2jaHjRv27tuS2jzpeDF-NzOOAETzPD7PKWKNfLp__eq1QabglUJ6ax5sBMYPsdZm30CViI6yZXZrfkV0zctkDJ4TPy7K58ARU5okQhQu6v9WN8oRZQOfx6ziPHoLlD5u9kUAAGL4GRojFEeXi6rdX4mLUeEI8cQlXGyspsP1Uv8xbnA";
+
+//    private static final String accessToken = "Atza|IwEBIB_6Jfa97EdFW7l7xqJxNesLmTHpUNShv895BiFoTxDlk7iJANR50kIjoRyd4UN7XaY-KCzvQ8N7XUaPOXon0ItDF5CUBKWpo6sUFQo4bgEU5gn8faO_8mBDw2czmDq-mHTCr0Fg5bXpcn9oxsZZAJrA8qy_HtlDYQNvzt5MKfD_BC8Dr43FyKPgX8eBCD3X6T7pxJCbLhGvdcAqOPRzvwXwn6w7celgztswlV_2KJaZUGoy9cSyXG5yDsjoKpEq6TS7A3MLbBhybZwjqXyuPKUlcH5nh309tDouGasVHozEhxbhAoOcmQETZl5nhSrfz4JzmcRrULWhKZMo-yv4rSyU";
+//    private static final String marketplaceId = "ATVPDKIKX0DER";
+//
+//    private static final String HOST = "sandbox.sellingpartnerapi-na.amazon.com";
+//    private static final String region = "us-east-1";
+//
+//    private static final String apiMethod = "/orders/v0/orders?";
+//
+//
+////    Date date = new Date();
+////    String reqDateTime = CommonUtil.getTimeFormat(date, "yyyyMMdd'T'HHmmss'Z'", true);
+//
+//    public static void getorder1() throws Exception {
+//
+//        String queryString = "CreatedAfter=TEST_CASE_200&MarketplaceIds=" + marketplaceId + "&MaxResultsPerPage=2";
+//        enRrestTemplate = new RestTemplate();
+//        String url = "https://" + HOST + apiMethod + queryString;
+//        // 设置请求头
+//        HttpHeaders headers = new HttpHeaders();
+//        headers.setAll(AmazonUtil.calculateAwsSignatureAndReturnHeaders(
+//                apiMethod,
+//                "GET",
+//                HOST,
+//                "",
+//                queryString,
+//                region,
+//                accessToken
+//        ));
+//        // 创建请求实体
+//        HttpEntity<String> entity = new HttpEntity<>(headers);
+//
+//        // 发送请求
+//        ResponseEntity<String> resp = enRrestTemplate.exchange(
+//                url,
+//                HttpMethod.GET,
+//                entity,
+//                String.class
+//        );
+//        log.info("   orders 接口返回 " + JSONObject.toJSONString(resp));
+//
+//    }
+//
+//
+//    public static void main(String[] args) {
+//        Date date = new Date();
+//        String reqDateTime = CommonUtil.getTimeFormat(date, "yyyyMMdd'T'HHmmss'Z'", true);
+//        System.out.println(reqDateTime);
+//        try {
+//            AmzPullOrderServiceImpl.getorder1();
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//
+//    }
 
 }

+ 8 - 3
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/util/CommonUtil.java

@@ -1,5 +1,8 @@
 package com.raycos.raycosdatacenterapi.amzorder.util;
 
+import com.alibaba.fastjson2.JSON;
+import com.raycos.raycoscommon.Internal.datacenterapi.vo.Orders0VO;
+
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
 import java.io.UnsupportedEncodingException;
@@ -82,8 +85,10 @@ public class CommonUtil {
 	}
 
 	public static void main(String[] args) {
-		SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
-		f.setTimeZone(TimeZone.getTimeZone("UTC"));
-		System.out.println(f.format(new Date()));
+		Date date = new Date(); // 获取当前时间
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+		String isoFormattedString = sdf.format(date);
+		System.out.println("ISO Formatted String: " + isoFormattedString);
+
 	}
 }

+ 10 - 1
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/amzorder/util/Constant.java

@@ -8,7 +8,16 @@ public class Constant {
     public final static String CLIENTSECRET="amzn1.oa2-cs.v1.52b13f4ce04e83046b3426b620b6bfb94fd3ce61c815c6f68858af69d0ccbe54";
 
     public final static String TOKENURLAMZ = "https://api.amazon.com/auth/o2/token";
-    public static final String IAMUSERKEY = "AKIAQEIP3EPRYQUHPOEC";
+
+//    public final static String ORDERURL = "https://sellingpartnerapi-na.amazon.com/orders";
+
+    /**
+     * URL 测试
+     */
+    public final static String ORDERURL="sellingpartnerapi-na.amazon.com";
+
+    public final static String  APIMETHODORDERS = "/orders/v0/orders?";
+     public static final String IAMUSERKEY = "AKIAQEIP3EPRYQUHPOEC";
     public static final String IAMUSERSECRET = "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";
     public static String TERMINATIONSTRING = "aws4_request";
     public static String ALGORITHM = "AWS4-HMAC-SHA256";

+ 1 - 0
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/authorize/StoreInfoService.java

@@ -14,4 +14,5 @@ public interface StoreInfoService {
     List<TbStoreInfo> selStoreInfo (TbStoreInfo tbStoreInfo)throws Exception;
 
 
+
 }

+ 60 - 9
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/authorize/impl/AmzTokenServiceImpl.java

@@ -1,6 +1,8 @@
 package com.raycos.raycosdatacenterapi.authorize.impl;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.nacos.shaded.com.google.gson.Gson;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.raycos.raycoscommon.Internal.Result;
 import com.raycos.raycoscommon.Internal.datacenterapi.TbAmzToken;
 import com.raycos.raycoscommon.Internal.datacenterapi.TbStoreInfo;
@@ -10,6 +12,7 @@ import com.raycos.raycoscommon.json.TokenRetAmzJson;
 import com.raycos.raycoscommon.utils.HttpClientUtilRacy;
 import com.raycos.raycosdatacenterapi.amzorder.util.Constant;
 import com.raycos.raycosdatacenterapi.authorize.AmzTokenService;
+import com.raycos.raycosdatacenterapi.authorize.StoreInfoService;
 import com.raycos.raycosdatacenterapi.mapper.TbAmzTokenMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +21,9 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
@@ -71,6 +77,8 @@ public class AmzTokenServiceImpl implements AmzTokenService {
      */
     private String url = "https://api.amazon.com/auth/o2/token";
 
+    @Autowired
+    private StoreInfoService storeInfoService;
 
     private String getRequestBody(GetAmzTokenByLwaCodeVo gatblcVo) {
         TokenAmz amz = new TokenAmz();
@@ -100,7 +108,16 @@ public class AmzTokenServiceImpl implements AmzTokenService {
 
     @Override
     public List<TbAmzToken> selAmzToken(TbAmzToken tbAmzToken) throws Exception {
-        return tbAmzTokenMapper.selectList(null);
+        QueryWrapper<TbAmzToken> queryWrapper = new QueryWrapper<>();
+        if(!ObjectUtils.isEmpty(tbAmzToken)){
+            if(StringUtils.hasLength(tbAmzToken.getCompanyId())){
+                queryWrapper.eq("company_id", tbAmzToken.getCompanyId());
+            }
+            if(StringUtils.hasLength(tbAmzToken.getExternalSystemId())){
+                queryWrapper.eq("external_system_id", tbAmzToken.getExternalSystemId());
+            }
+        }
+        return tbAmzTokenMapper.selectList(queryWrapper);
     }
 
     @Override
@@ -209,7 +226,7 @@ public class AmzTokenServiceImpl implements AmzTokenService {
             // 组织保存数据
             TbAmzToken tbAmzToken = new TbAmzToken();
             tbAmzToken.setCompanyId(gatblcVo.getCompanyId());
-            tbAmzToken.setStoreId(gatblcVo.getStoreId());
+            tbAmzToken.setExternalSystemId(gatblcVo.getStoreId());
             tbAmzToken.setMarketId(gatblcVo.getSellingPartnerId());
 
             tbAmzToken.setAccessToken(tokenJson.getAccessToken());
@@ -234,7 +251,7 @@ public class AmzTokenServiceImpl implements AmzTokenService {
 
     /**
      * 用于保存长短链接
-     * @param tbStoreInfo
+     * @param maps
      * @throws Exception
      */
     public void saveAmzToken(Map maps)throws Exception{
@@ -247,18 +264,52 @@ public class AmzTokenServiceImpl implements AmzTokenService {
             reqMaps.put("code",code);
             reqMaps.put("client_id",Constant.CLIENTID);
             reqMaps.put("client_secret",Constant.CLIENTSECRET);
+            //state 转换uuid
+            String state = (String) maps.get("state");
+
+
             //用于获取refshtoken
             String respStr = HttpClientUtilRacy.doPost(Constant.TOKENURLAMZ,reqMaps);
-
+            //{"access_token":"Atza|IwEBIN_GXhVLMgzRAUGd9J7Ntu6Cwwy8mv3nu98QqM3PAYWW8iRI7RzfsmXIcdlcZn4rPGEI9_us5Bsl2fojXGYyLzwmWgLcoKDWKH--6Lc5UK92le1jpUpaCWhpoZiqnHX4YbYD_KC49RzSAFRrbjezNY21uiIrbQW3tEw5N8SopnyHIfo5nlSDyu9NGhOuYVVczQPnUavBImWuR4P87rccnCMLiJtBDgmpjY3lLjHZQuNLFXG8s3CK-_mmxkI8qmdlvqzlWxlpgVRIDqWZTg_QIYHvQ5BOIERa3WwkURLP_uM4XLJ7U50wMKwcGXEY5YyaWCA",
+            // "refresh_token":"Atzr|IwEBIGcU6T1OwDosyLnX1ujUaoHHRD0RisVb2VUnJHtMOutLHA-LNZJI_ZWVbNjBaSNSnLsws7WstKVo2n0uX7p1aXAD2YKlCwgAOTy4W0zwlSXv2jzy2VvQNFRhWb7WawXvSRMm6zdSBRJVrgwpyAU6PH0tKrb6neGdrXe-0CAL6FZX5Vr9bctOLJLqApCI_3LmYsQ2tolEIfhBj49RG7s6349lYSerIov3IRBZqJ_22iY50J8X_X9AAkMSfXxBxXHRv9g320Vi5vZvX6TyCpP4JK74R5JhUh0VJ2N3YPzm9d936-dr7Zc5bhqXOYw4QlbT6W5cmHTmue0cfLdCTuCElg9E",
+            // "token_type":"bearer",
+            // "expires_in":3600}
+            if(StringUtils.hasLength(respStr)){
+                Map respMap = new Gson().fromJson(respStr,HashMap.class);
+                //请求token
+                String accessToken = (String) respMap.get("access_token");
+                //刷新盾牌
+                String refreshToken = (String) respMap.get("refresh_token");
+                //盾牌类型
+                String tokenType = (String) respMap.get("token_type");
+                //有效时间
+                Double expiresIn = (Double) respMap.get("expires_in");
+
+                //查询对象
+                TbStoreInfo queryTbStoreInfo = new TbStoreInfo();
+                queryTbStoreInfo.setUuid(state);
+                //获取查询商户信息
+                List<TbStoreInfo> listTbStoreInfo=  storeInfoService.selStoreInfo(queryTbStoreInfo);
+                if(!CollectionUtils.isEmpty(listTbStoreInfo)){
+                    TbStoreInfo tbStoreInfo  = listTbStoreInfo.get(0);
+                    // 保存token数据
+                    TbAmzToken tbAmzToken = new TbAmzToken();
+                    tbAmzToken.setCompanyId(tbStoreInfo.getCompanyId()+"");
+                    tbAmzToken.setUuid(tbStoreInfo.getUuid());
+                    tbAmzToken.setAccessToken(accessToken);
+                    tbAmzToken.setTokenType(tokenType);
+                    tbAmzToken.setExpiresIn(new Long(expiresIn.longValue()));
+                    tbAmzToken.setRefreshToken(refreshToken);
+                    tbAmzToken.setExternalSystemId(tbStoreInfo.getExternalSystemId());
+                    this.addAmzToken(tbAmzToken);
+                }
+            }else{
+                log.info("====saveAmzToken===respStr");
+            }
             log.info("=====refshtoken====end====respStr="+respStr);
-
-
         }catch(Exception e){
             log.info("saveAmzToken====系统异常",e);
         }
-
-
     }
 
-
 }

+ 19 - 1
raycos_datacenter_api/src/main/java/com/raycos/raycosdatacenterapi/authorize/impl/StoreInfoServiceImpl.java

@@ -1,11 +1,13 @@
 package com.raycos.raycosdatacenterapi.authorize.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.raycos.raycoscommon.Internal.datacenterapi.TbStoreInfo;
 import com.raycos.raycosdatacenterapi.authorize.StoreInfoService;
 import com.raycos.raycosdatacenterapi.mapper.TbStoreInfoMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 
@@ -32,8 +34,24 @@ public class StoreInfoServiceImpl implements StoreInfoService {
 
     }
 
+    /**
+     * 获取订单信息
+     * @param tbStoreInfo
+     * @return
+     * @throws Exception
+     */
     @Override
     public List<TbStoreInfo> selStoreInfo(TbStoreInfo tbStoreInfo) throws Exception {
-        return tbStoreInfoMapper.selectList(null);
+        QueryWrapper<TbStoreInfo> queryWrapper = new QueryWrapper<>();
+        if(StringUtils.hasLength(tbStoreInfo.getUuid())){
+            queryWrapper.eq("uuid", tbStoreInfo.getUuid());
+        }
+        if(StringUtils.hasLength(tbStoreInfo.getCompanyId())){
+            queryWrapper.eq("company_id",tbStoreInfo.getCompanyId());
+        }
+        if(StringUtils.hasLength(tbStoreInfo.getExternalSystemId())){
+            queryWrapper.eq("external_system_id",tbStoreInfo.getExternalSystemId());
+        }
+        return tbStoreInfoMapper.selectList(queryWrapper);
     }
 }

+ 1 - 0
raycos_datacenter_api/src/main/resources/static/index.html

@@ -178,6 +178,7 @@
                         uuid: uuid,
                         stationsIdStr: AuthorizationForm.value.site.join(','),
                         storeModel: AuthorizationForm.value.storeModel.join(','),
+                        externalSystemId:90
                     };
                     debugger;
                     const response = await axios.post('http://127.0.0.1:18082/erp/amzstore/add', formData, {