优化tao商品

This commit is contained in:
启航 2026-01-17 14:21:26 +08:00
parent a97aae9784
commit 42b6989f2a
7 changed files with 44 additions and 21 deletions

View File

@ -129,11 +129,13 @@ public class TaoGoodsApiController {
TaoGoodsSku taoGoodsSku = new TaoGoodsSku();
BeanUtils.copyProperties(s, taoGoodsSku);
// taoGoodsSku.setShopId(req.getShopId());
taoGoodsSku.setTitle(taoGoods.getTitle());
taoGoodsSku.setPicUrl(taoGoods.getPicUrl());
taoGoodsSku.setNumIid(s.getNum_iid());
taoGoodsSku.setIid(s.getIid());
taoGoodsSku.setSkuId(s.getSku_id());
taoGoodsSku.setProperties(s.getProperties());
taoGoodsSku.setPropertiesName(s.getProperties_name());
taoGoodsSku.setPropertiesName(s.getProperties_name().replace(s.getProperties()+":",""));
taoGoodsSku.setQuantity(s.getQuantity());
taoGoodsSku.setSkuSpecId(s.getSku_spec_id() + "");
taoGoodsSku.setPrice(StringUtils.isEmpty(s.getPrice()) ? null : Double.parseDouble(s.getPrice()));

View File

@ -3345,6 +3345,8 @@ CREATE TABLE `oms_tao_goods_sku` (
`tao_goods_id` bigint NOT NULL COMMENT '外键id',
`num_iid` bigint NOT NULL COMMENT 'sku所属商品数字id',
`iid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku所属商品id(注意iid近期即将废弃请用num_iid参数)',
`title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品标题',
`pic_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品图片',
`sku_id` bigint NOT NULL COMMENT '商品skuid阿里',
`properties` varchar(2550) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku的销售属性组合字符串颜色大小等等可通过类目API获取某类目下的销售属性,格式是p1:v1;p2:v2',
`properties_name` varchar(2550) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sku所对应的销售属性的中文名字串格式如pid1:vid1:pid_name1:vid_name1;pid2:vid2:pid_name2:vid_name2……',

View File

@ -36,6 +36,11 @@ public class TaoGoodsSku implements Serializable {
* sku所属商品id(注意iid近期即将废弃请用num_iid参数)
*/
private String iid;
private String title;
/**
*
*/
private String picUrl;
/**
* 商品skuid阿里

View File

@ -64,6 +64,7 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
@Transactional
@Override
public int saveAndUpdateGoods(Long shopId, TaoGoods goods) {
if(goods==null) return ResultVoEnum.Fail.getIndex();
List<TaoGoods> goodsList = mapper.selectList(new LambdaQueryWrapper<TaoGoods>().eq(TaoGoods::getNumIid, goods.getNumIid()));
if(goodsList!=null && goodsList.size()>0){
// 存在更新
@ -73,8 +74,6 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
// goods.setOuterId(erpGoodsNum);
// goods.setErpGoodsId(erpGoodsId);
mapper.updateById(goods);
return ResultVoEnum.DataExist.getIndex();
}else {
// 不存在新增
goods.setShopId(shopId);
@ -101,6 +100,7 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
List<TaoGoodsSku> taoGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<TaoGoodsSku>().eq(TaoGoodsSku::getSkuId, sku.getSkuId()));
if(taoGoodsSkus!=null && !taoGoodsSkus.isEmpty()){
// 更新
sku.setId(taoGoodsSkus.get(0).getId());
sku.setUpdateTime(new Date());
skuMapper.updateById(sku);
}else {
@ -118,7 +118,10 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
taoGoodsUpdate.setErpGoodsId(erpGoodsId);
mapper.updateById(taoGoodsUpdate);
}
return 0;
if(goodsList!=null && goodsList.size()>0) {
return ResultVoEnum.DataExist.getIndex();
}else return ResultVoEnum.SUCCESS.getIndex();
}
/**

View File

@ -9,6 +9,8 @@
<result property="taoGoodsId" column="tao_goods_id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="numIid" column="num_iid" jdbcType="BIGINT"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="picUrl" column="pic_url" jdbcType="VARCHAR"/>
<result property="iid" column="iid" jdbcType="VARCHAR"/>
<result property="skuId" column="sku_id" jdbcType="BIGINT"/>
<result property="properties" column="properties" jdbcType="VARCHAR"/>
@ -30,7 +32,7 @@
<sql id="Base_Column_List">
id,tao_goods_id,num_iid,shop_id,
iid,sku_id,properties,
iid,sku_id,properties,pic_url,title,
properties_name,quantity,spec,
price,outer_id,created,
modified,status,sku_spec_id,

View File

@ -68,14 +68,15 @@
<el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主图" width="100">
<el-table-column label="平台商品ID" align="center" prop="numIid" width="138"/>
<el-table-column label="主图" width="60">
<template slot-scope="scope">
<!-- <el-image style="width: 70px; height: 70px;" :src="scope.row.picUrl"></el-image>-->
<image-preview :src="scope.row.picUrl" :width="60" :height="40"/>
<image-preview :src="scope.row.picUrl" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="标题" align="left" prop="title" />
<el-table-column label="平台商品ID" align="center" prop="numIid" />
<el-table-column label="标题" align="left" prop="title" width="350"/>
<el-table-column label="商家编码" align="center" prop="outerId" />
<el-table-column label="价格" align="left" prop="price" :formatter="amountFormatter" />
<el-table-column label="SKU" align="center" >

View File

@ -74,20 +74,26 @@
<el-table v-loading="loading" :data="goodsList" >
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="平台skuId" align="center" prop="skuId" />
<el-table-column label="平台商品ID" align="center" prop="numIid" />
<el-table-column label="商家编码" align="center" prop="outerId" />
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="主图" width="100">
<template slot-scope="scope">
<el-image style="width: 70px; height: 70px;" :src="scope.row.picUrl"></el-image>
</template>
<el-table-column label="平台skuId" align="center" prop="skuId" width="138"/>
<el-table-column label="主图" width="60">
<template slot-scope="scope">
<el-image style="width: 50px; height: 50px;" :src="scope.row.picUrl"></el-image>
</template>
</el-table-column>
<el-table-column label="规格" align="center" prop="propertiesName" />
<el-table-column label="ERP商品sku Id" align="center" prop="erpGoodsSkuId" />
<!-- <el-table-column label="快递单号" align="center" prop="logisticsCode" />-->
<el-table-column label="标题" align="left" prop="title" width="350"/>
<el-table-column label="规格" align="left" prop="propertiesName" />
<el-table-column label="平台商品ID" align="center" prop="numIid" width="138"/>
<el-table-column label="商家编码" align="center" prop="outerId" width="188"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="ERP商品SkuId" align="center" prop="erpGoodsSkuId" width="128"/>
<el-table-column label="价格" align="center" prop="price" :formatter="amountFormatter" width="148"/>
<el-table-column label="库存" align="center" prop="quantity" width="66"/>
<el-table-column label="创建时间" align="center" prop="created" />
<el-table-column label="修改时间" align="center" prop="modified" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="128">
<template slot-scope="scope">
<el-button
size="mini"
@ -136,6 +142,7 @@ import { listShop } from "@/api/shop/shop";
import { searchSku } from "@/api/goods/goods";
import {MessageBox} from "element-ui";
import {getGoodsSku, linkErpGoodsSkuId, listGoodsSku, pullGoodsList} from "@/api/tao/goods";
import {amountFormatter} from "@/utils/zhijian";
export default {
name: "GoodsSkuTao",
@ -196,6 +203,7 @@ export default {
}
},
methods: {
amountFormatter,
/** 查询淘宝订单列表 */
getList() {
this.loading = true;