yanghb
2023-04-21 0481353111afb43a2322e18530dde26f1d841ead
ManagementTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java
@@ -1,18 +1,13 @@
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 com.stylefeng.guns.modular.system.util.AESUtil;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -29,7 +24,18 @@
    @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);
        List<Map<String, Object>> authDriverList = this.baseMapper.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState);
//        for (Map<String, Object> map : authDriverList) {
//            Object account1 = map.get("account");
//            Object phone1 = map.get("phone");
//            if(null != account1){
//                map.put("account", AESUtil.decrypt(account1.toString()));
//            }
//            if(null != phone1){
//                map.put("phone", AESUtil.decrypt(phone1.toString()));
//            }
//        }
        return authDriverList;
    }
    @Override
@@ -39,7 +45,18 @@
    @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);
        List<Map<String, Object>> driverList = this.baseMapper.getDriverList(page, roleType, nowUserId, beginTime, endTime, companyName, phone, name, addType, authState);
//        for (Map<String, Object> map : driverList) {
//            Object account1 = map.get("account");
//            Object phone1 = map.get("phone");
//            if(null != account1){
//                map.put("account", AESUtil.decrypt(account1.toString()));
//            }
//            if(null != phone1){
//                map.put("phone", AESUtil.decrypt(phone1.toString()));
//            }
//        }
        return driverList;
    }
    @Override
@@ -67,133 +84,4 @@
        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);
    }
}