记得上下班打卡 | git大法好,push需谨慎

Commit 9a0873de authored by wangyifan's avatar wangyifan

回调接入业务

parent 52399664
......@@ -4,9 +4,11 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbCouponVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderCreateVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderDetailVo;
import com.liquidnet.service.goblin.param.shouqianba.callback.CouponCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.callback.OrderCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.callback.RefundCallbackContent;
import java.util.List;
import java.util.Map;
/**
* 收钱吧订单服务接口
......@@ -65,26 +67,23 @@ public interface IGoblinSqbOrderService {
/**
* 支付成功回调(收钱吧主动推送)
*
* @param params 回调参数
* @return "success"
* @param orderCallbackContent@return "success"
*/
ResponseDto<String> handlePayCallback(Map<String, Object> params);
ResponseDto<String> handlePayCallback(OrderCallbackContent orderCallbackContent);
/**
* 退款成功回调(收钱吧主动推送)
*
* @param params 回调参数
* @return "success"
* @param refundCallbackContent@return "success"
*/
ResponseDto<String> handleRefundCallback(Map<String, Object> params);
ResponseDto<String> handleRefundCallback(RefundCallbackContent refundCallbackContent);
/**
* 券状态变更回调(收钱吧主动推送)
*
* @param params 回调参数
* @return "success"
* @param callbackContent@return "success"
*/
ResponseDto<String> handleCouponCallback(Map<String, Object> params);
ResponseDto<String> handleCouponCallback(CouponCallbackContent callbackContent);
/**
* 演出结束自动退款(定时任务调用)
......
......@@ -7,6 +7,7 @@ import com.liquidnet.service.goblin.param.shouqianba.callback.CouponCallbackCont
import com.liquidnet.service.goblin.param.shouqianba.callback.OrderCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.callback.RefundCallbackContent;
import com.liquidnet.service.goblin.service.IGoblinShouQianBaService;
import com.liquidnet.service.goblin.service.IGoblinSqbOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -25,9 +26,12 @@ public class GoblinShouqianbaController {
@Autowired
private IGoblinShouQianBaService shouQianBaService;
@Autowired
private IGoblinSqbOrderService sqbOrderService;
@ApiOperation("下单回调")
@PostMapping("/order/callback")
public ResponseDto<Boolean> orderCallback(@RequestBody CallbackParams callbackParams) {
public ResponseDto<String> orderCallback(@RequestBody CallbackParams callbackParams) {
if (null == callbackParams) {
log.error("下单回调参数为空");
return ResponseDto.failure("下单回调参数为空");
......@@ -40,14 +44,13 @@ public class GoblinShouqianbaController {
OrderCallbackContent orderCallbackContent = JsonUtils.fromJson(callbackParams.getContent(), OrderCallbackContent.class);
log.info("下单回调content: {}", callbackParams.getContent());
//TODO 业务
return ResponseDto.success();
// 业务
return sqbOrderService.handlePayCallback(orderCallbackContent);
}
@ApiOperation("退款回调")
@PostMapping("/refund/callback")
public ResponseDto<Boolean> refundCallback(@RequestBody CallbackParams callbackParams) {
public ResponseDto<String> refundCallback(@RequestBody CallbackParams callbackParams) {
if (null == callbackParams) {
log.error("退款回调参数为空");
return ResponseDto.failure("退款回调参数为空");
......@@ -60,14 +63,13 @@ public class GoblinShouqianbaController {
RefundCallbackContent refundCallbackContent = JsonUtils.fromJson(callbackParams.getContent(), RefundCallbackContent.class);
log.info("退款回调content: {}", callbackParams.getContent());
//TODO 业务
return ResponseDto.success();
// 业务
return sqbOrderService.handleRefundCallback(refundCallbackContent);
}
@ApiOperation("券状态回调")
@PostMapping("/coupon/callback")
public ResponseDto<Boolean> couponCallback(@RequestBody CallbackParams callbackParams) {
public ResponseDto<String> couponCallback(@RequestBody CallbackParams callbackParams) {
if (null == callbackParams) {
log.error("券状态回调参数为空");
return ResponseDto.failure("券状态回调参数为空");
......@@ -80,9 +82,9 @@ public class GoblinShouqianbaController {
CouponCallbackContent callbackContent = JsonUtils.fromJson(callbackParams.getContent(), CouponCallbackContent.class);
log.info("券状态回调content: {}", callbackParams.getContent());
//TODO 业务
// 业务
return ResponseDto.success();
return sqbOrderService.handleCouponCallback(callbackContent);
}
}
package com.liquidnet.service.goblin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.service.IGoblinSqbOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 收钱吧回调 Controller(收钱吧主动推送,无需鉴权)
*/
@Slf4j
@Api(tags = "收钱吧回调")
@RestController
public class GoblinSqbCallbackController {
@Autowired
private IGoblinSqbOrderService goblinSqbOrderService;
/**
* 支付成功回调
* URL: https://testgoblin.zhengzai.tv/goblin/sqb/order/callback
*/
@PostMapping("/goblin/sqb/order/callback")
@ApiOperation("支付成功回调")
public ResponseDto<String> payCallback(@RequestBody Map<String, Object> params) {
log.info("[收钱吧支付回调] 收到推送");
return goblinSqbOrderService.handlePayCallback(params);
}
/**
* 退款成功回调
* URL: https://testgoblin.zhengzai.tv/goblin/sqb/refund/callback
*/
@PostMapping("/goblin/sqb/refund/callback")
@ApiOperation("退款成功回调")
public ResponseDto<String> refundCallback(@RequestBody Map<String, Object> params) {
log.info("[收钱吧退款回调] 收到推送");
return goblinSqbOrderService.handleRefundCallback(params);
}
/**
* 券状态变更回调
* URL: https://testgoblin.zhengzai.tv/goblin/sqb/coupon/callback
*/
@PostMapping("/goblin/sqb/coupon/callback")
@ApiOperation("券状态变更回调")
public ResponseDto<String> couponCallback(@RequestBody Map<String, Object> params) {
log.info("[收钱吧券状态回调] 收到推送");
return goblinSqbOrderService.handleCouponCallback(params);
}
}
......@@ -6,6 +6,9 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinSqbPerformanceGoods;
import com.liquidnet.service.goblin.mapper.GoblinSqbPerformanceGoodsMapper;
import com.liquidnet.service.goblin.param.shouqianba.callback.CouponCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.callback.OrderCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.callback.RefundCallbackContent;
import com.liquidnet.service.goblin.param.shouqianba.request.*;
import com.liquidnet.service.goblin.param.shouqianba.response.data.*;
import com.liquidnet.service.goblin.service.IGoblinShouQianBaService;
......@@ -20,7 +23,6 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
* 收钱吧订单服务实现
......@@ -506,9 +508,10 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
// ================================ 回调处理 ================================
@Override
public ResponseDto<String> handlePayCallback(Map<String, Object> params) {
log.info("[收钱吧支付回调] 收到回调参数: {}", params);
String orderId = getOrderIdFromParams(params);
public ResponseDto<String> handlePayCallback(OrderCallbackContent orderCallbackContent) {
log.info("[收钱吧支付回调] 收到回调参数: {}", orderCallbackContent);
// TODO 可能需要根据收钱吧的orderSn查询正在的orderId
String orderId = orderCallbackContent.getOrderSn();
if (orderId == null) return ResponseDto.failure("缺少订单标识");
GoblinSqbOrderVo orderVo = goblinSqbRedisUtils.getSqbOrder(orderId);
......@@ -525,9 +528,10 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
}
@Override
public ResponseDto<String> handleRefundCallback(Map<String, Object> params) {
log.info("[收钱吧退款回调] 收到回调参数: {}", params);
String orderId = getOrderIdFromParams(params);
public ResponseDto<String> handleRefundCallback(RefundCallbackContent refundCallbackContent) {
log.info("[收钱吧退款回调] 收到回调参数: {}", refundCallbackContent);
// TODO 可能需要根据收钱吧的orderSn查询正在的orderId
String orderId = refundCallbackContent.getOrderSn();
if (orderId == null) return ResponseDto.failure("缺少订单标识");
GoblinSqbOrderVo orderVo = goblinSqbRedisUtils.getSqbOrder(orderId);
......@@ -545,9 +549,9 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
}
@Override
public ResponseDto<String> handleCouponCallback(Map<String, Object> params) {
log.info("[收钱吧券状态回调] 收到回调参数: {}", params);
String orderId = getOrderIdFromParams(params);
public ResponseDto<String> handleCouponCallback(CouponCallbackContent callbackContent) {
log.info("[收钱吧券状态回调] 收到回调参数: {}", callbackContent);
String orderId = callbackContent.getOrderSn();
if (orderId == null) return ResponseDto.failure("缺少订单标识");
GoblinSqbOrderVo orderVo = goblinSqbRedisUtils.getSqbOrder(orderId);
......@@ -815,11 +819,11 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
return detailVo;
}
private String getOrderIdFromParams(Map<String, Object> params) {
String orderId = (String) params.get("orderId");
if (orderId == null) orderId = (String) params.get("acquiringSn");
return orderId;
}
// private String getOrderIdFromParams(Map<String, Object> params) {
// String orderId = (String) params.get("orderId");
// if (orderId == null) orderId = (String) params.get("acquiringSn");
// return orderId;
// }
private void syncOrderStatus(String orderId, int status) {
GoblinStoreOrderVo storeOrderVo = goblinRedisUtils.getGoblinOrder(orderId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment