use of cn.lili.modules.goods.entity.dos.Goods in project lilishop by lilishop.
the class GoodsServiceImpl method editGoods.
@Override
@Transactional(rollbackFor = Exception.class)
public void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId) {
Goods goods = new Goods(goodsOperationDTO);
goods.setId(goodsId);
// 检查商品信息
this.checkGoods(goods);
// 向goods加入图片
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
// 添加商品参数
if (goodsOperationDTO.getGoodsParamsDTOList() != null && !goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
goods.setParams(JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList()));
}
// 修改商品
this.updateById(goods);
// 修改商品sku信息
this.goodsSkuService.update(goodsOperationDTO.getSkuList(), goods, goodsOperationDTO.getRegeneratorSkuFlag());
// 添加相册
if (goodsOperationDTO.getGoodsGalleryList() != null && !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
this.goodsGalleryService.add(goodsOperationDTO.getGoodsGalleryList(), goods.getId());
}
if (GoodsAuthEnum.TOBEAUDITED.name().equals(goods.getAuthFlag())) {
this.deleteEsGoods(Collections.singletonList(goodsId));
}
cache.remove(CachePrefix.GOODS.getPrefix() + goodsId);
}
use of cn.lili.modules.goods.entity.dos.Goods in project lilishop by lilishop.
the class GoodsServiceImpl method getUpdateWrapperByStoreAuthority.
/**
* 获取UpdateWrapper(检查用户越权)
*
* @return updateWrapper
*/
private LambdaUpdateWrapper<Goods> getUpdateWrapperByStoreAuthority() {
LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
AuthUser authUser = this.checkStoreAuthority();
if (authUser != null) {
updateWrapper.eq(Goods::getStoreId, authUser.getStoreId());
}
return updateWrapper;
}
use of cn.lili.modules.goods.entity.dos.Goods in project lilishop by lilishop.
the class GoodsServiceImpl method addGoods.
@Override
@Transactional(rollbackFor = Exception.class)
public void addGoods(GoodsOperationDTO goodsOperationDTO) {
Goods goods = new Goods(goodsOperationDTO);
// 检查商品
this.checkGoods(goods);
// 向goods加入图片
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
// 添加商品参数
if (goodsOperationDTO.getGoodsParamsDTOList() != null && !goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
// 给商品参数填充值
goods.setParams(JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList()));
}
// 添加商品
this.save(goods);
// 添加商品sku信息
this.goodsSkuService.add(goodsOperationDTO.getSkuList(), goods);
// 添加相册
if (goodsOperationDTO.getGoodsGalleryList() != null && !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
this.goodsGalleryService.add(goodsOperationDTO.getGoodsGalleryList(), goods.getId());
}
}
use of cn.lili.modules.goods.entity.dos.Goods in project lilishop by lilishop.
the class GoodsServiceImpl method auditGoods.
@Override
@Transactional(rollbackFor = Exception.class)
public boolean auditGoods(List<String> goodsIds, GoodsAuthEnum goodsAuthEnum) {
boolean result = false;
for (String goodsId : goodsIds) {
Goods goods = this.checkExist(goodsId);
goods.setAuthFlag(goodsAuthEnum.name());
result = this.updateById(goods);
goodsSkuService.updateGoodsSkuStatus(goods);
// 删除之前的缓存
cache.remove(CachePrefix.GOODS.getPrefix() + goodsId);
// 商品审核消息
String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.GOODS_AUDIT.name();
// 发送mq消息
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(goods), RocketmqSendCallbackBuilder.commonCallback());
}
return result;
}
use of cn.lili.modules.goods.entity.dos.Goods in project lilishop by lilishop.
the class ParametersServiceImpl method updateParameter.
/**
* 更新参数组信息
*
* @param parameters 参数组信息
* @return 是否更新成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateParameter(Parameters parameters) {
Parameters origin = this.getById(parameters.getId());
if (origin == null) {
throw new ServiceException(ResultCode.CATEGORY_NOT_EXIST);
}
List<String> goodsIds = new ArrayList<>();
LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(Goods::getId, Goods::getParams);
queryWrapper.like(Goods::getParams, parameters.getGroupId());
List<Map<String, Object>> goodsList = this.goodsService.listMaps(queryWrapper);
if (!goodsList.isEmpty()) {
for (Map<String, Object> goods : goodsList) {
String params = (String) goods.get("params");
List<GoodsParamsDTO> goodsParamsDTOS = JSONUtil.toList(params, GoodsParamsDTO.class);
List<GoodsParamsDTO> goodsParamsDTOList = goodsParamsDTOS.stream().filter(i -> i.getGroupId() != null && i.getGroupId().equals(parameters.getGroupId())).collect(Collectors.toList());
this.setGoodsItemDTOList(goodsParamsDTOList, parameters);
this.goodsService.updateGoodsParams(goods.get("id").toString(), JSONUtil.toJsonStr(goodsParamsDTOS));
goodsIds.add(goods.get("id").toString());
}
String destination = rocketmqCustomProperties.getGoodsTopic() + ":" + GoodsTagsEnum.UPDATE_GOODS_INDEX.name();
// 发送mq消息
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(goodsIds), RocketmqSendCallbackBuilder.commonCallback());
}
return this.updateById(parameters);
}
Aggregations