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

Commit 1aa8392b authored by jiangxiulong's avatar jiangxiulong

超时支付 支付回掉退优惠券

parent 216ccd5b
package com.liquidnet.service.order.service.impl;
import com.google.common.base.Joiner;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import com.liquidnet.service.order.utils.DataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -34,6 +40,9 @@ public class OrderRefundOvertimeServiceImpl implements IKylinOrderRefundsService
@Autowired
private DataUtils dataUtils;
@Value("${liquidnet.service.candy.url}")
private String candyUrl;
public Boolean refundApply(String orderTicketsId,String paymentId,String paymentType) {
KylinOrderTicketVo orderInfo = dataUtils.getOrderTicketVo(orderTicketsId);
// 快递费 未进行判断
......@@ -66,6 +75,21 @@ public class OrderRefundOvertimeServiceImpl implements IKylinOrderRefundsService
dataUtils.changeSurplusGeneral(entitiesInfo.getTicketId(), 1);
dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderInfo.getPerformanceId(), entitiesInfo.getTicketId(), -1);
}
// 退所有优惠券
ArrayList<KylinOrderCoupons> orderCoupon = dataUtils.getOrderCoupon(orderTicketsId);
if (!CollectionUtil.isEmpty(orderCoupon)) {
List<String> uCouponIds = orderCoupon.stream().map(KylinOrderCoupons -> KylinOrderCoupons.getCouponCode()).collect(Collectors.toList());
String uCouponIdsStr = Joiner.on(",").join(uCouponIds);
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("uCouponIds", uCouponIdsStr);
params.add("uid", orderInfo.getUserId());
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(candyUrl + "/candy-coupon/useBack", params, headers);
log.info("超时支付退款退券结果:{}", returnData);
}
return true;
} else {
return false;
......
......@@ -243,4 +243,15 @@ public class DataUtils {
redisUtil.set(redisKey,bean);
}
// 获取订单券的使用情况
public ArrayList<KylinOrderCoupons> getOrderCoupon(String orderId){
String redisKey = KylinRedisConst.ORDER_COUPON.concat(orderId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return ObjectUtil.getKylinOrderCouponsArrayList();
} else {
return (ArrayList<KylinOrderCoupons>) obj;
}
}
}
......@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.mongodb.BasicDBObject;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
......@@ -32,6 +33,7 @@ public class ObjectUtil {
private static final ArrayList<KylinOrderListVo> arrayKylinOrderListVo = new ArrayList<>();
private static final LinkedMultiValueMap<String, String> linkedMultiValueMapStringAndString = new LinkedMultiValueMap<String, String>();
private static final BasicDBObject basicDBObject = new BasicDBObject();
private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = new ArrayList<>();
public static Object[] objectsArray;
public static final Integer[] integerArray2 = new Integer[2];
......@@ -84,4 +86,8 @@ public class ObjectUtil {
public static BasicDBObject cloneBasicDBObject() {
return (BasicDBObject) basicDBObject.clone();
}
public static ArrayList<KylinOrderCoupons> getKylinOrderCouponsArrayList() {
return (ArrayList<KylinOrderCoupons>) kylinOrderCouponsArrayList.clone();
}
}
......@@ -3,7 +3,10 @@ package com.liquidnet.service.platform.service.refund;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.google.common.base.Joiner;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
......@@ -19,14 +22,17 @@ import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
......@@ -73,6 +79,9 @@ public class KylinRefundsStatusServiceImpl {
@Autowired
private MongoVoUtils mongoVoUtils;
@Value("${liquidnet.service.candy.url}")
private String candyUrl;
public boolean orderTicketRefunded(RefundCallbackParam refundCallbackParam, KylinOrderRefunds refundInfo) {
List<KylinOrderRefundEntities> refundEntities = kylinOrderRefundsEntitiesMapper.selectList(
new QueryWrapper<KylinOrderRefundEntities>().eq("order_refunds_id", refundInfo.getOrderRefundsId())
......@@ -217,6 +226,21 @@ public class KylinRefundsStatusServiceImpl {
dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderRelations.getPerformanceId(), entitiesInfo.getTicketId(), -1);
}
}
// 退所有优惠券
ArrayList<KylinOrderCoupons> orderCoupon = dataUtils.getOrderCoupon(orderTicketsId);
if (!CollectionUtil.isEmpty(orderCoupon)) {
List<String> uCouponIds = orderCoupon.stream().filter(r -> r.getCouponType() != 101).map(KylinOrderCoupons -> KylinOrderCoupons.getCouponCode()).collect(Collectors.toList());
String uCouponIdsStr = Joiner.on(",").join(uCouponIds);
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("uCouponIds", uCouponIdsStr);
params.add("uid", orderInfo.getUserId());
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(candyUrl + "/candy-coupon/useBack", params, headers);
log.info("超时支付退款退券结果:{}", returnData);
}
}
return true;
......
......@@ -12,6 +12,7 @@ import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinBuyNotice;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
......@@ -395,4 +396,15 @@ public class DataUtils {
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
redisUtil.set(redisKey, routeList);
}
// 获取订单券的使用情况
public ArrayList<KylinOrderCoupons> getOrderCoupon(String orderId){
String redisKey = KylinRedisConst.ORDER_COUPON.concat(orderId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return ObjectUtil.getKylinOrderCouponsArrayList();
} else {
return (ArrayList<KylinOrderCoupons>) obj;
}
}
}
......@@ -6,6 +6,7 @@ import com.liquidnet.service.candy.entity.CandyCommonCoupon;
import com.liquidnet.service.candy.entity.CandyCouponCode;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.mongodb.BasicDBObject;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
......@@ -57,6 +58,7 @@ public class ObjectUtil {
private static final PagedResult<AdamMemberOrderSimpleVo> adamMemberOrderSimpleVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamDisposedVo> adamDisposedVoPagedResult = new PagedResult<>();
private static final PagedResult<AdamDisposedUserVo> adamDisposedUserVoPagedResult = new PagedResult<>();
private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = new ArrayList<>();
public static ArrayList<AdamTagParentVo> getAdamTagParentVoArrayList() {
return (ArrayList<AdamTagParentVo>) adamTagParentVoArrayList.clone();
......@@ -113,4 +115,8 @@ public class ObjectUtil {
public static PagedResult<AdamDisposedUserVo> getAdamDisposedUserVoPagedResult() {
return adamDisposedUserVoPagedResult.clone();
}
public static ArrayList<KylinOrderCoupons> getKylinOrderCouponsArrayList() {
return (ArrayList<KylinOrderCoupons>) kylinOrderCouponsArrayList.clone();
}
}
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