优化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(); TaoGoodsSku taoGoodsSku = new TaoGoodsSku();
BeanUtils.copyProperties(s, taoGoodsSku); BeanUtils.copyProperties(s, taoGoodsSku);
// taoGoodsSku.setShopId(req.getShopId()); // taoGoodsSku.setShopId(req.getShopId());
taoGoodsSku.setTitle(taoGoods.getTitle());
taoGoodsSku.setPicUrl(taoGoods.getPicUrl());
taoGoodsSku.setNumIid(s.getNum_iid()); taoGoodsSku.setNumIid(s.getNum_iid());
taoGoodsSku.setIid(s.getIid()); taoGoodsSku.setIid(s.getIid());
taoGoodsSku.setSkuId(s.getSku_id()); taoGoodsSku.setSkuId(s.getSku_id());
taoGoodsSku.setProperties(s.getProperties()); taoGoodsSku.setProperties(s.getProperties());
taoGoodsSku.setPropertiesName(s.getProperties_name()); taoGoodsSku.setPropertiesName(s.getProperties_name().replace(s.getProperties()+":",""));
taoGoodsSku.setQuantity(s.getQuantity()); taoGoodsSku.setQuantity(s.getQuantity());
taoGoodsSku.setSkuSpecId(s.getSku_spec_id() + ""); taoGoodsSku.setSkuSpecId(s.getSku_spec_id() + "");
taoGoodsSku.setPrice(StringUtils.isEmpty(s.getPrice()) ? null : Double.parseDouble(s.getPrice())); 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', `tao_goods_id` bigint NOT NULL COMMENT '外键id',
`num_iid` bigint NOT NULL COMMENT 'sku所属商品数字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参数)', `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阿里', `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` 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……', `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参数) * sku所属商品id(注意iid近期即将废弃请用num_iid参数)
*/ */
private String iid; private String iid;
private String title;
/**
*
*/
private String picUrl;
/** /**
* 商品skuid阿里 * 商品skuid阿里

View File

@ -64,6 +64,7 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
@Transactional @Transactional
@Override @Override
public int saveAndUpdateGoods(Long shopId, TaoGoods goods) { 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())); List<TaoGoods> goodsList = mapper.selectList(new LambdaQueryWrapper<TaoGoods>().eq(TaoGoods::getNumIid, goods.getNumIid()));
if(goodsList!=null && goodsList.size()>0){ if(goodsList!=null && goodsList.size()>0){
// 存在更新 // 存在更新
@ -73,8 +74,6 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
// goods.setOuterId(erpGoodsNum); // goods.setOuterId(erpGoodsNum);
// goods.setErpGoodsId(erpGoodsId); // goods.setErpGoodsId(erpGoodsId);
mapper.updateById(goods); mapper.updateById(goods);
return ResultVoEnum.DataExist.getIndex();
}else { }else {
// 不存在新增 // 不存在新增
goods.setShopId(shopId); 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())); List<TaoGoodsSku> taoGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<TaoGoodsSku>().eq(TaoGoodsSku::getSkuId, sku.getSkuId()));
if(taoGoodsSkus!=null && !taoGoodsSkus.isEmpty()){ if(taoGoodsSkus!=null && !taoGoodsSkus.isEmpty()){
// 更新 // 更新
sku.setId(taoGoodsSkus.get(0).getId());
sku.setUpdateTime(new Date()); sku.setUpdateTime(new Date());
skuMapper.updateById(sku); skuMapper.updateById(sku);
}else { }else {
@ -118,7 +118,10 @@ public class TaoGoodsServiceImpl extends ServiceImpl<TaoGoodsMapper, TaoGoods>
taoGoodsUpdate.setErpGoodsId(erpGoodsId); taoGoodsUpdate.setErpGoodsId(erpGoodsId);
mapper.updateById(taoGoodsUpdate); 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="taoGoodsId" column="tao_goods_id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/> <result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="numIid" column="num_iid" 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="iid" column="iid" jdbcType="VARCHAR"/>
<result property="skuId" column="sku_id" jdbcType="BIGINT"/> <result property="skuId" column="sku_id" jdbcType="BIGINT"/>
<result property="properties" column="properties" jdbcType="VARCHAR"/> <result property="properties" column="properties" jdbcType="VARCHAR"/>
@ -30,7 +32,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,tao_goods_id,num_iid,shop_id, id,tao_goods_id,num_iid,shop_id,
iid,sku_id,properties, iid,sku_id,properties,pic_url,title,
properties_name,quantity,spec, properties_name,quantity,spec,
price,outer_id,created, price,outer_id,created,
modified,status,sku_spec_id, modified,status,sku_spec_id,

View File

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

View File

@ -74,20 +74,26 @@
<el-table v-loading="loading" :data="goodsList" > <el-table v-loading="loading" :data="goodsList" >
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="平台skuId" align="center" prop="skuId" /> <el-table-column label="平台skuId" align="center" prop="skuId" width="138"/>
<el-table-column label="平台商品ID" align="center" prop="numIid" /> <el-table-column label="主图" width="60">
<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"> <template slot-scope="scope">
<el-image style="width: 70px; height: 70px;" :src="scope.row.picUrl"></el-image> <el-image style="width: 50px; height: 50px;" :src="scope.row.picUrl"></el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="规格" align="center" prop="propertiesName" /> <el-table-column label="标题" align="left" prop="title" width="350"/>
<el-table-column label="ERP商品sku Id" align="center" prop="erpGoodsSkuId" /> <el-table-column label="规格" align="left" prop="propertiesName" />
<!-- <el-table-column label="快递单号" align="center" prop="logisticsCode" />--> <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"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -136,6 +142,7 @@ import { listShop } from "@/api/shop/shop";
import { searchSku } from "@/api/goods/goods"; import { searchSku } from "@/api/goods/goods";
import {MessageBox} from "element-ui"; import {MessageBox} from "element-ui";
import {getGoodsSku, linkErpGoodsSkuId, listGoodsSku, pullGoodsList} from "@/api/tao/goods"; import {getGoodsSku, linkErpGoodsSkuId, listGoodsSku, pullGoodsList} from "@/api/tao/goods";
import {amountFormatter} from "@/utils/zhijian";
export default { export default {
name: "GoodsSkuTao", name: "GoodsSkuTao",
@ -196,6 +203,7 @@ export default {
} }
}, },
methods: { methods: {
amountFormatter,
/** 查询淘宝订单列表 */ /** 查询淘宝订单列表 */
getList() { getList() {
this.loading = true; this.loading = true;