mitao
2024-06-06 3d2b51ea4520533de5e78f88dddf5b5c7dce4247
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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);
    }
}