yujian
2020-03-24 fd1dce3121a7773419263c495f92e160cc1e7124
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
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;
    }
    
    
}