package com.stylefeng.guns.modular.system.service.impl;
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.stylefeng.guns.core.shiro.ShiroKit;
|
import com.stylefeng.guns.core.util.ExcelUtil;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.TDriver;
|
import com.stylefeng.guns.modular.system.dao.TDriverMapper;
|
import com.stylefeng.guns.modular.system.service.ITDriverService;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.springframework.stereotype.Service;
|
|
import java.math.BigDecimal;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 司机表 服务实现类
|
* </p>
|
*
|
* @author 吕雪
|
* @since 2020-06-04
|
*/
|
@Service
|
public class TDriverServiceImpl extends ServiceImpl<TDriverMapper, TDriver> implements ITDriverService {
|
|
@Override
|
public List<Map<String, Object>> getAuthDriverList(Page<Map<String, Object>> page, String beginTime, String endTime, String companyName, String phone, String account, Integer addType, Integer authState) {
|
return this.baseMapper.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState);
|
}
|
|
@Override
|
public Map<String, Object> getDriverById(Integer driverId) {
|
return this.baseMapper.getDriverById(driverId);
|
}
|
|
@Override
|
public List<Map<String, Object>> getDriverList(Page<Map<String, Object>> page, Integer roleType,Integer nowUserId,String beginTime, String endTime, String companyName, String phone, String name, Integer addType, Integer authState) {
|
return this.baseMapper.getDriverList(page,roleType,nowUserId, beginTime, endTime, companyName, phone, name, addType, authState);
|
}
|
|
@Override
|
public String getUseCarIdStr(Integer carId) {
|
return this.baseMapper.getUseCarIdStr(carId);
|
}
|
|
@Override
|
public List<Map<String, Object>> getCanSelectCarList(Page<Map<String, Object>> page, Integer roleType, Integer nowUserId, String carIdStr, String carLicensePlate, String brandName, String modelName, String color, String serverStr) {
|
return this.baseMapper.getCanSelectCarList(page, roleType, nowUserId, carIdStr, carLicensePlate, brandName, modelName, color, serverStr);
|
}
|
|
@Override
|
public void updateCompanyDriverState(Integer authState, Integer companyId) {
|
this.baseMapper.updateCompanyDriverState(authState, companyId);
|
}
|
|
@Override
|
public void updateFranchiseeDriverState(Integer authState, Integer franchiseeId) {
|
this.baseMapper.updateFranchiseeDriverState(authState, franchiseeId);
|
}
|
|
@Override
|
public List<Map<String, Object>> getDriverListNoPage(Integer roleType, Integer nowUserId) {
|
return this.baseMapper.getDriverListNoPage(roleType, nowUserId);
|
}
|
|
@Override
|
public List<Map<String, Object>> orderRevenueDetailsList(Page<Map<String, Object>> page, String driverName, String driverPhone, String createTime) {
|
String startTime = "";
|
String endTime = "";
|
if(ToolUtil.isNotEmpty(createTime)){
|
startTime = createTime.split(" - ")[0];
|
endTime = createTime.split(" - ")[1];
|
}
|
List<Map<String, Object>> list = this.baseMapper.orderRevenueDetailsList(page, driverName, driverPhone, startTime, endTime, ShiroKit.getUser().getObjectId());
|
Double aDouble = this.baseMapper.orderRevenueDetailsListSum(driverName, driverPhone, startTime, endTime, ShiroKit.getUser().getObjectId());
|
Map<String, Object> map = new HashMap<>();
|
map.put("insertTime", "合计");
|
map.put("money", aDouble);
|
list.add(map);
|
return list;
|
}
|
|
@Override
|
public HSSFWorkbook exportOrderRevenueDetails(String driverName, String driverPhone, String createTime) throws Exception {
|
String startTime = "";
|
String endTime = "";
|
if(ToolUtil.isNotEmpty(createTime)){
|
startTime = createTime.split(" - ")[0];
|
endTime = createTime.split(" - ")[1];
|
}
|
List<Map<String, Object>> list = this.baseMapper.exportOrderRevenueDetails(driverName, driverPhone, startTime, endTime, ShiroKit.getUser().getObjectId());
|
String[] title = new String[]{"时间", "司机名称", "订单号", "订单类型", "订单收益"};
|
String[][] values = new String[list.size()][5];
|
for (int i = 0; i < list.size(); i++) {
|
Map<String, Object> map = list.get(i);
|
values[i][0] = null != map.get("insertTime") ? map.get("insertTime").toString() : "";
|
values[i][1] = null != map.get("name") ? map.get("name").toString() : "";
|
values[i][2] = null != map.get("orderNum") ? map.get("orderNum").toString() : "";
|
if(null != map.get("orderType")){
|
switch (Integer.valueOf(map.get("orderType").toString())){
|
case 1:
|
values[i][3] = "快车";
|
break;
|
case 2:
|
values[i][3] = "出租车";
|
break;
|
case 3:
|
values[i][3] = "跨城出行";
|
break;
|
case 4:
|
values[i][3] = "同城小件物流";
|
break;
|
case 5:
|
values[i][3] = "跨城小件物流";
|
break;
|
case 6:
|
values[i][3] = "包车出行";
|
break;
|
case 7:
|
values[i][3] = "95128";
|
break;
|
}
|
}
|
values[i][4] = null != map.get("money") ? map.get("money").toString() : "";
|
}
|
|
return ExcelUtil.getHSSFWorkbook("司机订单收益明细", title, values, null);
|
}
|
|
@Override
|
public Map<String, Object> otherSpendingDetailList(String driverName, String driverPhone, String createTime, Integer offset, Integer limit) {
|
String startTime = "";
|
String endTime = "";
|
if(ToolUtil.isNotEmpty(createTime)){
|
startTime = createTime.split(" - ")[0];
|
endTime = createTime.split(" - ")[1];
|
}
|
List<Map<String, Object>> list = this.baseMapper.otherSpendingDetailList(driverName, driverPhone, startTime, endTime, offset, limit);
|
Integer integer = this.baseMapper.otherSpendingDetailListCount(driverName, driverPhone, startTime, endTime);
|
Map<String, Object> maps = this.baseMapper.otherSpendingDetailListSum(driverName, driverPhone, startTime, endTime);
|
list.add(maps);
|
Map<String, Object> map = new HashMap<>();
|
map.put("rows", list);
|
map.put("total", integer);
|
return map;
|
}
|
|
@Override
|
public HSSFWorkbook exportOtherSpendingDetailList(String driverName, String driverPhone, String createTime) throws Exception {
|
String startTime = "";
|
String endTime = "";
|
if(ToolUtil.isNotEmpty(createTime)){
|
startTime = createTime.split(" - ")[0];
|
endTime = createTime.split(" - ")[1];
|
}
|
List<Map<String, Object>> list = this.baseMapper.otherSpendingDetailList(driverName, driverPhone, startTime, endTime, null, null);
|
String[] title = new String[]{"时间", "司机名称", "手机号", "订单类型", "感谢费", "附加费"};
|
String[][] values = new String[list.size()][5];
|
for (int i = 0; i < list.size(); i++) {
|
Map<String, Object> map = list.get(i);
|
values[i][0] = null != map.get("travelTime") ? map.get("travelTime").toString() : "";
|
values[i][1] = null != map.get("name") ? map.get("name").toString() : "";
|
values[i][2] = null != map.get("phone") ? map.get("phone").toString() : "";
|
if(null != map.get("type")){
|
switch (Integer.valueOf(map.get("type").toString())){
|
case 1:
|
values[i][3] = "快车";
|
break;
|
case 2:
|
values[i][3] = "出租车";
|
break;
|
case 3:
|
values[i][3] = "跨城出行";
|
break;
|
case 4:
|
values[i][3] = "同城小件物流";
|
break;
|
case 5:
|
values[i][3] = "跨城小件物流";
|
break;
|
case 6:
|
values[i][3] = "包车出行";
|
break;
|
case 7:
|
values[i][3] = "95128";
|
break;
|
}
|
}
|
values[i][4] = null != map.get("thankYouFee") ? map.get("thankYouFee").toString() : "";
|
values[i][5] = null != map.get("amount") ? map.get("amount").toString() : "";
|
}
|
|
return ExcelUtil.getHSSFWorkbook("平台其他支出明细", title, values, null);
|
}
|
}
|