Commit cdb1a188 by hanghang.wang

Merge branch 'feature/20201223_用户订单查询促销信息转为payGiftReps_wanghanghang'

parents 4e8697cd 25955a38
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
import cn.freemud.entities.dto.PromotionMessageDto; import cn.freemud.entities.dto.PromotionMessageDto;
import cn.freemud.entities.dto.activity.PayGiftCheckAndJoinResponseDto;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Builder; import lombok.Builder;
...@@ -363,14 +364,14 @@ public class QueryOrderResponseVo { ...@@ -363,14 +364,14 @@ public class QueryOrderResponseVo {
private String activityName; private String activityName;
//支付有礼活动号 //支付有礼活动号
private String activityNo; // private String activityNo;
/** /**
* 支付有礼发送方式 * 支付有礼发送方式
* 0-静默发送 * 0-静默发送
* 5-手动发送 * 5-手动发送
*/ */
private Integer activitySendType; // private Integer activitySendType;
//支付有礼领券集合 //支付有礼领券集合
private List<PayGiftCouponVo> coupons; private List<PayGiftCouponVo> coupons;
...@@ -380,32 +381,32 @@ public class QueryOrderResponseVo { ...@@ -380,32 +381,32 @@ public class QueryOrderResponseVo {
/** /**
* 支付有礼奖励类型:1-非码券,2-微信商家券,3-弹窗奖励 * 支付有礼奖励类型:1-非码券,2-微信商家券,3-弹窗奖励
*/ */
private String syncWechat; // private String syncWechat;
/** /**
* 支付有礼活动配图 * 支付有礼活动配图
*/ */
private String activityPicture; // private String activityPicture;
/** /**
* 支付有礼跳转设置(跳转类型) 0:无 5:跳转页面 10:外部小程序 15:跳转商品 20:跳转H5 * 支付有礼跳转设置(跳转类型) 0:无 5:跳转页面 10:外部小程序 15:跳转商品 20:跳转H5
*/ */
private String redirectType; // private String redirectType;
/** /**
* 支付有礼跳转商品 * 支付有礼跳转商品
*/ */
private PayGiftGoodsConfigVo goodsConfig; // private PayGiftGoodsConfigVo goodsConfig;
/** /**
* 支付有礼跳转小程序 * 支付有礼跳转小程序
*/ */
private PayGiftMicroProgramConfigVo microProgramConfig; // private PayGiftMicroProgramConfigVo microProgramConfig;
/** /**
* 支付有礼跳转页面5和20跳转外部H5对应的路径或者URL * 支付有礼跳转页面5和20跳转外部H5对应的路径或者URL
*/ */
private String redirectPage; // private String redirectPage;
/** /**
* 收件人省份 * 收件人省份
...@@ -525,5 +526,13 @@ public class QueryOrderResponseVo { ...@@ -525,5 +526,13 @@ public class QueryOrderResponseVo {
* 是否已选择寄杯 * 是否已选择寄杯
*/ */
private Boolean sendCoupon; private Boolean sendCoupon;
} }
/**
*促销返回参数对象 20201223 提出紧急需求变更
*/
private PayGiftCheckAndJoinResponseDto payGiftReps;
} }
...@@ -199,7 +199,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -199,7 +199,7 @@ public class OrderServiceImpl implements Orderservice {
private List<String> cocoPartnerId; private List<String> cocoPartnerId;
@Autowired @Autowired
private AssortmentCloudPrinterManager cloudPrinterManager; private AssortmentCloudPrinterManager cloudPrinterManager;
// @Autowired // @Autowired
// private OrderCommonService orderCommonService; // private OrderCommonService orderCommonService;
@Autowired @Autowired
private FMAssistantCloudPrintClient fmAssistantCloudPrintClient; private FMAssistantCloudPrintClient fmAssistantCloudPrintClient;
...@@ -225,7 +225,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -225,7 +225,7 @@ public class OrderServiceImpl implements Orderservice {
private ActivityAdapter activityAdapter; private ActivityAdapter activityAdapter;
@Autowired @Autowired
private CouponAdapter couponAdapter; private CouponAdapter couponAdapter;
// @Autowired // @Autowired
// private ActivitySdkAdapter activitySdkAdapter; // private ActivitySdkAdapter activitySdkAdapter;
@Autowired @Autowired
private MealCacheManager mealCacheManager; private MealCacheManager mealCacheManager;
...@@ -264,7 +264,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -264,7 +264,7 @@ public class OrderServiceImpl implements Orderservice {
private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager; private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager;
@Autowired @Autowired
private PaymentNewClient paymentNewClient; private PaymentNewClient paymentNewClient;
// @Autowired // @Autowired
// private MallOrderServiceImpl mallOrderService; // private MallOrderServiceImpl mallOrderService;
@Autowired @Autowired
private CacheOpenPlatformPartnerWxappConfigManager cacheOpenPlatformPartnerWxappConfigManager; private CacheOpenPlatformPartnerWxappConfigManager cacheOpenPlatformPartnerWxappConfigManager;
...@@ -578,10 +578,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -578,10 +578,10 @@ public class OrderServiceImpl implements Orderservice {
if (message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) { if (message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
log.info("调用券码核销==" + message.getTrans_id()); log.info("调用券码核销==" + message.getTrans_id());
verificationCoupon(message.getTrans_id()); verificationCoupon(message.getTrans_id());
log.info("调用券码结束=="+ message.getTrans_id()); log.info("调用券码结束==" + message.getTrans_id());
} }
//支付成功后 //支付成功后
buriedPointService.paySuccessBuridPoint(partnerId,storeId,orderBean); buriedPointService.paySuccessBuridPoint(partnerId, storeId, orderBean);
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
...@@ -607,6 +607,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -607,6 +607,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 开通会员卡 * 开通会员卡
*
* @param partnerId 商户号 * @param partnerId 商户号
* @param ruleId 会员规则ID * @param ruleId 会员规则ID
* @param oid 订单号 * @param oid 订单号
...@@ -933,8 +934,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -933,8 +934,8 @@ public class OrderServiceImpl implements Orderservice {
// coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动 // coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动
// 所以在这个地方排除掉coco,在下边单独实现 // 所以在这个地方排除掉coco,在下边单独实现
//参与支付有礼活动 //参与支付有礼活动
if(!cocoPartnerId.contains(queryOrderVo.getPartnerId())){ if (!cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo,partnerId); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -944,10 +945,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -944,10 +945,10 @@ public class OrderServiceImpl implements Orderservice {
} }
// coco订单参与支付有礼活动 // coco订单参与支付有礼活动
if(cocoPartnerId.contains(queryOrderVo.getPartnerId())){ if (cocoPartnerId.contains(queryOrderVo.getPartnerId())) {
queryOrderResponseVos.forEach(queryOrderResponseVo -> { queryOrderResponseVos.forEach(queryOrderResponseVo -> {
try { try {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo,partnerId); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo, partnerId);
} catch (Exception e) { } catch (Exception e) {
LogUtil.error("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); LogUtil.error("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
...@@ -1167,20 +1168,20 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1167,20 +1168,20 @@ public class OrderServiceImpl implements Orderservice {
@Override @Override
public BaseResponse queryCollageOrderById(Integer operation, String sessionId, String oid, String partnerId, String channel) { public BaseResponse queryCollageOrderById(Integer operation, String sessionId, String oid, String partnerId, String channel) {
BaseResponse orderInfoRes = this.queryOrderById(operation,sessionId, oid,partnerId,channel); BaseResponse orderInfoRes = this.queryOrderById(operation, sessionId, oid, partnerId, channel);
if(null == orderInfoRes.getResult() || !String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoRes.getCode())){ if (null == orderInfoRes.getResult() || !String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoRes.getCode())) {
return orderInfoRes; return orderInfoRes;
} }
// 根据用户聚合商品信息 // 根据用户聚合商品信息
QueryCollageOrderResponseVo queryCollageOrderResponseVo = new QueryCollageOrderResponseVo(); QueryCollageOrderResponseVo queryCollageOrderResponseVo = new QueryCollageOrderResponseVo();
QueryOrderResponseVo queryOrderResponseVo = (QueryOrderResponseVo)orderInfoRes.getResult(); QueryOrderResponseVo queryOrderResponseVo = (QueryOrderResponseVo) orderInfoRes.getResult();
List<ProductVo> productVo = queryOrderResponseVo.getProducts(); List<ProductVo> productVo = queryOrderResponseVo.getProducts();
// 根据用户id分类商品 // 根据用户id分类商品
Map<String,List<ProductVo>> orderItemMap = productVo.stream().collect(Collectors.groupingBy(ProductVo::getUserId)); Map<String, List<ProductVo>> orderItemMap = productVo.stream().collect(Collectors.groupingBy(ProductVo::getUserId));
List<UserProductVo> userProducts = new ArrayList<>(); List<UserProductVo> userProducts = new ArrayList<>();
for(Map.Entry<String,List<ProductVo>> m : orderItemMap.entrySet()){ for (Map.Entry<String, List<ProductVo>> m : orderItemMap.entrySet()) {
List<ProductVo> products = m.getValue(); List<ProductVo> products = m.getValue();
UserProductVo userProductVo = new UserProductVo(); UserProductVo userProductVo = new UserProductVo();
...@@ -1192,7 +1193,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1192,7 +1193,7 @@ public class OrderServiceImpl implements Orderservice {
userProducts.add(userProductVo); userProducts.add(userProductVo);
} }
queryCollageOrderResponseVo = JSONObject.parseObject(JSONObject.toJSONString(queryOrderResponseVo),QueryCollageOrderResponseVo.class); queryCollageOrderResponseVo = JSONObject.parseObject(JSONObject.toJSONString(queryOrderResponseVo), QueryCollageOrderResponseVo.class);
queryCollageOrderResponseVo.setUserProducts(userProducts); queryCollageOrderResponseVo.setUserProducts(userProducts);
return ResponseUtil.success(queryCollageOrderResponseVo); return ResponseUtil.success(queryCollageOrderResponseVo);
...@@ -1214,14 +1215,14 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1214,14 +1215,14 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData(); QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData();
if(!StringUtils.isNotEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())){ if (!StringUtils.isNotEmpty(orderBean.getAddInfo().getDeliveryId()) || "0".equals(orderBean.getAddInfo().getDeliveryId())) {
return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST); return ResponseUtil.error(ResponseResult.DELIVERY_NOT_EXIST);
} }
QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest(); QueryDeliveryBaseRequest queryDeliveryBaseRequest = new QueryDeliveryBaseRequest();
queryDeliveryBaseRequest.setDeliveryId(orderBean.getAddInfo().getDeliveryId()); queryDeliveryBaseRequest.setDeliveryId(orderBean.getAddInfo().getDeliveryId());
queryDeliveryBaseRequest.setOpenDistance(1); queryDeliveryBaseRequest.setOpenDistance(1);
DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> deliveryBaseResponse = deliveryFeiginClient.getDeliveryStatusAndRiderPosition(queryDeliveryBaseRequest); DeliveryBaseResponse<DeliveryStatusAndRiderPositionDto> deliveryBaseResponse = deliveryFeiginClient.getDeliveryStatusAndRiderPosition(queryDeliveryBaseRequest);
if(RESPONSE_SUCCESS_CODE != deliveryBaseResponse.getCode() || response.getData() == null){ if (RESPONSE_SUCCESS_CODE != deliveryBaseResponse.getCode() || response.getData() == null) {
return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR); return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR);
} }
OrderRiderResponseVo responseVo = new OrderRiderResponseVo(); OrderRiderResponseVo responseVo = new OrderRiderResponseVo();
...@@ -1237,12 +1238,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1237,12 +1238,12 @@ public class OrderServiceImpl implements Orderservice {
responseVo.setOperationList(operationList); responseVo.setOperationList(operationList);
responseVo.setOrderId(orderBean.getOid()); responseVo.setOrderId(orderBean.getOid());
responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone()); responseVo.setStorePhone(deliveryBaseResponse.getData().getStorePhone());
if(deliveryBaseResponse.getData().getCurrentPoint() != null){ if (deliveryBaseResponse.getData().getCurrentPoint() != null) {
String currentPoint[] = deliveryBaseResponse.getData().getCurrentPoint().split(","); String currentPoint[] = deliveryBaseResponse.getData().getCurrentPoint().split(",");
responseVo.setRiderLongitude(currentPoint[0]); responseVo.setRiderLongitude(currentPoint[0]);
responseVo.setRiderLatitude(currentPoint[1]); responseVo.setRiderLatitude(currentPoint[1]);
} }
if(deliveryBaseResponse.getData().getStorePoint() != null){ if (deliveryBaseResponse.getData().getStorePoint() != null) {
String storePoint[] = deliveryBaseResponse.getData().getStorePoint().split(","); String storePoint[] = deliveryBaseResponse.getData().getStorePoint().split(",");
responseVo.setShopLongitude(storePoint[0]); responseVo.setShopLongitude(storePoint[0]);
responseVo.setShopLatitude(storePoint[1]); responseVo.setShopLatitude(storePoint[1]);
...@@ -1259,11 +1260,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1259,11 +1260,11 @@ public class OrderServiceImpl implements Orderservice {
public BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo) { public BaseResponse timeOutOrderRefund(TimeOutOrderVo timeOutOrderVo) {
Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = this.getOrderBeanByOrderId(timeOutOrderVo.getOid()); Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans = this.getOrderBeanByOrderId(timeOutOrderVo.getOid());
if (MapUtils.isEmpty(orderBeans)) { if (MapUtils.isEmpty(orderBeans)) {
ResponseUtil.error("404","订单不存在"); ResponseUtil.error("404", "订单不存在");
} }
QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode()); QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())){ if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) {
this.timeOutRefund(orderBean); this.timeOutRefund(orderBean);
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -1285,7 +1286,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1285,7 +1286,7 @@ public class OrderServiceImpl implements Orderservice {
} }
//参与支付有礼活动 //参与支付有礼活动
private void joinPayGift(String sessionId, QueryOrderResponseVo queryOrderResponseVo,String partnerId) { private void joinPayGift(String sessionId, QueryOrderResponseVo queryOrderResponseVo, String partnerId) {
PayGitCheckAndJoinRequestDto payGitRequestDto = new PayGitCheckAndJoinRequestDto(); PayGitCheckAndJoinRequestDto payGitRequestDto = new PayGitCheckAndJoinRequestDto();
payGitRequestDto.setStoreId(queryOrderResponseVo.getShopId()); payGitRequestDto.setStoreId(queryOrderResponseVo.getShopId());
payGitRequestDto.setSessionId(sessionId); payGitRequestDto.setSessionId(sessionId);
...@@ -1307,24 +1308,29 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1307,24 +1308,29 @@ public class OrderServiceImpl implements Orderservice {
payGitRequestDto.setOrderWay(2); payGitRequestDto.setOrderWay(2);
} }
if(cocoPartnerId.contains(partnerId)){ if (cocoPartnerId.contains(partnerId)) {
payGitRequestDto.setVer(1); payGitRequestDto.setVer(1);
} }
BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftBaseResponse = activityApplicationClient.payGiftCheckAndJoin(payGitRequestDto); BaseResponse<PayGiftCheckAndJoinResponseDto> payGiftBaseResponse = activityApplicationClient.payGiftCheckAndJoin(payGitRequestDto);
if (String.valueOf(RESPONSE_SUCCESS_CODE).equals(payGiftBaseResponse.getCode()) && payGiftBaseResponse.getResult() != null) { if (String.valueOf(RESPONSE_SUCCESS_CODE).equals(payGiftBaseResponse.getCode()) && payGiftBaseResponse.getResult() != null) {
PayGiftCheckAndJoinResponseDto payGiftResponse = payGiftBaseResponse.getResult(); PayGiftCheckAndJoinResponseDto payGiftResponse = payGiftBaseResponse.getResult();
queryOrderResponseVo.setActivityNo(payGiftResponse.getActivityNo()); //版本前 原参数保留,暂不变更
//防止牵扯其他服务返回参数结构引起异常
queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName()); queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName());
queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons()); queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons());
queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo()); queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo());
queryOrderResponseVo.setSyncWechat(payGiftResponse.getSyncWechat());
queryOrderResponseVo.setActivityPicture(payGiftResponse.getActivityPicture()); //20201223本次变更-》去掉set,直接以对象进行返参
queryOrderResponseVo.setRedirectType(payGiftResponse.getRedirectType()); queryOrderResponseVo.setPayGiftReps(payGiftResponse);
queryOrderResponseVo.setGoodsConfig(payGiftResponse.getGoodsConfig()); // queryOrderResponseVo.setActivityNo(payGiftResponse.getActivityNo());
queryOrderResponseVo.setMicroProgramConfig(payGiftResponse.getMicroProgramConfig()); // queryOrderResponseVo.setSyncWechat(payGiftResponse.getSyncWechat());
queryOrderResponseVo.setRedirectPage(payGiftResponse.getRedirectPage()); // queryOrderResponseVo.setActivityPicture(payGiftResponse.getActivityPicture());
queryOrderResponseVo.setActivitySendType(payGiftResponse.getSendType()); // queryOrderResponseVo.setRedirectType(payGiftResponse.getRedirectType());
// queryOrderResponseVo.setGoodsConfig(payGiftResponse.getGoodsConfig());
// queryOrderResponseVo.setMicroProgramConfig(payGiftResponse.getMicroProgramConfig());
// queryOrderResponseVo.setRedirectPage(payGiftResponse.getRedirectPage());
// queryOrderResponseVo.setActivitySendType(payGiftResponse.getSendType());
} }
} }
...@@ -1475,12 +1481,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1475,12 +1481,12 @@ public class OrderServiceImpl implements Orderservice {
// 支付有礼 // 支付有礼
// 目前只有coco在订单详情参加支付有礼,且不检查订单的状态 // 目前只有coco在订单详情参加支付有礼,且不检查订单的状态
if(cocoPartnerId.contains(partnerId)){ if (cocoPartnerId.contains(partnerId)) {
joinPayGift(sessionId, queryOrderResponseVo,partnerId); joinPayGift(sessionId, queryOrderResponseVo, partnerId);
} }
buildQueryOrderResponseVo(queryOrderResponseVo,response,partnerId); buildQueryOrderResponseVo(queryOrderResponseVo, response, partnerId);
return ResponseUtil.success(queryOrderResponseVo); return ResponseUtil.success(queryOrderResponseVo);
} }
...@@ -1740,7 +1746,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1740,7 +1746,7 @@ public class OrderServiceImpl implements Orderservice {
var1.setCreateEvent(4); var1.setCreateEvent(4);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(var1); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(var1);
if (!RESPONSE_SUCCESS_CODE.equals(baseOrderResponse.getErrcode())) { if (!RESPONSE_SUCCESS_CODE.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(),baseOrderResponse.getErrmsg()); return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(), baseOrderResponse.getErrmsg());
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
...@@ -1832,7 +1838,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1832,7 +1838,7 @@ public class OrderServiceImpl implements Orderservice {
// todo coco 商户校验 // todo coco 商户校验
if (cocoPartnerId.contains(orderByIdResponseDto.getData().getCompanyId())) { if (cocoPartnerId.contains(orderByIdResponseDto.getData().getCompanyId())) {
// COCO 即时单不可取消 // COCO 即时单不可取消
if ( NewOrderType.GENERAL_SELF_PICKUP.getCode().equals(queryOrderByIdResponse.getData().getNewOrderType())) { if (NewOrderType.GENERAL_SELF_PICKUP.getCode().equals(queryOrderByIdResponse.getData().getNewOrderType())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND);
} }
// 4,6 预约单 // 4,6 预约单
...@@ -1851,7 +1857,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1851,7 +1857,7 @@ public class OrderServiceImpl implements Orderservice {
&& taskCancelOrderTime > queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) { && taskCancelOrderTime > queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_ESTIMATE_TIME); return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_ESTIMATE_TIME);
} }
if (expectOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())){ if (expectOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())) {
if (Objects.nonNull(orderBean.getGmtExpect()) if (Objects.nonNull(orderBean.getGmtExpect())
&& time > orderBean.getGmtExpect()) { && time > orderBean.getGmtExpect()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_EXPECT_TIME); return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_EXPECT_TIME);
...@@ -2416,6 +2422,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2416,6 +2422,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 设置商品组信息 * 设置商品组信息
*
* @param productGroupList * @param productGroupList
* @param product * @param product
*/ */
...@@ -2632,8 +2639,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2632,8 +2639,10 @@ public class OrderServiceImpl implements Orderservice {
} }
return orderPayResponse; return orderPayResponse;
} }
/** /**
* unionPay card pay * unionPay card pay
*
* @param orderBean * @param orderBean
* @param paymentRequest * @param paymentRequest
* @param transId * @param transId
...@@ -3482,15 +3491,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3482,15 +3491,15 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(responses.getData()); return ResponseUtil.success(responses.getData());
} }
public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response,String partnerId) { public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo, QueryOrderByIdResponse response, String partnerId) {
if(null == response || response.getData() == null || !ObjectUtils.equals(response.getErrcode(),RESPONSE_SUCCESS_CODE) ){ if (null == response || response.getData() == null || !ObjectUtils.equals(response.getErrcode(), RESPONSE_SUCCESS_CODE)) {
ApiLog.info("订单详情查询,返回值错误,QueryOrderByIdResponse",response); ApiLog.info("订单详情查询,返回值错误,QueryOrderByIdResponse", response);
return; return;
} }
OrderRelationService orderRelationService = orderRelationFactory.getQueryOrdrBuildService(partnerId); OrderRelationService orderRelationService = orderRelationFactory.getQueryOrdrBuildService(partnerId);
orderRelationService.queryOrdrBuild(queryOrderResponseVo,response); orderRelationService.queryOrdrBuild(queryOrderResponseVo, response);
} }
...@@ -3549,9 +3558,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3549,9 +3558,9 @@ public class OrderServiceImpl implements Orderservice {
i++; i++;
} while (i < 4); } while (i < 4);
if (combPayResponse==null || !ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())) { if (combPayResponse == null || !ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS.equals(combPayResponse.getCode())) {
log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}",trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse)); log.info("混合支付返回信息错误,trackingNo:{} request:{} response:{}", trackingNo, JSONObject.toJSONString(combPayRequest), JSONObject.toJSONString(combPayResponse));
orderPayResponse.setMsg(combPayResponse!=null ? "支付:"+combPayResponse.getMsg() :"混合支付忙不过来啦,请稍后再试"); orderPayResponse.setMsg(combPayResponse != null ? "支付:" + combPayResponse.getMsg() : "混合支付忙不过来啦,请稍后再试");
return orderPayResponse; return orderPayResponse;
} }
Integer svcAmount = 0; Integer svcAmount = 0;
...@@ -3568,8 +3577,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3568,8 +3577,8 @@ public class OrderServiceImpl implements Orderservice {
.orElse(null); .orElse(null);
//现金+svc 现金 //现金+svc 现金
if (payPlatforms.size()==2 || (payPlatforms.size()==1 && cashPay!=null)) { if (payPlatforms.size() == 2 || (payPlatforms.size() == 1 && cashPay != null)) {
orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(),orderBean.getCompanyId(),storeId); orderPayResponse = orderAdapter.convent2OrderCombPayResponse(combPayResponse.getData().getPayPlatformResponseList(), orderBean.getCompanyId(), storeId);
orderPayResponse.setOpenId(paymentRequest.getOpenId()); orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setWxAppid(paymentRequest.getWxAppId()); orderPayResponse.setWxAppid(paymentRequest.getWxAppId());
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
...@@ -3660,28 +3669,29 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3660,28 +3669,29 @@ public class OrderServiceImpl implements Orderservice {
return this.newSendPayFaileMessage(); return this.newSendPayFaileMessage();
} }
} }
/** /**
* 获取混合支付是否开启 * 获取混合支付是否开启
*
* @param partnerId * @param partnerId
* @return * @return
*/ */
private boolean checkSvcComPay(String partnerId,String storeId) { private boolean checkSvcComPay(String partnerId, String storeId) {
SvcComPayRequestDto requestDto = new SvcComPayRequestDto(); SvcComPayRequestDto requestDto = new SvcComPayRequestDto();
requestDto.setPartnerId(partnerId); requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId); requestDto.setStoreId(storeId);
SvcComPayResponseDto query = null; SvcComPayResponseDto query = null;
for (int i=0;i<3;i++) { for (int i = 0; i < 3; i++) {
query = svcComPayClient.query(requestDto); query = svcComPayClient.query(requestDto);
if (query!=null) break; if (query != null) break;
} }
log.info("order checkSvcComPay:{}",JSON.toJSONString(query)); log.info("order checkSvcComPay:{}", JSON.toJSONString(query));
if (query==null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) { if (query == null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) {
return false; return false;
} }
if (query.getResult()!=null && query.getResult().getValue()) { if (query.getResult() != null && query.getResult().getValue()) {
return true; return true;
} } else {
else {
return false; return false;
} }
} }
...@@ -3697,23 +3707,25 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3697,23 +3707,25 @@ public class OrderServiceImpl implements Orderservice {
} }
return map; return map;
} }
/** /**
* 超时回调直接退款 * 超时回调直接退款
*
* @param orderBean * @param orderBean
*/ */
public void timeOutRefund(QueryOrdersResponseDto.DataBean.OrderBean orderBean) { public void timeOutRefund(QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//调用支付退款 //调用支付退款
log.info("payment timeout callback for refund orderDto={}",JSON.toJSONString(orderBean)); log.info("payment timeout callback for refund orderDto={}", JSON.toJSONString(orderBean));
Integer abState = 4; Integer abState = 4;
String noPay = "8200404"; String noPay = "8200404";
if (abState.equals(orderBean.getAbnormalState()) ) { if (abState.equals(orderBean.getAbnormalState())) {
log.info("payment timeout callback for refund is exist"); log.info("payment timeout callback for refund is exist");
return; return;
} }
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null; com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = null;
Long refundId = System.currentTimeMillis(); Long refundId = System.currentTimeMillis();
OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDTO = gson.fromJson(orderBean.getExtInfo(), OrderExtInfoDto.class);
if (orderExtInfoDTO==null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) { if (orderExtInfoDTO == null || StringUtils.isBlank(orderExtInfoDTO.getFmId())) {
log.info("payment timeout callback for refund not create pre order"); log.info("payment timeout callback for refund not create pre order");
return; return;
} }
...@@ -3724,14 +3736,14 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3724,14 +3736,14 @@ public class OrderServiceImpl implements Orderservice {
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, orderBean.getOid()); com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, orderBean.getOid());
response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo()); response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo());
log.info("payment timeout callback for refund orderId={},request={},resp={}",orderBean.getOid(),JSON.toJSONString(orderPayRefundRequest),JSON.toJSONString(response)); log.info("payment timeout callback for refund orderId={},request={},resp={}", orderBean.getOid(), JSON.toJSONString(orderPayRefundRequest), JSON.toJSONString(response));
if (response!=null && noPay.equals(response.getCode())) { if (response != null && noPay.equals(response.getCode())) {
return; return;
} }
if (response!=null || state.equals(response.getData().getRefundStatus())) { if (response != null || state.equals(response.getData().getRefundStatus())) {
sdkUpdateAbnormalState.setAbnormalDesc(desc+",退款成功"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款成功");
} else { } else {
sdkUpdateAbnormalState.setAbnormalDesc(desc+",退款失败"); sdkUpdateAbnormalState.setAbnormalDesc(desc + ",退款失败");
} }
sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId()); sdkUpdateAbnormalState.setPartnerId(orderBean.getCompanyId());
sdkUpdateAbnormalState.setAbnormalState(4); sdkUpdateAbnormalState.setAbnormalState(4);
...@@ -3743,7 +3755,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3743,7 +3755,7 @@ public class OrderServiceImpl implements Orderservice {
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
//判断当前订单是否存在预支付订单 //判断当前订单是否存在预支付订单
if(extInfo != null && StringUtils.isNotEmpty(extInfo.getFmId())){ if (extInfo != null && StringUtils.isNotEmpty(extInfo.getFmId())) {
//订单状态未支付且存在预支付订单: //订单状态未支付且存在预支付订单:
// 1.查询预支付订单支付状态 // 1.查询预支付订单支付状态
PaymentQueryRequest paymentQueryRequest = new PaymentQueryRequest(); PaymentQueryRequest paymentQueryRequest = new PaymentQueryRequest();
...@@ -3751,24 +3763,24 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3751,24 +3763,24 @@ public class OrderServiceImpl implements Orderservice {
paymentQueryRequest.setStoreId(orderBean.getShopId()); paymentQueryRequest.setStoreId(orderBean.getShopId());
paymentQueryRequest.setFmId(extInfo.getFmId()); paymentQueryRequest.setFmId(extInfo.getFmId());
paymentQueryRequest.setVer("2"); paymentQueryRequest.setVer("2");
com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponse> queryResponseBaseResponse = paymentNewService.query(paymentQueryRequest,LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse<PaymentQueryResponse> queryResponseBaseResponse = paymentNewService.query(paymentQueryRequest, LogThreadLocal.getTrackingNo());
//判断预支付订单状态 //判断预支付订单状态
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())){ if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), queryResponseBaseResponse.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR); throw new ServiceException(ResponseResult.ORDER_PAY_GETPRE_MESSAGE_ERROR);
} }
//判断当前预支付订单是否已经支付成功 //判断当前预支付订单是否已经支付成功
if(ObjectUtils.equals(TradeState.SUCCESS.getCode(), queryResponseBaseResponse.getData().getTradeState())){ if (ObjectUtils.equals(TradeState.SUCCESS.getCode(), queryResponseBaseResponse.getData().getTradeState())) {
throw new ServiceException(ResponseResult.ORDER_HAS_PAID); throw new ServiceException(ResponseResult.ORDER_HAS_PAID);
} }
// 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的 // 3.取消前一个预支付订单 调用支付取消预支付订单,如果预支付订单已经取消了再调用取消预支付订单接口会报错的
if(ObjectUtils.equals(TradeState.NOTPAY.getCode(), queryResponseBaseResponse.getData().getTradeState())) { if (ObjectUtils.equals(TradeState.NOTPAY.getCode(), queryResponseBaseResponse.getData().getTradeState())) {
PaymentCloseUnifiedOrderRequest closeUnifiedOrderRequest = new PaymentCloseUnifiedOrderRequest(); PaymentCloseUnifiedOrderRequest closeUnifiedOrderRequest = new PaymentCloseUnifiedOrderRequest();
closeUnifiedOrderRequest.setFmId(extInfo.getFmId()); closeUnifiedOrderRequest.setFmId(extInfo.getFmId());
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId()); closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId()); closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewService.cancelNewUnifiedOrder(closeUnifiedOrderRequest,LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = paymentNewService.cancelNewUnifiedOrder(closeUnifiedOrderRequest, LogThreadLocal.getTrackingNo());
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),cancelNewUnifiedOrder.getCode())){ if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED); throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
......
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