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; /** *

* 订单-跨城 服务实现类 *

* * @author 吕雪 * @since 2020-09-16 */ @Service public class TOrderCrossCityServiceImpl extends ServiceImpl implements ITOrderCrossCityService { @Resource private TOrderCrossCityMapper orderCrossCityMapper; @Autowired private ITCompanyService companyService; @Override public List> getCrossCityOrderList(Page> 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, String travelId) { List> crossCityOrderList = this.baseMapper.getCrossCityOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus, travelId); for (Map 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> getCrossCityOrderListExport(Page> 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, String travelId) { List> crossCityOrderListExport = this.baseMapper.getCrossCityOrderListExport(beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus, travelId); for (Map 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 getCrossCityOrderDetailById(Integer orderId) { return this.baseMapper.getCrossCityOrderDetailById(orderId); } @Override public List queryOrders(Integer driverId, Integer lineShiftDriverId, List state) { return orderCrossCityMapper.queryOrders(driverId, lineShiftDriverId, state); } /** * 获取订单编号 * @return * @throws Exception */ @Override public synchronized String getOrderNum(Integer driverId, Integer lineShiftDriverId) throws Exception{ List 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); } }