package com.stylefeng.guns.modular.api; import com.stylefeng.guns.modular.system.model.BankCard; import com.stylefeng.guns.modular.system.service.IBankCardService; 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.math.BigDecimal; import java.util.List; @Api @RestController @RequestMapping("/api/bankCard") public class BankCardController { @Autowired private IBankCardService bankCardService; @Autowired private IDriverService driverService; /** * 保存银行卡号 * @param bank * @param name * @param code * @param request * @return */ @ResponseBody @PostMapping("/saveBankCard") @ApiOperation(value = "保存银行卡信息【1.1】", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "银行名称", name = "bank", required = true, dataType = "String"), @ApiImplicitParam(value = "开户人姓", name = "lastName", required = true, dataType = "String"), @ApiImplicitParam(value = "开户人名", name = "firstName", required = true, dataType = "String"), @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil saveBankCard(String bank, String lastName,String firstName, String code, Integer language, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } BigDecimal bigDecimal = new BigDecimal(code); long max = Long.MAX_VALUE; if(bigDecimal.compareTo(new BigDecimal(max)) >= 0){ return ResultUtil.error(language == 1 ? "银行卡号格式错误" : language == 2 ? "Format error of bank card" : "Erreur de format de la carte bancaire"); } return bankCardService.saveBankCard(bank, lastName, firstName, code, driverId, language); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } @ResponseBody @PostMapping("/updateBankCard") @ApiOperation(value = "保存银行卡信息【1.1】", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "银行卡id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(value = "银行名称", name = "bank", required = true, dataType = "String"), @ApiImplicitParam(value = "开户人姓", name = "lastName", required = true, dataType = "String"), @ApiImplicitParam(value = "开户人名", name = "firstName", required = true, dataType = "String"), @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil updateBankCard(Integer id, String bank, String lastName,String firstName, String code, Integer language, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } return bankCardService.updateBankCard(id, bank, lastName, firstName, code, driverId, language); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 删除银行卡号 * @param id * @param request * @return */ @ResponseBody @PostMapping("/delBankCard") @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 delBankCard(Integer id, Integer language, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } return bankCardService.delBankCard(id, driverId, language); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 获取银行卡号列表 * @param pageNum * @param size * @param request * @return */ @ResponseBody @PostMapping("/queryBankCard") @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 queryBankCard(Integer pageNum, Integer size, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if(null == driverId){ return ResultUtil.tokenErr(); } List bankCards = bankCardService.queryBankCard(pageNum, size, driverId); return ResultUtil.success(bankCards); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } }