yanghb
2023-04-21 0481353111afb43a2322e18530dde26f1d841ead
ManagementTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TPubWithdrawalServiceImpl.java
@@ -1,18 +1,12 @@
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.TPubWithdrawal;
import com.stylefeng.guns.modular.system.dao.TPubWithdrawalMapper;
import com.stylefeng.guns.modular.system.service.ITPubWithdrawalService;
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;
@@ -31,136 +25,4 @@
    public List<Map<String, Object>> getWithdrawalList(Page<Map<String, Object>> page, String beginTime, String endTime, String name, Integer withdrawalType) {
        return this.baseMapper.getWithdrawalList(page, beginTime, endTime, name, withdrawalType);
    }
    @Override
    public List<Map<String, Object>> getReportWithdrawalList(Page<Map<String, Object>> page, String beginTime, String endTime, String userId) {
        return this.baseMapper.getReportWithdrawalList(page, beginTime, endTime, userId);
    }
    @Override
    public List<Map<String, Object>> getReportWithdrawalListEx(String beginTime, String endTime, String userId) {
        return this.baseMapper.getReportWithdrawalListEx(beginTime, endTime, userId);
    }
    @Override
    public Map<String, Object> getSumMoney(String beginTime, String endTime, String userId) {
        return this.baseMapper.getSumMoney(beginTime, endTime, userId);
    }
    @Override
    public Map<String, Object> orderWithdrawalDetailsList(String driverName, String driverPhone, String createTime, Integer offset, Integer limit) throws Exception {
        String startTime = "";
        String endTime = "";
        if(ToolUtil.isNotEmpty(createTime)){
            String[] split = createTime.split(" - ");
            startTime = split[0];
            endTime = split[1];
        }
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, offset, limit);
        int count = this.baseMapper.orderWithdrawalDetailsListCount(ShiroKit.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime);
        List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, null, null);
        BigDecimal money = new BigDecimal("0");//提现金额
        BigDecimal poundage = new BigDecimal("0");//手续费
        BigDecimal balance = new BigDecimal("0");//未提现金额
        for (Map<String, Object> map1 : list1) {
            money = money.add(new BigDecimal(null != map1.get("money") ? map1.get("money").toString() : "0"));
            poundage = poundage.add(new BigDecimal(null != map1.get("poundage") ? map1.get("poundage").toString() : "0"));
            balance = balance.add(new BigDecimal(null != map1.get("balance") ? map1.get("balance").toString() : "0"));
        }
        Map<String, Object> map1 = new HashMap<>();
        map1.put("insertTime", "合计");
        map1.put("money", money.doubleValue());
        map1.put("poundage", poundage.doubleValue());
        map1.put("balance", balance.doubleValue());
        list.add(map1);
        map.put("rows", list);
        map.put("total", count);
        return map;
    }
    @Override
    public HSSFWorkbook exportOrderWithdrawalDetails(String driverName, String driverPhone, String createTime) throws Exception {
        String startTime = "";
        String endTime = "";
        if(ToolUtil.isNotEmpty(createTime)){
            String[] split = createTime.split(" - ");
            startTime = split[0];
            endTime = split[1];
        }
        List<Map<String, Object>> list = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 2, 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("insertTime") ? map.get("insertTime").toString() : "";
            values[i][1] = null != map.get("name") ? map.get("name").toString() : "";
            values[i][2] = null != map.get("money") ? map.get("money").toString() : "";
            values[i][3] = null != map.get("poundage") ? map.get("poundage").toString() : "";
            values[i][4] = null != map.get("balance") ? map.get("balance").toString() : "";
        }
        return ExcelUtil.getHSSFWorkbook("订单提现明细", title, values, null);
    }
    @Override
    public Map<String, Object> rewardWithdrawalDetailsList(String driverName, String driverPhone, String createTime, Integer offset, Integer limit) throws Exception {
        String startTime = "";
        String endTime = "";
        if(ToolUtil.isNotEmpty(createTime)){
            String[] split = createTime.split(" - ");
            startTime = split[0];
            endTime = split[1];
        }
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, offset, limit);
        int count = this.baseMapper.orderWithdrawalDetailsListCount(ShiroKit.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime);
        List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, null, null);
        BigDecimal money = new BigDecimal("0");//提现金额
        BigDecimal poundage = new BigDecimal("0");//手续费
        BigDecimal balance = new BigDecimal("0");//未提现金额
        for (Map<String, Object> map1 : list1) {
            money = money.add(new BigDecimal(null != map1.get("money") ? map1.get("money").toString() : "0"));
            poundage = poundage.add(new BigDecimal(null != map1.get("poundage") ? map1.get("poundage").toString() : "0"));
            balance = balance.add(new BigDecimal(null != map1.get("balance") ? map1.get("balance").toString() : "0"));
        }
        Map<String, Object> map1 = new HashMap<>();
        map1.put("insertTime", "合计");
        map1.put("money", money.doubleValue());
        map1.put("poundage", poundage.doubleValue());
        map1.put("balance", balance.doubleValue());
        list.add(map1);
        map.put("rows", list);
        map.put("total", count);
        return map;
    }
    @Override
    public HSSFWorkbook exportRewardWithdrawalDetails(String driverName, String driverPhone, String createTime) throws Exception {
        String startTime = "";
        String endTime = "";
        if(ToolUtil.isNotEmpty(createTime)){
            String[] split = createTime.split(" - ");
            startTime = split[0];
            endTime = split[1];
        }
        List<Map<String, Object>> list = this.baseMapper.orderWithdrawalDetailsList(ShiroKit.getUser().getObjectId(), 1, 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("insertTime") ? map.get("insertTime").toString() : "";
            values[i][1] = null != map.get("name") ? map.get("name").toString() : "";
            values[i][2] = null != map.get("poundage") ? map.get("poundage").toString() : "";
            values[i][3] = null != map.get("money") ? map.get("money").toString() : "";
            values[i][4] = null != map.get("balance") ? map.get("balance").toString() : "";
        }
        return ExcelUtil.getHSSFWorkbook("奖励提现明细", title, values, null);
    }
}