新增jd商品同步到商品库功能
This commit is contained in:
parent
a35f7933bc
commit
f65e05f725
|
|
@ -16,6 +16,9 @@ import lombok.AllArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RequestMapping("/jd/goods")
|
@RequestMapping("/jd/goods")
|
||||||
@RestController
|
@RestController
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
@ -60,4 +63,30 @@ public class JdGoodsController extends BaseController {
|
||||||
else return AjaxResult.error(resultVo.getMsg());
|
else return AjaxResult.error(resultVo.getMsg());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送商品到OMS
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/push_oms")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult pushOms(@RequestBody String[] ids) {
|
||||||
|
if (ids == null || ids.length == 0) return AjaxResult.error("缺少参数");
|
||||||
|
int success = 0;
|
||||||
|
int isExist = 0;
|
||||||
|
int fail = 0;
|
||||||
|
for (String id : ids) {
|
||||||
|
ResultVo resultVo = goodsService.pushToOms(Long.parseLong(id));
|
||||||
|
if(resultVo.getCode()==0) success++;
|
||||||
|
else if(resultVo.getCode()==ResultVoEnum.DataExist.getIndex()) isExist++;
|
||||||
|
else fail++;
|
||||||
|
}
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("success", success);
|
||||||
|
map.put("isExist", isExist);
|
||||||
|
map.put("fail", fail);
|
||||||
|
map.put("total", success + isExist+fail);
|
||||||
|
return success(map);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,5 @@ public interface JdGoodsService extends IService<JdGoods> {
|
||||||
PageResult<JdGoods> queryPageList(JdGoodsBo bo, PageQuery pageQuery);
|
PageResult<JdGoods> queryPageList(JdGoodsBo bo, PageQuery pageQuery);
|
||||||
ResultVo<Integer> saveGoods(Long shopId, JdGoods goods);
|
ResultVo<Integer> saveGoods(Long shopId, JdGoods goods);
|
||||||
ResultVo<Integer> saveGoodsSku(Long shopId, JdGoodsSku goodsSku);
|
ResultVo<Integer> saveGoodsSku(Long shopId, JdGoodsSku goodsSku);
|
||||||
|
ResultVo pushToOms(Long taoGoodsId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,15 @@
|
||||||
package cn.qihangerp.module.open.jd.service.impl;
|
package cn.qihangerp.module.open.jd.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.qihangerp.common.ResultVoEnum;
|
||||||
|
import cn.qihangerp.module.goods.domain.OGoods;
|
||||||
|
import cn.qihangerp.module.goods.domain.OGoodsInventory;
|
||||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||||
|
import cn.qihangerp.module.goods.mapper.OGoodsInventoryMapper;
|
||||||
|
import cn.qihangerp.module.goods.mapper.OGoodsMapper;
|
||||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
|
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -22,7 +29,12 @@ import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qilip
|
* @author qilip
|
||||||
|
|
@ -36,6 +48,8 @@ public class JdGoodsServiceImpl extends ServiceImpl<JdGoodsMapper, JdGoods>
|
||||||
private final JdGoodsMapper mapper;
|
private final JdGoodsMapper mapper;
|
||||||
private final JdGoodsSkuMapper skuMapper;
|
private final JdGoodsSkuMapper skuMapper;
|
||||||
private final OGoodsSkuMapper goodsSkuMapper;
|
private final OGoodsSkuMapper goodsSkuMapper;
|
||||||
|
private final OGoodsMapper goodsMapper;
|
||||||
|
private final OGoodsInventoryMapper inventoryMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<JdGoods> queryPageList(JdGoodsBo bo, PageQuery pageQuery) {
|
public PageResult<JdGoods> queryPageList(JdGoodsBo bo, PageQuery pageQuery) {
|
||||||
|
|
@ -118,6 +132,195 @@ public class JdGoodsServiceImpl extends ServiceImpl<JdGoodsMapper, JdGoods>
|
||||||
}
|
}
|
||||||
return ResultVo.success();
|
return ResultVo.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public ResultVo pushToOms(Long taoGoodsId) {
|
||||||
|
JdGoods shopGoods = mapper.selectById(taoGoodsId);
|
||||||
|
if(shopGoods==null) return ResultVo.error("店铺商品数据不存在");
|
||||||
|
|
||||||
|
List<JdGoodsSku> shopGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<JdGoodsSku>().eq(JdGoodsSku::getWareId, shopGoods.getWareId()));
|
||||||
|
if(shopGoodsSkus==null || shopGoodsSkus.isEmpty()) return ResultVo.error("店铺商品Sku数据不存在");
|
||||||
|
|
||||||
|
String goodsNum ="";
|
||||||
|
if(org.springframework.util.StringUtils.hasText(shopGoods.getItemNum())){
|
||||||
|
goodsNum = shopGoods.getItemNum();
|
||||||
|
// 用商家编码查询
|
||||||
|
List<OGoods> erpGoodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>()
|
||||||
|
.eq(OGoods::getGoodsNum, goodsNum));
|
||||||
|
if(erpGoodsList!=null && !erpGoodsList.isEmpty()){
|
||||||
|
// 存在=======关联
|
||||||
|
//更新shopGoods
|
||||||
|
JdGoods shopGoodsUpdate = new JdGoods();
|
||||||
|
shopGoodsUpdate.setId(shopGoods.getId());
|
||||||
|
shopGoodsUpdate.setLogo(erpGoodsList.get(0).getImage());
|
||||||
|
shopGoodsUpdate.setErpGoodsId(erpGoodsList.get(0).getId());
|
||||||
|
mapper.updateById(shopGoodsUpdate);
|
||||||
|
|
||||||
|
List<OGoodsSku> oGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>()
|
||||||
|
.eq(OGoodsSku::getGoodsId, erpGoodsList.get(0).getId())
|
||||||
|
);
|
||||||
|
//更新skus
|
||||||
|
for (var sku:shopGoodsSkus){
|
||||||
|
if(org.springframework.util.StringUtils.hasText(sku.getOuterId())){
|
||||||
|
List<OGoodsSku> oGoodsSkuList = oGoodsSkus.stream().filter(x -> x.getSkuCode().equals(sku.getOuterId())).collect(Collectors.toList());
|
||||||
|
if(oGoodsSkuList!=null && !oGoodsSkuList.isEmpty()){
|
||||||
|
//更新ShopGoodsSku
|
||||||
|
JdGoodsSku shopGoodsSkuUpdate = new JdGoodsSku();
|
||||||
|
shopGoodsSkuUpdate.setId(sku.getId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsId(oGoodsSkuList.get(0).getGoodsId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsSkuId(oGoodsSkuList.get(0).getId());
|
||||||
|
shopGoodsSkuUpdate.setLogo(oGoodsSkuList.get(0).getColorImage());
|
||||||
|
skuMapper.updateById(shopGoodsSkuUpdate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultVo.success("商品已存在,更新关联");
|
||||||
|
}
|
||||||
|
|
||||||
|
}else {
|
||||||
|
goodsNum = shopGoods.getWareId().toString();
|
||||||
|
// 用商品ID查询
|
||||||
|
List<OGoods> erpGoodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>()
|
||||||
|
.eq(OGoods::getGoodsNum, goodsNum));
|
||||||
|
if(erpGoodsList!=null && !erpGoodsList.isEmpty()){
|
||||||
|
return ResultVo.error(ResultVoEnum.DataExist.getIndex(),"商品已存在");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 添加商品
|
||||||
|
OGoods erpGoods = new OGoods();
|
||||||
|
erpGoods.setName(shopGoods.getTitle());
|
||||||
|
erpGoods.setImage(shopGoods.getLogo());
|
||||||
|
erpGoods.setGoodsNum(goodsNum);
|
||||||
|
erpGoods.setCategoryId(0L);
|
||||||
|
erpGoods.setRemark("JD店铺商品同步");
|
||||||
|
erpGoods.setStatus(1);
|
||||||
|
erpGoods.setDisable(1);
|
||||||
|
if (shopGoods.getJdPrice() != null) {
|
||||||
|
erpGoods.setRetailPrice(shopGoods.getJdPrice());
|
||||||
|
}
|
||||||
|
erpGoods.setCreateBy("JD店铺商品同步");
|
||||||
|
erpGoods.setCreateTime(new Date());
|
||||||
|
goodsMapper.insert(erpGoods);
|
||||||
|
|
||||||
|
//更新shopGoods
|
||||||
|
JdGoods shopGoodsUpdate = new JdGoods();
|
||||||
|
shopGoodsUpdate.setId(shopGoods.getId());
|
||||||
|
shopGoodsUpdate.setErpGoodsId(erpGoods.getId());
|
||||||
|
mapper.updateById(shopGoodsUpdate);
|
||||||
|
|
||||||
|
// 添加商品SKU
|
||||||
|
for (var sku:shopGoodsSkus){
|
||||||
|
OGoodsSku erpGoodsSku = new OGoodsSku();
|
||||||
|
erpGoodsSku.setGoodsId(erpGoods.getId());
|
||||||
|
erpGoodsSku.setGoodsName(erpGoods.getName());
|
||||||
|
erpGoodsSku.setGoodsNum(erpGoods.getGoodsNum());
|
||||||
|
//122216927:77835123:家具结构:框架结构;1627207:25326567650:颜色分类:奶油白【进口荔枝纹头层牛皮+碳素钢木排骨架】;21433:50753444:尺寸:1500mm*2000mm
|
||||||
|
// 组合规格
|
||||||
|
String colorLabel="";
|
||||||
|
String colorValue="";
|
||||||
|
String sizeLabel="";
|
||||||
|
String sizeValue="";
|
||||||
|
String styleLabel="";
|
||||||
|
String styleValue="";
|
||||||
|
//组合属性
|
||||||
|
if(org.springframework.util.StringUtils.hasText(sku.getSaleAttrs())) {
|
||||||
|
// 解析 JSON 字符串
|
||||||
|
JSONArray jsonArray = JSONArray.parseArray(sku.getSaleAttrs());
|
||||||
|
// 提取 attrValueAlias
|
||||||
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
|
JSONObject item = jsonArray.getJSONObject(i);
|
||||||
|
JSONArray attrValueAlias = item.getJSONArray("attrValueAlias");
|
||||||
|
String val="";
|
||||||
|
try {
|
||||||
|
JSONArray jarr =JSONArray.parseArray(attrValueAlias.getString(0));
|
||||||
|
for (int j = 0; j < jarr.size(); j++) {
|
||||||
|
val += jarr.getJSONObject(j).getString("value");
|
||||||
|
if(jarr.getJSONObject(j).containsKey("unit")){
|
||||||
|
val+= jarr.getJSONObject(j).getString("unit");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
val = attrValueAlias.getString(0);
|
||||||
|
}
|
||||||
|
if (item.getInteger("index") == 1) {
|
||||||
|
colorLabel = "颜色分类";
|
||||||
|
colorValue = val;
|
||||||
|
} else if (item.getInteger("index") == 2) {
|
||||||
|
sizeLabel = "尺寸";
|
||||||
|
sizeValue =val;
|
||||||
|
}else if (item.getInteger("index") == 3) {
|
||||||
|
styleLabel = "款式";
|
||||||
|
styleValue = val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
colorValue="默认";
|
||||||
|
colorLabel="颜色分类";
|
||||||
|
}
|
||||||
|
|
||||||
|
erpGoodsSku.setColorId(0L);
|
||||||
|
erpGoodsSku.setColorLabel(colorLabel);
|
||||||
|
erpGoodsSku.setColorValue(colorValue);
|
||||||
|
erpGoodsSku.setSizeId(0L);
|
||||||
|
erpGoodsSku.setSizeLabel(sizeLabel);
|
||||||
|
erpGoodsSku.setSizeValue(sizeValue);
|
||||||
|
erpGoodsSku.setStyleId(0L);
|
||||||
|
erpGoodsSku.setStyleLabel(styleLabel);
|
||||||
|
erpGoodsSku.setStyleValue(styleValue);
|
||||||
|
String skuName="";
|
||||||
|
if(org.springframework.util.StringUtils.hasText(colorValue)){
|
||||||
|
skuName += colorValue+" ";
|
||||||
|
}
|
||||||
|
if(org.springframework.util.StringUtils.hasText(sizeValue)){
|
||||||
|
skuName += sizeValue+" ";
|
||||||
|
}
|
||||||
|
if(org.springframework.util.StringUtils.hasText(styleValue)){
|
||||||
|
skuName += styleValue+" ";
|
||||||
|
}
|
||||||
|
if(!org.springframework.util.StringUtils.hasText(skuName)){
|
||||||
|
skuName = "默认";
|
||||||
|
}
|
||||||
|
erpGoodsSku.setSkuName(skuName);
|
||||||
|
erpGoodsSku.setSkuCode(sku.getOuterId());
|
||||||
|
erpGoodsSku.setColorImage(erpGoods.getImage());
|
||||||
|
|
||||||
|
if(sku.getJdPrice()!=null){
|
||||||
|
erpGoodsSku.setRetailPrice(sku.getJdPrice());
|
||||||
|
}
|
||||||
|
erpGoodsSku.setStatus(1);
|
||||||
|
goodsSkuMapper.insert(erpGoodsSku);
|
||||||
|
|
||||||
|
// 初始化商品库存
|
||||||
|
OGoodsInventory inventory = new OGoodsInventory();
|
||||||
|
|
||||||
|
inventory.setGoodsId(erpGoods.getId());
|
||||||
|
inventory.setGoodsNum(erpGoods.getGoodsNum());
|
||||||
|
inventory.setGoodsName(erpGoods.getName());
|
||||||
|
inventory.setGoodsImg(erpGoods.getImage());
|
||||||
|
inventory.setSkuId(erpGoodsSku.getId());
|
||||||
|
inventory.setSkuCode(erpGoodsSku.getSkuCode());
|
||||||
|
inventory.setSkuName(erpGoodsSku.getSkuName());
|
||||||
|
inventory.setQuantity(0L);
|
||||||
|
inventory.setIsDelete(0);
|
||||||
|
inventory.setCreateTime(new Date());
|
||||||
|
inventory.setCreateBy("同步店铺商品初始化商品 sku 库存");
|
||||||
|
inventoryMapper.insert(inventory);
|
||||||
|
|
||||||
|
//更新ShopGoodsSku
|
||||||
|
JdGoodsSku shopGoodsSkuUpdate = new JdGoodsSku();
|
||||||
|
shopGoodsSkuUpdate.setId(sku.getId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsId(erpGoods.getId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsSkuId(erpGoodsSku.getId());
|
||||||
|
skuMapper.updateById(shopGoodsSkuUpdate);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultVo.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -134,16 +134,44 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
|
||||||
String goodsNum ="";
|
String goodsNum ="";
|
||||||
if(org.springframework.util.StringUtils.hasText(shopGoods.getOuterId())){
|
if(org.springframework.util.StringUtils.hasText(shopGoods.getOuterId())){
|
||||||
goodsNum = shopGoods.getOuterId();
|
goodsNum = shopGoods.getOuterId();
|
||||||
}else {
|
// 用商家编码查询
|
||||||
goodsNum = shopGoods.getNumIid().toString();
|
List<OGoods> erpGoodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>()
|
||||||
|
.eq(OGoods::getGoodsNum, goodsNum));
|
||||||
|
if(erpGoodsList!=null && !erpGoodsList.isEmpty()){
|
||||||
|
// 存在=======关联
|
||||||
|
//更新shopGoods
|
||||||
|
TaoGoods shopGoodsUpdate = new TaoGoods();
|
||||||
|
shopGoodsUpdate.setId(shopGoods.getId());
|
||||||
|
shopGoodsUpdate.setErpGoodsId(erpGoodsList.get(0).getId());
|
||||||
|
mapper.updateById(shopGoodsUpdate);
|
||||||
|
|
||||||
|
|
||||||
|
List<OGoodsSku> oGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>()
|
||||||
|
.eq(OGoodsSku::getGoodsId, erpGoodsList.get(0).getId())
|
||||||
|
);
|
||||||
|
//更新skus
|
||||||
|
for (var sku:shopGoodsSkus){
|
||||||
|
//更新ShopGoodsSku
|
||||||
|
TaoGoodsSku shopGoodsSkuUpdate = new TaoGoodsSku();
|
||||||
|
shopGoodsSkuUpdate.setId(sku.getId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsId(oGoodsSkus.get(0).getGoodsId());
|
||||||
|
shopGoodsSkuUpdate.setErpGoodsSkuId(oGoodsSkus.get(0).getId());
|
||||||
|
skuMapper.updateById(shopGoodsSkuUpdate);
|
||||||
|
}
|
||||||
|
return ResultVo.success("商家编码已存在!更新成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用商家编码查询
|
}else {
|
||||||
|
goodsNum = shopGoods.getNumIid().toString();
|
||||||
|
// 用商品ID查询
|
||||||
List<OGoods> erpGoodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>()
|
List<OGoods> erpGoodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>()
|
||||||
.eq(OGoods::getGoodsNum, goodsNum));
|
.eq(OGoods::getGoodsNum, goodsNum));
|
||||||
if(erpGoodsList!=null && !erpGoodsList.isEmpty()){
|
if(erpGoodsList!=null && !erpGoodsList.isEmpty()){
|
||||||
return ResultVo.error(ResultVoEnum.DataExist.getIndex(),"商家编码已存在");
|
return ResultVo.error(ResultVoEnum.DataExist.getIndex(),"商家编码已存在");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 添加商品
|
// 添加商品
|
||||||
OGoods erpGoods = new OGoods();
|
OGoods erpGoods = new OGoods();
|
||||||
|
|
@ -152,13 +180,13 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
|
||||||
erpGoods.setImage(shopGoods.getPicUrl());
|
erpGoods.setImage(shopGoods.getPicUrl());
|
||||||
erpGoods.setGoodsNum(goodsNum);
|
erpGoods.setGoodsNum(goodsNum);
|
||||||
erpGoods.setCategoryId(0L);
|
erpGoods.setCategoryId(0L);
|
||||||
erpGoods.setRemark("店铺商品同步");
|
erpGoods.setRemark("TAO店铺商品同步");
|
||||||
erpGoods.setStatus(1);
|
erpGoods.setStatus(1);
|
||||||
erpGoods.setDisable(1);
|
erpGoods.setDisable(1);
|
||||||
if (StringUtils.isNotEmpty(shopGoods.getPrice() )) {
|
if (StringUtils.isNotEmpty(shopGoods.getPrice() )) {
|
||||||
erpGoods.setRetailPrice(new BigDecimal(shopGoods.getPrice()));
|
erpGoods.setRetailPrice(new BigDecimal(shopGoods.getPrice()));
|
||||||
}
|
}
|
||||||
erpGoods.setCreateBy("店铺商品同步");
|
erpGoods.setCreateBy("TAO店铺商品同步");
|
||||||
erpGoods.setCreateTime(new Date());
|
erpGoods.setCreateTime(new Date());
|
||||||
goodsMapper.insert(erpGoods);
|
goodsMapper.insert(erpGoods);
|
||||||
|
|
||||||
|
|
@ -258,7 +286,7 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
|
||||||
inventory.setQuantity(0L);
|
inventory.setQuantity(0L);
|
||||||
inventory.setIsDelete(0);
|
inventory.setIsDelete(0);
|
||||||
inventory.setCreateTime(new Date());
|
inventory.setCreateTime(new Date());
|
||||||
inventory.setCreateBy("同步店铺商品初始化商品 sku 库存");
|
inventory.setCreateBy("同步TAO店铺商品初始化商品 sku 库存");
|
||||||
inventoryMapper.insert(inventory);
|
inventoryMapper.insert(inventory);
|
||||||
|
|
||||||
//更新ShopGoodsSku
|
//更新ShopGoodsSku
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ export function linkErpGoodsSkuId(data) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 接口拉取淘宝商品
|
// 接口拉取商品
|
||||||
export function pullGoodsList(data) {
|
export function pullGoodsList(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/open-api/jd/goods/pull_goods',
|
url: '/api/open-api/jd/goods/pull_goods',
|
||||||
|
|
@ -44,3 +44,11 @@ export function pullGoodsList(data) {
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//推送商品到商品库
|
||||||
|
export function pushToOms(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/open-api/jd/goods/push_oms',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@
|
||||||
<!-- <el-tag size="small">{{scope.row.wareStatus}}</el-tag>-->
|
<!-- <el-tag size="small">{{scope.row.wareStatus}}</el-tag>-->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="最后修改时间" align="center" prop="modified" />
|
||||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- <el-button-->
|
<!-- <el-button-->
|
||||||
|
|
@ -175,12 +176,13 @@
|
||||||
import Treeselect from '@riophae/vue-treeselect'
|
import Treeselect from '@riophae/vue-treeselect'
|
||||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
import {getToken} from "@/utils/auth";
|
import {getToken} from "@/utils/auth";
|
||||||
import {listGoods,getGoodsSku,linkErpGoodsSkuId,pullGoodsList} from "@/api/jd/goods";
|
import {listGoods,getGoodsSku,linkErpGoodsSkuId,pullGoodsList,pushToOms} from "@/api/jd/goods";
|
||||||
import {listShop} from "@/api/shop/shop";
|
import {listShop} from "@/api/shop/shop";
|
||||||
import {MessageBox} from "element-ui";
|
import {MessageBox} from "element-ui";
|
||||||
import {isRelogin} from "@/utils/request";
|
import {isRelogin} from "@/utils/request";
|
||||||
import {amountFormatter} from "@/utils/zhijian";
|
import {amountFormatter} from "@/utils/zhijian";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "GoodsListJd",
|
name: "GoodsListJd",
|
||||||
components: { Treeselect },
|
components: { Treeselect },
|
||||||
|
|
@ -339,6 +341,21 @@ export default {
|
||||||
|
|
||||||
// this.$modal.msgSuccess("请先配置API");
|
// this.$modal.msgSuccess("请先配置API");
|
||||||
},
|
},
|
||||||
|
handlePushOms(){
|
||||||
|
this.$confirm('确认同步所有商品到商品库吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
this.loading = true
|
||||||
|
pushToOms( this.ids ).then(response => {
|
||||||
|
this.$message.success('商品同步成功')
|
||||||
|
this.getList()
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,8 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="ERP商品Id" align="center" prop="erpGoodsId" />
|
<el-table-column label="ERP商品Id" align="center" prop="erpGoodsId" />
|
||||||
|
<el-table-column label="库存" align="center" prop="num" />
|
||||||
|
<el-table-column label="销量" align="center" prop="soldQuantity" />
|
||||||
|
|
||||||
<el-table-column label="最后修改时间" align="center" prop="modified" >
|
<el-table-column label="最后修改时间" align="center" prop="modified" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue