274 lines
9.1 KiB
JavaScript
274 lines
9.1 KiB
JavaScript
import instance from '../../utils/axios.js'
|
|
|
|
/**
|
|
* 商品管理相关接口
|
|
*/
|
|
|
|
// 获取商品列表
|
|
export const getShopGoodsList = async (params = {}) => {
|
|
// 构造查询参数
|
|
const queryParams = new URLSearchParams();
|
|
|
|
// 添加分页参数
|
|
if (params.pageNum) queryParams.append('pageNum', params.pageNum);
|
|
if (params.pageSize) queryParams.append('pageSize', params.pageSize);
|
|
|
|
// 添加搜索参数
|
|
if (params.itemNumber) queryParams.append('itemNumber', params.itemNumber);
|
|
if (params.goodsName) queryParams.append('goodsName', params.goodsName);
|
|
if (params.artNo) queryParams.append('artNo', params.artNo);
|
|
if (params.originalArtNo) queryParams.append('originalArtNo', params.originalArtNo);
|
|
if (params.isbn) queryParams.append('isbn', params.isbn);
|
|
if (params.conditionCode) queryParams.append('conditionCode', params.conditionCode);
|
|
if (params.IsBookPicNull) queryParams.append('IsBookPicNull', params.IsBookPicNull);
|
|
if (params.minprice) queryParams.append('minprice', params.minprice);
|
|
if (params.maxprice) queryParams.append('maxprice', params.maxprice);
|
|
if (params.mininventory) queryParams.append('mininventory', params.mininventory);
|
|
if (params.maxinventory) queryParams.append('maxinventory', params.maxinventory);
|
|
if (params.deliveryAddress) queryParams.append('deliveryAddress', params.deliveryAddress);
|
|
if (params.cargoAreaIds) queryParams.append('cargoAreaIds', params.cargoAreaIds);
|
|
if (params.isExistIsbn) queryParams.append('isExistIsbn', params.isExistIsbn);
|
|
if (params.isQueryAllGoods) queryParams.append('isQueryAllGoods', params.isQueryAllGoods);
|
|
if (params.isJoinDistribution) queryParams.append('isJoinDistribution', params.isJoinDistribution);
|
|
|
|
const url = `/shopGoods/list?${queryParams.toString()}`;
|
|
return instance.get(url);
|
|
};
|
|
|
|
// 获取商品详情
|
|
export const getShopGoodsDetail = (id) => {
|
|
return instance.get(`/zhishu/shopGoods/detailShopGoods/${id}`);
|
|
};
|
|
|
|
// 新增商品
|
|
export const addShopGoods = (data) => {
|
|
return instance.post('/zhishu/shopGoods/add', data);
|
|
};
|
|
|
|
// 修改商品
|
|
export const updateShopGoods = (data) => {
|
|
return instance.post('/zhishu/shopGoods/update', data);
|
|
};
|
|
|
|
// 删除商品
|
|
export const deleteShopGoods = (ids, isProSynch = true) => {
|
|
const idsStr = Array.isArray(ids) ? ids.join(',') : ids;
|
|
return instance.delete(`/zhishu/shopGoods/${idsStr}?isProSynch=${isProSynch}`);
|
|
};
|
|
|
|
// 导出商品列表
|
|
export const exportShopGoods = (params) => {
|
|
return instance.post('/zhishu/shopGoods/export', params, {
|
|
responseType: 'blob'
|
|
});
|
|
};
|
|
|
|
// 导入商品Excel
|
|
export const importShopGoodsExcel = (file, depotId) => {
|
|
const formData = new FormData();
|
|
formData.append('file', file);
|
|
formData.append('depotId', depotId);
|
|
return instance.post('/zhishu/shopGoods/importExcel', formData);
|
|
};
|
|
|
|
// 上传商品图片
|
|
export const uploadShopGoodsImage = (file) => {
|
|
const formData = new FormData();
|
|
formData.append('file', file);
|
|
return instance.post('/zhishu/shopGoods/uploadImages', formData);
|
|
};
|
|
|
|
// 发布商品到店铺
|
|
export const publishGoodsToShop = (data) => {
|
|
return instance.post('/zhishu/shopGoods/goodsAdd', data);
|
|
};
|
|
|
|
// 获取库存变更日志
|
|
export const getStockChangeLog = (id) => {
|
|
return instance.get(`/zhishu/shopGoods/stockLog/${id}`);
|
|
};
|
|
|
|
// 批量修改货区
|
|
export const batchUpdateCargoArea = (data) => {
|
|
return instance.put('/zhishu/shopGoods/batchUpdateAre', data);
|
|
};
|
|
|
|
// 根据商品条码查询商品信息
|
|
export const getProductByBarcode = (barcode) => {
|
|
return instance.get(`/zhishu/shopGoods/info?barcode=${barcode}`);
|
|
};
|
|
|
|
// 提交商品信息
|
|
export const submitProduct = (data) => {
|
|
return instance.post('/zhishu/shopGoods/submit', data);
|
|
};
|
|
|
|
// 版权页上传
|
|
export const submitFromCopyrightPage = (data) => {
|
|
return instance.post('/zhishu/shopGoods/submitFromCopyrightPage', data);
|
|
};
|
|
|
|
// 重复书籍检查
|
|
export const checkRepeatBook = (data) => {
|
|
return instance.post('/zhishu/shopGoods/repeatBook', data);
|
|
};
|
|
|
|
// 孔夫子比价搜索
|
|
export const searchKongfzBooks = (params) => {
|
|
const queryParams = new URLSearchParams();
|
|
if (params.keyword) queryParams.append('keyword', params.keyword);
|
|
if (params.searchType) queryParams.append('searchType', params.searchType);
|
|
if (params.sortType) queryParams.append('sortType', params.sortType);
|
|
if (params.conditionValue) queryParams.append('conditionValue', params.conditionValue);
|
|
if (params.cookies) queryParams.append('cookies', params.cookies);
|
|
if (params.publisher) queryParams.append('publisher', params.publisher);
|
|
if (params.author) queryParams.append('author', params.author);
|
|
|
|
return instance.get(`/zhishu/shopGoods/kongfz/search?${queryParams.toString()}`);
|
|
};
|
|
|
|
// 根据书名获取作者和出版社信息
|
|
export const getAuthorAndPublisher = (keyword, cookies) => {
|
|
return instance.get(`/zhishu/shopGoods/getAuthorAndPublisher?keyword=${keyword}&cookies=${cookies}`);
|
|
};
|
|
|
|
// 小程序上书记录
|
|
export const getXcxShopGoods = (phoneNumber, pageNum = 1, pageSize = 10, date) => {
|
|
let url = `/zhishu/shopGoods/xcx/${phoneNumber}?pageNum=${pageNum}&pageSize=${pageSize}`;
|
|
if (date) url += `&date=${date}`;
|
|
return instance.get(url);
|
|
};
|
|
|
|
// 查询获取对应商品数据
|
|
export const getGoodsData = (code, userId, pageNum = 1, pageSize = 10, date) => {
|
|
let url = `/zhishu/shopGoods/getGoodsData?code=${code}&userId=${userId}&pageNum=${pageNum}&pageSize=${pageSize}`;
|
|
if (date) url += `&date=${date}`;
|
|
return instance.get(url);
|
|
};
|
|
|
|
// 批量移动商品位置
|
|
export const batchMoveItems = (itemIds, newLocationCode, userId) => {
|
|
const params = new URLSearchParams();
|
|
itemIds.forEach(id => params.append('itemIds', id));
|
|
params.append('newLocationCode', newLocationCode);
|
|
params.append('userId', userId);
|
|
return instance.post('/zhishu/shopGoods/batchMoveItems', params);
|
|
};
|
|
|
|
// 初始化库存到Redis
|
|
export const batchInitInventoryToRedis = () => {
|
|
return instance.get('/zhishu/shopGoods/batchInitInventoryToRedis');
|
|
};
|
|
|
|
// 查询库存
|
|
export const queryInventory = (shopGoodsId) => {
|
|
return instance.get(`/zhishu/shopGoods/queryInventory?shopGoodsId=${shopGoodsId}`);
|
|
};
|
|
|
|
// 操作库存
|
|
export const operatingInventory = (data) => {
|
|
return instance.post('/zhishu/shopGoods/operatingInventory', data);
|
|
};
|
|
|
|
// 拉取孔夫子/万里牛商品
|
|
export const synchronizationGoods = (shopId, shopType) => {
|
|
let url = `/zhishu/shopGoods/synchronizationGoods?shopId=${shopId}`;
|
|
if (shopType) url += `&shopType=${shopType}`;
|
|
return instance.get(url);
|
|
};
|
|
|
|
// 比对存入表格
|
|
export const goodsComparison = (data) => {
|
|
return instance.post('/zhishu/shopGoods/goodsComparison', data);
|
|
};
|
|
|
|
// 分批比对商品
|
|
export const batchGoodsComparison = (data) => {
|
|
return instance.post('/zhishu/shopGoods/batchGoodsComparison', data);
|
|
};
|
|
|
|
// 根据用户选择货号规则将商品存入数据库
|
|
export const saveShopGoodsInDb = (data) => {
|
|
return instance.post('/zhishu/shopGoods/saveShopGoodsInDb', data);
|
|
};
|
|
|
|
// 随机修改孔夫子货号(仅测试使用)
|
|
export const randomUpdateArtNo = (userId, shopId) => {
|
|
return instance.get(`/zhishu/shopGoods/randomUpdateArtNo?userId=${userId}&shopId=${shopId}`);
|
|
};
|
|
|
|
// 通过货号查询仓库信息
|
|
export const getDepotIds = (artNo, userId) => {
|
|
return instance.get(`/zhishu/shopGoods/getDepotIds?artNo=${artNo}&userId=${userId}`);
|
|
};
|
|
|
|
// 修改商品价格
|
|
export const editShopGoodsPrice = (data) => {
|
|
return instance.post('/zhishu/shopGoods/editShopGoodsPrice', data);
|
|
};
|
|
|
|
// 通过平台订单Id查询库存操作日志
|
|
export const queryStockChangeLogByOrderSn = (orderSn, type) => {
|
|
return instance.get(`/zhishu/shopGoods/queryStockChangeLogByOrderSn?orderSn=${orderSn}&type=${type}`);
|
|
};
|
|
|
|
// 操作下架商品
|
|
export const operatingSoldOut = (data) => {
|
|
return instance.post('/zhishu/shopGoods/operatingSoldOut', data);
|
|
};
|
|
|
|
// 通过userId查询对应用户商品表数据条数
|
|
export const queryGoodsCountByUserId = (userId) => {
|
|
return instance.get(`/zhishu/shopGoods/queryGoodsCountByUserId?userId=${userId}`);
|
|
};
|
|
|
|
// 通过userId查询对应用户
|
|
export const queryUserByUserId = (userId) => {
|
|
return instance.get(`/zhishu/shopGoods/queryUserIdByUserId?userId=${userId}`);
|
|
};
|
|
|
|
// 批量修改店铺商品下架/改价
|
|
export const updateShopGoodsPrice = (data) => {
|
|
return instance.post('/zhishu/shopGoods/updateShopGoodsPrice', data);
|
|
};
|
|
|
|
// 为了向后兼容,也导出整个对象
|
|
export const shopGoodsApi = {
|
|
getShopGoodsList,
|
|
getShopGoodsDetail,
|
|
addShopGoods,
|
|
updateShopGoods,
|
|
deleteShopGoods,
|
|
exportShopGoods,
|
|
importShopGoodsExcel,
|
|
uploadShopGoodsImage,
|
|
publishGoodsToShop,
|
|
getStockChangeLog,
|
|
batchUpdateCargoArea,
|
|
getProductByBarcode,
|
|
submitProduct,
|
|
submitFromCopyrightPage,
|
|
checkRepeatBook,
|
|
searchKongfzBooks,
|
|
getAuthorAndPublisher,
|
|
getXcxShopGoods,
|
|
getGoodsData,
|
|
batchMoveItems,
|
|
batchInitInventoryToRedis,
|
|
queryInventory,
|
|
operatingInventory,
|
|
synchronizationGoods,
|
|
goodsComparison,
|
|
batchGoodsComparison,
|
|
saveShopGoodsInDb,
|
|
randomUpdateArtNo,
|
|
getDepotIds,
|
|
editShopGoodsPrice,
|
|
queryStockChangeLogByOrderSn,
|
|
operatingSoldOut,
|
|
queryGoodsCountByUserId,
|
|
queryUserByUserId,
|
|
updateShopGoodsPrice
|
|
};
|
|
|
|
export default shopGoodsApi; |