| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package com.crm.pay.controller.pay;
- import com.crm.pay.controller.base.BasePayCloseFunctionController;
- import com.crm.pay.entity.callback.BipiCallbackEntity;
- import com.crm.pay.service.BipiPayService;
- import com.crm.rely.backend.model.constant.PayConstants;
- import com.crm.rely.backend.core.dto.base.BaseResultDto;
- import com.crm.pay.dto.PayDto;
- import com.crm.rely.backend.model.entity.custom.info.CustomInfoEntity;
- import com.crm.rely.backend.model.entity.finance.deposit.FinanceDepositAddEntity;
- import com.crm.pay.entity.FinanceDepositParameterEntity;
- import com.crm.rely.backend.core.exception.PayValidatedException;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.math.BigDecimal;
- /**
- * @description:
- * @author: houn
- * @create: 2021-12-26 14:58
- */
- @RestController
- @RequestMapping("/bipi")
- public class BipiPayController extends BasePayCloseFunctionController {
- @Autowired
- private BipiPayService service;
- /**
- * 支付
- *
- * @param login 入金账号
- * @param amount 入金金额
- * @return 错误信息
- * @throws Exception
- */
- @RequestMapping("/pay/{login}/{amount}")
- public BaseResultDto pay(@PathVariable("login") Long login,
- @PathVariable("amount") BigDecimal amount,
- @RequestBody FinanceDepositParameterEntity entity,
- CustomInfoEntity infoEntity, HttpServletRequest request) throws Exception {
- return payCall(login, amount, 0, entity, infoEntity, request);
- }
- @RequestMapping("/pay/{login}/{amount}/{activity}")
- public BaseResultDto pay(@PathVariable("login") Long login,
- @PathVariable("amount") BigDecimal amount,
- @PathVariable("activity") int activity,
- @RequestBody FinanceDepositParameterEntity entity,
- CustomInfoEntity infoEntity, HttpServletRequest request) throws Exception {
- return payCall(login, amount, activity, entity, infoEntity, request);
- }
- private BaseResultDto payCall(Long login,
- BigDecimal amount,
- int activity,
- FinanceDepositParameterEntity entity,
- CustomInfoEntity infoEntity, HttpServletRequest request) throws Exception {
- validated(login, amount);
- FinanceDepositAddEntity financeDepositSaveEntity = getFinanceDepositSaveEntity(login, amount,
- PayConstants.BIPI_PAY_TYPE_KEY,
- PayConstants.BIPI_PAY_TYPE_KEY, activity, entity, request);
- String url = service.pay(financeDepositSaveEntity);
- PayDto payDto = new PayDto(1, url);
- return BaseResultDto.success(payDto);
- }
- /**
- * 异步回调
- *
- * @param callbackEntity 用于获取回调数据
- * @return 返回成功给第三方系统
- * @throws Exception
- */
- @RequestMapping("/callback")
- public void callback(BipiCallbackEntity callbackEntity,
- HttpServletResponse response) throws Exception {
- service.callback(callbackEntity);
- sendRedirect(response);
- }
- /**
- * 同步页面 成功
- *
- * @param response 用于重定向页面
- * @throws IOException
- */
- @GetMapping(value = "/pickup")
- public void pickup(HttpServletResponse response) throws Exception, PayValidatedException {
- sendRedirect(response);
- }
- @GetMapping(value = "/error")
- public void error(HttpServletResponse response) throws Exception {
- sendRedirect(response);
- }
- }
|