亚马逊JSON刊登
亚马逊刊登责任链设计
亚马逊JSON刊登进度
亚马逊刊登业务文档
亚马逊提供Mongo商品查询Provider接口设计
本文档使用 MrDoc 发布
-
+
首页
亚马逊提供Mongo商品查询Provider接口设计
## 前言 做这个业务的背景是需要亚马逊刊登每天晚上做一次**全量**店铺商品更新。更新后的最新数据落入Mongodb里。然后提供这个接口让前端程序可以直接查询到新数据 ## 1.引入Provider ```xml <dependency> <groupId>com.mabang.product</groupId> <artifactId>product-amazon-provider</artifactId> <version>1.0-SNAPSHOT</version> </dependency> ``` ## 2.接口说明 ```java /** * 类<code>AmazonMetaServiceFeign</code>说明:商品provider接口 * * @Author fangluo * @Email fangluo@mabangerp.com * @Since 2022/10/10 */ @FeignClient(name = "mdc-product-amazon-service") public interface AmazonProductServiceProvider { /** * 获取亚马逊mongo商品 Feign provider接口 * * @param getAmazonProductReqVo 请求对象 * @return 返回结果 */ @PostMapping("/product/getProductListByMongo") RestResultVo<GetAmazonProductRespVo> getProductListByMongo(@RequestBody GetAmazonProductReqVo getAmazonProductReqVo); } ``` #### 2.1 入参对象设计 ```java /** * 类<code>AmazonTaskReqVo</code>说明: * * @Author fangluo * @Email fangluo@mabangerp.com * @Since 2022/6/21 */ @Data public class GetAmazonProductReqVo implements Serializable { /** * 店铺id */ @NotNull(message = "店铺ID不能为空") private Long shopId; /** * 商品Asin集合 */ @NotEmpty(message = "Asin集合不能为空或长度不能超过100") private List<String> asinList; } ``` #### 2.2 返回对象设计 **GetAmazonProductRespVo.java** ```java /** * 类<code>AmazonTaskReqVo</code>说明: * * @Author fangluo * @Email fangluo@mabangerp.com * @Since 2022/6/21 */ @Builder @Data public class GetAmazonProductRespVo implements Serializable { /** * 店铺id */ private Long shopId; /** * 商品Asin集合 */ private List<MongoProductRespVo> productList; /** * 响应总数 */ private long total; } ``` **MongoProductRespVo.java** ```java /** * 类<code>MongoProductRespVo</code>说明:解析mongo商品 * * @Author fangluo * @Email fangluo@mabangerp.com * @Since 2022/10/10 */ @Data @Builder public class MongoProductRespVo { /** * id */ private String id; /** * 商品编号 */ private String productId; /** * 商品ASIN */ private String productAsin; /** * 平台编号 */ private Long platformId; /** * 站点 */ private String site; /** * appid */ private Long appId; /** * 店铺id */ private Long shopId; /** * 商品详情 */ private MongoAmazonProductRespVo mongoAmazonProductRespVo; /** * 最后修改时间 */ private Long updateTime; } ``` **MongoAmazonProductRespVo.java** ```java /** * 类<code>MongoAmazonProductRespVo</code>说明:mongo商品详情 * * @Author fangluo * @Email fangluo@mabangerp.com * @Since 2022/10/10 */ @Data public class MongoAmazonProductRespVo { /** * 商品名 */ private String productName; /** * 商品描述 */ private String productDescription; /** * 刊登id */ private String listingId; /** * 商品sku */ private String sellerSku; /** * 商品价格 */ private Double price; /** * 商品库存 */ private Integer quantity; /** * 刊登时间 */ private String openDate; /** * 图片url */ private String imageUrl; /** * unknwon */ private String productIdType; /** * 商品是否全新或几成新 */ private String itemCondition; /** * asin1 */ private String asin1; /** * asin2 */ private String asin2; /** * asin3 */ private String asin3; /** * 产品id */ private String productId; /** * 准备数量 */ private String pendingQuantity; /** * 配送渠道 DEFAULT or OTHER */ private String fulfillmentChannel; /** * 商品配送组 */ private String merchantShippingGroup; /** * 亚马逊状态 */ private String amazonStatus; /** * 品牌 */ private String brand; /** * 颜色 */ private String color; /** * size */ private String size; /** * 产品类型名 */ private String productTypeName; /** * false 单品或父商品 true 变种子商品 */ private Boolean isVariationChild; /** * 父Asin */ private String parentAsin; /** * 在线商品主表ID shopId+asin+parentSku */ private String productFlag; /** * 发货方式 DEFAULT就是FBM 代表商家自己发货, FBA代表亚马逊平台发货 */ private String shipping; /** * 子asin集合 */ private List<String> childAsin; } ``` ## 3.返回JSON结构 **假设入参asinList 是 ["B09JW1VTYV", "B09J83QKP9", "B09J8854DS"]** ```json { "success": true, "code": 200, "data": { "shopId": 104951762667241600, "productList": [ { "id": "6343c68b498df63c45ac9de8", "productId": "104951762667241600B09J83QKP9MHE1720B@#2574@blue", "productAsin": "B09J83QKP9", "platformId": 2, "site": "us", "appId": 1000000001, "shopId": 104951762667241600, "mongoAmazonProductRespVo": { "productName": "N.D Unisex Sunscreen Ice Silk Sleeves, Uv Protection Arm Sleeves Elastic Cooling Arm Cover for Outdoors Driving Cycling", "productDescription": "<strong>Description</strong><br/> 100% brand new, high quality<br/> <br/> <br/> <strong>Name:</strong> Ice Silk Sleeve Headgear<br/> Color as shown<br/> Project Type: Arm Warmer<br/> Glove size: about 34 cm (can be stretched about 100 cm)<br/> Wrist size: about 8 cm (can be stretched about 13 cm)<br/> Mask size: 24*40cm<br/> Function: sun protection, anti-ultraviolet, anti-ultraviolet, moisture wicking, cooling<br/> Material: ice silk<br/> Gender: Unisex<br/> <br/> Quality first, provide the best service. Customers are our friends.<br/> <br/> <strong>Notes:</strong><br/> 1. Please allow slight chromatic aberration in the photo<br/> 2. Due to manual measurement, the size may be deviated<br/> <strong>Package Included:</strong><br/> 1 pair of sleeves", "listingId": "1012Y7PF8MD", "sellerSku": "MHE1720B@#2574@blue", "price": 7.18, "quantity": 100, "openDate": "2021-10-12 00:02:14", "imageUrl": "{\"PT01\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/519IUdSnrHL.jpg\",\"variant\":\"PT01\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/519IUdSnrHL._SL75_.jpg\",\"variant\":\"PT01\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/711t6nfvoWL.jpg\",\"variant\":\"PT01\",\"width\":1001}],\"PT03\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41Yu5XXA6IL.jpg\",\"variant\":\"PT03\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41Yu5XXA6IL._SL75_.jpg\",\"variant\":\"PT03\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61dPsWAqxBL.jpg\",\"variant\":\"PT03\",\"width\":1001}],\"PT02\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51HmBEbqRyL.jpg\",\"variant\":\"PT02\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51HmBEbqRyL._SL75_.jpg\",\"variant\":\"PT02\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61UyoI1OjpL.jpg\",\"variant\":\"PT02\",\"width\":1001}],\"MAIN\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL.jpg\",\"variant\":\"MAIN\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL._SL75_.jpg\",\"variant\":\"MAIN\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51CLSkypAbL.jpg\",\"variant\":\"MAIN\",\"width\":1001}],\"PT05\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL.jpg\",\"variant\":\"PT05\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL._SL75_.jpg\",\"variant\":\"PT05\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51CLSkypAbL.jpg\",\"variant\":\"PT05\",\"width\":1001}],\"PT04\":[{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51YU1JOWqZL.jpg\",\"variant\":\"PT04\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51YU1JOWqZL._SL75_.jpg\",\"variant\":\"PT04\",\"width\":75},{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61-gau2IdbL.jpg\",\"variant\":\"PT04\",\"width\":1001}]}", "productIdType": "3", "itemCondition": "11", "asin1": "B09J83QKP9", "asin2": null, "asin3": null, "productId": "887507992447", "pendingQuantity": "0", "fulfillmentChannel": "DEFAULT", "merchantShippingGroup": "Migrated Template", "amazonStatus": "Active", "brand": "N.D", "color": "Blue", "size": "34cm", "productTypeName": "ARM_SLEEVE", "isVariationChild": true, "parentAsin": "B09J8854DS", "productFlag": "104951762667241600B09J83QKP9MHE1720B@#2574@blue", "shipping": "FBM", "childAsin": null }, "updateTime": 1665386123 }, { "id": "6343c67e498df63c45ac9cf2", "productId": "104951762667241600B09J8854DSMHE1720@#2574", "productAsin": "B09J8854DS", "platformId": 2, "site": "us", "appId": 1000000001, "shopId": 104951762667241600, "mongoAmazonProductRespVo": { "productName": "N.D Unisex Sunscreen Ice Silk Sleeves, Uv Protection Arm Sleeves Elastic Cooling Arm Cover for Outdoors Driving Cycling", "productDescription": "<strong>Description</strong><br/> 100% brand new, high quality<br/> <br/> <br/> <strong>Name:</strong> Ice Silk Sleeve Headgear<br/> Color as shown<br/> Project Type: Arm Warmer<br/> Glove size: about 34 cm (can be stretched about 100 cm)<br/> Wrist size: about 8 cm (can be stretched about 13 cm)<br/> Mask size: 24*40cm<br/> Function: sun protection, anti-ultraviolet, anti-ultraviolet, moisture wicking, cooling<br/> Material: ice silk<br/> Gender: Unisex<br/> <br/> Quality first, provide the best service. Customers are our friends.<br/> <br/> <strong>Notes:</strong><br/> 1. Please allow slight chromatic aberration in the photo<br/> 2. Due to manual measurement, the size may be deviated<br/> <strong>Package Included:</strong><br/> 1 pair of sleeves", "listingId": "1012Y7SJXGN", "sellerSku": "MHE1720@#2574", "price": 0, "quantity": 0, "openDate": "2021-10-12 00:02:14", "imageUrl": "{\"PT01\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/711t6nfvoWL.jpg\",\"variant\":\"PT01\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/519IUdSnrHL.jpg\",\"variant\":\"PT01\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/519IUdSnrHL._SL75_.jpg\",\"variant\":\"PT01\",\"width\":75}],\"PT03\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61dPsWAqxBL.jpg\",\"variant\":\"PT03\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41Yu5XXA6IL.jpg\",\"variant\":\"PT03\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41Yu5XXA6IL._SL75_.jpg\",\"variant\":\"PT03\",\"width\":75}],\"PT02\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61UyoI1OjpL.jpg\",\"variant\":\"PT02\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51HmBEbqRyL.jpg\",\"variant\":\"PT02\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51HmBEbqRyL._SL75_.jpg\",\"variant\":\"PT02\",\"width\":75}],\"MAIN\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51CLSkypAbL.jpg\",\"variant\":\"MAIN\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL.jpg\",\"variant\":\"MAIN\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL._SL75_.jpg\",\"variant\":\"MAIN\",\"width\":75}],\"PT05\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51CLSkypAbL.jpg\",\"variant\":\"PT05\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL.jpg\",\"variant\":\"PT05\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41vKtznlHcL._SL75_.jpg\",\"variant\":\"PT05\",\"width\":75}],\"PT04\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61-gau2IdbL.jpg\",\"variant\":\"PT04\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51YU1JOWqZL.jpg\",\"variant\":\"PT04\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51YU1JOWqZL._SL75_.jpg\",\"variant\":\"PT04\",\"width\":75}]}", "productIdType": "1", "itemCondition": "11", "asin1": "B09J8854DS", "asin2": null, "asin3": null, "productId": "B09J8854DS", "pendingQuantity": "0", "fulfillmentChannel": "DEFAULT", "merchantShippingGroup": "Migrated Template", "amazonStatus": "Incomplete", "brand": "N.D", "color": null, "size": null, "productTypeName": "ARM_SLEEVE", "isVariationChild": false, "parentAsin": null, "productFlag": "104951762667241600B09J8854DSMHE1720@#2574", "shipping": "FBM", "childAsin": [ "B09J83QKP9", "B09J82FJYJ", "B09J8G2F9V", "B09J8BM1ZD", "B09J8673WX" ] }, "updateTime": 1665386110 }, { "id": "6343c68b498df63c45ac9de0", "productId": "104951762667241600B09JW1VTYVLQK9826AQ2@#2574", "productAsin": "B09JW1VTYV", "platformId": 2, "site": "us", "appId": 1000000001, "shopId": 104951762667241600, "mongoAmazonProductRespVo": { "productName": "N.D 2pcs Happy Birthday Carbon Steel Cutting Dies, Embossing Dies Stencil Template Mould for DIY Scrapbooking Photo Album Paper Card Making Craft", "productDescription": "<strong>Feature:</strong><br/> Please note: other accessories are not included.<br/> 100% new quality<br/> <br/> <strong>Specification:</strong><br/> Brand new<br/> Type: Die cutting mold<br/> Material: carbon steel<br/> <br/> <strong>Neature:</strong><br/> Exquisite and lovely metal cutting mold, made of durable carbon steel material, reusable and easy to use<br/> used.<br/> The perfect DIY tool can be used for greeting cards, invitations, scrapbooks, photo albums, etc.<br/> <br/> <strong>Notes:</strong><br/> 1. Manual measurement tolerance is 2-5g. Please don't mind your replacement.<br/> 2. Due to the differences between different monitors, the image may not reflect the actual color of the item. thank you very much!<br/> 3. SKU color is product color<br/> <br/> <strong>Package Included:</strong><br/> 2 *Metal carbon steel tools", "listingId": "1020YO2NG96", "sellerSku": "LQK9826AQ2@#2574", "price": 6.62, "quantity": 100, "openDate": "2021-10-19 23:33:20", "imageUrl": "{\"PT01\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51TKMDlHODS.jpg\",\"variant\":\"PT01\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41OjLd8XkvS.jpg\",\"variant\":\"PT01\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41OjLd8XkvS._SL75_.jpg\",\"variant\":\"PT01\",\"width\":75}],\"PT03\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61kxPGVTbSL.jpg\",\"variant\":\"PT03\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51ebIpFXkFL.jpg\",\"variant\":\"PT03\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51ebIpFXkFL._SL75_.jpg\",\"variant\":\"PT03\",\"width\":75}],\"PT02\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/41-gNN8L4QL.jpg\",\"variant\":\"PT02\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/31hvcODUZqL.jpg\",\"variant\":\"PT02\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/31hvcODUZqL._SL75_.jpg\",\"variant\":\"PT02\",\"width\":75}],\"PT08\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61Cjacy8mJL.jpg\",\"variant\":\"PT08\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51gqcyxum1L.jpg\",\"variant\":\"PT08\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51gqcyxum1L._SL75_.jpg\",\"variant\":\"PT08\",\"width\":75}],\"MAIN\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/51PwVJ1N-YL.jpg\",\"variant\":\"MAIN\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/41z+X+q7nOL.jpg\",\"variant\":\"MAIN\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/41z+X+q7nOL._SL75_.jpg\",\"variant\":\"MAIN\",\"width\":75}],\"PT05\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/71TU6ugnvvL.jpg\",\"variant\":\"PT05\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/516kk15SExL.jpg\",\"variant\":\"PT05\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/516kk15SExL._SL75_.jpg\",\"variant\":\"PT05\",\"width\":75}],\"PT04\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/71JKZPSB4lL.jpg\",\"variant\":\"PT04\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51wnVWiJm8L.jpg\",\"variant\":\"PT04\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51wnVWiJm8L._SL75_.jpg\",\"variant\":\"PT04\",\"width\":75}],\"PT07\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61B5UjhfBsL.jpg\",\"variant\":\"PT07\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51p1PzdBScL.jpg\",\"variant\":\"PT07\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51p1PzdBScL._SL75_.jpg\",\"variant\":\"PT07\",\"width\":75}],\"PT06\":[{\"height\":1001,\"link\":\"https://m.media-amazon.com/images/I/61KXMcF-PWL.jpg\",\"variant\":\"PT06\",\"width\":1001},{\"height\":500,\"link\":\"https://m.media-amazon.com/images/I/51tiEZxEo5L.jpg\",\"variant\":\"PT06\",\"width\":500},{\"height\":75,\"link\":\"https://m.media-amazon.com/images/I/51tiEZxEo5L._SL75_.jpg\",\"variant\":\"PT06\",\"width\":75}]}", "productIdType": "3", "itemCondition": "11", "asin1": "B09JW1VTYV", "asin2": null, "asin3": null, "productId": "887507994199", "pendingQuantity": "0", "fulfillmentChannel": "DEFAULT", "merchantShippingGroup": "Migrated Template", "amazonStatus": "Active", "brand": "N.D", "color": null, "size": null, "productTypeName": "TEMPLATE_STENCIL", "isVariationChild": false, "parentAsin": null, "productFlag": "104951762667241600B09JW1VTYVLQK9826AQ2@#2574", "shipping": "FBM", "childAsin": null }, "updateTime": 1665386123 } ], "total": 3 }, "message": "成功", "currentTimestamp": 1665391141059 } ``` PS: 分辩**单品,变种**商品可以通过**isVariationChild,childAsin, parentAsin**三个属性来区分 单品: isVariationChild为false, childAsin为null, parentAsin为null 变种主商品: isVariationChild为false, childAsin不为null, parentAsin为null 变种子商品: isVariationChild为true, childAsin为null, parentAsin不为null ## 4.尾声 如有疑问, 直接企业微信联系方罗
thread
2022年10月10日 16:57
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码