优化dou商品
This commit is contained in:
parent
1b0abc44a8
commit
b5a94c8af1
|
|
@ -103,6 +103,7 @@ public class DouGoodsApiController {
|
||||||
for (var s : goods.getSkuList()) {
|
for (var s : goods.getSkuList()) {
|
||||||
DouGoodsSku sku = new DouGoodsSku();
|
DouGoodsSku sku = new DouGoodsSku();
|
||||||
BeanUtils.copyProperties(s, sku);
|
BeanUtils.copyProperties(s, sku);
|
||||||
|
sku.setProductId(goods.getProductId().toString());
|
||||||
sku.setShopId(params.getShopId());
|
sku.setShopId(params.getShopId());
|
||||||
sku.setName(douGoods.getName());
|
sku.setName(douGoods.getName());
|
||||||
sku.setImg(douGoods.getImg());
|
sku.setImg(douGoods.getImg());
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package cn.qihangerp.oms.dou.controller;
|
||||||
|
|
||||||
|
|
||||||
import cn.qihangerp.common.*;
|
import cn.qihangerp.common.*;
|
||||||
|
import cn.qihangerp.model.bo.DouGoodsSkuBo;
|
||||||
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
||||||
import cn.qihangerp.module.service.OGoodsSkuService;
|
import cn.qihangerp.module.service.OGoodsSkuService;
|
||||||
import cn.qihangerp.model.entity.DouGoods;
|
import cn.qihangerp.model.entity.DouGoods;
|
||||||
|
|
@ -32,7 +33,7 @@ public class DouGoodsController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/skuList", method = RequestMethod.GET)
|
@RequestMapping(value = "/skuList", method = RequestMethod.GET)
|
||||||
public TableDataInfo skuList(DouGoodsBo bo, PageQuery pageQuery) {
|
public TableDataInfo skuList(DouGoodsSkuBo bo, PageQuery pageQuery) {
|
||||||
PageResult<DouGoodsSku> result = skuService.queryPageList(bo, pageQuery);
|
PageResult<DouGoodsSku> result = skuService.queryPageList(bo, pageQuery);
|
||||||
|
|
||||||
return getDataTable(result);
|
return getDataTable(result);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package cn.qihangerp.model.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DouGoodsSkuBo implements Serializable {
|
||||||
|
/**
|
||||||
|
* 商品数字id
|
||||||
|
*/
|
||||||
|
private Long productId;
|
||||||
|
private Long skuId;
|
||||||
|
private String title;
|
||||||
|
private String code;
|
||||||
|
private Integer shopId;
|
||||||
|
private Integer hasLink;//是否关联
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package cn.qihangerp.module.service;
|
||||||
import cn.qihangerp.common.PageQuery;
|
import cn.qihangerp.common.PageQuery;
|
||||||
import cn.qihangerp.common.PageResult;
|
import cn.qihangerp.common.PageResult;
|
||||||
import cn.qihangerp.common.ResultVo;
|
import cn.qihangerp.common.ResultVo;
|
||||||
|
import cn.qihangerp.model.bo.DouGoodsSkuBo;
|
||||||
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
||||||
import cn.qihangerp.model.entity.DouGoodsSku;
|
import cn.qihangerp.model.entity.DouGoodsSku;
|
||||||
import cn.qihangerp.model.bo.DouGoodsBo;
|
import cn.qihangerp.model.bo.DouGoodsBo;
|
||||||
|
|
@ -15,6 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
* @createDate 2024-05-31 17:23:21
|
* @createDate 2024-05-31 17:23:21
|
||||||
*/
|
*/
|
||||||
public interface DouGoodsSkuService extends IService<DouGoodsSku> {
|
public interface DouGoodsSkuService extends IService<DouGoodsSku> {
|
||||||
PageResult<DouGoodsSku> queryPageList(DouGoodsBo bo, PageQuery pageQuery);
|
PageResult<DouGoodsSku> queryPageList(DouGoodsSkuBo bo, PageQuery pageQuery);
|
||||||
ResultVo linkErpGoodsSku(LinkErpGoodsSkuBo bo);
|
ResultVo linkErpGoodsSku(LinkErpGoodsSkuBo bo);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ public class DouGoodsServiceImpl extends ServiceImpl<DouGoodsMapper, DouGoods>
|
||||||
public PageResult<DouGoods> queryPageList(DouGoodsBo bo, PageQuery pageQuery) {
|
public PageResult<DouGoods> queryPageList(DouGoodsBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<DouGoods> queryWrapper = new LambdaQueryWrapper<DouGoods>()
|
LambdaQueryWrapper<DouGoods> queryWrapper = new LambdaQueryWrapper<DouGoods>()
|
||||||
.eq(bo.getShopId()!=null,DouGoods::getShopId,bo.getShopId())
|
.eq(bo.getShopId()!=null,DouGoods::getShopId,bo.getShopId())
|
||||||
|
.eq(bo.getProductId()!=null,DouGoods::getProductId,bo.getProductId())
|
||||||
;
|
;
|
||||||
|
|
||||||
Page<DouGoods> goodsPage = mapper.selectPage(pageQuery.build(), queryWrapper);
|
Page<DouGoods> goodsPage = mapper.selectPage(pageQuery.build(), queryWrapper);
|
||||||
|
|
@ -97,7 +97,7 @@ public class DouGoodsServiceImpl extends ServiceImpl<DouGoodsMapper, DouGoods>
|
||||||
item.setErpGoodsSkuId(oGoodsSkus.get(0).getId().toString());
|
item.setErpGoodsSkuId(oGoodsSkus.get(0).getId().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<DouGoodsSku> pddGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<DouGoodsSku>().eq(DouGoodsSku::getSpecId, item.getSpecId()));
|
List<DouGoodsSku> pddGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<DouGoodsSku>().eq(DouGoodsSku::getId, item.getId()));
|
||||||
if(pddGoodsSkus!=null && !pddGoodsSkus.isEmpty()){
|
if(pddGoodsSkus!=null && !pddGoodsSkus.isEmpty()){
|
||||||
item.setModifyTime(new Date());
|
item.setModifyTime(new Date());
|
||||||
skuMapper.updateById(item);
|
skuMapper.updateById(item);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package cn.qihangerp.module.service.impl;
|
||||||
import cn.qihangerp.common.PageQuery;
|
import cn.qihangerp.common.PageQuery;
|
||||||
import cn.qihangerp.common.PageResult;
|
import cn.qihangerp.common.PageResult;
|
||||||
import cn.qihangerp.common.ResultVo;
|
import cn.qihangerp.common.ResultVo;
|
||||||
|
import cn.qihangerp.model.bo.DouGoodsSkuBo;
|
||||||
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
import cn.qihangerp.model.bo.LinkErpGoodsSkuBo;
|
||||||
import cn.qihangerp.model.entity.OGoods;
|
import cn.qihangerp.model.entity.OGoods;
|
||||||
import cn.qihangerp.model.entity.OGoodsSku;
|
import cn.qihangerp.model.entity.OGoodsSku;
|
||||||
|
|
@ -39,7 +40,7 @@ public class DouGoodsSkuServiceImpl extends ServiceImpl<DouGoodsSkuMapper, DouGo
|
||||||
private final OGoodsService oGoodsService;
|
private final OGoodsService oGoodsService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<DouGoodsSku> queryPageList(DouGoodsBo bo, PageQuery pageQuery) {
|
public PageResult<DouGoodsSku> queryPageList(DouGoodsSkuBo bo, PageQuery pageQuery) {
|
||||||
if(StringUtils.hasText(bo.getCode())){
|
if(StringUtils.hasText(bo.getCode())){
|
||||||
bo.setCode(bo.getCode().trim());
|
bo.setCode(bo.getCode().trim());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public class PddGoodsSkuServiceImpl extends ServiceImpl<PddGoodsSkuMapper, PddGo
|
||||||
LambdaQueryWrapper<PddGoodsSku> ew = new LambdaQueryWrapper<PddGoodsSku>()
|
LambdaQueryWrapper<PddGoodsSku> ew = new LambdaQueryWrapper<PddGoodsSku>()
|
||||||
.eq(bo.getShopId()!=null,PddGoodsSku::getShopId,bo.getShopId())
|
.eq(bo.getShopId()!=null,PddGoodsSku::getShopId,bo.getShopId())
|
||||||
.eq(bo.getGoodsId()!=null,PddGoodsSku::getGoodsId,bo.getGoodsId())
|
.eq(bo.getGoodsId()!=null,PddGoodsSku::getGoodsId,bo.getGoodsId())
|
||||||
.eq(bo.getSkuId()!=null,PddGoodsSku::getSkuId,bo.getSkuId())
|
.eq(StringUtils.hasText(bo.getSkuId()),PddGoodsSku::getSkuId,bo.getSkuId())
|
||||||
.eq(bo.getErpSkuId()!=null,PddGoodsSku::getErpGoodsSkuId,bo.getErpSkuId())
|
.eq(bo.getErpSkuId()!=null,PddGoodsSku::getErpGoodsSkuId,bo.getErpSkuId())
|
||||||
.eq(StringUtils.hasText(bo.getOuterId()),PddGoodsSku::getOuterId,bo.getOuterId())
|
.eq(StringUtils.hasText(bo.getOuterId()),PddGoodsSku::getOuterId,bo.getOuterId())
|
||||||
.eq(bo.getIsSkuOnsale()!=null,PddGoodsSku::getIsSkuOnsale,bo.getIsSkuOnsale())
|
.eq(bo.getIsSkuOnsale()!=null,PddGoodsSku::getIsSkuOnsale,bo.getIsSkuOnsale())
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,30 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="108px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="108px">
|
||||||
<el-form-item label="平台SkuId" prop="skuId">
|
<el-form-item label="平台商品ID" prop="productId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.skuId"
|
v-model="queryParams.productId"
|
||||||
placeholder="请输入平台SkuId"
|
placeholder="请输入平台商品ID"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商家sku编码" prop="outerId">
|
<el-form-item label="商家商品编码" prop="outerProductId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.outerId"
|
v-model="queryParams.outerProductId"
|
||||||
placeholder="请输入商家sku编码"
|
placeholder="请输入商家商品编码"
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="ERP skuId" prop="erpSkuId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.erpSkuId"
|
|
||||||
placeholder="请输入ERP skuId"
|
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="ERP skuId" prop="erpSkuId">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.erpSkuId"-->
|
||||||
|
<!-- placeholder="请输入ERP skuId"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="店铺" prop="shopId">
|
<el-form-item label="店铺" prop="shopId">
|
||||||
<el-select v-model="queryParams.shopId" placeholder="请选择店铺" clearable @change="handleQuery">
|
<el-select v-model="queryParams.shopId" placeholder="请选择店铺" clearable @change="handleQuery">
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -68,13 +68,13 @@
|
||||||
<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="ID" align="center" prop="id" />-->
|
<!-- <el-table-column label="ID" align="center" prop="id" />-->
|
||||||
<el-table-column label="平台商品ID" align="center" prop="productId" />
|
<el-table-column label="平台商品ID" align="center" prop="productId" width="200"/>
|
||||||
<el-table-column label="图片" align="center" prop="logo" width="100">
|
<el-table-column label="图片" align="center" prop="img" width="70">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<image-preview :src="scope.row.img" :width="50" :height="50"/>
|
<image-preview :src="scope.row.img" :width="50" :height="50"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="商品名称" align="center" prop="name" />
|
<el-table-column label="商品名称" align="left" prop="name" />
|
||||||
<el-table-column label="商家编码" align="center" prop="outerProductId" />
|
<el-table-column label="商家编码" align="center" prop="outerProductId" />
|
||||||
<el-table-column label="价格" align="center" prop="formattedPrice" >
|
<el-table-column label="价格" align="center" prop="formattedPrice" >
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -117,11 +117,12 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-dialog title="Sku List" :visible.sync="skuOpen" width="1200px" append-to-body>
|
<el-dialog title="Sku List" :visible.sync="skuOpen" width="1200px" append-to-body>
|
||||||
<el-table v-loading="loading" :data="skuList">
|
<el-table v-loading="loading" :data="skuList" :row-class-name="rowIndex">
|
||||||
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
||||||
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||||
|
|
||||||
|
<el-table-column label="SkuId" align="center" prop="id" width="200"/>
|
||||||
<el-table-column label="SKU编码" align="left" prop="code" />
|
<el-table-column label="SKU编码" align="left" prop="code" />
|
||||||
<el-table-column label="规格Id" align="center" prop="specId" />
|
|
||||||
<el-table-column label="商品名称" align="center" prop="name" />
|
<el-table-column label="商品名称" align="center" prop="name" />
|
||||||
<el-table-column label="图片" align="center" prop="logo" width="100">
|
<el-table-column label="图片" align="center" prop="logo" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -151,16 +152,16 @@
|
||||||
<!-- <el-tag size="small" v-if="scope.row.status === 2">已下架</el-tag>-->
|
<!-- <el-tag size="small" v-if="scope.row.status === 2">已下架</el-tag>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </el-table-column>-->
|
<!-- </el-table-column>-->
|
||||||
<!-- <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
|
||||||
<!-- size="mini"-->
|
size="mini"
|
||||||
<!-- type="text"-->
|
type="text"
|
||||||
<!-- icon="el-icon-share"-->
|
icon="el-icon-share"
|
||||||
<!-- @click="handleLink(scope.row)"-->
|
@click="handleLink(scope.row)"
|
||||||
<!-- >关联ERP</el-button>-->
|
>关联ERP</el-button>
|
||||||
<!-- </template>-->
|
</template>
|
||||||
<!-- </el-table-column>-->
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
|
@ -187,6 +188,7 @@ import {listShop} from "@/api/shop/shop";
|
||||||
import {pullGoodsList, listGoods, getGoodsSku, linkErpGoodsSkuId,pushToOms} from "@/api/dou/goods";
|
import {pullGoodsList, listGoods, getGoodsSku, linkErpGoodsSkuId,pushToOms} from "@/api/dou/goods";
|
||||||
import {MessageBox} from "element-ui";
|
import {MessageBox} from "element-ui";
|
||||||
import {isRelogin} from "@/utils/request";
|
import {isRelogin} from "@/utils/request";
|
||||||
|
import {rowIndex} from "@/utils/zhijian";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "GoodsListDou",
|
name: "GoodsListDou",
|
||||||
|
|
@ -218,7 +220,9 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
name: null
|
name: null,
|
||||||
|
productId: null,
|
||||||
|
outerProductId: null,
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -248,6 +252,7 @@ export default {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
rowIndex,
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map(item => item.id)
|
this.ids = selection.map(item => item.id)
|
||||||
|
|
|
||||||
|
|
@ -247,7 +247,7 @@
|
||||||
<el-form-item label="商品图片" prop="image">
|
<el-form-item label="商品图片" prop="image">
|
||||||
<image-upload v-model="form.image"/>
|
<image-upload v-model="form.image"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品编号" prop="number">
|
<el-form-item label="商品编号" prop="goodsNum">
|
||||||
<el-input v-model="form.goodsNum" placeholder="请输入商品编号" />
|
<el-input v-model="form.goodsNum" placeholder="请输入商品编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="单位名称" prop="unitName">-->
|
<!-- <el-form-item label="单位名称" prop="unitName">-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue