package com.yeshi.fanli.service.impl.jd;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.dao.mybatis.jd.JDOrderItemMapper;
|
import com.yeshi.fanli.dao.mybatis.jd.JDOrderMapper;
|
import com.yeshi.fanli.entity.jd.JDOrder;
|
import com.yeshi.fanli.entity.jd.JDOrderItem;
|
import com.yeshi.fanli.exception.jd.JDOrderException;
|
import com.yeshi.fanli.service.inter.jd.JDOrderService;
|
|
@Service
|
public class JDOrderServiceImpl implements JDOrderService {
|
@Resource
|
private JDOrderItemMapper jdOrderItemMapper;
|
@Resource
|
private JDOrderMapper jdOrderMapper;
|
|
@Transactional
|
@Override
|
public void addJDOrder(JDOrder order) throws JDOrderException {
|
if (order == null)
|
throw new JDOrderException(1, "订单为空");
|
JDOrder oldOrder = jdOrderMapper.selectByOrderId(order.getOrderId());
|
if (oldOrder != null)// 更新
|
{
|
order.setId(oldOrder.getId());
|
order.setUpdateTime(new Date());
|
jdOrderMapper.updateByPrimaryKeySelective(order);
|
for (JDOrderItem item : order.getOrderItemList()) {// 新增
|
JDOrderItem oldItem = jdOrderItemMapper.selectByTradeId(item.getTradeId());
|
if (oldItem != null)// 更新
|
{
|
item.setId(oldItem.getId());
|
item.setUpdateTime(new Date());
|
jdOrderItemMapper.updateByPrimaryKeySelective(item);
|
} else {// 新增
|
item.setCreateTime(new Date());
|
jdOrderItemMapper.insertSelective(item);
|
}
|
}
|
} else {// 新增
|
if (order.getOrderItemList() == null || order.getOrderItemList().size() == 0)
|
throw new JDOrderException(2, "子订单为空");
|
|
if (order.getCreateTime() == null)
|
order.setCreateTime(new Date());
|
jdOrderMapper.insertSelective(order);
|
|
for (JDOrderItem item : order.getOrderItemList()) {// 新增
|
if (item.getCreateTime() == null)
|
item.setCreateTime(new Date());
|
jdOrderItemMapper.insertSelective(item);
|
}
|
}
|
}
|
|
}
|