package com.xzx.gc.pay.controller;
|
|
|
import cn.hutool.core.lang.Snowflake;
|
import cn.hutool.core.util.IdUtil;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.PayEnum;
|
import com.xzx.gc.common.dto.SimplePage;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.utils.MqUtil;
|
import com.xzx.gc.entity.*;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.*;
|
import com.xzx.gc.pay.dto.MoneyDto;
|
import com.xzx.gc.pay.mapper.OrderMapper;
|
import com.xzx.gc.pay.mapper.PayRequestMapper;
|
import com.xzx.gc.pay.service.OtherUserService;
|
import com.xzx.gc.pay.service.PayRequestService;
|
import com.xzx.gc.pay.service.PayService;
|
import com.xzx.gc.pay.service.UserService;
|
import com.xzx.gc.util.DoubleUtil;
|
import com.xzx.gc.util.pay.util.entity.TransfersDtoAdmin;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
@Api(tags = "资金管理")
|
@RestController
|
public class MoneyController extends BaseController {
|
|
@Autowired
|
private PayRequestMapper payRequestMapper;
|
|
@Autowired
|
private OrderMapper orderMapper;
|
|
@Autowired
|
private PayRequestService payRequestService;
|
|
@Autowired
|
private OtherUserService otherUserService;
|
|
|
@ApiOperation( value = "分页查看审核列表")
|
@PostMapping("/money/select")
|
public Result<PageInfo<PayRequestInfo>> select(HttpServletRequest request, @RequestBody MoneyDto moneyDto) {
|
//只能看到他自己下面的所有普通打包员的审核列表
|
String userId=getUserId(request);
|
OtherUserInfo byId = otherUserService.findById(userId);
|
String partnerId = byId.getPartnerId();
|
// //打包站下的普通打包员的id集合(包含自己)
|
// List<String> userIds=null;
|
// if(PayEnum.额度恢复.getValue().equals(moneyDto.getPayType())&&CommonEnum.打包站运营员.getValue().equals(byId.getUserType())){
|
// //查询当前主打包员下的所有打包员ID
|
// String partnerId = byId.getPartnerId();
|
// List<OtherUserInfo> byPartnerId = otherUserService.findByPartnerId(partnerId);
|
//// byPartnerId.removeIf(x->x.getUserId().equals(userId));
|
// userIds = byPartnerId.stream().map(x -> x.getUserId()).collect(Collectors.toList());
|
// }
|
PageHelper.startPage(moneyDto.getPageNo(),moneyDto.getPageSize());
|
List<PayRequestInfo> select = payRequestMapper.selectByPayType(moneyDto.getPayType(),moneyDto.getKeyword(),partnerId);
|
PageInfo<PayRequestInfo> pageInfo=new PageInfo<>(select);
|
return Result.success(pageInfo);
|
}
|
|
@ApiOperation( value = "分页查看历史订单",notes = "id是回收员ID,extra可传年月筛选,格式2019-12")
|
@PostMapping("/money/selectHistoryOrder")
|
public Result<PageInfo<OrderInfo>> select(HttpServletRequest request, @RequestBody SimplePage simplePage) {
|
PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize());
|
List<OrderInfo> historyByReceiverWithMonth = orderMapper.findHistoryByReceiverWithMonth(simplePage.getId(),simplePage.getExtra());
|
PageInfo<OrderInfo> pageInfo=new PageInfo<>(historyByReceiverWithMonth);
|
return Result.success(pageInfo);
|
}
|
|
|
@PostMapping("/admin/front/money/queryFundManagementList.do")
|
@ApiOperation(value = "资金管理-提现审核", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "page", value = "页码", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "limit", value = "每页条数", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "startTime", value = "开始时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "nickName", value = "昵称", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "status", value = "审核状态(1为待审核,2为已审核,3为审核不通过)", required = false, dataType = "String")
|
|
})
|
public JsonResult<Map<String, Object>> queryFundManagementList(@RequestBody MoneyModel moneyModel) {
|
moneyModel.setPayType("4");
|
return payRequestService.queryFundManagementList(moneyModel);
|
}
|
|
@PostMapping( "/admin/front/money/queryPayInfoDetail.json")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-提现审核详情", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "page", value = "页码", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "limit", value = "每页条数", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "payOrderId", value = "金钱表ID", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "userType", value = "身份类别", required = false, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> queryPayInfoDetail(@RequestBody MoneyModel moneyModel) {
|
moneyModel.setPayType("4");
|
return payRequestService.queryPayInfoDetailApi(moneyModel);
|
}
|
|
@PostMapping("/admin/front/money/queryRechangeApiList.do")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-充值记录", notes = "test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> queryRechangeApiList(@RequestBody MoneyModel moneyModel) {
|
|
Map<String, Object> map = payRequestService.queryRechangeApiList(moneyModel);
|
return JsonResult.success(map);
|
}
|
|
@PostMapping( "/admin/front/money/queryRechangeApiDetail.json")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-充值记录(查看详情)", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "payOrderId", value = "充值记录Id", required = false, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> queryRechangeApiDetail(@RequestBody PayInfoModel payInfoModel) {
|
|
Map<String, Object> map = payRequestService.queryRechangeApiDetail(payInfoModel);
|
return JsonResult.success(map);
|
}
|
|
|
@PostMapping( "/admin/front/money/quotaList.do")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-额度申请", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "page", value = "页码", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "limit", value = "每页条数", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "startTime", value = "开始时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "nickName", value = "昵称", required = false, dataType = "String")
|
|
})
|
public JsonResult<Map<String, Object>> quotaList(@RequestBody MoneyModel moneyModel) {
|
moneyModel.setPayType("7");
|
return payRequestService.queryFundManagementList(moneyModel);
|
}
|
|
@PostMapping( "/admin/front/money/quota.json")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-额度申请(通过)", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "payOrderId", value = "额度申请Id", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "userId", value = "用户Id", required = false, dataType = "String")
|
})
|
public JsonResult<String> quota(@RequestBody TransfersDtoAdmin dto, HttpServletRequest request) {
|
JsonResult<String> audit = payRequestService.audit(dto);
|
if(audit.getCode()==0) {
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.PAY_MODUL_NAME).operateAction("额度申请通过-" + dto.getPayOrderId()).build();
|
mqUtil.sendApp(build);
|
}
|
return audit;
|
}
|
|
|
@PostMapping( "/admin/front/money/quotaCancel.json")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-额度申请(拒绝)", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "payOrderId", value = "额度申请Id", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "userId", value = "用户Id", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "unpassReason", value = "未通过原因", required = false, dataType = "String")
|
})
|
public JsonResult<String> quotaCancel(@RequestBody TransfersDtoAdmin dto, HttpServletRequest request) {
|
JsonResult<String> stringJsonResult = payRequestService.auditDeny(dto);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.PAY_MODUL_NAME).operateAction("额度申请拒绝-"+dto.getPayOrderId()).build();
|
mqUtil.sendApp(build);
|
return stringJsonResult;
|
}
|
|
|
@PostMapping( "/admin/front/money/quotaRecoveryList.do")
|
@ResponseBody
|
@ApiOperation(value = "资金管理-额度恢复(通过接口和拒绝接口与额度审核接口相同)", notes = "test: 仅0有正确返回")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", name = "page", value = "页码", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "limit", value = "每页条数", required = false, dataType = "int"),
|
@ApiImplicitParam(paramType = "query", name = "startTime", value = "开始时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "endTime", value = "结束时间", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "nickName", value = "昵称", required = false, dataType = "String"),
|
@ApiImplicitParam(paramType = "query", name = "status", value = "审核状态(1为待审核,2为已审核,3为审核不通过)", required = false, dataType = "String")
|
})
|
public JsonResult<Map<String, Object>> quotaRecoveryList(@RequestBody MoneyModel moneyModel) {
|
moneyModel.setPayType("9");
|
return payRequestService.queryFundManagementList(moneyModel);
|
}
|
|
|
|
|
}
|