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;
|
|
/**
|
* <p>
|
* 提现记录表(司机/用户) 服务实现类
|
* </p>
|
*
|
* @author 吕雪
|
* @since 2020-06-09
|
*/
|
@Service
|
public class TPubWithdrawalServiceImpl extends ServiceImpl<TPubWithdrawalMapper, TPubWithdrawal> implements ITPubWithdrawalService {
|
|
@Override
|
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);
|
}
|
|
|
}
|