From c48b8c9a2538ee63b85707686c68662e211ec0bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= Date: Tue, 11 Jun 2024 12:09:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84jd=E5=95=86=E5=93=81=E6=8B=89?= =?UTF-8?q?=E5=8F=96=E3=80=81=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qihang/common/bo/LinkErpGoodsSkuBo.java | 2 +- .../com/qihang/common/enums/HttpStatus.java | 1 + .../jd/controller/GoodsApiController.java | 79 +++++++++++++++++++ .../qihang/jd/controller/GoodsController.java | 2 +- .../jd/controller/OrderApiController.java | 1 - vue/src/views/shop/jd/goods/index.vue | 8 +- 6 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java diff --git a/core/common/src/main/java/com/qihang/common/bo/LinkErpGoodsSkuBo.java b/core/common/src/main/java/com/qihang/common/bo/LinkErpGoodsSkuBo.java index ae65bf73..b9963ed3 100644 --- a/core/common/src/main/java/com/qihang/common/bo/LinkErpGoodsSkuBo.java +++ b/core/common/src/main/java/com/qihang/common/bo/LinkErpGoodsSkuBo.java @@ -6,5 +6,5 @@ import lombok.Data; public class LinkErpGoodsSkuBo { private String id;//主键ID private String erpGoodsSkuId;//ERP商品SkuId - private String erpSkuId;//ERP商品SkuId + } diff --git a/core/common/src/main/java/com/qihang/common/enums/HttpStatus.java b/core/common/src/main/java/com/qihang/common/enums/HttpStatus.java index a96f7e33..8cc45ec7 100644 --- a/core/common/src/main/java/com/qihang/common/enums/HttpStatus.java +++ b/core/common/src/main/java/com/qihang/common/enums/HttpStatus.java @@ -51,6 +51,7 @@ public class HttpStatus * 未授权 */ public static final int UNAUTHORIZED = 401; + public static final int UNAUTHORIZED1 = 1401; /** * 访问受限,授权过期 diff --git a/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java b/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java new file mode 100644 index 00000000..87a29757 --- /dev/null +++ b/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java @@ -0,0 +1,79 @@ +package com.qihang.jd.controller; + + +import cn.qihangerp.open.jd.GoodsApiHelper; +import cn.qihangerp.open.jd.common.ApiResultVo; +import cn.qihangerp.open.jd.model.GoodsSku; +import cn.qihangerp.open.jd.utils.DateUtil; +import com.alibaba.fastjson2.JSON; +import com.qihang.common.common.AjaxResult; +import com.qihang.common.enums.HttpStatus; +import com.qihang.jd.domain.OmsJdGoodsSku; +import com.qihang.jd.openApi.ApiCommon; +import com.qihang.jd.openApi.PullRequest; +import com.qihang.jd.service.OmsJdGoodsSkuService; +import com.qihang.security.common.BaseController; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; + +@AllArgsConstructor +@RestController +@RequestMapping("/goods") +public class GoodsApiController extends BaseController { + private final ApiCommon apiCommon; + private final OmsJdGoodsSkuService goodsSkuService; + + @RequestMapping(value = "/pull_goods", method = RequestMethod.POST) + public AjaxResult pullList(@RequestBody PullRequest params) throws Exception { + if (params.getShopId() == null || params.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + var checkResult = apiCommon.checkBefore(params.getShopId()); + if (checkResult.getCode() != HttpStatus.SUCCESS) { + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(),checkResult.getData()); + } + String accessToken = checkResult.getData().getAccessToken(); + String appKey = checkResult.getData().getAppKey(); + String appSecret = checkResult.getData().getAppSecret(); + + + //获取接口 + ApiResultVo upResult = GoodsApiHelper.pullGoods(appKey,appSecret,accessToken); + if(upResult.getCode() == 19) return AjaxResult.error(HttpStatus.UNAUTHORIZED1,"Token已过期"); + if(upResult.getCode()!=0) return AjaxResult.error(upResult.getCode(),upResult.getMsg()); + + int successTotal = 0;//新增成功的订单 + int totalError = 0; + int hasExistOrder = 0;//已存在的订单数 + for (GoodsSku sku: upResult.getList()) { + OmsJdGoodsSku goodsSku = new OmsJdGoodsSku(); + BeanUtils.copyProperties(sku, goodsSku); + goodsSku.setJdPrice(BigDecimal.valueOf(sku.getJdPrice()/100)); + goodsSku.setCreated( DateUtil.unixTimeToDate(sku.getCreated()/1000)); + goodsSku.setModified(DateUtil.unixTimeToDate(sku.getModified()/1000)); + goodsSku.setShopId(params.getShopId()); + if(sku.getSaleAttrs()!=null){ + goodsSku.setSaleAttrs(JSON.toJSONString(sku.getSaleAttrs())); + String attrs = ""; + for(GoodsSku.SaleAttrsDTO dto:sku.getSaleAttrs()){ + for(String s: dto.getAttrValueAlias()) { + attrs += s +";"; + } + } + goodsSku.setAttrs(attrs); + } + + goodsSkuService.saveGoodsSku(params.getShopId(), goodsSku); + successTotal++; + logger.info("添加商品:"+successTotal); + + } + return AjaxResult.success(); + } +} diff --git a/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsController.java b/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsController.java index 9cd0f564..52b9aad1 100644 --- a/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsController.java +++ b/open-api/jd-api/src/main/java/com/qihang/jd/controller/GoodsController.java @@ -50,7 +50,7 @@ public class GoodsController extends BaseController { { OmsJdGoodsSku sku = new OmsJdGoodsSku(); sku.setId(bo.getId()); - sku.setErpGoodsSkuId(Long.parseLong(bo.getErpSkuId())); + sku.setErpGoodsSkuId(Long.parseLong(bo.getErpGoodsSkuId())); skuService.updateById(sku); return success(); } diff --git a/open-api/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java b/open-api/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java index 1b07853f..2f4e304c 100644 --- a/open-api/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java +++ b/open-api/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java @@ -56,7 +56,6 @@ public class OrderApiController { return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(),checkResult.getData()); } String accessToken = checkResult.getData().getAccessToken(); - String serverUrl = checkResult.getData().getServerUrl(); String appKey = checkResult.getData().getAppKey(); String appSecret = checkResult.getData().getAppSecret(); diff --git a/vue/src/views/shop/jd/goods/index.vue b/vue/src/views/shop/jd/goods/index.vue index 29fd220f..c72d3cf7 100644 --- a/vue/src/views/shop/jd/goods/index.vue +++ b/vue/src/views/shop/jd/goods/index.vue @@ -74,7 +74,7 @@ - +