package com.ruoyi.order.api.feignClient; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.order.api.entity.*; import com.ruoyi.order.api.factory.WithdrawFallbackFactory; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; import java.util.List; /** * @author HJL * @since 2024.05.29 */ @FeignClient(contextId = "OrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = WithdrawFallbackFactory.class) public interface WithdrawClient { /** * 用户所关联提现记录分页列表 * * @param nickname 用户昵称 * @param userPhone 用户手机号 * @param applyForTime 申请时间 * @param state 状态 * @param pageNum 页码 * @param pageSize 每页显示条数 * @return 分页列表 */ @GetMapping(value = "/withdraw/withdrawPage") R> withdrawPage(@RequestParam(value = "nickname", required = false) String nickname, @RequestParam(value = "userPhone", required = false) String userPhone, @RequestParam(value = "applyForTime", required = false) String applyForTime, @RequestParam(value = "state", required = false) Integer state, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "userIds") List userIds); @GetMapping(value = "/withdraw/withdrawPage1") R> withdrawPage1(@RequestParam(value = "cityList", required = false)List cityList,@RequestParam(value = "nickname", required = false) String nickname, @RequestParam(value = "userPhone", required = false) String userPhone, @RequestParam(value = "applyForTime", required = false) String applyForTime, @RequestParam(value = "state", required = false) Integer state, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "userIds") List userIds, @RequestParam("siteIds") List siteIds); /** * 查看提现记录详情 * * @param id 提现记录id * @return 提现详情 */ @GetMapping(value = "/withdraw/withdrawRecordDetail") R withdrawRecordDetail(@RequestParam("id") Long id); /** * 用户提现记录导出 * * @param exportRequest 提现记录 * @return 筛选数据列表 */ @ApiOperation(value = "用户提现管理-excel导出用户提现记录", tags = {"后台-用户管理-提现列表"}) @PostMapping(value = "/withdraw/excelExport") R> excelExport(@RequestBody WithdrawExportRequest exportRequest); /** * 批量删除提现记录 * * @param ids 提现记录多条id拼接 * @return 封装分页数据 */ @GetMapping(value = "/withdraw/batchDelete") R batchDelete(@RequestParam("ids") String ids); /** * 提现管理-提现审批 * * @param id 提现记录id * @param state 审批结果 * @param opinion 审批意见 * @param openId 微信用户openId * @param userId 用户id * @return 提现结果 */ @GetMapping(value = "/withdraw/withdrawExamine") R withdrawExamine(@RequestParam("id") Long id, @RequestParam("state") Integer state, @RequestParam(value = "opinion", required = false) String opinion, @RequestParam(value = "openId") String openId, @RequestParam(value = "userId") Integer userId); /** * 根据类型统计提现金额 * * @param request 根据类型统计提现金额 * @return 封装分页数据 */ @PostMapping(value = "/withdraw/withdrawalTotalMoney") R withdrawalTotalMoney(@RequestBody MoneyQueryRequest request); /** * 修改系统设置-关闭/开启审核 * * @param enableProcess 审核状态 * @return 操作结果 */ @ApiOperation(value = "关闭/开启审核", tags = {"后台-用户管理-用户列表"}) @GetMapping(value = "/withdraw/enableProcess") R enableProcess(@RequestParam("enableProcess") Integer enableProcess); /** * 获取系统设置-审核设置 * --远程调用 * * @return 操作结果 */ @GetMapping(value = "/withdraw/withdrawProcess") R withdrawProcess(); /** * 全局审核状态 * * @return 全局审核状态 */ @GetMapping(value = "/withdraw/withdrawState") R withdrawState(); /** * 用户所关联提现记录分页列表 * * @param userId 用户id * @param pageNum 页码 * @param pageSize 每页显示条数 * @return 分页列表 */ @GetMapping(value = "/withdraw/withdrawList") R> withdrawList(@RequestParam("userId") Integer userId, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize); @GetMapping(value = "/withdraw/withdrawList1") R> withdrawList1(@RequestParam("cityList") List cityList, @RequestParam("userId") Integer userId, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam("siteIds") List siteIds); /** * 根据订单获取用户提现申请记录 * * @param orderId 订单id * @param userId 用户id * @return 提现记录 */ @GetMapping(value = "/withdraw/withdrawRecordByUser") R> withdrawRecordByUser(@RequestParam("orderId") String orderId, @RequestParam("userId") Integer userId); /** * 用户端-用户提交提现申请 * * @param orderId 订单id * @param userId 用户id * @param openId 微信用户openId * @param userPhone 用户手机号 * @return 提现结果 */ @GetMapping(value = "/withdraw/confirmWithdrawByUser") R confirmWithdrawByUser(@RequestParam("orderId") String orderId, @RequestParam("userId") Integer userId, @RequestParam("openId") String openId, @RequestParam("userPhone") String userPhone); /** * 用户订单列表 * * @param userId 用户id * @param pageNum 页码 * @param pageSize 条数 * @return 订单列表 */ @GetMapping("/withdraw/withdrawListByUser") R> withdrawListByUser(@RequestParam("userId") Integer userId, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize); @GetMapping("/withdraw/withdrawRecordList") @ApiOperation(value = "用户提现申请记录", tags = {"用户端"}) R> withdrawRecordList(@RequestParam("userId") Integer userId, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize); /** * 提现订单详情 * * @param orderId 订单id * @return 订单详情 */ @GetMapping("/withdraw/withdrawDetailByUser") R withdrawDetailByUser(@RequestParam("orderId") String orderId); @GetMapping("/withdraw/confirmMoney") R confirmMoney(@RequestParam("id")String id); }