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, Integer orderType) {
|
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(), orderType);
|
|
page = new Page<>(0, 100000000);
|
List<Map<String, Object>> list1 = this.baseMapper.orderRevenueDetailsList(page, driverName, driverPhone, startTime, endTime, ShiroKit.getUser().getObjectId(), orderType);
|
BigDecimal orderMoney = new BigDecimal("0");
|
BigDecimal money = new BigDecimal("0");
|
BigDecimal payMoney = new BigDecimal("0");
|
for (Map<String, Object> map : list1) {
|
orderMoney = orderMoney.add(new BigDecimal(null == map.get("orderMoney") ? "0" : map.get("orderMoney").toString()));
|
money = money.add(new BigDecimal(null == map.get("money") ? "0" : map.get("money").toString()));
|
payMoney = payMoney.add(new BigDecimal(null == map.get("payMoney") ? "0" : map.get("payMoney").toString()));
|
}
|
Map<String, Object> map = new HashMap<>();
|
map.put("insertTime", "合计");
|
map.put("orderMoney", orderMoney.toString());
|
map.put("money", money.toString());
|
map.put("payMoney", payMoney.toString());
|
list.add(map);
|
return list;
|
}
|
|
@Override
|
public HSSFWorkbook exportOrderRevenueDetails(String driverName, String driverPhone, String createTime, Integer orderType) throws Exception {
|
String startTime = "";
|
String endTime = "";
|
if(ToolUtil.isNotEmpty(createTime)){
|
startTime = createTime.split(" - ")[0];
|
endTime = createTime.split(" - ")[1];
|
}
|
Page<Map<String, Object>> page = new Page<>(0, 100000000);
|
List<Map<String, Object>> list = this.baseMapper.orderRevenueDetailsList(page,driverName, driverPhone, startTime, endTime, ShiroKit.getUser().getObjectId(), orderType);
|
String[] title = new String[]{"交易时间", "收益类型", "订单类型", "订单ID", "下单用户昵称", "下单用户手机", "乘车用户姓名"
|
, "乘车用户手机", "起点", "终点", "司机名称", "司机手机号", "接单车辆", "支付类型", "订单原始金额", "平台抽佣金额", "司机订单收益支出"};
|
String[][] values = new String[list.size()][17];
|
for (int i = 0; i < list.size(); i++) {
|
Map<String, Object> d = list.get(i);
|
values[i][0]=null!=d.get("insertTime")?d.get("insertTime").toString():"";
|
values[i][1]=d.get("incomeType")==null?"":
|
d.get("incomeType").toString().equals("1")?"活动收入":
|
d.get("incomeType").toString().equals("2")?"跑单收入":
|
d.get("incomeType").toString().equals("3")?"取消订单收入":
|
d.get("incomeType").toString().equals("4")?"改派订单收入":
|
d.get("incomeType").toString().equals("6")?"感谢费":
|
d.get("incomeType").toString().equals("7")?"超时扣款":
|
d.get("incomeType").toString().equals("8")?"投诉扣款":
|
d.get("incomeType").toString().equals("9")?"小件物流超时退款":"";
|
values[i][2]=null != d.get("orderType") ? d.get("orderType").toString().equals("1")?"快车":
|
d.get("orderType").toString().equals("2")?"出租车":
|
d.get("orderType").toString().equals("3")?"城际":
|
d.get("orderType").toString().equals("4")?"同城物流":"跨城物流" : "";
|
values[i][3]=d.get("orderNum") == null ? "" : d.get("orderNum").toString();
|
values[i][4]=null != d.get("nickName") ? d.get("nickName").toString() : "";
|
values[i][5]=null != d.get("userPhone") ? d.get("userPhone").toString() : "";
|
values[i][6]=null != d.get("passengers") ? d.get("passengers").toString() : "";
|
values[i][7]=null != d.get("passengersPhone") ? d.get("passengersPhone").toString() : "";
|
values[i][8]=null != d.get("startAddress") ? d.get("startAddress").toString() : "";
|
values[i][9]=null != d.get("endAddress") ? d.get("endAddress").toString() : "";
|
values[i][10]=null != d.get("name") ? d.get("name").toString() : "";
|
values[i][11]=null != d.get("driverPhone") ? d.get("driverPhone").toString() : "";
|
values[i][12]=null != d.get("carLicensePlate") ? d.get("carLicensePlate").toString() : "";
|
|
values[i][13]=null != d.get("payTypeName") ? d.get("payTypeName").toString() : "";
|
values[i][14]=null != d.get("orderMoney") ? d.get("orderMoney").toString() : "";
|
values[i][15]= new BigDecimal((null != d.get("orderMoney") ? Double.valueOf(d.get("orderMoney").toString()) : 0D) - (d.get("money")==null?0d:Double.valueOf(d.get("money").toString()))).setScale(2, BigDecimal.ROUND_HALF_EVEN).toPlainString();
|
values[i][16]=null != d.get("money") ? d.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() : "";
|
}
|
|
return ExcelUtil.getHSSFWorkbook("平台其他支出明细", title, values, null);
|
}
|
|
|
@Override
|
public Double getAllBalance(String driverName, String driverPhone, Integer type) throws Exception {
|
return this.baseMapper.getAllBalance(driverName, driverPhone, type);
|
}
|
}
|