package com.yeshi.fanli.service.impl.order.pdd;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.mybatis.pdd.PDDOrderMapper;
|
import com.yeshi.fanli.entity.pdd.PDDOrder;
|
import com.yeshi.fanli.exception.pdd.PDDOrderException;
|
import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService;
|
import com.yeshi.fanli.util.StringUtil;
|
|
@Service
|
public class PDDOrderServiceImpl implements PDDOrderService {
|
|
@Resource
|
private PDDOrderMapper pddOrderMapper;
|
|
@Override
|
public PDDOrder addOrder(PDDOrder order) throws PDDOrderException {
|
if (order == null || StringUtil.isNullOrEmpty(order.getOrderSn()))
|
throw new PDDOrderException(1, "订单信息不完整");
|
|
PDDOrder old = pddOrderMapper.selectByOrderSN(order.getOrderSn());
|
if (old != null) {
|
// 更新订单信息
|
if (order.getOrderStatus().intValue() != old.getOrderStatus()) {// 状态改变了才更改订单信息
|
PDDOrder update = new PDDOrder();
|
update.setId(old.getId());
|
update.setOrderStatus(order.getOrderStatus());
|
update.setOrderAmount(order.getOrderAmount());
|
update.setOrderStatusDesc(order.getOrderStatusDesc());
|
update.setOrderVerifyTime(order.getOrderVerifyTime());
|
update.setOrderGroupSuccessTime(order.getOrderGroupSuccessTime());
|
update.setOrderModifyAt(order.getOrderModifyAt());
|
update.setOrderPayTime(order.getOrderPayTime());
|
update.setOrderSettleTime(order.getOrderSettleTime());
|
update.setGoodsName(order.getGoodsName());
|
update.setGoodsPrice(order.getGoodsPrice());
|
update.setUpdateTime(new Date());
|
update.setOrderReceiveTime(order.getOrderReceiveTime());
|
pddOrderMapper.updateByPrimaryKeySelective(update);
|
return pddOrderMapper.selectByPrimaryKey(old.getId());
|
}
|
} else {
|
if (order.getUpdateTime() == null)
|
order.setUpdateTime(new Date());
|
if (order.getCreateTime() == null)
|
order.setCreateTime(new Date());
|
pddOrderMapper.insertSelective(order);
|
}
|
|
return order;
|
}
|
|
@Override
|
public List<PDDOrder> selectByOrderSn(String orderSn) {
|
List<PDDOrder> pddList = new ArrayList<>();
|
PDDOrder pddOrder = pddOrderMapper.selectByOrderSN(orderSn);
|
if (pddOrder != null)
|
pddList.add(pddOrder);
|
return pddList;
|
}
|
|
@Override
|
public List<PDDOrder> listByStatus(Integer status, int page, int pageSize) {
|
return pddOrderMapper.listByStatus(status, (page - 1) * pageSize, pageSize);
|
}
|
|
|
@Override
|
public Long countOrderByDay(String preDay) {
|
return pddOrderMapper.countOrderByDay(preDay);
|
}
|
|
|
@Override
|
public List<PDDOrder> listQuery(long start, int count, String key) {
|
return pddOrderMapper.listQuery(start, count, key);
|
}
|
|
@Override
|
public long countQuery(String key) {
|
Long count = pddOrderMapper.countQuery(key);
|
if (count == null) {
|
count = 0L;
|
}
|
return count;
|
}
|
|
|
}
|