|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
import com.sckw.core.exception.CustomPromptException;
|
|
import com.sckw.core.exception.CustomPromptException;
|
|
@@ -126,18 +127,19 @@ public class KwpGoodsService {
|
|
|
*/
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void addShelves(AddGoodsParam param) {
|
|
public void addShelves(AddGoodsParam param) {
|
|
|
- if (Objects.equals(param.getPrepaidLimit(), 1) && Objects.isNull(param.getAdvancePrice())) {
|
|
|
|
|
- throw new BusinessException("设置预付限额时,预付款最低限额不能为空!");
|
|
|
|
|
- }
|
|
|
|
|
if (nameDuplicationJudgment(param.getName(), param.getSupplyEntId(), null)) {
|
|
if (nameDuplicationJudgment(param.getName(), param.getSupplyEntId(), null)) {
|
|
|
throw new BusinessException("已存在相同商品名称!");
|
|
throw new BusinessException("已存在相同商品名称!");
|
|
|
}
|
|
}
|
|
|
//添加商品信息
|
|
//添加商品信息
|
|
|
KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
|
|
KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
|
|
|
AddressInfo address = param.getAddressInfo();
|
|
AddressInfo address = param.getAddressInfo();
|
|
|
- goods.setCode(NumberUtils.createRandomVcode()).setAreaCode(address.getCityCode()).setAddressName(address.getName())
|
|
|
|
|
- .setThumb(FileUtils.replaceAll(goods.getThumb())).setEntId(LoginUserHolder.getEntId())
|
|
|
|
|
- .setAddedTime(new Date()).setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
|
|
|
|
|
|
|
+ goods.setCode(param.getCode())
|
|
|
|
|
+ .setAreaCode(address.getCityCode())
|
|
|
|
|
+ .setAddressName(address.getName())
|
|
|
|
|
+ .setThumb(FileUtils.replaceAll(goods.getThumb()))
|
|
|
|
|
+ .setEntId(LoginUserHolder.getEntId())
|
|
|
|
|
+ .setAddedTime(new Date())
|
|
|
|
|
+ .setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
|
|
|
kwpGoodsMapper.insert(goods);
|
|
kwpGoodsMapper.insert(goods);
|
|
|
//添加商品其他信息
|
|
//添加商品其他信息
|
|
|
addGoodsOtherInfo(goods.getId(), param);
|
|
addGoodsOtherInfo(goods.getId(), param);
|
|
@@ -181,16 +183,13 @@ public class KwpGoodsService {
|
|
|
});
|
|
});
|
|
|
kwpGoodsImageService.insertBatch(list);
|
|
kwpGoodsImageService.insertBatch(list);
|
|
|
}
|
|
}
|
|
|
- //添加商品价格梯度信息
|
|
|
|
|
- List<GoodsPriceRanges> priceRanges = addGoodsParam.getPriceRanges();
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(priceRanges)) {
|
|
|
|
|
- List<KwpGoodsPriceRange> list = new ArrayList<>(priceRanges.size());
|
|
|
|
|
- priceRanges.forEach(e -> {
|
|
|
|
|
- KwpGoodsPriceRange priceRange = BeanUtils.copyProperties(e, KwpGoodsPriceRange.class);
|
|
|
|
|
- priceRange.setGoodsId(goodsId);
|
|
|
|
|
- list.add(priceRange);
|
|
|
|
|
- });
|
|
|
|
|
- kwpGoodsPriceRangeService.insertBatch(list);
|
|
|
|
|
|
|
+ //添加商品价格
|
|
|
|
|
+ BigDecimal price = addGoodsParam.getPrice();
|
|
|
|
|
+ if (price != null) {
|
|
|
|
|
+ KwpGoodsPriceRange priceRange = new KwpGoodsPriceRange();
|
|
|
|
|
+ priceRange.setGoodsId(goodsId);
|
|
|
|
|
+ priceRange.setPrice(price);
|
|
|
|
|
+ kwpGoodsPriceRangeService.insertBatch(Lists.newArrayList(priceRange));
|
|
|
}
|
|
}
|
|
|
//添加商品辅助单位信息
|
|
//添加商品辅助单位信息
|
|
|
List<GoodsUnitParam> assistUnit = addGoodsParam.getAssistUnit();
|
|
List<GoodsUnitParam> assistUnit = addGoodsParam.getAssistUnit();
|
|
@@ -278,13 +277,13 @@ public class KwpGoodsService {
|
|
|
DictTypeEnum.ADDRESS_TYPE.getType()));
|
|
DictTypeEnum.ADDRESS_TYPE.getType()));
|
|
|
Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
- Map<String, String> taxRateMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
|
|
|
|
+// Map<String, String> taxRateMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
Map<String, String> addressMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, String> addressMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
if (CollectionUtils.isNotEmpty(dict)) {
|
|
if (CollectionUtils.isNotEmpty(dict)) {
|
|
|
productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
|
|
productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
|
|
|
unitMap = dict.get(DictTypeEnum.UNIT_TYPE.getType());
|
|
unitMap = dict.get(DictTypeEnum.UNIT_TYPE.getType());
|
|
|
- taxRateMap = dict.get(DictTypeEnum.TAX_RATE.getType());
|
|
|
|
|
|
|
+// taxRateMap = dict.get(DictTypeEnum.TAX_RATE.getType());
|
|
|
goodsStatusMap = dict.get(DictTypeEnum.GOODS_STATUS.getType());
|
|
goodsStatusMap = dict.get(DictTypeEnum.GOODS_STATUS.getType());
|
|
|
addressMap = dict.get(DictTypeEnum.ADDRESS_TYPE.getType());
|
|
addressMap = dict.get(DictTypeEnum.ADDRESS_TYPE.getType());
|
|
|
}
|
|
}
|
|
@@ -295,9 +294,9 @@ public class KwpGoodsService {
|
|
|
}
|
|
}
|
|
|
detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
|
|
detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null)
|
|
|
.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)
|
|
.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null)
|
|
|
- .setTaxRateLabel(CollectionUtils.isNotEmpty(taxRateMap) ? taxRateMap.get(detail.getTaxRate()) : null)
|
|
|
|
|
- .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null)
|
|
|
|
|
- .setPrepaidLimitLabel(Objects.equals(detail.getPrepaidLimit(), 1) ? "是" : "否");
|
|
|
|
|
|
|
+// .setTaxRateLabel(CollectionUtils.isNotEmpty(taxRateMap) ? taxRateMap.get(detail.getTaxRate()) : null)
|
|
|
|
|
+ .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null);
|
|
|
|
|
+// .setPrepaidLimitLabel(Objects.equals(detail.getPrepaidLimit(), 1) ? "是" : "否");
|
|
|
//商品图片信息
|
|
//商品图片信息
|
|
|
if (Objects.nonNull(goods.getThumb())) {
|
|
if (Objects.nonNull(goods.getThumb())) {
|
|
|
detail.setThumb(FileUtils.splice(goods.getThumb()));
|
|
detail.setThumb(FileUtils.splice(goods.getThumb()));
|
|
@@ -307,13 +306,14 @@ public class KwpGoodsService {
|
|
|
e.setImage(FileUtils.splice(e.getImage()));
|
|
e.setImage(FileUtils.splice(e.getImage()));
|
|
|
});
|
|
});
|
|
|
List<GoodsImagesDetail> images = BeanUtils.copyToList(goodsImages, GoodsImagesDetail.class);
|
|
List<GoodsImagesDetail> images = BeanUtils.copyToList(goodsImages, GoodsImagesDetail.class);
|
|
|
- //商品价格段信息
|
|
|
|
|
|
|
+ //商品价格
|
|
|
List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
|
|
List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
|
|
|
- List<GoodsPriceRangesDetail> ranges = BeanUtils.copyToList(priceRanges, GoodsPriceRangesDetail.class);
|
|
|
|
|
- ranges.stream().filter(r -> r.getEndAmount().compareTo(new BigDecimal("-1.00")) == 0)
|
|
|
|
|
- .forEach(r -> {
|
|
|
|
|
- r.setEndAmountLabel("不限");
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ BigDecimal price = Optional.ofNullable(priceRanges)
|
|
|
|
|
+ .filter(list -> !list.isEmpty())
|
|
|
|
|
+ .map(list -> list.get(0))
|
|
|
|
|
+ .map(KwpGoodsPriceRange::getPrice)
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+
|
|
|
//商品属性信息
|
|
//商品属性信息
|
|
|
List<KwpGoodsAttribute> attributesList = kwpGoodsAttributeService.getByGoodsId(id);
|
|
List<KwpGoodsAttribute> attributesList = kwpGoodsAttributeService.getByGoodsId(id);
|
|
|
List<GoodsAttributesDetail> attributes = BeanUtils.copyToList(attributesList, GoodsAttributesDetail.class);
|
|
List<GoodsAttributesDetail> attributes = BeanUtils.copyToList(attributesList, GoodsAttributesDetail.class);
|
|
@@ -333,7 +333,7 @@ public class KwpGoodsService {
|
|
|
e.setToUnitName(finalUnitMap != null ? finalUnitMap.get(e.getToUnit()) : null);
|
|
e.setToUnitName(finalUnitMap != null ? finalUnitMap.get(e.getToUnit()) : null);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
- detail.setImages(images).setPriceRanges(ranges).setAttributes(attributes).setAddressInfo(addressInfo).setAssistUnit(assistUnit);
|
|
|
|
|
|
|
+ detail.setImages(images).setPriceRanges(price).setAttributes(attributes).setAddressInfo(addressInfo).setAssistUnit(assistUnit);
|
|
|
return detail;
|
|
return detail;
|
|
|
}
|
|
}
|
|
|
|
|
|