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> select(HttpServletRequest request, @RequestBody MoneyDto moneyDto) { //只能看到他自己下面的所有普通打包员的审核列表 String userId=getUserId(request); OtherUserInfo byId = otherUserService.findById(userId); String partnerId = byId.getPartnerId(); // //打包站下的普通打包员的id集合(包含自己) // List userIds=null; // if(PayEnum.额度恢复.getValue().equals(moneyDto.getPayType())&&CommonEnum.打包站运营员.getValue().equals(byId.getUserType())){ // //查询当前主打包员下的所有打包员ID // String partnerId = byId.getPartnerId(); // List 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 select = payRequestMapper.selectByPayType(moneyDto.getPayType(),moneyDto.getKeyword(),partnerId); PageInfo pageInfo=new PageInfo<>(select); return Result.success(pageInfo); } @ApiOperation( value = "分页查看历史订单",notes = "id是回收员ID,extra可传年月筛选,格式2019-12") @PostMapping("/money/selectHistoryOrder") public Result> select(HttpServletRequest request, @RequestBody SimplePage simplePage) { PageHelper.startPage(simplePage.getPageNo(),simplePage.getPageSize()); List historyByReceiverWithMonth = orderMapper.findHistoryByReceiverWithMonth(simplePage.getId(),simplePage.getExtra()); PageInfo 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> 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> 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> queryRechangeApiList(@RequestBody MoneyModel moneyModel) { Map 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> queryRechangeApiDetail(@RequestBody PayInfoModel payInfoModel) { Map 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> 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 quota(@RequestBody TransfersDtoAdmin dto, HttpServletRequest request) { JsonResult 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 quotaCancel(@RequestBody TransfersDtoAdmin dto, HttpServletRequest request) { JsonResult 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> quotaRecoveryList(@RequestBody MoneyModel moneyModel) { moneyModel.setPayType("9"); return payRequestService.queryFundManagementList(moneyModel); } }