记得上下班打卡 | git大法好,push需谨慎

Commit 775c1e60 authored by GaoHu's avatar GaoHu

Merge remote-tracking branch 'origin/dev_nft_411' into dev_nft_411

parents 37bb6953 8c71bb3c
......@@ -51,6 +51,9 @@ public class GoblinStoreMgtDigitalGoodsAddSkuParam implements Serializable {
@NotBlank(message = "展示文件类型不能为空")
@Pattern(regexp = "\\b(1|2|3)\\b", message = "展示文件类型参数无效")
private String watchType;
@ApiModelProperty(position = 17, required = false, value = "展示预览图[256],展示文件为视频或模型时必传", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png")
@Size(max = 256, message = "展示预览图URL过长")
private String skuWatchPic;
@ApiModelProperty(position = 18, required = false, value = "我的藏品展示文件类型[1-图片|2-视频|3-模型],`unbox=0`时必传", example = "1")
@Pattern(regexp = "\\b(1|2|3)\\b", message = "我的藏品展示文件类型参数无效")
private String materialType;
......@@ -153,6 +156,7 @@ public class GoblinStoreMgtDigitalGoodsAddSkuParam implements Serializable {
initVo.setSkuPic(this.getSkuPic());
initVo.setSkuWatch(this.getSkuWatch());
initVo.setWatchType(this.getWatchType());
initVo.setSkuWatchPic(this.getSkuWatchPic());
initVo.setPrice(this.getPrice());
initVo.setProductId(this.getProductId());
initVo.setPriceMember(this.getPrice());
......@@ -227,6 +231,7 @@ public class GoblinStoreMgtDigitalGoodsAddSkuParam implements Serializable {
updateVo.setSkuPic(this.getSkuPic());//1
updateVo.setSkuWatch(this.getSkuWatch());//1
updateVo.setWatchType(this.getWatchType());//1
updateVo.setSkuWatchPic(this.getSkuWatchPic());//1
updateVo.setPrice(this.getPrice());//1
updateVo.setPriceMember(this.getPrice());//
updateVo.setIntro(this.getIntro());//1
......
......@@ -37,6 +37,8 @@ public class GoblinGoodsSkuInfoVo implements Serializable, Cloneable {
private String skuWatch;
@ApiModelProperty(position = 15, value = "展示文件类型[1-图片|2-视频|3-模型]")
private String watchType;
@ApiModelProperty(position = 15, value = "展示预览图片URL[256]")
private String skuWatchPic;
@ApiModelProperty(position = 15, value = "素材原始文件类型[1-图片|2-视频|3-模型]")
private String materialType;
@ApiModelProperty(position = 15, value = "素材原始文件URL")
......
......@@ -31,8 +31,10 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable {
private String subtitle;
@ApiModelProperty(position = 15, value = "单品详情展示文件URL[256]")
private String skuWatch;
@ApiModelProperty(position = 15, value = "展示文件类型[1-图片|2-视频|3-模型]")
@ApiModelProperty(position = 16, value = "展示文件类型[1-图片|2-视频|3-模型]")
private String watchType;
@ApiModelProperty(position = 17, value = "展示预览图URL[256]")
private String skuWatchPic;
@ApiModelProperty(position = 18, value = "单品库存")
private Integer skuStock;
......@@ -103,6 +105,7 @@ public class GoblinNftGoodsSkuInfoVo implements Serializable, Cloneable {
this.setSubtitle(source.getSubtitle());
this.setSkuWatch(source.getSkuWatch());
this.setWatchType(source.getWatchType());
this.setSkuWatchPic(source.getSkuWatchPic());
this.setSkuStock(source.getSkuStock());
this.setPrice(source.getPrice());
this.setPriceV(source.getPriceV());
......
......@@ -67,6 +67,11 @@ public class GoblinGoodsSku implements Serializable {
*/
private String watchType;
/**
* 展示预览图片
*/
private String skuWatchPic;
/**
* ISBN,针对CD/图书等
*/
......
......@@ -14,6 +14,7 @@ alter table goblin_goods add publisher varchar(100) null comment '发行方' aft
alter table goblin_goods_sku add sku_type tinyint default 0 not null comment '商品类型[0-常规|1-数字藏品]' after sku_no;
alter table goblin_goods_sku add sku_watch varchar(256) null comment '展示文件URL' after sku_pic;
alter table goblin_goods_sku add watch_type char null comment '展示文件类型[1-图片|2-视频|3-模型]' after sku_watch;
alter table goblin_goods_sku add sku_watch_pic varchar(256) null comment '展示预览图片' after watch_type;
alter table goblin_goods_sku add intro varchar(256) null comment '简介' after weight;
alter table goblin_goods_sku add details text null comment '详情' after intro;
......
......@@ -925,11 +925,19 @@ public class GoblinStoreMgtGoodsController {
if (StringUtils.isEmpty(mgtDigitalGoodsEditSkuParam.getOpeningTime())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "盲盒开启时间不能为空");
}
if ("23".contains(mgtDigitalGoodsEditSkuParam.getWatchType())) {
if (StringUtils.isBlank(mgtDigitalGoodsEditSkuParam.getSkuWatchPic())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "展示预览图不能为空");
}
} else {
mgtDigitalGoodsEditSkuParam.setSkuWatchPic(null);
}
break;
}
if (log.isDebugEnabled()) {
log.debug("商品管理:商品编辑:SKU编辑-数字藏品:[GoblinStoreMgtGoodsEditSkuParam={}]", JsonUtils.toJson(mgtDigitalGoodsEditSkuParam));
}
mgtDigitalGoodsEditSkuParam.setUnbox(mgtGoodsSkuInfoVo.getUnbox());
if (goblinstoreMgtGoodsService.digitalGoodsEditSku(currentUid, mgtDigitalGoodsEditSkuParam, mgtGoodsInfoVo)) {
if ("0".equals(mgtGoodsSkuInfoVo.getUnbox()) && !StringUtils.equals(mgtDigitalGoodsEditSkuParam.getSkuAppear(), mgtGoodsSkuInfoVo.getSkuAppear())) {
goblinRedisUtils.delGoblinNftGoodsInfoListVo();
......@@ -1066,6 +1074,13 @@ public class GoblinStoreMgtGoodsController {
if (goodsInfoVo.getSpuType() == 0) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "无效操作,该商品非数字藏品");
}
if ("23".contains(mgtDigitalGoodsAddSkuParam.getWatchType())) {
if (StringUtils.isBlank(mgtDigitalGoodsAddSkuParam.getSkuWatchPic())) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "展示预览图不能为空");
}
} else {
mgtDigitalGoodsAddSkuParam.setSkuWatchPic(null);
}
BigDecimal hitRatio = mgtDigitalGoodsAddSkuParam.getHitRatio();
if (null != hitRatio && hitRatio.scale() > 2) {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "概率值只支持小数点后两位");
......
......@@ -10,10 +10,7 @@ import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.GoblinCouponService;
import com.liquidnet.service.goblin.service.IGoblinNftGoodsAppService;
import com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import com.liquidnet.service.goblin.util.QueueUtils;
import com.liquidnet.service.goblin.util.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -46,6 +43,8 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
@Autowired
RedisUtil redisUtil;
@Autowired
private GoblinOrderUtils goblinOrderUtils;
@Autowired
GoblinCouponService goblinCouponService;
@Autowired
IGoblinGoodsAnticipateMgService goblinGoodsAnticipateMgService;
......@@ -78,7 +77,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
nftGoodsSkuInfoVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
// 库存
HashMap<String, Integer> stockHashMap = getIsStock(skuInfoVo.getSkuId(), skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
HashMap<String, Integer> stockHashMap = goblinOrderUtils.getIsStock(skuInfoVo.getSkuId(), skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
nftGoodsSkuInfoVo.setIsStock(stockHashMap.get("isStock"));
// 写入列表
skuList.add(nftGoodsSkuInfoVo);
......@@ -99,7 +98,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
goblinNftGoodsSkuListVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
// 库存
HashMap<String, Integer> stockHashMap = getIsStock(skuId, skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
HashMap<String, Integer> stockHashMap = goblinOrderUtils.getIsStock(skuId, skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
goblinNftGoodsSkuListVo.setIsStock(stockHashMap.get("isStock"));
// 写入列表
skuList.add(goblinNftGoodsSkuListVo);
......@@ -135,7 +134,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsDetailSpuInfoVo nftGoodsDetailSpuInfoVo = GoblinNftGoodsDetailSpuInfoVo.getNew().copy(goodsInfoVo);
nftGoodsSkuInfoVo.setGoblinNftGoodsDetailSpuInfoVo(nftGoodsDetailSpuInfoVo);
// 库存
HashMap<String, Integer> stockHashMap = getIsStock(skuId, skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
HashMap<String, Integer> stockHashMap = goblinOrderUtils.getIsStock(skuId, skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
nftGoodsSkuInfoVo.setIsStock(stockHashMap.get("isStock"));
// 总库存
if (skuInfoVo.getUnbox().equals("1")) {
......@@ -149,34 +148,6 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
}
}
// 判断是否售罄
private HashMap<String, Integer> getIsStock(String skuId, String unbox, String soldoutStatus, List<String> skuIdList) {
HashMap<String, Integer> returnMap = CollectionUtil.mapStringInteger();
Integer isStock = 0;
Integer totalStock = 0;
if (null == soldoutStatus || soldoutStatus.equals("0")) {// 未设置售罄 查询库存
int surplusStock = 0;
if (unbox.equals("0")) {// 不是盲盒
surplusStock = goblinRedisUtils.getSkuStock(null, skuId);
} else {
for (String skuIdItem : skuIdList) {// 盲盒计算所有sku库存总数
if (skuIdItem.equals(skuId)) {// 过滤自己
continue;
}
GoblinGoodsSkuInfoVo itemVo = goblinRedisUtils.getGoodsSkuInfoVo(skuIdItem);
surplusStock += goblinRedisUtils.getSkuAllStatusStock(itemVo);
totalStock += goblinRedisUtils.getSkuTotalStock(itemVo);
}
}
if (surplusStock > 0) {
isStock = 1;
}
}
returnMap.put("isStock", isStock);
returnMap.put("totalStock", totalStock);
return returnMap;
}
@Override
public Boolean exchange(String code) {
try {
......
......@@ -817,7 +817,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
LinkedList<Object[]> updateGoodsObjs = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> updateGoodsSkuObjs = CollectionUtil.linkedListObjectArr();
if ("1".equals(updateSkuInfoVo.getUnbox())) {
if ("1".equals(mgtDigitalGoodsAddSkuParam.getUnbox())) {
BigDecimal priceGe = BigDecimal.ZERO, priceLe = BigDecimal.ZERO;
for (String skuIdStr : mgtGoodsInfoVo.getSkuIdList()) {
GoblinGoodsSkuInfoVo skuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuIdStr);
......@@ -840,9 +840,9 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
toMqSqls.add(SqlMapping.get("goblin_goods_sku.update_by_edit_box_digital"));
updateGoodsSkuObjs.add(new Object[]{
updateSkuInfoVo.getName(), updateSkuInfoVo.getSubtitle(), updateSkuInfoVo.getSkuPic(), updateSkuInfoVo.getSkuWatch(), updateSkuInfoVo.getWatchType(),
updateSkuInfoVo.getPrice(), updateSkuInfoVo.getPriceMember(), updateSkuInfoVo.getIntro(), updateSkuInfoVo.getDetails(), updateSkuInfoVo.getShelvesHandle(),
updateSkuInfoVo.getShelvesTime(), updateSkuInfoVo.getSaleStartTime(), updateSkuInfoVo.getOpeningTime(), updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(),
skuId
updateSkuInfoVo.getSkuWatchPic(), updateSkuInfoVo.getPrice(), updateSkuInfoVo.getPriceMember(), updateSkuInfoVo.getIntro(), updateSkuInfoVo.getDetails(),
updateSkuInfoVo.getShelvesHandle(), updateSkuInfoVo.getShelvesTime(), updateSkuInfoVo.getSaleStartTime(), updateSkuInfoVo.getOpeningTime(), updateSkuInfoVo.getUpdatedBy(),
updateSkuInfoVo.getUpdatedAt(), skuId
});
} else {
// String buyRoster = mgtDigitalGoodsAddSkuParam.getBuyRoster();
......@@ -1026,12 +1026,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
LinkedList<Object[]> initGoodsSkuObjs = CollectionUtil.linkedListObjectArr();
initGoodsSkuObjs.add(new Object[]{
skuId, spuId, initGoodsSkuInfoVo.getSkuNo(), initGoodsSkuInfoVo.getSkuType(), initGoodsSkuInfoVo.getName(),
initGoodsSkuInfoVo.getSubtitle(), initGoodsSkuInfoVo.getSkuPic(), initGoodsSkuInfoVo.getSkuWatch(), initGoodsSkuInfoVo.getWatchType(), initGoodsSkuInfoVo.getStock(),
initGoodsSkuInfoVo.getSkuStock(), initGoodsSkuInfoVo.getHitRatio(), initGoodsSkuInfoVo.getPrice(), initGoodsSkuInfoVo.getPriceV(), initGoodsSkuInfoVo.getProductId(),
initGoodsSkuInfoVo.getPriceMember(), initGoodsSkuInfoVo.getIntro(), initGoodsSkuInfoVo.getDetails(), initGoodsSkuInfoVo.getBuyFactor(), initGoodsSkuInfoVo.getBuyLimit(),
initGoodsSkuInfoVo.getStoreId(), initGoodsSkuInfoVo.getShelvesHandle(), initGoodsSkuInfoVo.getShelvesTime(), initGoodsSkuInfoVo.getSaleStartTime(), initGoodsSkuInfoVo.getVirtualFlg(),
initGoodsSkuInfoVo.getStatus(), initGoodsSkuInfoVo.getShelvesStatus(), initGoodsSkuInfoVo.getSkuAppear(), initGoodsSkuInfoVo.getSkuCanbuy(), initGoodsSkuInfoVo.getUnbox(),
initGoodsSkuInfoVo.getOpeningTime(), initGoodsSkuInfoVo.getShelvesAt(), uid, now
initGoodsSkuInfoVo.getSubtitle(), initGoodsSkuInfoVo.getSkuPic(), initGoodsSkuInfoVo.getSkuWatch(), initGoodsSkuInfoVo.getWatchType(), initGoodsSkuInfoVo.getSkuWatchPic(),
initGoodsSkuInfoVo.getStock(), initGoodsSkuInfoVo.getSkuStock(), initGoodsSkuInfoVo.getHitRatio(), initGoodsSkuInfoVo.getPrice(), initGoodsSkuInfoVo.getPriceV(),
initGoodsSkuInfoVo.getProductId(), initGoodsSkuInfoVo.getPriceMember(), initGoodsSkuInfoVo.getIntro(), initGoodsSkuInfoVo.getDetails(), initGoodsSkuInfoVo.getBuyFactor(),
initGoodsSkuInfoVo.getBuyLimit(), initGoodsSkuInfoVo.getStoreId(), initGoodsSkuInfoVo.getShelvesHandle(), initGoodsSkuInfoVo.getShelvesTime(), initGoodsSkuInfoVo.getSaleStartTime(),
initGoodsSkuInfoVo.getVirtualFlg(), initGoodsSkuInfoVo.getStatus(), initGoodsSkuInfoVo.getShelvesStatus(), initGoodsSkuInfoVo.getSkuAppear(), initGoodsSkuInfoVo.getSkuCanbuy(),
initGoodsSkuInfoVo.getUnbox(), initGoodsSkuInfoVo.getOpeningTime(), initGoodsSkuInfoVo.getShelvesAt(), uid, now
});
toMqSqls.add(SqlMapping.get("goblin_goods_sku_nft.insert_for_digital"));
LinkedList<Object[]> initGoodsSkuNftObjs = CollectionUtil.linkedListObjectArr();
......
......@@ -2,14 +2,14 @@ package com.liquidnet.service.goblin.util;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo;
import com.liquidnet.service.adam.dto.vo.AdamUserProfileVo;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -25,8 +25,6 @@ import java.util.List;
@Slf4j
public class GoblinOrderUtils {
@Value("${liquidnet.service.adam.url}")
private String adamUrl;
@Value("${liquidnet.service.candy.url}")
private String candyUrl;
@Value("${liquidnet.service.stone.url}")
......@@ -52,7 +50,7 @@ public class GoblinOrderUtils {
}
}
public CandyCouponVo getCouponDetails(String uCouponId,String uid) {
public CandyCouponVo getCouponDetails(String uCouponId, String uid) {
try {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Authorization", "Bearer " + CurrentUtil.getToken());
......@@ -64,9 +62,9 @@ public class GoblinOrderUtils {
String returnData = HttpUtil.post(candyUrl + " /candy-coupon/receive/ListById", params, header);
ResponseDto<List<CandyCouponVo>> innerReturnVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<List<CandyCouponVo>>>() {
});
if(innerReturnVo.getData().size()>0){
if (innerReturnVo.getData().size() > 0) {
return innerReturnVo.getData().get(0);
}else{
} else {
return null;
}
} catch (Exception e) {
......@@ -93,4 +91,32 @@ public class GoblinOrderUtils {
}
}
// NFT判断是否售罄
public HashMap<String, Integer> getIsStock(String skuId, String unbox, String soldoutStatus, List<String> skuIdList) {
HashMap<String, Integer> returnMap = CollectionUtil.mapStringInteger();
Integer isStock = 0;
Integer totalStock = 0;
if (null == soldoutStatus || soldoutStatus.equals("0")) {// 未设置售罄 查询库存
int surplusStock = 0;
if (unbox.equals("0")) {// 不是盲盒
surplusStock = redisUtils.getSkuStock(null, skuId);
} else {
for (String skuIdItem : skuIdList) {// 盲盒计算所有sku库存总数
if (skuIdItem.equals(skuId)) {// 过滤自己
continue;
}
GoblinGoodsSkuInfoVo itemVo = redisUtils.getGoodsSkuInfoVo(skuIdItem);
surplusStock += redisUtils.getSkuAllStatusStock(itemVo);
totalStock += redisUtils.getSkuTotalStock(itemVo);
}
}
if (surplusStock > 0) {
isStock = 1;
}
}
returnMap.put("isStock", isStock);
returnMap.put("totalStock", totalStock);
return returnMap;
}
}
......@@ -48,11 +48,11 @@ goblin_goods.update_by_del_store=UPDATE goblin_goods SET del_flg='1',updated_by=
goblin_goods.update_by_del=UPDATE goblin_goods SET del_flg='1',updated_by=?,updated_at=?,deleted_by=?,deleted_at=? WHERE spu_id=? AND del_flg='0'
goblin_goods_sku.insert=INSERT INTO goblin_goods_sku (sku_id,spu_id,sku_no,name,subtitle, sell_price,sku_pic,sku_isbn,stock,sku_stock, warning_stock,price,price_member,weight,buy_factor, buy_roster,buy_limit,store_id,sku_validity,virtual_flg, status,shelves_status,sku_appear,shelves_at,created_by, created_at,logistics_template)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_goods_sku.insert_for_digital=INSERT INTO goblin_goods_sku (sku_id,spu_id,sku_no,sku_type,name,subtitle,sku_pic,sku_watch,watch_type,stock,sku_stock,hit_ratio,price,price_v,product_id,price_member,intro,details,buy_factor,buy_limit,store_id,shelves_handle,shelves_time,sale_start_time,virtual_flg,status,shelves_status,sku_appear,sku_canbuy,unbox,opening_time,shelves_at,created_by,created_at)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_goods_sku.insert_for_digital=INSERT INTO goblin_goods_sku (sku_id,spu_id,sku_no,sku_type,name,subtitle,sku_pic,sku_watch,watch_type,sku_watch_pic,stock,sku_stock,hit_ratio,price,price_v,product_id,price_member,intro,details,buy_factor,buy_limit,store_id,shelves_handle,shelves_time,sale_start_time,virtual_flg,status,shelves_status,sku_appear,sku_canbuy,unbox,opening_time,shelves_at,created_by,created_at)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_goods_sku.update_by_edit_for_market=UPDATE goblin_goods_sku SET name=?,sku_pic=?,sell_price=?,weight=?,stock=?,warning_stock=?,sku_appear=?,sku_isbn=?,sku_validity=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
goblin_goods_sku.update_by_edit=UPDATE goblin_goods_sku SET name=?,sku_pic=?,sell_price=?,price=?,price_member=?,weight=?,stock=?,sku_stock=?,warning_stock=?,sku_appear=?,sku_isbn=?,buy_factor=?,buy_roster=?,buy_limit=?,sku_validity=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
goblin_goods_sku.update_by_edit_for_digital=UPDATE goblin_goods_sku SET hit_ratio=?,buy_factor=?,buy_limit=?,sku_appear=?,sku_canbuy=?,shelves_handle=?,shelves_time=?,sale_start_time=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
goblin_goods_sku.update_by_edit_box_digital=UPDATE goblin_goods_sku SET name=?,subtitle=?,sku_pic=?,sku_watch=?,watch_type=?,price=?,price_member=?,intro=?,details=?,shelves_handle=?,shelves_time=?,sale_start_time=?,opening_time=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
goblin_goods_sku.update_by_edit_box_digital=UPDATE goblin_goods_sku SET name=?,subtitle=?,sku_pic=?,sku_watch=?,watch_type=?,sku_watch_pic=?,price=?,price_member=?,intro=?,details=?,shelves_handle=?,shelves_time=?,sale_start_time=?,opening_time=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
goblin_goods_sku.update_by_edit_spu=UPDATE goblin_goods_sku SET sku_no=?,virtual_flg=?,logistics_template=?,updated_by=?,updated_at=? WHERE spu_id=? AND del_flg='0'
goblin_goods_sku.update_by_shelves=UPDATE goblin_goods_sku SET shelves_status=?,shelves_at=?,updated_by=?,updated_at=? WHERE sku_id=? AND store_id=? AND del_flg='0'
goblin_goods_sku.update_by_soldout=UPDATE goblin_goods_sku SET soldout_status=?,updated_by=?,updated_at=? WHERE sku_id=? AND del_flg='0'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment