|
|
@@ -1,12 +1,11 @@
|
|
|
package com.sqx.modules.pay.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.sqx.common.exception.SqxException;
|
|
|
import com.sqx.common.utils.PageUtils;
|
|
|
-import com.sqx.common.utils.Query;
|
|
|
import com.sqx.common.utils.Result;
|
|
|
import com.sqx.modules.app.dao.UserCashOutDao;
|
|
|
import com.sqx.modules.app.dao.UserDao;
|
|
|
@@ -26,6 +25,7 @@ import com.sqx.modules.errand.entity.ErrandComplaint;
|
|
|
import com.sqx.modules.errand.entity.TbIndent;
|
|
|
import com.sqx.modules.message.dao.MessageInfoDao;
|
|
|
import com.sqx.modules.message.entity.MessageInfo;
|
|
|
+import com.sqx.modules.pay.controller.query.CashOutQueryDTO;
|
|
|
import com.sqx.modules.pay.dao.CashOutDao;
|
|
|
import com.sqx.modules.pay.entity.CashOut;
|
|
|
import com.sqx.modules.pay.service.CashOutService;
|
|
|
@@ -47,10 +47,15 @@ import weixin.popular.support.TokenManager;
|
|
|
|
|
|
import javax.websocket.SendResult;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.sql.Timestamp;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 提现申请记录
|
|
|
@@ -100,102 +105,23 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
|
|
|
|
|
|
@Override
|
|
|
- public PageUtils selectCashOutList(Map<String, Object> params) {
|
|
|
- // String zhifubaoName = (String) params.get("zhifubaoName");
|
|
|
- // String zhifubao = (String) params.get("zhifubao");
|
|
|
- // String userId = String.valueOf(params.get("userId"));
|
|
|
- // String type = String.valueOf(params.get("type"));
|
|
|
- // String state = String.valueOf(params.get("state"));
|
|
|
- // String phone = String.valueOf(params.get("phone"));
|
|
|
- // String classify = String.valueOf(params.get("classify"));
|
|
|
- // String startTime = String.valueOf(params.get("startTime"));
|
|
|
- // String endTime = String.valueOf(params.get("endTime"));
|
|
|
-
|
|
|
- IPage<CashOut> pageParam = new Query<CashOut>().getPage(params);
|
|
|
- IPage<CashOutVO> page = this.baseMapper.selectCashOutList(pageParam, params);
|
|
|
-
|
|
|
- // IPage<CashOut> page = this.page(
|
|
|
- // new Query<CashOut>().getPage(params),
|
|
|
- // new QueryWrapper<CashOut>()
|
|
|
- // .eq(StringUtils.isNotBlank(zhifubaoName) && !"null".equals(zhifubaoName), "zhifubao_name", zhifubaoName)
|
|
|
- // .eq(StringUtils.isNotBlank(zhifubao) && !"null".equals(zhifubao), "zhifubao", zhifubao)
|
|
|
- // .eq(StringUtils.isNotBlank(userId) && !"null".equals(userId), "user_id", userId)
|
|
|
- // .eq(StringUtils.isNotBlank(type) && !"null".equals(type), "type", type)
|
|
|
- // .eq(StringUtils.isNotBlank(state) && !"null".equals(state), "state", state)
|
|
|
- // .like(StringUtils.isNotBlank(phone) && !"null".equals(phone), "phone", phone)
|
|
|
- // .eq(StringUtils.isNotBlank(classify) && !"null".equals(classify) && "1".equals(classify), "classify", classify)
|
|
|
- // .in(StringUtils.isNotBlank(classify) && !"null".equals(classify) && "2".equals(classify), "classify", "2","3","4")
|
|
|
- // .ge(StringUtils.isNotBlank(startTime) && !"null".equals(startTime),"create_at",startTime)
|
|
|
- // .le(StringUtils.isNotBlank(endTime) && !"null".equals(endTime),"create_at",endTime)
|
|
|
- // .orderByDesc("id")
|
|
|
- // );
|
|
|
+ public PageUtils selectCashOutList(CashOutQueryDTO queryDTO) {
|
|
|
+ Page<CashOut> pages = new Page<>(queryDTO.getPage(), queryDTO.getLimit());
|
|
|
+ IPage<CashOutVO> page = this.baseMapper.selectCashOutList(pages, queryDTO);
|
|
|
return new PageUtils(page);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ExcelData excelPayDetails(Map<String, Object> params) {
|
|
|
- String zhifubaoName = (String) params.get("zhifubaoName");
|
|
|
- String zhifubao = (String) params.get("zhifubao");
|
|
|
- String userId = String.valueOf(params.get("userId"));
|
|
|
- String type = String.valueOf(params.get("type"));
|
|
|
- String state = String.valueOf(params.get("state"));
|
|
|
- String phone = String.valueOf(params.get("phone"));
|
|
|
- String startTime = String.valueOf(params.get("startTime"));
|
|
|
- String endTime = String.valueOf(params.get("endTime"));
|
|
|
- String classify = String.valueOf(params.get("classify"));
|
|
|
- List<CashOut> cashOutList = this.list(
|
|
|
- new QueryWrapper<CashOut>()
|
|
|
- .eq(StringUtils.isNotBlank(zhifubaoName) && !"null".equals(zhifubaoName), "zhifubao_name", zhifubaoName)
|
|
|
- .eq(StringUtils.isNotBlank(zhifubao) && !"null".equals(zhifubao), "zhifubao", zhifubao)
|
|
|
- .eq(StringUtils.isNotBlank(userId) && !"null".equals(userId), "user_id", userId)
|
|
|
- .eq(StringUtils.isNotBlank(type) && !"null".equals(type), "type", type)
|
|
|
- .eq(StringUtils.isNotBlank(state) && !"null".equals(state), "state", state)
|
|
|
- .like(StringUtils.isNotBlank(phone) && !"null".equals(phone), "phone", phone)
|
|
|
- .eq(StringUtils.isNotBlank(classify) && !"null".equals(classify) && "1".equals(classify), "classify", classify)
|
|
|
- .in(StringUtils.isNotBlank(classify) && !"null".equals(classify) && "2".equals(classify), "classify", "2","3","4")
|
|
|
- .ge(StringUtils.isNotBlank(startTime) && !"null".equals(startTime),"create_at",startTime)
|
|
|
- .le(StringUtils.isNotBlank(endTime) && !"null".equals(endTime),"create_at",endTime)
|
|
|
- .orderByDesc("id")
|
|
|
- );
|
|
|
+ public ExcelData excelPayDetails(CashOutQueryDTO queryDTO) {
|
|
|
+ List<CashOutVO> cashOuts = baseMapper.excelPayDetails(queryDTO);
|
|
|
ExcelData data = new ExcelData();
|
|
|
data.setName("提现列表");
|
|
|
- List<String> titles = new ArrayList();
|
|
|
- titles.add("编号");titles.add("提现方式");titles.add("支付宝账号");titles.add("支付宝名称");titles.add("微信二维码");
|
|
|
- titles.add("提现金额");titles.add("状态");
|
|
|
- titles.add("拒绝原因");titles.add("申请时间");titles.add("转账/拒绝时间");titles.add("转账订单号");
|
|
|
- data.setTitles(titles);
|
|
|
- List<List<Object>> rows = new ArrayList();
|
|
|
- for(CashOut cashOut:cashOutList){
|
|
|
- List<Object> row = new ArrayList();
|
|
|
- row.add(cashOut.getId());
|
|
|
- if(cashOut.getClassify()==1){
|
|
|
- row.add("支付宝提现");
|
|
|
- }else{
|
|
|
- row.add("微信");
|
|
|
- }
|
|
|
- row.add(cashOut.getZhifubao());row.add(cashOut.getZhifubaoName());row.add(StringUtils.isNotBlank(cashOut.getCashQrCode())?cashOut.getCashQrCode():"");
|
|
|
- row.add(cashOut.getMoney());
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if(cashOut.getState()==-1){
|
|
|
- row.add("已拒绝");
|
|
|
- }else if(cashOut.getState()==0){
|
|
|
- row.add("待转账");
|
|
|
- }else{
|
|
|
- row.add("成功");
|
|
|
- }
|
|
|
- row.add(cashOut.getRefund()==null?"":cashOut.getRefund());
|
|
|
- row.add(cashOut.getCreateAt());
|
|
|
- row.add(StringUtils.isEmpty(cashOut.getOutAt())?"":cashOut.getOutAt());
|
|
|
- row.add(cashOut.getOrderNumber());
|
|
|
- rows.add(row);
|
|
|
- }
|
|
|
+ data.setTitles(getPayDetailExportTitle());
|
|
|
+ List<List<Object>> rows = cashOuts.stream().map(cashOutVO -> convertToRow(cashOutVO)).collect(Collectors.toList());
|
|
|
data.setRows(rows);
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public CashOut selectById(Long id) {
|
|
|
return cashOutDao.selectById(id);
|
|
|
@@ -206,13 +132,11 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
return cashOutDao.insert(cashOut);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public int update(CashOut cashOut) {
|
|
|
return cashOutDao.updateById(cashOut);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public void cashOutSuccess(UserEntity userByWxId, String date, String money, String payWay, String url) {
|
|
|
if (userByWxId != null) {
|
|
|
@@ -642,15 +566,78 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Double selectCashOutTotal(Map<String, Object> params) {
|
|
|
- return this.baseMapper.selectCashOutTotal(params);
|
|
|
+ public Double selectCashOutTotal(CashOutQueryDTO queryDTO) {
|
|
|
+ return this.baseMapper.selectCashOutTotal(queryDTO);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Double selectCommissionTotal(Map<String, Object> params) {
|
|
|
+ public Double selectCommissionTotal(CashOutQueryDTO queryDTO) {
|
|
|
// state为1,表示提现成功
|
|
|
- params.put("state", "1");
|
|
|
- return this.baseMapper.selectCommissionTotal(params);
|
|
|
+ queryDTO.setState(1);
|
|
|
+ return this.baseMapper.selectCommissionTotal(queryDTO);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * CashOutVO转换成row
|
|
|
+ * @param cashOutVO vo
|
|
|
+ * @return row
|
|
|
+ */
|
|
|
+ private List<Object> convertToRow(CashOutVO cashOutVO) {
|
|
|
+ List<Object> row = new ArrayList();
|
|
|
+ row.add(cashOutVO.getId());
|
|
|
+ row.add(cashOutVO.getShopName());
|
|
|
+ if(cashOutVO.getClassify() == 1){
|
|
|
+ row.add("支付宝");
|
|
|
+ } else if (cashOutVO.getClassify() == 5) {
|
|
|
+ row.add("银行卡");
|
|
|
+ } else {
|
|
|
+ row.add("微信");
|
|
|
+ }
|
|
|
+ row.add(cashOutVO.getBankCardNo());
|
|
|
+ row.add(cashOutVO.getBankRealName());
|
|
|
+ row.add(cashOutVO.getOpenBank());
|
|
|
+ row.add(cashOutVO.getZhifubao());
|
|
|
+ row.add(cashOutVO.getZhifubaoName());
|
|
|
+ row.add(StringUtils.isNotBlank(cashOutVO.getCashQrCode()) ? cashOutVO.getCashQrCode() : "");
|
|
|
+ row.add(cashOutVO.getMoney());
|
|
|
+ row.add(cashOutVO.getRate());
|
|
|
+ row.add(cashOutVO.getCurrentBalance());
|
|
|
+ if(cashOutVO.getState() == -1){
|
|
|
+ row.add("已拒绝");
|
|
|
+ }else if(cashOutVO.getState() == 0){
|
|
|
+ row.add("待转账");
|
|
|
+ }else{
|
|
|
+ row.add("成功");
|
|
|
+ }
|
|
|
+ row.add(cashOutVO.getRefund() == null ? "" : cashOutVO.getRefund());
|
|
|
+ row.add(cashOutVO.getCreateAt());
|
|
|
+ row.add(StringUtils.isEmpty(cashOutVO.getOutAt()) ? "" : cashOutVO.getOutAt());
|
|
|
+ row.add(cashOutVO.getOrderNumber());
|
|
|
+ return row;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取导出文件标题
|
|
|
+ * @return title
|
|
|
+ */
|
|
|
+ private List<String> getPayDetailExportTitle() {
|
|
|
+ return Arrays.asList(
|
|
|
+ "编号",
|
|
|
+ "店铺名称",
|
|
|
+ "提现方式",
|
|
|
+ "银行卡号",
|
|
|
+ "银行卡户主姓名",
|
|
|
+ "银行卡开户行",
|
|
|
+ "支付宝账号",
|
|
|
+ "支付宝名称",
|
|
|
+ "微信二维码",
|
|
|
+ "提现金额",
|
|
|
+ "提现手续费",
|
|
|
+ "当前余额",
|
|
|
+ "状态",
|
|
|
+ "拒绝原因",
|
|
|
+ "申请时间",
|
|
|
+ "转账拒绝时间",
|
|
|
+ "转账订单号");
|
|
|
+ }
|
|
|
}
|