liujie
5 天以前 60d755ccd24c740509562c59385578d601cd4e46
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
package com.stylefeng.guns.modular.system.service.impl;
 
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.model.TOrderCrossCity;
import com.stylefeng.guns.modular.system.dao.TOrderCrossCityMapper;
import com.stylefeng.guns.modular.system.service.ITCompanyService;
import com.stylefeng.guns.modular.system.service.ITOrderCrossCityService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
 
/**
 * <p>
 * 订单-跨城 服务实现类
 * </p>
 *
 * @author 吕雪
 * @since 2020-09-16
 */
@Service
public class TOrderCrossCityServiceImpl extends ServiceImpl<TOrderCrossCityMapper, TOrderCrossCity> implements ITOrderCrossCityService {
 
    @Resource
    private TOrderCrossCityMapper orderCrossCityMapper;
 
    @Autowired
    private ITCompanyService companyService;
 
    @Override
    public List<Map<String, Object>> getCrossCityOrderList(Page<Map<String, Object>> page, String beginTime, String endTime, Integer roleType, Integer nowUserId, String orderNum, Integer orderSource, String userName, String userPhone, String passengers, String passengersPhone, Integer serverCarModelId, String driver, Integer lineId, Integer state, Integer abnormal,
                                                           Integer promotion,
                                                           String promotionUser,
                                                           Integer abnormalStatus) {
        List<Map<String, Object>> crossCityOrderList = this.baseMapper.getCrossCityOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus);
        for (Map<String, Object> map : crossCityOrderList) {
            if(null != map.get("companyId")){
                TCompany company = companyService.selectById(map.get("companyId").toString());
                if(company!=null){
                    map.put("companyName", company.getName());
                }
            }
        }
        return crossCityOrderList;
    }
    @Override
    public List<Map<String, Object>> getCrossCityOrderListExport(Page<Map<String, Object>> page, String beginTime, String endTime, Integer roleType, Integer nowUserId, String orderNum, Integer orderSource, String userName, String userPhone, String passengers, String passengersPhone, Integer serverCarModelId, String driver, Integer lineId, Integer state, Integer abnormal,
                                                           Integer promotion,
                                                           String promotionUser,
                                                           Integer abnormalStatus) {
        List<Map<String, Object>> crossCityOrderListExport = this.baseMapper.getCrossCityOrderListExport(beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus);
 
        for (Map<String, Object> stringObjectMap : crossCityOrderListExport) {
            if(null != stringObjectMap.get("companyId")){
                TCompany company = companyService.selectById(stringObjectMap.get("companyId").toString());
                if(company!=null){
                    stringObjectMap.put("companyName", company.getName());
                }
            }
        }
 
        return crossCityOrderListExport;
    }
 
    @Override
    public Map<String, Object> getCrossCityOrderDetailById(Integer orderId) {
        return this.baseMapper.getCrossCityOrderDetailById(orderId);
    }
 
    @Override
    public List<TOrderCrossCity> queryOrders(Integer driverId, Integer lineShiftDriverId, List<Integer> state) {
        return orderCrossCityMapper.queryOrders(driverId, lineShiftDriverId, state);
    }
 
    /**
     * 获取订单编号
     * @return
     * @throws Exception
     */
    @Override
    public synchronized String getOrderNum(Integer driverId, Integer lineShiftDriverId) throws Exception{
        List<TOrderCrossCity> orderCrossCities = orderCrossCityMapper.queryOrders(driverId, lineShiftDriverId, Arrays.asList(2, 3, 4, 7));
        if(orderCrossCities.size() > 0){
            return orderCrossCities.get(0).getOrderNum();
        }
        int size = this.selectCount(null);
        return "CROSS" + String.valueOf(1000000 + size + 1).substring(1);
    }
}