admin
2019-10-11 ee88b54979c633a4ade518d4c124a2d07d378562
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package com.yeshi.fanli.service.impl.jd;
 
import java.util.Date;
import java.util.List;
 
import javax.annotation.Resource;
 
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import com.yeshi.fanli.dao.mybatis.jd.JDGoodsClassMapper;
import com.yeshi.fanli.dto.GoodsClassDTO;
import com.yeshi.fanli.entity.jd.JDGoodsClass;
import com.yeshi.fanli.service.inter.jd.JDGoodsClassService;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.jd.JDUtil;
 
@Service
public class JDGoodsClassServiceImpl implements JDGoodsClassService {
 
    @Resource
    private JDGoodsClassMapper jdGoodsClassMapper;
 
 
    @Override
    public void insertSelective(JDGoodsClass record) {
        jdGoodsClassMapper.insertSelective(record);
    }
    
    @Override
    public void updateByPrimaryKeySelective(JDGoodsClass record) {
        jdGoodsClassMapper.updateByPrimaryKeySelective(record);
    }
 
 
    @Override
    public List<JDGoodsClass> getByLevel(Integer level) {
        return jdGoodsClassMapper.getByLevel(level);
    }
 
 
    @Override
    public List<JDGoodsClass> getByPid(Integer pid) {
        return jdGoodsClassMapper.getByPid(pid);
    }
    
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void insertClass() {
        // 增加一级分类
        boolean addOneClass = addOneClass();
        if (addOneClass) {
            // 增加二级分类
            addTwoClass();
            // 增加三级分类
            addThreeClass();
        }
    }
    
    /**
     * 增加一级分类
     */
    @Transactional
    private boolean addOneClass() {
        Date date = new Date();
        List<GoodsClassDTO> listDTO = JDUtil.getCategoryList(1, 0);
        if (listDTO != null && listDTO.size() > 0) {
            for (GoodsClassDTO goodsClassDTO: listDTO) {
                JDGoodsClass record = new JDGoodsClass();
                record.setLevel(1);
                record.setCid(Integer.parseInt(goodsClassDTO.getId()));
                record.setName(goodsClassDTO.getName());
                record.setSuperId(0);
                record.setCreateTime(date);
                record.setUpdateTime(date);
                jdGoodsClassMapper.insertSelective(record);
            }
            jdGoodsClassMapper.deleteByDate(1, TimeUtil.getWholeTime(date.getTime()));
            return true;
        }
        return false;
    }
 
 
    /**
     * 增加二级分类
     */
    @Transactional
    private void addTwoClass() {
        Date date = new Date();
        List<JDGoodsClass> list = jdGoodsClassMapper.getByLevel(1);
        for (JDGoodsClass jdGoodsClass: list) {
            Integer superId = jdGoodsClass.getCid();
            List<GoodsClassDTO> listDTO = JDUtil.getCategoryList(2, superId);
            if (listDTO != null && listDTO.size() > 0) {
                for (GoodsClassDTO goodsClassDTO: listDTO) {
                    JDGoodsClass record = new JDGoodsClass();
                    record.setLevel(2);
                    record.setCid(Integer.parseInt(goodsClassDTO.getId()));
                    record.setName(goodsClassDTO.getName());
                    record.setCreateTime(date);
                    record.setUpdateTime(date);
                    record.setSuperId(superId);
                    jdGoodsClassMapper.insertSelective(record);
                }
            }
        }
        jdGoodsClassMapper.deleteByDate(2, TimeUtil.getWholeTime(date.getTime()));
    }
 
 
    /**
     * 增加三级分类
     */
    @Transactional
    private void addThreeClass() {
        Date date = new Date();
        List<JDGoodsClass> list = jdGoodsClassMapper.getByLevel(2);
        for (JDGoodsClass jdGoodsClass: list) {
            Integer superId = jdGoodsClass.getCid();
            List<GoodsClassDTO> listDTO = JDUtil.getCategoryCommiPlus(3, superId);
            if (listDTO != null && listDTO.size() > 0) {
                for (GoodsClassDTO goodsClassDTO: listDTO) {
                    JDGoodsClass record = new JDGoodsClass();
                    record.setLevel(3);
                    record.setCid(Integer.parseInt(goodsClassDTO.getId()));
                    record.setName(goodsClassDTO.getName());
                    record.setSelfComm(goodsClassDTO.getSelfComm());
                    record.setPopComm(goodsClassDTO.getPopComm());
                    record.setCreateTime(date);
                    record.setUpdateTime(date);
                    record.setSuperId(superId);
                    jdGoodsClassMapper.insertSelective(record);
                }
            }
        }
        jdGoodsClassMapper.deleteByDate(3, TimeUtil.getWholeTime(date.getTime()));
    }
 
    
    @Override
    public JDGoodsClass getThreeClassByCid(Integer cid) {
        return jdGoodsClassMapper.getByCid(3, cid);
    }
}