admin
2024-01-23 81da61b828e29b7745e1382dfbbaeb685dc083ef
fanli/src/main/java/com/yeshi/fanli/service/impl/order/jd/JDOrderServiceImpl.java
@@ -1,79 +1,98 @@
package com.yeshi.fanli.service.impl.order.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.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.order.jd.JDOrderService;
@Service
public class JDOrderServiceImpl implements JDOrderService {
   @Resource
   private JDOrderItemMapper jdOrderItemMapper;
   @Resource
   private JDOrderMapper jdOrderMapper;
   @Transactional(rollbackFor=Exception.class)
   @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);
         }
      }
   }
   @Override
   public JDOrder selectByOrderId(Long orderId) {
      return jdOrderMapper.selectByOrderId(orderId);
   }
   @Override
   public JDOrder selectDetailByOrderId(Long orderId) {
      JDOrder order = selectByOrderId(orderId);
      if (order == null)
         return null;
      List<JDOrderItem> orderItemList = jdOrderItemMapper.listByOrderId(order.getOrderId());
      order.setOrderItemList(orderItemList);
      return order;
   }
}
package com.yeshi.fanli.service.impl.order.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.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.order.jd.JDOrderService;
@Service
public class JDOrderServiceImpl implements JDOrderService {
   @Resource
   private JDOrderItemMapper jdOrderItemMapper;
   @Resource
   private JDOrderMapper jdOrderMapper;
   @Transactional(rollbackFor=Exception.class)
   @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);
         }
      }
   }
   @Override
   public JDOrder selectByOrderId(Long orderId) {
      return jdOrderMapper.selectByOrderId(orderId);
   }
   @Override
   public JDOrder selectDetailByOrderId(Long orderId) {
      JDOrder order = selectByOrderId(orderId);
      if (order == null)
         return null;
      List<JDOrderItem> orderItemList = jdOrderItemMapper.listByOrderId(order.getOrderId());
      order.setOrderItemList(orderItemList);
      return order;
   }
   @Override
   public Long countOrderByDay(String preDay) {
      return jdOrderItemMapper.countOrderByDay(preDay);
   }
   @Override
   public List<JDOrderItem> listQuery(long start, int count, String key) {
      return jdOrderItemMapper.listQuery(start, count, key);
   }
   @Override
   public long countQuery(String key) {
       Long count = jdOrderItemMapper.countQuery(key);
       if (count == null) {
          count = 0L;
       }
       return count;
   }
}