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.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 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>
|
* 提现记录表(司机/用户) 服务实现类
|
* </p>
|
*
|
* @author 吕雪
|
* @since 2020-06-09
|
*/
|
@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, ShiroKit.getUser().getObjectId());
|
List<Map<String, Object>> list = new ArrayList<>();
|
if(ShiroKit.getUser().getObjectId()!=1){
|
Integer objectId = ShiroKit.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;
|
}
|
|
@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");//未提现金额
|
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);
|
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()][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() : "";
|
}
|
|
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");//未提现金额
|
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);
|
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()][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() : "";
|
}
|
|
return ExcelUtil.getHSSFWorkbook("奖励提现明细", title, values, null);
|
}
|
|
@Override
|
public Double getPoundage(Integer objectId) {
|
return this.baseMapper.getPoundage(objectId);
|
}
|
|
|
}
|