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);
|
}
|
}
|