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

Commit e4239309 authored by 张国柄's avatar 张国柄

~api:藏品管理:添加、编辑藏品+展示预览图片逻辑;

parent 446fa0de
......@@ -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(), "概率值只支持小数点后两位");
......
......@@ -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();
......
......@@ -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