Browse Source

1.商品表添加预警值、线下门店销售状态等字段 2.添加预警值设置、线下门店销售状态更新等接口

master
dy-hu 3 years ago
parent
commit
5054bf7a2d
  1. 3
      sql/3.2升级3.3.sql
  2. 14
      sql/yshop.pdman.json
  3. 6
      yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProduct.java
  4. 14
      yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductService.java
  5. 6
      yshop-mall/src/main/java/co/yixiang/modules/product/service/dto/YxStoreProductDto.java
  6. 25
      yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java
  7. 16
      yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/StoreProductMapper.java
  8. 21
      yshop-shop/src/main/java/co/yixiang/modules/product/rest/StoreProductController.java

3
sql/3.2升级3.3.sql

@ -26,4 +26,7 @@ INSERT INTO `yx_store_product` VALUES (8, 0, 'https://consoleapi.xinxintuan.co/f
ALTER TABLE yx_store_coupon_user ADD COLUMN ctype tinyint(1) NULL DEFAULT NULL COMMENT '优惠券类型 0-通用 1-商品券' AFTER is_fail;
ALTER TABLE yx_store_coupon_user ADD COLUMN coupon_time int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '优惠券有效期限(单位:天)' AFTER ctype;
ALTER TABLE yx_store_product ADD COLUMN is_offline tinyint(1) ZEROFILL NULL DEFAULT 0 COMMENT '是否仅限门店线下销售(0:否,1:是)' AFTER storage_condition;
ALTER TABLE yx_store_product ADD COLUMN warn_value int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '库存预警值' AFTER is_offline;

14
sql/yshop.pdman.json

@ -7431,6 +7431,20 @@
"type": "VARCHAR_128",
"remark": "",
"chnname": "存储条件"
},
{
"name": "is_offline",
"type": "BIT_1",
"remark": "",
"chnname": "是否仅限门店线下销售(0:否,1:是)",
"notNull": true
},
{
"name": "warn_value",
"type": "MEDIUMINT UNSIGNED_8",
"remark": "",
"chnname": "库存预警值",
"notNull": true
}
],
"indexs": [],

6
yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProduct.java

@ -267,6 +267,12 @@ public class YxStoreProduct extends BaseDomain {
@ApiModelProperty(value = "存储条件")
private String storageCondition;
@ApiModelProperty(value = "是否仅限门店线下销售(0:否,1:是)")
private Integer isOffline;
@ApiModelProperty(value = "库存预警值")
private Integer warnValue;
@TableField(exist = false)
private YxStoreCategory storeCategory;

14
yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductService.java

@ -127,6 +127,20 @@ public interface YxStoreProductService extends BaseService<YxStoreProduct>{
void onSale(Long id,Integer status);
/**
* 是否仅限线下门店销售状态更新
* @param id 商品id
* @param status ShopCommonEnum
*/
void onOffline(Long id,Integer status);
/**
* 设置预警值
* @param id
* @param value
*/
void setWarnValue(Long id,Integer value);
/**
* 获取生成的属性
* @param id 商品id
* @param jsonStr jsonStr

6
yshop-mall/src/main/java/co/yixiang/modules/product/service/dto/YxStoreProductDto.java

@ -157,5 +157,11 @@ public class YxStoreProductDto implements Serializable {
/** 存储条件*/
private String storageCondition;
/** 是否仅限门店线下销售(0:否,1:是)*/
private Integer isOffline;
/** 库存预警值*/
private Integer warnValue;
private YxStoreCategorySmallDto storeCategory;
}

25
yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java

@ -527,6 +527,31 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
storeProductMapper.updateOnsale(status, id);
}
/**
* 是否仅限线下门店销售状态更新
*
* @param id 商品id
* @param status ShopCommonEnum
*/
@Override
public void onOffline(Long id, Integer status) {
if (ShopCommonEnum.IS_STATUS_1.getValue().equals(status)) {
status = ShopCommonEnum.IS_STATUS_0.getValue();
} else {
status = ShopCommonEnum.IS_STATUS_1.getValue();
}
storeProductMapper.updateOffline(status, id);
}
/**
* 设置预警值
* @param id
* @param value
*/
@Override
public void setWarnValue(Long id, Integer value) {
storeProductMapper.updateWarnValue(value, id);
}
/**
* 新增/保存商品

16
yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/StoreProductMapper.java

@ -105,6 +105,22 @@ public interface StoreProductMapper extends CoreMapper<YxStoreProduct> {
@Delete("DELETE from yx_system_attachment where name like CONCAT(#{id},'_%',#{name}, '%')")
void deleteForwardImg(@Param("id") Long id,@Param("name") String name);
/**
* 是否仅限线下门店销售状态更新
* @param status
* @param id
*/
@Update("update yx_store_product set is_offline = #{status} where id = #{id}")
void updateOffline(@Param("status") Integer status, @Param("id") Long id);
/**
* 更新预警值
* @param value
* @param id
*/
@Update("update yx_store_product set warn_value = #{value} where id = #{id}")
void updateWarnValue(@Param("value") Integer value, @Param("id") Long id);
@Override
@Select("SELECT id,spec_type,ot_price,mer_use,description,is_postage,is_sub,is_best,(sales+ficti) as sales,price,is_bargain,vip_price,store_name,stock,keyword,image,cost,is_good,unit_name,is_benefit,update_time,give_integral,is_new,sort,slider_image,is_show,bar_code,postage,code_path,create_time,cate_id,is_seckill,mer_id,temp_id,ficti,store_info,is_del,is_hot,is_integral,integral,browse FROM yx_store_product ${ew.customSqlSegment}")
<E extends IPage<YxStoreProduct>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<YxStoreProduct> queryWrapper);

21
yshop-shop/src/main/java/co/yixiang/modules/product/rest/StoreProductController.java

@ -148,6 +148,27 @@ public class StoreProductController {
yxStoreProductService.onSale(id,status);
return new ResponseEntity(HttpStatus.OK);
}
@ApiOperation(value = "是否仅限门店线下销售")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PostMapping(value = "/yxStoreProduct/onoffline/{id}")
public ResponseEntity onOffline(@PathVariable Long id,@RequestBody String jsonStr){
JSONObject jsonObject = JSON.parseObject(jsonStr);
Integer status = jsonObject.getInteger("status");
yxStoreProductService.onOffline(id,status);
return new ResponseEntity(HttpStatus.OK);
}
@ApiOperation(value = "设置预警值")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PostMapping(value = "/yxStoreProduct/updateWarnValue/{id}")
public ResponseEntity updateWarnValue(@PathVariable Long id,@RequestBody String jsonStr){
JSONObject jsonObject = JSON.parseObject(jsonStr);
Integer value = jsonObject.getInteger("value");
yxStoreProductService.setWarnValue(id,value);
return new ResponseEntity(HttpStatus.OK);
}
@ApiOperation(value = "生成属性(添加活动产品专用)")
@PostMapping(value = "/yxStoreProduct/isFormatAttrForActivity/{id}")
public ResponseEntity isFormatAttrForActivity(@PathVariable Long id,@RequestBody String jsonStr){

Loading…
Cancel
Save