| package com.stylefeng.guns.modular.api; | 
|   | 
|   | 
| import com.stylefeng.guns.modular.system.service.IUserInfoService; | 
| import com.stylefeng.guns.modular.system.service.IWithdrawalService; | 
| import com.stylefeng.guns.modular.system.util.ResultUtil; | 
| import com.stylefeng.guns.modular.system.warpper.WithdrawalWarpper; | 
| 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.PostMapping; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| import javax.servlet.http.HttpServletRequest; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * 提现控制器 | 
|  */ | 
| @Api | 
| @RestController | 
| @RequestMapping("") | 
| public class WithdrawalController { | 
|   | 
|     @Autowired | 
|     private IWithdrawalService withdrawalService; | 
|   | 
|     @Autowired | 
|     private IUserInfoService userInfoService; | 
|   | 
|   | 
|     /** | 
|      * 账户余额提现操作 | 
|      * @param money | 
|      * @param code | 
|      * @param name | 
|      * @param request | 
|      * @return | 
|      */ | 
|     @ResponseBody | 
|     @PostMapping("/api/withdrawal/withdrawal") | 
|     @ApiOperation(value = "账户余额提现", tags = {"用户端-个人中心"}, notes = "") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"), | 
|             @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "string"), | 
|             @ApiImplicitParam(value = "银行卡只有人姓名", name = "name", required = true, dataType = "string"), | 
|             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") | 
|     }) | 
|     public ResultUtil withdrawal(Double money, String code, String name, HttpServletRequest request){ | 
|         try { | 
|             Integer uid = userInfoService.getUserIdFormRedis(request); | 
|             if(null == uid){ | 
|                 return ResultUtil.tokenErr(); | 
|             } | 
|             return withdrawalService.withdrawal(money, code, name, uid); | 
|         }catch (Exception e){ | 
|             e.printStackTrace(); | 
|             return ResultUtil.runErr(); | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 获取历史提现数据 | 
|      * @param pageNum | 
|      * @param size | 
|      * @param request | 
|      * @return | 
|      */ | 
|     @ResponseBody | 
|     @PostMapping("/api/withdrawal/queryWithdrawal") | 
|     @ApiOperation(value = "获取历史提现数据", tags = {"用户端-个人中心"}, notes = "") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), | 
|             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), | 
|             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") | 
|     }) | 
|     public ResultUtil<List<WithdrawalWarpper>> queryWithdrawal(Integer pageNum, Integer size, HttpServletRequest request){ | 
|         try { | 
|             Integer uid = userInfoService.getUserIdFormRedis(request); | 
|             if(null == uid){ | 
|                 return ResultUtil.tokenErr(); | 
|             } | 
|             List<Map<String, Object>> list = withdrawalService.queryWithdrawal(uid, pageNum, size); | 
|             return ResultUtil.success(WithdrawalWarpper.getWithdrawalWarpper(list)); | 
|         }catch (Exception e){ | 
|             e.printStackTrace(); | 
|             return ResultUtil.runErr(); | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 内部调用审核提交结果的处理 | 
|      * @param id        提现申请数据id | 
|      * @param state     审核状态(1=同意,2=拒绝) | 
|      * @return | 
|      */ | 
|     @ResponseBody | 
|     @PostMapping("/base/withdrawal/queryWithdrawal") | 
|     public ResultUtil withdrawalAudit(Integer id, Integer state){ | 
|         try { | 
|             return withdrawalService.withdrawalAudit(id, state); | 
|         }catch (Exception e){ | 
|             e.printStackTrace(); | 
|             return ResultUtil.runErr(); | 
|         } | 
|     } | 
| } |