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

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

~api:商品管理:单品添加/编辑+ERP属性处理;

parent f37cb49c
......@@ -213,7 +213,7 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable {
// vo.setServiceSupportVoList();
// vo.setExtagVoList();
vo.setErpType(StringUtils.isBlank(this.getErpType()) ? "WANGDIAN" : this.getErpType());
vo.setSpuErpCode(this.getSpuErpCode());
vo.setSpuErpCode(StringUtils.trim(this.getSpuErpCode()));
return vo;
}
......@@ -245,7 +245,7 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable {
vo.setImageList(this.getImageList());
vo.setLogisticsTemplate(this.getLogisticsTemplate());
// vo.setErpType();// 暂不考虑更改ERP类型
vo.setSpuErpCode(this.getSpuErpCode());
vo.setSpuErpCode(StringUtils.trim(this.getSpuErpCode()));
return vo;
}
......@@ -311,9 +311,26 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable {
// skuInfoVo.setUpdatedBy();
// skuInfoVo.setUpdatedAt();
skuInfoVo.setLogisticsTemplate(goodsInfoVo.getLogisticsTemplate());
skuInfoVo.setSkuErpCode(StringUtils.trim(addSkuParam.getSkuErpCode()));
skuInfoVo.setErpType(goodsInfoVo.getErpType());
skuInfoVo.setErpHosting(StringUtils.isEmpty(addSkuParam.getErpHosting()) ? 0 : Integer.parseInt(addSkuParam.getErpHosting()));
skuInfoVo.setErpWarehouseNo(addSkuParam.getErpWarehouseNo());
skuInfoVo.setErpWarehouseNo(StringUtils.trim(addSkuParam.getErpWarehouseNo()));
if (StringUtils.equals(addSkuParam.getErpHosting(), "1")) {
skuInfoVo.setErpHosting(1);
if (StringUtils.isBlank(goodsInfoVo.getSpuErpCode())) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("149022");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
if (StringUtils.isBlank(skuInfoVo.getSkuErpCode())) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("149023");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
if (StringUtils.isBlank(skuInfoVo.getErpWarehouseNo())) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("149024");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
} else {
skuInfoVo.setErpHosting(0);
}
List<GoblinGoodsSpecDto> skuSpecList = addSkuParam.getSkuSpecList();
skuInfoVo.setSkuSpecList(skuSpecList);
......
......@@ -24,11 +24,11 @@ public class GoblinStoreMgtGoodsAddSkuParam implements Serializable {
@ApiModelProperty(position = 10, required = false, value = "单品条码")
@Pattern(regexp = LnsRegex.Valid.ALPHABET_NUMBER_32, message = "单品条码格式或长度有误")
private String skuBarCode;
@ApiModelProperty(position = 10, required = false, value = "ERP单品编码")
@Size(max = 40, message = "ERP单品编码长度限制40")
@ApiModelProperty(position = 10, required = false, value = "ERP规格编码")
@Size(max = 40, message = "ERP规格编码长度限制40")
private String skuErpCode;
@ApiModelProperty(position = 10, value = "ERP托管[0-否|1-是],默认0")
@Pattern(regexp = "\\b(0|1)\\b", message = "ERP托管设置参数无效")
@Pattern(regexp = "\\b(0|1)\\b", message = "ERP托管参数无效")
private String erpHosting;
@ApiModelProperty(position = 10, required = false, value = "ERP仓库编号")
@Size(max = 40, message = "ERP仓库编号长度限制40")
......
......@@ -7,6 +7,7 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import javax.validation.Valid;
......@@ -33,6 +34,15 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
@ApiModelProperty(position = 12, required = false, value = "单品条码")
@Pattern(regexp = LnsRegex.Valid.ALPHABET_NUMBER_32, message = "单品条码格式或长度有误")
private String skuBarCode;
@ApiModelProperty(position = 12, required = false, value = "ERP规格编码")
@Size(max = 40, message = "ERP规格编码长度限制40")
private String skuErpCode;
@ApiModelProperty(position = 12, value = "ERP托管[0-否|1-是],默认0")
@Pattern(regexp = "\\b(0|1)\\b", message = "ERP托管参数无效")
private String erpHosting;
@ApiModelProperty(position = 12, required = false, value = "ERP仓库编号")
@Size(max = 40, message = "ERP仓库编号长度限制40")
private String erpWarehouseNo;
@ApiModelProperty(position = 13, required = true, value = "单品默认图片的url[256]")
@NotNull(message = "单品默认图片不能为空")
@Size(max = 256, message = "单品默认图片URL过长")
......@@ -114,6 +124,9 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
goodsSkuInfoVo.setBuyRoster(this.getBuyRoster());
goodsSkuInfoVo.setBuyLimit(this.getBuyLimit());
goodsSkuInfoVo.setSkuValidity(DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getSkuValidity()));
goodsSkuInfoVo.setSkuErpCode(StringUtils.trim(this.getSkuErpCode()));
goodsSkuInfoVo.setErpHosting(StringUtils.isEmpty(this.getErpHosting()) ? 0 : Integer.parseInt(this.getErpHosting()));
goodsSkuInfoVo.setErpWarehouseNo(StringUtils.trim(this.getErpWarehouseNo()));
return goodsSkuInfoVo;
}
......@@ -139,6 +152,10 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
vo.setSkuValidity(DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getSkuValidity()));
vo.setSkuAppear(this.getSkuAppear());
vo.setSkuSpecList(skuSpecList);
vo.setSkuErpCode(StringUtils.trim(this.getSkuErpCode()));
// vo.setErpType();// 根据SPU设置
vo.setErpHosting(StringUtils.isEmpty(this.getErpHosting()) ? 0 : Integer.parseInt(this.getErpHosting()));
vo.setErpWarehouseNo(StringUtils.trim(this.getErpWarehouseNo()));
return vo;
}
}
......@@ -27,7 +27,7 @@ public class GoblinGoodsSkuInfoVo implements Serializable, Cloneable {
private String skuNo;
@ApiModelProperty(position = 12, value = "单品条码[32]")
private String skuBarCode;
@ApiModelProperty(position = 12, value = "ERP单品编码[64]")
@ApiModelProperty(position = 12, value = "ERP规格编码[64]")
private String skuErpCode;
@ApiModelProperty(position = 12, value = "ERP类型[WANGDIAN-旺店通]")
private String erpType;
......
package com.liquidnet.service.goblin.entity;
package com.liquidnet.service.goblin.entity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -38,7 +38,7 @@ public class GoblinGoodsSku implements Serializable {
private String skuBarCode;
/**
* ERP单品编码
* ERP规格编码
*/
private String skuErpCode;
......
......@@ -1215,7 +1215,7 @@ alter table goblin_goods_sku add erp_warehouse_no varchar(64) null comment 'ERP
alter table goblin_order_sku add erp_type varchar(64) null comment 'ERP类型[WANGDIAN-旺店通]' after push_time;
alter table goblin_order_sku add spu_erp_code varchar(64) null comment 'ERP商品编码' after erp_type;
alter table goblin_order_sku add sku_erp_code varchar(64) null comment 'ERP单品编码' after spu_erp_code;
alter table goblin_order_sku add sku_erp_code varchar(64) null comment 'ERP规格编码' after spu_erp_code;
alter table goblin_order_sku add erp_warehouse_no varchar(64) null comment 'ERP仓库编号' after sku_erp_code;
# -- >>------------------------------------------------------------------------------------
# -- >>------------------------------------------------------------------------------------
......
......@@ -641,6 +641,11 @@ public class GoblinStoreMgtGoodsController {
// return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "商品分类3无效");
// }
}
if (StringUtils.isNotBlank(mgtGoodsInfoVo.getSpuErpCode()) && StringUtils.isBlank(mgtGoodsAddParam.getSpuErpCode())) {
if (hasSkuFlg && goodsSkuInfoVos.stream().anyMatch(r -> r.getErpHosting() == 1)) {// 存在SKU启用ERP托管,不可修改`spu_erp_code`
mgtGoodsAddParam.setSpuErpCode(mgtGoodsInfoVo.getSpuErpCode());
}
}
if (log.isDebugEnabled()) {
log.debug("商品管理:商品编辑:SPU编辑:[GoblinStoreMgtGoodsAddParam={}]", JsonUtils.toJson(mgtGoodsAddParam));
}
......@@ -865,6 +870,18 @@ public class GoblinStoreMgtGoodsController {
}
}
if (StringUtils.equals(mgtGoodsEditSkuParam.getErpHosting(), "1")) {
if (StringUtils.isBlank(goodsInfoVo.getSpuErpCode())) {
return ResponseDto.failure(ErrorMapping.get("149022"));
}
if (StringUtils.isBlank(mgtGoodsEditSkuParam.getSkuErpCode())) {
return ResponseDto.failure(ErrorMapping.get("149023"));
}
if (StringUtils.isBlank(mgtGoodsEditSkuParam.getErpWarehouseNo())) {
return ResponseDto.failure(ErrorMapping.get("149024"));
}
}
String buyRoster = mgtGoodsEditSkuParam.getBuyRoster(), befBuyRoster = mgtGoodsSkuInfoVo.getBuyRoster();
if (!mgtGoodsEditSkuParam.getBuyFactor().equals("2") || StringUtils.equals(befBuyRoster, buyRoster) || !buyRoster.startsWith("http")) {
mgtGoodsEditSkuParam.setBuyRoster(null);
......@@ -1067,6 +1084,17 @@ public class GoblinStoreMgtGoodsController {
}
}
}
if (StringUtils.equals(mgtGoodsEditSkuParam.getErpHosting(), "1")) {
if (StringUtils.isBlank(goodsInfoVo.getSpuErpCode())) {
return ResponseDto.failure(ErrorMapping.get("149022"));
}
if (StringUtils.isBlank(mgtGoodsEditSkuParam.getSkuErpCode())) {
return ResponseDto.failure(ErrorMapping.get("149023"));
}
if (StringUtils.isBlank(mgtGoodsEditSkuParam.getErpWarehouseNo())) {
return ResponseDto.failure(ErrorMapping.get("149024"));
}
}
if (log.isDebugEnabled()) {
log.debug("商品管理:商品编辑:SKU添加:[GoblinStoreMgtGoodsEditSkuParam={}]", JsonUtils.toJson(mgtGoodsEditSkuParam));
......
......@@ -664,7 +664,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
updateGoodsSkuForMarketObjs.add(new Object[]{
updateSkuInfoVo.getSkuBarCode(), updateSkuInfoVo.getName(), updateSkuInfoVo.getSkuPic(), updateSkuInfoVo.getSellPrice(), updateSkuInfoVo.getWeight(),
updateSkuInfoVo.getStock(), updateSkuInfoVo.getWarningStock(), updateSkuInfoVo.getSkuAppear(), updateSkuInfoVo.getSkuIsbn(), updateSkuInfoVo.getSkuValidity(),
updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(), marketSkuId
updateSkuInfoVo.getUpdatedBy(), updateSkuInfoVo.getUpdatedAt(), updateSkuInfoVo.getSkuErpCode(), updateSkuInfoVo.getErpHosting(), updateSkuInfoVo.getErpWarehouseNo(),
marketSkuId
});
});
}
......@@ -738,7 +739,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
updateSkuInfoVo.getPriceMember(), updateSkuInfoVo.getWeight(), updateSkuInfoVo.getStock(), updateSkuInfoVo.getSkuStock(),
updateSkuInfoVo.getWarningStock(), updateSkuInfoVo.getSkuAppear(), updateSkuInfoVo.getSkuIsbn(), updateSkuInfoVo.getBuyFactor(),
updateSkuInfoVo.getBuyRoster(), updateSkuInfoVo.getBuyLimit(), updateSkuInfoVo.getSkuValidity(), updateSkuInfoVo.getUpdatedBy(),
updateSkuInfoVo.getUpdatedAt(), skuId
updateSkuInfoVo.getUpdatedAt(), updateSkuInfoVo.getSkuErpCode(), updateSkuInfoVo.getErpHosting(), updateSkuInfoVo.getErpWarehouseNo(), skuId
});
toMqSqls.add(SqlMapping.get("goblin_goods_sku_spec_value.update_by_edit"));
// LinkedList<Object[]> updateSkuSpecValueObjs = CollectionUtil.linkedListObjectArr();
......@@ -908,6 +909,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
addSkuInfoVo.setCreatedAt(now);
addSkuInfoVo.setCreatedBy(uid);
addSkuInfoVo.setLogisticsTemplate(goodsInfoVo.getLogisticsTemplate());
addSkuInfoVo.setErpType(goodsInfoVo.getErpType());
goblinMongoUtils.setGoodsSkuInfoVo(addSkuInfoVo);
log.info("商品管理:SKU添加[UID={},PARAMS={}]", uid, JsonUtils.toJson(mgtGoodsEditSkuParam));
......@@ -941,7 +943,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
toMqSqls.add(SqlMapping.get("goblin_goods_sku.insert"));
LinkedList<Object[]> initGoodsSkuObjs = CollectionUtil.linkedListObjectArr();
initGoodsSkuObjs.add(new Object[]{
addSkuInfoVo.getSkuId(), addSkuInfoVo.getSpuId(), addSkuInfoVo.getSkuNo(), addSkuInfoVo.getSkuBarCode(), addSkuInfoVo.getName(),
addSkuInfoVo.getSkuId(), addSkuInfoVo.getSpuId(), addSkuInfoVo.getSkuNo(), addSkuInfoVo.getSkuBarCode(), addSkuInfoVo.getSkuErpCode(),
addSkuInfoVo.getErpType(), addSkuInfoVo.getErpHosting(), addSkuInfoVo.getErpWarehouseNo(), addSkuInfoVo.getName(),
addSkuInfoVo.getSubtitle(), addSkuInfoVo.getSellPrice(), addSkuInfoVo.getSkuPic(), addSkuInfoVo.getSkuIsbn(), addSkuInfoVo.getStock(),
addSkuInfoVo.getSkuStock(), addSkuInfoVo.getWarningStock(), addSkuInfoVo.getPrice(), addSkuInfoVo.getPriceMember(), addSkuInfoVo.getWeight(),
addSkuInfoVo.getBuyFactor(), addSkuInfoVo.getBuyRoster(), addSkuInfoVo.getBuyLimit(), addSkuInfoVo.getStoreId(), addSkuInfoVo.getSkuValidity(),
......
......@@ -94,6 +94,9 @@
149019=\u85CF\u54C1AR\u6587\u4EF6\u5DF2\u6DFB\u52A0\uFF0C\u8BF7\u6838\u5B9E
149020=\u85CF\u54C1\u672A\u6DFB\u52A0AR\u6587\u4EF6\uFF0C\u8BF7\u6838\u5B9E
149021=\u8BF7\u70B9\u9009\u85CF\u54C1\u540E\u64CD\u4F5C
149022=\u5F00\u542FERP\u6258\u7BA1\u540E\uFF0C\u8BE5\u5546\u54C1\u5C5E\u6027`ERP\u5546\u54C1\u7F16\u7801`\u5FC5\u586B
149023=\u5F00\u542FERP\u6258\u7BA1\u540E\uFF0C\u5BF9\u5E94\u89C4\u683C\u5C5E\u6027`ERP\u89C4\u683C\u7F16\u7801`\u5FC5\u586B
149024=\u5F00\u542FERP\u6258\u7BA1\u540E\uFF0C\u5BF9\u5E94\u89C4\u683C\u5C5E\u6027`ERP\u4ED3\u5E93\u7F16\u53F7`\u5FC5\u586B
148001=\u6B63\u5728\u4E0B\u5355\u5E93\u5B58\u4E0D\u8DB3
......
......@@ -51,9 +51,10 @@ goblin_goods.update_by_del=UPDATE goblin_goods SET del_flg='1',updated_by=?,upda
#goblin_goods_sku.insert=INSERT INTO goblin_goods_sku (sku_id,spu_id,sku_no,sku_bar_code,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=INSERT INTO goblin_goods_sku (sku_id,spu_id,sku_no,sku_bar_code,sku_erp_code,erp_type,erp_hosting,erp_warehouse_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,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_for_market=UPDATE goblin_goods_sku SET sku_bar_code=?,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_market=UPDATE goblin_goods_sku SET sku_bar_code=?,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_for_market=UPDATE goblin_goods_sku SET sku_bar_code=?,name=?,sku_pic=?,sell_price=?,weight=?,stock=?,warning_stock=?,sku_appear=?,sku_isbn=?,sku_validity=?,updated_by=?,updated_at=?,sku_erp_code=?,erp_hosting=?,erp_warehouse_no=? 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=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=?,sku_erp_code=?,erp_hosting=?,erp_warehouse_no=? 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=?,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'
......
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