Commit 3622094a by zhiheng.zhang

券码核销添加

parent 9029afbf
...@@ -32,10 +32,12 @@ import cn.freemud.interceptor.ServiceException; ...@@ -32,10 +32,12 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.SpellGroupOrderDataManager; import cn.freemud.manager.SpellGroupOrderDataManager;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.BuriedPointService; import cn.freemud.service.BuriedPointService;
import cn.freemud.service.CouponActivityService;
import cn.freemud.service.MallOrderService; import cn.freemud.service.MallOrderService;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient; import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.service.thirdparty.ShoppingCartClient; import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.utils.LogUtil; import cn.freemud.utils.LogUtil;
import cn.freemud.utils.RedisUtil;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import cn.freemud.utils.ValidationCode; import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -146,6 +148,8 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -146,6 +148,8 @@ public class MallOrderServiceImpl implements MallOrderService {
private String backOrdersChangeOrderStatusConsumerQueue; private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}") @Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange; private String backOrdersNotifyActivityExchange;
@Autowired
private CouponActivityService couponActivityService;
/** /**
* 创建订单 * 创建订单
...@@ -525,7 +529,11 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -525,7 +529,11 @@ public class MallOrderServiceImpl implements MallOrderService {
//支付回掉成功标记 //支付回掉成功标记
redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES); redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES);
if (message.getSource() != null && message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
log.info("调用券码核销==" + message.getTrans_id());
verificationCoupon(message.getTrans_id());
log.info("调用券码结束==" + message.getTrans_id());
}
orderIds.add(orderBean.getOid()); orderIds.add(orderBean.getOid());
orderIds = orderIds.stream().distinct().collect(Collectors.toList()); orderIds = orderIds.stream().distinct().collect(Collectors.toList());
...@@ -940,4 +948,38 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -940,4 +948,38 @@ public class MallOrderServiceImpl implements MallOrderService {
return afterSalesOrderExtInfoVo; return afterSalesOrderExtInfoVo;
} }
private String verificationCoupon(String transId) {
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(transId));
if (StringUtils.isNotBlank(orderId)) {
log.info("mallOrderService从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}", LogTreadLocal.getTrackingNo(), transId, orderId);
transId = orderId;
}
QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(transId);
if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) {
return refundFaileMessage("mallOrderService order query fail" + queryOrderByIdResponseDto);
}
QueryOrdersResponseDto.DataBean.OrderBean orderBean = new QueryOrdersResponseDto.DataBean.OrderBean();
if (1 == queryOrderByIdResponseDto.getData().size()) {
orderBean = queryOrderByIdResponseDto.getData().get(0);
} else {
List<QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = queryOrderByIdResponseDto.getData().stream().filter(order -> order.getBizType().equals(1)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(orderBeans)) {
orderBean = orderBeans.get(0);
}
}
//核销券
BaseResponse baseResponse = couponActivityService.verificationCoupon(orderBean, CouponReqType.WRITEOFF);
return "核销券码返回结果" + baseResponse.getCode() + "," + baseResponse.getMessage();
}
/**
* 退款中回调失败返回信息
*/
public String refundFaileMessage(String errorMes) {
Map<String, Object> map = Maps.newTreeMap();
map.put("code", 500);
map.put("message", "failed:" + errorMes);
return gson.toJson(map);
}
} }
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