Compare commits
2 Commits
3443721a96
...
8848abc18e
| Author | SHA1 | Date | |
|---|---|---|---|
| 8848abc18e | |||
| 8be7b6f273 |
@ -122,4 +122,9 @@ public class StoreDbConfig implements Serializable {
|
||||
@ApiModelProperty(value = "更新优先方式(1:手动优先,2:自动优先),自动优先时根据平台给的商品自动切分上架,更新是才发挥作用")
|
||||
@NotBlank(message = "更新优先方式不能为空")
|
||||
private String priorityMode="1";
|
||||
|
||||
@TableField(value = "shop_gap_time",updateStrategy = FieldStrategy.NOT_EMPTY)
|
||||
@ApiModelProperty(value = "商品同步间隔时间,由于商品同步时异步,要等同步完成才同步商品和活动,所以要设置间隔时间")
|
||||
@NotBlank(message = "商品同步间隔时间不能为空")
|
||||
private String shopGapTime;
|
||||
}
|
||||
@ -83,7 +83,7 @@ public class ShopBaseProductSpecServiceImpl extends BaseServiceImpl<ShopBaseProd
|
||||
specs.forEach(item -> {
|
||||
QueryWrapper<ShopProductSpecItem> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("spec_id", item.getSpec_id())
|
||||
.eq("store_id", Integer.valueOf(store_id));
|
||||
.eq("store_id", store_id);
|
||||
queryWrapper.orderByAsc("spec_item_order");
|
||||
queryWrapper.orderByAsc("spec_item_id");
|
||||
item.setSpecItems(itemService.getItems(queryWrapper));
|
||||
|
||||
@ -25,6 +25,7 @@ import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
@ -81,7 +82,7 @@ public class ShopBaseProductTypeServiceImpl extends BaseServiceImpl<ShopBaseProd
|
||||
|
||||
@Override
|
||||
public Map getType(String type_id) {
|
||||
String storeId = ContextUtil.getCurrentUser().getStore_id();
|
||||
String storeId = Objects.requireNonNull(ContextUtil.getCurrentUser()).getStore_id();
|
||||
QueryWrapper<ShopBaseProductType> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("type_id", type_id);
|
||||
queryWrapper.eq("store_id", storeId);
|
||||
@ -91,8 +92,7 @@ public class ShopBaseProductTypeServiceImpl extends BaseServiceImpl<ShopBaseProd
|
||||
data.put("brands", brandService.getBrandsByIds(shopBaseProductType.getType_brand_ids()));
|
||||
|
||||
// Integer store_id = Convert.toInt(userInfoService.getUser().getStore_id());
|
||||
Integer store_id =1;
|
||||
data.put("specs", specService.getSpecsByIds(shopBaseProductType.getType_spec_ids(), store_id));
|
||||
data.put("specs", specService.getSpecsByIds(shopBaseProductType.getType_spec_ids(), Integer.valueOf(storeId)));
|
||||
|
||||
|
||||
return data;
|
||||
@ -102,10 +102,11 @@ public class ShopBaseProductTypeServiceImpl extends BaseServiceImpl<ShopBaseProd
|
||||
public Map getType(String type_id, Long product_id) {
|
||||
Map data = getType(type_id);
|
||||
|
||||
//todo 分销商业务去除吧
|
||||
if (CheckUtil.isNotEmpty(product_id)) {
|
||||
//读取商品,判断是否为供应商分销商品
|
||||
ShopProductBase shopProductBase = shopProductBaseService.get(product_id);
|
||||
if (!shopProductBase.getProduct_src_id().equals(0)) {
|
||||
if (!shopProductBase.getProduct_src_id().equals(0L)) {
|
||||
ShopProductIndex shopProductIndex = shopProductIndexService.get(shopProductBase.getProduct_src_id());
|
||||
|
||||
if (shopProductIndex != null) {
|
||||
|
||||
@ -83,5 +83,18 @@ public class ShopProductItemController {
|
||||
.orderByAsc("item_id");
|
||||
return CommonResult.success(shopProductItemService.find(queryWrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑库存和价格
|
||||
* @param shopProductItem
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "商品表-SKU表 商品名称(产品名称+颜色规格名称) =shop_product_item-编辑", notes = "商品表-SKU表 商品名称(产品名称+颜色规格名称) =shop_product_item-编辑")
|
||||
@RequestMapping(value = "/editQuantity", method = RequestMethod.POST)
|
||||
public CommonResult editQuantity(ShopProductItem shopProductItem) {
|
||||
return shopProductItemService.editQuantity(shopProductItem);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.suisung.mall.shop.product.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.modules.edu.vo.EduCourseDetailVO;
|
||||
import com.suisung.mall.common.modules.product.ShopProductItem;
|
||||
import com.suisung.mall.common.pojo.dto.EduCourseDetailDTO;
|
||||
@ -84,4 +85,11 @@ public interface ShopProductItemService extends IBaseService<ShopProductItem> {
|
||||
* @return
|
||||
*/
|
||||
void batchUpdateByCondition(List<ShopProductItem> shopProductItemList);
|
||||
|
||||
/**
|
||||
* 功能描述:
|
||||
* 修改item的价格和库存
|
||||
* @param: ShopProductItem
|
||||
*/
|
||||
CommonResult editQuantity(ShopProductItem shopProductItem);
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.api.ResultCode;
|
||||
import com.suisung.mall.common.api.StateCode;
|
||||
import com.suisung.mall.common.constant.ConfigConstant;
|
||||
@ -61,6 +62,7 @@ import com.suisung.mall.shop.user.service.ShopUserProductBrowseService;
|
||||
import io.seata.spring.annotation.GlobalTransactional;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -2290,4 +2292,48 @@ public class ShopProductItemServiceImpl extends BaseServiceImpl<ShopProductItemM
|
||||
shopProductItemMapper.updateBatchByProductId(shopProductItemList,shopProductItemList.get(0).getItem_enable());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CommonResult editQuantity(ShopProductItem shopProductItem) {
|
||||
QueryWrapper<ShopProductItem> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("product_id",shopProductItem.getProduct_id());
|
||||
List<ShopProductItem> oldShopProductItems= shopProductItemService.list(queryWrapper);
|
||||
List<ShopProductItem> oldShopProductItemList= oldShopProductItems.stream().filter(s -> s.getItem_id().equals(shopProductItem.getItem_id())).collect(Collectors.toList());
|
||||
if(CollUtil.isEmpty(oldShopProductItemList)){
|
||||
return CommonResult.failed("不存在商品sku");
|
||||
}
|
||||
ShopProductItem oldShopProductItem=oldShopProductItemList.get(0);
|
||||
if(ObjectUtil.isEmpty(shopProductItem.getItem_quantity())){
|
||||
return CommonResult.failed("库存不能为空");
|
||||
}
|
||||
if(ObjectUtil.isEmpty(shopProductItem.getItem_unit_price())){
|
||||
return CommonResult.failed("价格不能为空");
|
||||
}
|
||||
|
||||
BigDecimal item_unit_price =shopProductItem.getItem_unit_price();
|
||||
BigDecimal item_unit_price_max =shopProductItem.getItem_unit_price();
|
||||
|
||||
BigDecimal item_unit_price_old = oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).min(BigDecimal::compareTo).get();
|
||||
ShopProductIndex shopProductIndex=new ShopProductIndex();
|
||||
if(item_unit_price_old.compareTo(item_unit_price)>0){
|
||||
ShopProductBase shopProductBase=new ShopProductBase();
|
||||
shopProductBase.setProduct_id(shopProductItem.getProduct_id());
|
||||
shopProductBase.setProduct_unit_price(item_unit_price);
|
||||
shopProductIndex.setProduct_unit_price(item_unit_price);
|
||||
shopProductIndex.setProduct_id(shopProductItem.getProduct_id());
|
||||
shopProductBaseService.updateById(shopProductBase);
|
||||
}
|
||||
BigDecimal item_unit_price_max_old=oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).max(BigDecimal::compareTo).get();
|
||||
if(item_unit_price_max.compareTo(item_unit_price_max_old)>0){
|
||||
shopProductIndex.setProduct_id(shopProductItem.getProduct_id());
|
||||
shopProductIndex.setProduct_unit_price_max(item_unit_price_max);
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(shopProductIndex.getProduct_id())){
|
||||
shopProductIndexService.updateById(shopProductIndex);
|
||||
}
|
||||
oldShopProductItem.setItem_quantity(shopProductItem.getItem_quantity());
|
||||
oldShopProductItem.setItem_unit_price(shopProductItem.getItem_unit_price());
|
||||
shopProductItemService.updateById(oldShopProductItem);
|
||||
return CommonResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
1
sql/shop/dev/20250724_ddl.sql
Normal file
1
sql/shop/dev/20250724_ddl.sql
Normal file
@ -0,0 +1 @@
|
||||
alter table store_db_config add shop_gap_time varchar(64) NOT NULL DEFAULT '1000*60*2' COMMENT '商品间隔时间,由于商品同步时异步,要等同步完成才同步商品和活动,所以要设置间隔时间';
|
||||
1
sql/shop/dev/20250725_dml.sql
Normal file
1
sql/shop/dev/20250725_dml.sql
Normal file
@ -0,0 +1 @@
|
||||
INSERT INTO `admin_base_protocol` (`ctl`, `met`, `db`, `rights_id`, `log`, `path`) VALUES ('/admin/shop/shop-product-item/editQuantity', 'index', 'master', '', '0', '/admin/shop/shop-product-item/editQuantity');
|
||||
Loading…
Reference in New Issue
Block a user