Pu Zhibing
6 天以前 f1ba329891967bca6d083a9d5722683a9fa2080b
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverAlipayController.java
New file
@@ -0,0 +1,170 @@
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<DriverAlipay> 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();
        }
    }
}