Pu Zhibing
2 天以前 5dacdee9b54c78372b68140e2b068d03a620eab9
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TPubWithdrawalServiceImpl.java
@@ -1,25 +1,24 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
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.model.TPubWithdrawal;
import com.stylefeng.guns.modular.system.service.ITDriverService;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -31,34 +30,33 @@
 */
@Service
public class TPubWithdrawalServiceImpl extends ServiceImpl<TPubWithdrawalMapper, TPubWithdrawal> implements ITPubWithdrawalService {
    @Autowired
    private ITDriverService driverService;
    @Override
    public List<Map<String, Object>> getWithdrawalList(Page<Map<String, Object>> page, String beginTime, String endTime, String name, Integer withdrawalType) {
        List<Map<String, Object>> withdrawalList = this.baseMapper.getWithdrawalList(page, beginTime, endTime, name, withdrawalType, ShiroExtUtil.getUser().getObjectId());
        List<Map<String, Object>> list = new ArrayList<>();
        if (ShiroExtUtil.getUser().getObjectId() != 1) {
            Integer objectId = ShiroExtUtil.getUser().getObjectId();
            System.out.println(objectId);
            for (Map<String, Object> map : withdrawalList) {
                if (ToolUtil.isNotEmpty(map.get("companyId")) && map.get("companyId").toString().equals(String.valueOf(objectId))) {
                    list.add(map);
                }
            }
   @Autowired
   private ITDriverService driverService;
   @Resource
   private ShiroExtUtil shiroExtUtil;
   @Override
   public List<Map<String, Object>> getWithdrawalList(Page<Map<String, Object>> page, String beginTime, String endTime, String name, Integer withdrawalType) {
      List<Map<String, Object>> withdrawalList = this.baseMapper.getWithdrawalList(page, beginTime, endTime, name, withdrawalType, shiroExtUtil.getUser().getObjectId());
      List<Map<String, Object>> list = new ArrayList<>();
      if (shiroExtUtil.getUser().getObjectId() != 1) {
         Integer objectId = shiroExtUtil.getUser().getObjectId();
         System.out.println(objectId);
         for (Map<String, Object> map : withdrawalList) {
            if (ToolUtil.isNotEmpty(map.get("companyId")) && map.get("companyId").toString().equals(String.valueOf(objectId))) {
               list.add(map);
            }
         }
//            withdrawalList = withdrawalList.stream().filter(e -> (e.get("companyId").toString()).equals(ShiroKit.getUser().getObjectId())).collect(Collectors.toList());
        } else {
            list = withdrawalList;
        }
        return list;
    }
      } else {
         list = withdrawalList;
      }
      return list;
   }
    @Override
    public List<Map<String, Object>> getReportWithdrawalList(Page<Map<String, Object>> page, String beginTime, String endTime, String userId) {
@@ -77,37 +75,37 @@
    @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(ShiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, offset, limit);
        int count = this.baseMapper.orderWithdrawalDetailsListCount(ShiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime);
        List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(ShiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, null, null);
        BigDecimal money = new BigDecimal("0");//提现金额
        BigDecimal poundage = new BigDecimal("0");//手续费
        BigDecimal balance = new BigDecimal("0");//未提现金额
        BigDecimal realGetMoney = new BigDecimal("0");//司机实际到账金额
        BigDecimal oldBalance = 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"));
            realGetMoney = realGetMoney.add(new BigDecimal(null != map1.get("realGetMoney") ? map1.get("realGetMoney").toString() : "0"));
            oldBalance = oldBalance.add(new BigDecimal(null != map1.get("oldBalance") ? map1.get("oldBalance").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());
        map1.put("realGetMoney", realGetMoney.doubleValue());
        map1.put("oldBalance", oldBalance.doubleValue());
        list.add(map1);
       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(shiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, offset, limit);
       int count = this.baseMapper.orderWithdrawalDetailsListCount(shiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime);
       List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(shiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, null, null);
       BigDecimal money = new BigDecimal("0");//提现金额
       BigDecimal poundage = new BigDecimal("0");//手续费
       BigDecimal balance = new BigDecimal("0");//未提现金额
       BigDecimal realGetMoney = new BigDecimal("0");//司机实际到账金额
       BigDecimal oldBalance = 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"));
          realGetMoney = realGetMoney.add(new BigDecimal(null != map1.get("realGetMoney") ? map1.get("realGetMoney").toString() : "0"));
          oldBalance = oldBalance.add(new BigDecimal(null != map1.get("oldBalance") ? map1.get("oldBalance").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());
       map1.put("realGetMoney", realGetMoney.doubleValue());
       map1.put("oldBalance", oldBalance.doubleValue());
       list.add(map1);
        map.put("rows", list);
        map.put("total", count);
@@ -116,25 +114,25 @@
    @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(ShiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, null, null);
        String[] title = new String[]{"时间", "司机名称", "司机手机号", "司机可提现金额", "申请提现金额", "司机实际到账金额", "提现手续费", "司机未提现金额", "提现成功时间"};
        String[][] values = new String[list.size()][9];
        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("phone") ? map.get("phone").toString() : "";
            values[i][3] = null != map.get("oldBalance") ? map.get("oldBalance").toString() : "";
            values[i][4] = null != map.get("money") ? map.get("money").toString() : "";
            values[i][5] = null != map.get("realGetMoney") ? map.get("realGetMoney").toString() : "";
            values[i][6] = null != map.get("poundage") ? map.get("poundage").toString() : "";
       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(shiroExtUtil.getUser().getObjectId(), 2, driverName, driverPhone, startTime, endTime, null, null);
       String[] title = new String[]{"时间", "司机名称", "司机手机号", "司机可提现金额", "申请提现金额", "司机实际到账金额", "提现手续费", "司机未提现金额", "提现成功时间"};
       String[][] values = new String[list.size()][9];
       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("phone") ? map.get("phone").toString() : "";
          values[i][3] = null != map.get("oldBalance") ? map.get("oldBalance").toString() : "";
          values[i][4] = null != map.get("money") ? map.get("money").toString() : "";
          values[i][5] = null != map.get("realGetMoney") ? map.get("realGetMoney").toString() : "";
          values[i][6] = null != map.get("poundage") ? map.get("poundage").toString() : "";
            values[i][7] = null != map.get("balance") ? map.get("balance").toString() : "";
            values[i][8] = null != map.get("successTime") ? map.get("successTime").toString() : "";
        }
@@ -144,37 +142,37 @@
    @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(ShiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, offset, limit);
        int count = this.baseMapper.orderWithdrawalDetailsListCount(ShiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime);
        List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(ShiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, null, null);
        BigDecimal money = new BigDecimal("0");//提现金额
        BigDecimal poundage = new BigDecimal("0");//手续费
        BigDecimal balance = new BigDecimal("0");//未提现金额
        BigDecimal actualCredit = new BigDecimal("0");//实际到账
        BigDecimal oldBalance = 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"));
            actualCredit = actualCredit.add(new BigDecimal(null != map1.get("realGetMoney") ? map1.get("realGetMoney").toString() : "0"));
            oldBalance = oldBalance.add(new BigDecimal(null != map1.get("oldBalance") ? map1.get("oldBalance").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());
        map1.put("realGetMoney", actualCredit.doubleValue());
        map1.put("realGetMoney", actualCredit.doubleValue());
        map1.put("oldBalance", oldBalance.doubleValue());
       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(shiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, offset, limit);
       int count = this.baseMapper.orderWithdrawalDetailsListCount(shiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime);
       List<Map<String, Object>> list1 = this.baseMapper.orderWithdrawalDetailsList(shiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, null, null);
       BigDecimal money = new BigDecimal("0");//提现金额
       BigDecimal poundage = new BigDecimal("0");//手续费
       BigDecimal balance = new BigDecimal("0");//未提现金额
       BigDecimal actualCredit = new BigDecimal("0");//实际到账
       BigDecimal oldBalance = 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"));
          actualCredit = actualCredit.add(new BigDecimal(null != map1.get("realGetMoney") ? map1.get("realGetMoney").toString() : "0"));
          oldBalance = oldBalance.add(new BigDecimal(null != map1.get("oldBalance") ? map1.get("oldBalance").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());
       map1.put("realGetMoney", actualCredit.doubleValue());
       map1.put("realGetMoney", actualCredit.doubleValue());
       map1.put("oldBalance", oldBalance.doubleValue());
        list.add(map1);
        map.put("rows", list);
@@ -185,25 +183,25 @@
    @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(ShiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, null, null);
        String[] title = new String[]{"时间", "司机名称", "司机手机号", "司机可提现金额", "申请提现金额", "提现手续费", "司机实际到账金额", "奖励未提现金额"};
        String[][] values = new String[list.size()][8];
        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("phone") ? map.get("phone").toString() : "";
            values[i][3] = null != map.get("oldBalance") ? map.get("oldBalance").toString() : "";
            values[i][4] = null != map.get("money") ? map.get("money").toString() : "";
            values[i][5] = null != map.get("poundage") ? map.get("poundage").toString() : "";
            values[i][6] = null != map.get("realGetMoney") ? map.get("realGetMoney").toString() : "";
       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(shiroExtUtil.getUser().getObjectId(), 1, driverName, driverPhone, startTime, endTime, null, null);
       String[] title = new String[]{"时间", "司机名称", "司机手机号", "司机可提现金额", "申请提现金额", "提现手续费", "司机实际到账金额", "奖励未提现金额"};
       String[][] values = new String[list.size()][8];
       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("phone") ? map.get("phone").toString() : "";
          values[i][3] = null != map.get("oldBalance") ? map.get("oldBalance").toString() : "";
          values[i][4] = null != map.get("money") ? map.get("money").toString() : "";
          values[i][5] = null != map.get("poundage") ? map.get("poundage").toString() : "";
          values[i][6] = null != map.get("realGetMoney") ? map.get("realGetMoney").toString() : "";
            values[i][7] = null != map.get("balance") ? map.get("balance").toString() : "";
        }