package com.stylefeng.guns.modular.api; import com.stylefeng.guns.modular.system.model.BankCard; import com.stylefeng.guns.modular.system.model.DriverAlipay; import com.stylefeng.guns.modular.system.service.IBankCardService; import com.stylefeng.guns.modular.system.service.IDriverAlipayService; import com.stylefeng.guns.modular.system.service.IDriverService; import com.stylefeng.guns.modular.system.util.ResultUtil; 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; @Api @RestController @RequestMapping("/api/driverAlipay") public class DriverAlipayController { @Autowired private IDriverAlipayService driverAlipayService; @Autowired private IDriverService driverService; /** * 保存支付宝号 * @param userName * @param account * @param request * @return */ @ResponseBody @PostMapping("/saveAlipay") @ApiOperation(value = "保存支付宝信息", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "用户姓名", name = "userName", required = true, dataType = "String"), @ApiImplicitParam(value = "支付宝号", name = "account", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil saveAlipay(String userName, String account, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } return driverAlipayService.saveAlipay(userName, account, driverId); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } @ResponseBody @PostMapping("/updateAlipay") @ApiOperation(value = "保存支付宝信息", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "支付宝id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(value = "用户姓名", name = "userName", required = true, dataType = "String"), @ApiImplicitParam(value = "支付宝号", name = "account", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil updateAlipay(Integer id, String userName, String account, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } return driverAlipayService.updateAlipay(id,userName, account, driverId); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 删除支付宝号 * @param id * @param request * @return */ @ResponseBody @PostMapping("/delAlipay") @ApiOperation(value = "删除支付宝信息", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "支付宝id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil delAlipay(Integer id, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } return driverAlipayService.delAlipay(id, driverId); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 获取支付宝号列表 * @param pageNum * @param size * @param request * @return */ @ResponseBody @PostMapping("/queryAlipay") @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 queryAlipay(Integer pageNum, Integer size, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } List driverAlipays = driverAlipayService.queryAlipay(pageNum, size, driverId); return ResultUtil.success(driverAlipays); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 账户余额提现操作 * @param money * @param request * @return */ @ResponseBody @PostMapping("/api/withdrawal/aliWithdrawal") @ApiOperation(value = "账户余额提现[0731]", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"), @ApiImplicitParam(value = "支付宝账号id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(value = "提现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil aliWithdrawal(Double money, Integer id, Integer type,HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return driverAlipayService.aliWithdrawal(money, id, uid, type); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } }