package com.sinata.rest.modular.mall.service.impl;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.sinata.common.enums.mall.EnumMallGoodsState;
|
import com.sinata.rest.modular.mall.controller.body.BodyMallIndexSelGoods;
|
import com.sinata.rest.modular.mall.controller.vo.VoGoods;
|
import com.sinata.rest.modular.mall.controller.vo.VoGoodsDetail;
|
import com.sinata.rest.modular.mall.controller.vo.VoGoodsSku;
|
import com.sinata.rest.modular.mall.dao.MallGoodsMapper;
|
import com.sinata.rest.modular.mall.model.MallGoods;
|
import com.sinata.rest.modular.mall.service.IMallGoodsService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 商品信息 服务实现类
|
* </p>
|
*
|
* @author goku
|
* @since 2023-03-10
|
*/
|
@Slf4j
|
@Service
|
public class MallGoodsServiceImpl extends ServiceImpl<MallGoodsMapper, MallGoods> implements IMallGoodsService {
|
|
@Override
|
public List<VoGoodsSku> getGoodsBySkuIdArray(Object[] skuIdArray) {
|
return this.baseMapper.getGoodsBySkuIdArray(skuIdArray);
|
}
|
@Override
|
public List<VoGoodsSku> getGoodsBySkuIdMerchant(Object[] skuIdArray, Integer merchantId) {
|
return this.baseMapper.getGoodsBySkuIdMerchant(skuIdArray, merchantId);
|
}
|
|
@Override
|
public List<VoGoods> listGoods(Integer groupType, Integer merchantId, String goodsName, Integer firstClassifyId, Integer secondClassifyId, Integer type, Integer sortType, Page<VoGoods> Page) {
|
return baseMapper.listGoods(groupType, merchantId, goodsName, firstClassifyId, secondClassifyId, type, sortType, EnumMallGoodsState.FOR_SALE.getIndex(), Page);
|
}
|
|
@Override
|
public VoGoodsDetail goodsDetail(Integer id, Integer userId) {
|
List<VoGoodsDetail> list = baseMapper.goodsDetail(id, userId);
|
if (CollUtil.isNotEmpty(list)) {
|
return list.get(0);
|
}
|
return null;
|
}
|
|
@Override
|
public List<VoGoods> getHotGoodsByBody(BodyMallIndexSelGoods body, List<Integer> stateArray) {
|
return baseMapper.getHotGoodsByBody(body, stateArray);
|
}
|
|
@Override
|
public List<Map<String, Integer>> setGoodsBuyCountList(List<Map<String, Integer>> list, Integer goodsId, Integer stock) {
|
boolean isExists = false;
|
// 遍历是否存在数据
|
for (Map<String, Integer> map : list) {
|
if(map.get("goodsId").intValue() == goodsId) {
|
isExists = true;
|
map.put("stock", map.get("stock") + stock);
|
log.error("" + stock);
|
}
|
}
|
|
// 不存在,则新增数据
|
if (!isExists) {
|
Map<String, Integer> map = new HashMap<>(2);
|
map.put("goodsId", goodsId);
|
map.put("stock", stock);
|
list.add(map);
|
}
|
return list;
|
}
|
|
@Override
|
public void addGoodsBuyCount(List<Map<String, Integer>> list) {
|
baseMapper.addGoodsBuyCount(list);
|
}
|
|
@Override
|
public void addCollectCount(Integer goodsId) {
|
baseMapper.addCollectCount(goodsId);
|
}
|
|
@Override
|
public void subCollectCount(Integer goodsId) {
|
baseMapper.subCollectCount(goodsId);
|
}
|
|
@Override
|
public void addLookCount(Integer goodsId) {
|
baseMapper.addLookCount(goodsId);
|
}
|
|
@Override
|
public void subLookCount(Integer goodsId) {
|
baseMapper.subLookCount(goodsId);
|
}
|
}
|