Commit a60313be by 张洪旺

coco 订单取消

parent 73439c0b
...@@ -1009,7 +1009,9 @@ public class OrderSdkAdapter { ...@@ -1009,7 +1009,9 @@ public class OrderSdkAdapter {
*/ */
public QueryOrdersResponse.DataBean.OrderBean convent2NEWOrderInfo(OrderInfoReqs orderInfoReqs) { public QueryOrdersResponse.DataBean.OrderBean convent2NEWOrderInfo(OrderInfoReqs orderInfoReqs) {
QueryOrdersResponse.DataBean.OrderBean data = new QueryOrdersResponse.DataBean.OrderBean(); QueryOrdersResponse.DataBean.OrderBean data = new QueryOrdersResponse.DataBean.OrderBean();
if(Objects.nonNull(orderInfoReqs.getEstimateDeliveryCompleteTime())){
data.setEstimateDeliveryCompleteTime(Long.parseLong(orderInfoReqs.getEstimateDeliveryCompleteTime()));
}
data.setOrderClient(orderInfoReqs.getOrderClient().toString()); data.setOrderClient(orderInfoReqs.getOrderClient().toString());
data.setCompanyId(orderInfoReqs.getPartnerId()); data.setCompanyId(orderInfoReqs.getPartnerId());
data.setShopId(orderInfoReqs.getStoreId()); data.setShopId(orderInfoReqs.getStoreId());
......
...@@ -383,6 +383,9 @@ public class QueryOrdersResponse { ...@@ -383,6 +383,9 @@ public class QueryOrdersResponse {
private List<OrderPayItem> orderPayItem; private List<OrderPayItem> orderPayItem;
private String pickUpGoodsNo; private String pickUpGoodsNo;
// 预计到达时间
private Long estimateDeliveryCompleteTime;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class AddDeliveryInfo { public static class AddDeliveryInfo {
......
...@@ -87,8 +87,8 @@ ...@@ -87,8 +87,8 @@
<!-- 商户门店sdk --> <!-- 商户门店sdk -->
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<version>3.3.5-SNAPSHOT</version>
<artifactId>storecenter-sdk</artifactId> <artifactId>storecenter-sdk</artifactId>
<version>3.2.1.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
......
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class BookingOrderPayedScene {
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 取单号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
/**
* 预计取单时间
*/
private String takeOrderTime;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class DeliveryErrorReminder {
/**
* 配送地址
*/
private String address;
/**
* 下单时间
*/
private String createTime;
/**
* 客户电话
*/
private String customerPhone;
/**
* 订单号
*/
private String orderId;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class GroupBuyingStatusReminder {
/**
* 温馨提示
*/
private String friendlyTips;
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 完成点单人数
*/
private String peopleNumber;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class InstantOrderPayedScene {
/**
* 温馨提示
*/
private String friendlyTips;
/**
* 商户地址
*/
private String merchantAddress;
/**
* 商户名
*/
private String merchantName;
/**
* 订单号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class OrderDeliveryScene {
/**
* 配送地址
*/
private String address;
/**
* 预计达到时间
*/
private String estimateArrivalTime;
/**
* 商户电话
*/
private String merchantPhone;
/**
* 订单编号
*/
private String orderNo;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneCouponRequest {
/**
* 券名称,
*/
private String couponName;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneInviteGiftRequest {
/**
* 活动id,
*/
private String activityId;
/**
* 被邀请人
*/
private String inviteeName;
/**
* 通过时间,
*/
private String passTime;
/**
* relationId,
*/
private String relationId;
/**
* remark,
*/
private String 备注;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneMemberCardExpiredRequest {
/**
* 到期时间
*/
private Integer expiredAt;
/**
* 备注说明 / 温馨提示
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneMemberLevelChangedRequest {
/**
* 等级变更时间
*/
private Integer changedAt;
/**
* 备注
*/
private String remark;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SceneOrderPayedRequest {
/**
* 地址
*/
private String address;
/**
* 金额
*/
private Integer amount;
/**
* 序号 必填
*/
private Integer daySeq;
/**
* 备注
*/
private String formId;
/**
* 创建时间
*/
private Long gmtCreate;
/**
* 预约时间
*/
private Long gmtExpect;
/**
* 订单号
*/
private String orderId;
/**
* 订单类型
*/
private String orderType;
/**
* 取餐码
*/
private String otherCode;
/**
* prepayId
*/
private String prepayId;
/**
* 积分变动
*/
private String scoreChangedNum;
/**
* 积分变动原因
*/
private String scoreChangedReason;
/**
* 门店名称
*/
private String shopName;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class SelfDeliveryOrderPayedScene {
/**
* 配送地址
*/
private String address;
/**
* 预计达到时间
*/
private String estimateArrivalTime;
/**
* 商户电话
*/
private String merchantPhone;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单类型
*/
private String orderType;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Setter
@Getter
public class SubscribeMessageRequest {
private BookingOrderPayedScene bookingOrderPayedScene;
private BookingOrderPayedScene bookingOrderTakeReminderScene;
/**
* 渠道
*/
private Integer channel;
private DeliveryErrorReminder deliveryErrorReminder;
private GroupBuyingStatusReminder groupBuyingStatusReminder;
private InstantOrderPayedScene instantOrderPayedScene;
private InstantOrderPayedScene instantOrderTakeReminderScene;
private String messageEventType;
/**
* 小程序id
*/
private String miniAppId;
/**
* 小程序集合
*/
private List<String> openIdList;
private OrderDeliveryScene orderDeliveryScene;
private SceneCouponRequest sceneCouponExpiredRequest;
private SceneCouponRequest sceneCouponReceiveRequest;
private SceneInviteGiftRequest sceneInviteGiftRequest;
private SceneMemberCardExpiredRequest sceneMemberCardExpiredRequest;
private SceneMemberLevelChangedRequest sceneMemberLevelChangedRequest;
private SceneOrderPayedRequest sceneOrderPayedRequest;
private SelfDeliveryOrderPayedScene selfDeliveryOrderPayedScene;
}
package cn.freemud.entities.dto.ecology;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SubscribeMessageResponse {
private Integer code;
private String message;
private String subMsg;
private String ver;
}
...@@ -162,6 +162,9 @@ public enum ResponseResult { ...@@ -162,6 +162,9 @@ public enum ResponseResult {
ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"), ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"),
MULTIORDER__ERRORREFUND("45005", "订单申请退款失败"), MULTIORDER__ERRORREFUND("45005", "订单申请退款失败"),
ORDER_CANCEL_ERROR_EXPECT_TIME("45067", "预约时间还剩15分钟,无法取消"),
ORDER_CANCEL_ERROR_ESTIMATE_TIME("45068", "预计送达还剩30分钟,无法取消"),
/** /**
* 支付 * 支付
......
...@@ -110,6 +110,7 @@ import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRe ...@@ -110,6 +110,7 @@ import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRe
import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest; import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest;
import com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushService; import com.freemud.sdk.api.assortment.message.service.IMessageTemplatePushService;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter; import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.enums.NewOrderType;
import com.freemud.sdk.api.assortment.order.enums.OldOrderStatus; import com.freemud.sdk.api.assortment.order.enums.OldOrderStatus;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest; import com.freemud.sdk.api.assortment.order.request.payment.CombPayRequest;
...@@ -172,7 +173,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -172,7 +173,7 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private AssortmentCloudPrinterManager cloudPrinterManager; private AssortmentCloudPrinterManager cloudPrinterManager;
// @Autowired // @Autowired
// private OrderCommonService orderCommonService; // private OrderCommonService orderCommonService;
@Autowired @Autowired
private FMAssistantCloudPrintClient fmAssistantCloudPrintClient; private FMAssistantCloudPrintClient fmAssistantCloudPrintClient;
...@@ -198,7 +199,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -198,7 +199,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;
...@@ -237,7 +238,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -237,7 +238,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;
...@@ -266,6 +267,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -266,6 +267,9 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager; private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager;
@Value("${coco.partnerId}")
private String partnerId;
@Override @Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) { public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
String trackingNo = LogTreadLocal.getTrackingNo(); String trackingNo = LogTreadLocal.getTrackingNo();
...@@ -326,10 +330,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -326,10 +330,10 @@ public class OrderServiceImpl implements Orderservice {
//1.9.2套餐需求同步优化创建订单代码 //1.9.2套餐需求同步优化创建订单代码
BaseResponse createOrderOperateDtoResponse = this.sdkCreateOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto); BaseResponse createOrderOperateDtoResponse = this.sdkCreateOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto);
if(createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null ) { if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) {
return createOrderOperateDtoResponse; return createOrderOperateDtoResponse;
} }
CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult(); CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto) createOrderOperateDtoResponse.getResult();
//创建支付 //创建支付
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(userLoginInfoDto, createOrderVo, createOrderOperateDto, extInfo); CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(userLoginInfoDto, createOrderVo, createOrderOperateDto, extInfo);
return this.createPrepayOrder(createPrepayRequestDto); return this.createPrepayOrder(createPrepayRequestDto);
...@@ -377,6 +381,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -377,6 +381,7 @@ public class OrderServiceImpl implements Orderservice {
log.info("paymentQueueService.paymentCallback" + dto + " error" + e); log.info("paymentQueueService.paymentCallback" + dto + " error" + e);
} }
} }
/** /**
* 获取预支付成功,将信息放入死心队列,当支付成功没有回掉的时候处理 * 获取预支付成功,将信息放入死心队列,当支付成功没有回掉的时候处理
* *
...@@ -385,7 +390,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -385,7 +390,7 @@ public class OrderServiceImpl implements Orderservice {
* @param fmId * @param fmId
* @param orderId * @param orderId
*/ */
public void putDelMq(String partnerId, String storeId, String fmId, String orderId,Integer payChanelType) { public void putDelMq(String partnerId, String storeId, String fmId, String orderId, Integer payChanelType) {
PaymentMqMessageDto dto = new PaymentMqMessageDto(); PaymentMqMessageDto dto = new PaymentMqMessageDto();
try { try {
dto.setFmId(fmId); dto.setFmId(fmId);
...@@ -399,6 +404,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -399,6 +404,7 @@ public class OrderServiceImpl implements Orderservice {
log.info("paymentQueueService.paymentCallback" + dto + " error" + e); log.info("paymentQueueService.paymentCallback" + dto + " error" + e);
} }
} }
@Override @Override
public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) { public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) {
OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode()); OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
...@@ -528,7 +534,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -528,7 +534,7 @@ public class OrderServiceImpl implements Orderservice {
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);
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());
return sendPaySuccessNoticeMessage(); return sendPaySuccessNoticeMessage();
} }
...@@ -554,6 +560,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -554,6 +560,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 开通会员卡 * 开通会员卡
*
* @param partnerId 商户号 * @param partnerId 商户号
* @param ruleId 会员规则ID * @param ruleId 会员规则ID
* @param oid 订单号 * @param oid 订单号
...@@ -613,11 +620,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -613,11 +620,11 @@ public class OrderServiceImpl implements Orderservice {
return newSendPayFaileMessage(); return newSendPayFaileMessage();
} }
private String verificationCoupon(String transId){ private String verificationCoupon(String transId) {
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(transId)); String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(transId));
if (StringUtils.isNotBlank(orderId)) { if (StringUtils.isNotBlank(orderId)) {
log.info("从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}", LogTreadLocal.getTrackingNo(),transId, orderId); log.info("从缓存中获取的订单数据,trackingNo:{},transId:{},orderId:{}", LogTreadLocal.getTrackingNo(), transId, orderId);
transId=orderId; transId = orderId;
} }
QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(transId); QueryRelationOrderByIdResponseDto queryOrderByIdResponseDto = getQueryRelationOrderByIdResponseDto(transId);
if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) { if (queryOrderByIdResponseDto.getData() == null || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, queryOrderByIdResponseDto.getErrcode())) {
...@@ -633,7 +640,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -633,7 +640,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
//核销券 //核销券
BaseResponse baseResponse = couponActivityService.verificationCoupon(orderBean,CouponReqType.WRITEOFF); BaseResponse baseResponse = couponActivityService.verificationCoupon(orderBean, CouponReqType.WRITEOFF);
return "核销券码返回结果" + baseResponse.getCode() + "," + baseResponse.getMessage(); return "核销券码返回结果" + baseResponse.getCode() + "," + baseResponse.getMessage();
} }
...@@ -641,7 +648,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -641,7 +648,7 @@ public class OrderServiceImpl implements Orderservice {
public String refundNotifyCallback(RefundNotifyCallbackRequestVo requestVo) { public String refundNotifyCallback(RefundNotifyCallbackRequestVo requestVo) {
//混合支付需要从换从中获取订单号码,正常支付TransId = orderId //混合支付需要从换从中获取订单号码,正常支付TransId = orderId
String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(requestVo.getTransId())); String orderId = redisCache.getValue(RedisUtil.getPaymentTransIdOrderKey(requestVo.getTransId()));
if(StringUtils.isNotEmpty(orderId)){ if (StringUtils.isNotEmpty(orderId)) {
requestVo.setTransId(orderId); requestVo.setTransId(orderId);
} }
String trackingNo = LogTreadLocal.getTrackingNo(); String trackingNo = LogTreadLocal.getTrackingNo();
...@@ -772,7 +779,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -772,7 +779,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(responseMap); return ResponseUtil.success(responseMap);
} }
List<QueryOrdersResponse.DataBean.OrderBean> ordersOld = queryOrderResponse.getData().getOrders(); List<QueryOrdersResponse.DataBean.OrderBean> ordersOld = queryOrderResponse.getData().getOrders();
List<QueryOrdersResponse.DataBean.OrderBean> orders =new ArrayList<>(); List<QueryOrdersResponse.DataBean.OrderBean> orders = new ArrayList<>();
Set<String> shopIds = new HashSet<>(); Set<String> shopIds = new HashSet<>();
// 过滤待支付订单 // 过滤待支付订单
if (CollectionUtils.isNotEmpty(ordersOld)) { if (CollectionUtils.isNotEmpty(ordersOld)) {
...@@ -783,12 +790,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -783,12 +790,12 @@ public class OrderServiceImpl implements Orderservice {
//围餐过滤掉未唤起支付的订单 //围餐过滤掉未唤起支付的订单
if (OrderChannelType.IWC.getCode().equals(channelType) && OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()) && PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) { if (OrderChannelType.IWC.getCode().equals(channelType) && OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()) && PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
// 如果已经唤起了支付则不再进行促销计算 // 如果已经唤起了支付则不再进行促销计算
boolean prePayLock = mealCacheManager.getOrderCreatePreParmentLock(userLoginInfoDto.getPartnerId(),userLoginInfoDto.getStoreId(),userLoginInfoDto.getTableNumber()); boolean prePayLock = mealCacheManager.getOrderCreatePreParmentLock(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getStoreId(), userLoginInfoDto.getTableNumber());
if (prePayLock ){ if (prePayLock) {
//已唤起支付 //已唤起支付
orders.add(orderBean); orders.add(orderBean);
} }
}else { } else {
orders.add(orderBean); orders.add(orderBean);
} }
} }
...@@ -909,7 +916,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -909,7 +916,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "查询订单状态不能为空"); return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "查询订单状态不能为空");
} }
if (CollectionUtils.isNotEmpty(queryOrderVo.getQueryOrderType())) { if (CollectionUtils.isNotEmpty(queryOrderVo.getQueryOrderType())) {
if (CollectionUtils.isEmpty(OrderType.getByCode(queryOrderVo.getQueryOrderType())) ) { if (CollectionUtils.isEmpty(OrderType.getByCode(queryOrderVo.getQueryOrderType()))) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "查询订单类型不存在"); return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "查询订单类型不存在");
} }
} }
...@@ -930,8 +937,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -930,8 +937,8 @@ public class OrderServiceImpl implements Orderservice {
String userId = userLoginInfoDto.getMemberId(); String userId = userLoginInfoDto.getMemberId();
queryOrderVo.setStartDate(startDateStr); queryOrderVo.setStartDate(startDateStr);
queryOrderVo.setEndDate(endDateStr); queryOrderVo.setEndDate(endDateStr);
QueryOrderVo vo =new QueryOrderVo(); QueryOrderVo vo = new QueryOrderVo();
BeanUtils.copyProperties(queryOrderVo,vo); BeanUtils.copyProperties(queryOrderVo, vo);
String channelType = this.getQueryOrderChannelType(vo, userLoginInfoDto); String channelType = this.getQueryOrderChannelType(vo, userLoginInfoDto);
QueryOrdersDto queryOrdersDto = orderAdapter.convent2QueryOrdersDtoMcCafe(queryOrderVo, userId, channelType); QueryOrdersDto queryOrdersDto = orderAdapter.convent2QueryOrdersDtoMcCafe(queryOrderVo, userId, channelType);
QueryOrdersResponse queryOrderResponse; QueryOrdersResponse queryOrderResponse;
...@@ -1025,7 +1032,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1025,7 +1032,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus()) if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())
|| OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())){ || OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
orderBean.setOtherCode(""); orderBean.setOtherCode("");
} }
}); });
...@@ -1048,7 +1055,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1048,7 +1055,7 @@ public class OrderServiceImpl implements Orderservice {
if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) { if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN); return ResponseUtil.error(ResponseResult.NOT_LOGIN);
} }
String oid =queryOrderVo.getOid(); String oid = queryOrderVo.getOid();
if (StringUtils.isBlank(oid)) { if (StringUtils.isBlank(oid)) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空"); return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空");
} }
...@@ -1063,19 +1070,19 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1063,19 +1070,19 @@ public class OrderServiceImpl implements Orderservice {
OrderViewStatusDto orderViewStatusDesc = orderAdapter.getOrderViewStatusDesc(orderBean, userLoginInfoDto.getWxAppId()); OrderViewStatusDto orderViewStatusDesc = orderAdapter.getOrderViewStatusDesc(orderBean, userLoginInfoDto.getWxAppId());
Map<String, Object> responseMap = Maps.newTreeMap(); Map<String, Object> responseMap = Maps.newTreeMap();
responseMap.put("orderStatus", orderViewStatusDesc.getOrderStatus()); responseMap.put("orderStatus", orderViewStatusDesc.getOrderStatus());
responseMap.put("takeCode",""); responseMap.put("takeCode", "");
responseMap.put("queueIndex",""); responseMap.put("queueIndex", "");
String extInfo = orderBean.getExtInfo(); String extInfo = orderBean.getExtInfo();
OrderExtInfoDto orderExtInfoDto = null; OrderExtInfoDto orderExtInfoDto = null;
if (StringUtils.isNotBlank(extInfo)) { if (StringUtils.isNotBlank(extInfo)) {
orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class); orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class);
} }
responseMap.put("payVoucher",orderExtInfoDto != null ? orderExtInfoDto.getPayTransId() : ""); responseMap.put("payVoucher", orderExtInfoDto != null ? orderExtInfoDto.getPayTransId() : "");
//非外卖单才获取取餐码和排队人数 //非外卖单才获取取餐码和排队人数
if (!OrderType.TAKE_OUT.getCode().equals(orderBean.getType()) ){ if (!OrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
if (!(OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus()) if (!(OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())
|| OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()))){ || OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus()))) {
responseMap.put("takeCode",orderBean.getOtherCode() ); responseMap.put("takeCode", orderBean.getOtherCode());
} }
BaseQueryOrderRequest var1 = new BaseQueryOrderRequest(); BaseQueryOrderRequest var1 = new BaseQueryOrderRequest();
var1.setOrderId(orderBean.getOid()); var1.setOrderId(orderBean.getOid());
...@@ -1086,7 +1093,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1086,7 +1093,7 @@ public class OrderServiceImpl implements Orderservice {
response1.setErrmsg(baseOrderResponse.getErrmsg()); response1.setErrmsg(baseOrderResponse.getErrmsg());
if (RESPONSE_SUCCESS_CODE.equals(response1.getErrcode())) { if (RESPONSE_SUCCESS_CODE.equals(response1.getErrcode())) {
String queueIndex = response1.getData() == null ? "" : response1.getData().toString(); String queueIndex = response1.getData() == null ? "" : response1.getData().toString();
responseMap.put("queueIndex",queueIndex); responseMap.put("queueIndex", queueIndex);
} }
} }
return ResponseUtil.success(responseMap); return ResponseUtil.success(responseMap);
...@@ -1121,7 +1128,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1121,7 +1128,7 @@ public class OrderServiceImpl implements Orderservice {
} else { } else {
payGitRequestDto.setPayType(1);//1-微信,2-储值卡 payGitRequestDto.setPayType(1);//1-微信,2-储值卡
} }
if(CollectionUtils.isNotEmpty(queryOrderResponseVo.getProducts())){ if (CollectionUtils.isNotEmpty(queryOrderResponseVo.getProducts())) {
payGitRequestDto.setSkuIds(queryOrderResponseVo.getProducts().stream().map(p -> p.getPid()).collect(Collectors.toList())); payGitRequestDto.setSkuIds(queryOrderResponseVo.getProducts().stream().map(p -> p.getPid()).collect(Collectors.toList()));
} }
if (OrderType.COLLECT_GOODS.getCode().intValue() == queryOrderResponseVo.getOrderType() || OrderType.EAT_IN.getCode().intValue() == queryOrderResponseVo.getOrderType()) { if (OrderType.COLLECT_GOODS.getCode().intValue() == queryOrderResponseVo.getOrderType() || OrderType.EAT_IN.getCode().intValue() == queryOrderResponseVo.getOrderType()) {
...@@ -1246,12 +1253,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1246,12 +1253,12 @@ public class OrderServiceImpl implements Orderservice {
} }
QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0); QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0);
//48小时自动退款描述 //48小时自动退款描述
if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig()!= null if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig() != null
&& queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) { && queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) {
Integer automaticRefund = storeInfo.getBizVO().getStoreConfig().getAutomaticRefund(); Integer automaticRefund = storeInfo.getBizVO().getStoreConfig().getAutomaticRefund();
if(automaticRefund != null && automaticRefund == 1){ if (automaticRefund != null && automaticRefund == 1) {
queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理"); queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理");
}else { } else {
queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理"); queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理");
} }
} }
...@@ -1276,7 +1283,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1276,7 +1283,7 @@ public class OrderServiceImpl implements Orderservice {
OrderExtInfoDto orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class);
String wxappid = orderExtInfoDto.getAppid(); String wxappid = orderExtInfoDto.getAppid();
// 查询门店下有没有 裂变活动 // 查询门店下有没有 裂变活动
String activityId = isShareActivity(partnerId, storeId, wxappid, response.getData().getGmtCreate(), oid, userId, sessionId,organizationId); String activityId = isShareActivity(partnerId, storeId, wxappid, response.getData().getGmtCreate(), oid, userId, sessionId, organizationId);
queryOrderResponseVo.setActivityId(activityId); queryOrderResponseVo.setActivityId(activityId);
// 取红包图片 // 取红包图片
queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId)); queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId));
...@@ -1298,7 +1305,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1298,7 +1305,7 @@ public class OrderServiceImpl implements Orderservice {
if (userInfo == null || StringUtils.isEmpty(userInfo.getMemberId())) { if (userInfo == null || StringUtils.isEmpty(userInfo.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN); return ResponseUtil.error(ResponseResult.NOT_LOGIN);
} }
String oid =queryOrderVo.getOid(); String oid = queryOrderVo.getOid();
if (StringUtils.isBlank(oid)) { if (StringUtils.isBlank(oid)) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空"); return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空");
} }
...@@ -1365,7 +1372,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1365,7 +1372,7 @@ public class OrderServiceImpl implements Orderservice {
} }
if (OrderStatus.TAKE_ORDER.getCode().equals(queryOrderResponseVo.getOrderStatus()) if (OrderStatus.TAKE_ORDER.getCode().equals(queryOrderResponseVo.getOrderStatus())
|| OrderStatus.WAIT_PAY.getCode().equals(queryOrderResponseVo.getOrderStatus())){ || OrderStatus.WAIT_PAY.getCode().equals(queryOrderResponseVo.getOrderStatus())) {
queryOrderResponseVo.setTakeCode(""); queryOrderResponseVo.setTakeCode("");
} }
...@@ -1373,12 +1380,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1373,12 +1380,12 @@ public class OrderServiceImpl implements Orderservice {
.map(McCafeOrderTypeGather::getDesc).orElse("")); .map(McCafeOrderTypeGather::getDesc).orElse(""));
//48小时自动退款描述 //48小时自动退款描述
if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig()!= null if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig() != null
&& queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) { && queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) {
Integer automaticRefund = storeInfo.getBizVO().getStoreConfig().getAutomaticRefund(); Integer automaticRefund = storeInfo.getBizVO().getStoreConfig().getAutomaticRefund();
if(automaticRefund != null && automaticRefund == 1){ if (automaticRefund != null && automaticRefund == 1) {
queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理"); queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理");
}else { } else {
queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理"); queryOrderResponseVo.setRefundTips("若48小时内未成功退款,请联系商家人工处理");
} }
} }
...@@ -1387,7 +1394,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1387,7 +1394,7 @@ public class OrderServiceImpl implements Orderservice {
} }
public static String formatSpecialDate(Date date) { public static String formatSpecialDate(Date date) {
if (date == null ){ if (date == null) {
return null; return null;
} }
System.out.println(new DateTime(date).toString("yyyy-MM-dd HH:mm")); System.out.println(new DateTime(date).toString("yyyy-MM-dd HH:mm"));
...@@ -1398,12 +1405,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1398,12 +1405,12 @@ public class OrderServiceImpl implements Orderservice {
DateTime tomorrow_start = today_start.plusDays(2); DateTime tomorrow_start = today_start.plusDays(2);
System.out.println(new DateTime(tomorrow_start).toString("yyyy-MM-dd HH:mm")); System.out.println(new DateTime(tomorrow_start).toString("yyyy-MM-dd HH:mm"));
if(date.after(today_start.toDate()) && date.before(today_end.toDate())) { if (date.after(today_start.toDate()) && date.before(today_end.toDate())) {
return String.format("%s", new DateTime(date).toString("HH:mm")); return String.format("%s", new DateTime(date).toString("HH:mm"));
} else if(date.after(today_end.toDate()) && date.before(tomorrow_start.toDate())) { } else if (date.after(today_end.toDate()) && date.before(tomorrow_start.toDate())) {
return String.format("明天%s%s", DateUtils.getDayWeek(date), new DateTime(date).toString("HH:mm")); return String.format("明天%s%s", DateUtils.getDayWeek(date), new DateTime(date).toString("HH:mm"));
} }
return new DateTime(date).toString("yyyy-MM-dd") + DateUtils.getDayWeek(date) + new DateTime(date).toString("HH:mm") ; return new DateTime(date).toString("yyyy-MM-dd") + DateUtils.getDayWeek(date) + new DateTime(date).toString("HH:mm");
} }
/** /**
...@@ -1427,7 +1434,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1427,7 +1434,7 @@ public class OrderServiceImpl implements Orderservice {
orderBean.setSendTime(result.getSendTime()); orderBean.setSendTime(result.getSendTime());
orderBean.setCompleteTime(result.getCompleteTime()); orderBean.setCompleteTime(result.getCompleteTime());
} }
if(orderBean.getAddInfo()!=null&&StringUtils.isNotEmpty(orderBean.getAddInfo().getRiderPhone())) { if (orderBean.getAddInfo() != null && StringUtils.isNotEmpty(orderBean.getAddInfo().getRiderPhone())) {
orderBean.setRiderPhone(orderBean.getAddInfo().getRiderPhone()); orderBean.setRiderPhone(orderBean.getAddInfo().getRiderPhone());
} }
} }
...@@ -1441,7 +1448,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1441,7 +1448,7 @@ public class OrderServiceImpl implements Orderservice {
* @param orderTime * @param orderTime
* @return * @return
*/ */
private String isShareActivity(String partnerId, String storeId, String wxappid, Long orderTime, String bizId, String userId, String sessionId,String organizationId) { private String isShareActivity(String partnerId, String storeId, String wxappid, Long orderTime, String bizId, String userId, String sessionId, String organizationId) {
QueryValidShareActivityReq activityReq = new QueryValidShareActivityReq(); QueryValidShareActivityReq activityReq = new QueryValidShareActivityReq();
activityReq.setAppId(wxappid); activityReq.setAppId(wxappid);
...@@ -1547,12 +1554,13 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1547,12 +1554,13 @@ public class OrderServiceImpl implements Orderservice {
if (StringUtils.isEmpty(orderRefundVo.getReason())) { if (StringUtils.isEmpty(orderRefundVo.getReason())) {
orderRefundVo.setReason("退款"); orderRefundVo.setReason("退款");
} }
AssortmentCustomerInfoVo userInfo = customerInfoManager.getCustomerInfoByObject(orderRefundVo.getSessionId()); AssortmentCustomerInfoVo userInfo = null;
/* AssortmentCustomerInfoVo userInfo = customerInfoManager.getCustomerInfoByObject(orderRefundVo.getSessionId());
if (userInfo == null || StringUtils.isEmpty(userInfo.getMemberId())) { if (userInfo == null || StringUtils.isEmpty(userInfo.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN); return ResponseUtil.error(ResponseResult.NOT_LOGIN);
} }*/
String memberId = userInfo.getMemberId(); /* String memberId = userInfo.getMemberId();
String partnerId = userInfo.getPartnerId(); String partnerId = userInfo.getPartnerId();*/
if (StringUtils.isBlank(orderRefundVo.getOid())) { if (StringUtils.isBlank(orderRefundVo.getOid())) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空"); return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空");
...@@ -1570,10 +1578,37 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1570,10 +1578,37 @@ public class OrderServiceImpl implements Orderservice {
if (!RESPONSE_SUCCESS_CODE.equals(orderByIdResponseDto.getErrcode()) || orderByIdResponseDto.getData() == null) { if (!RESPONSE_SUCCESS_CODE.equals(orderByIdResponseDto.getErrcode()) || orderByIdResponseDto.getData() == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "订单信息不存在"); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "订单信息不存在");
} }
if (!memberId.equals(orderByIdResponseDto.getData().getUserId())) { /* if (!memberId.equals(orderByIdResponseDto.getData().getUserId())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单"); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单");
} }*/
OrderBean orderBean = orderByIdResponseDto.getData(); OrderBean orderBean = orderByIdResponseDto.getData();
// todo coco 商户校验
if (partnerId.equals(orderByIdResponseDto.getData().getCompanyId())) {
// COCO 即时单不可取消
if ( NewOrderType.GENERAL_SELF_PICKUP.getCode().equals(queryOrderByIdResponse.getData().getNewOrderType())) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR);
}
// 4,6 预约单
List<Integer> expectOrderType = Lists.newArrayList(
NewOrderType.RESERVED_EXPRESS.getCode(),
NewOrderType.RESERVED_SELF_PICKUP.getCode());
long time = DateUtil.addMinutes(new Date(), 15).getTime();
if (expectOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())
&& Objects.nonNull(orderBean.getGmtExpect())
&& time > orderBean.getGmtExpect()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_EXPECT_TIME);
}
// 外卖单
List<Integer> takeOrderType = Lists.newArrayList(
NewOrderType.RESERVED_EXPRESS.getCode(),
NewOrderType.GENERAL_EXPRESS.getCode());
long taskCancelOrderTime = DateUtil.addMinutes(new Date(), 30).getTime();
if (takeOrderType.contains(queryOrderByIdResponse.getData().getNewOrderType())
&& Objects.nonNull(queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime())
&& taskCancelOrderTime > queryOrderByIdResponse.getData().getEstimateDeliveryCompleteTime()) {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR_ESTIMATE_TIME);
}
}
if (PayStatus.NOT_PAY.getCode().equals(orderByIdResponseDto.getData().getPayStatus()) if (PayStatus.NOT_PAY.getCode().equals(orderByIdResponseDto.getData().getPayStatus())
|| OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) { || OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单未支付,无法退款"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单未支付,无法退款");
...@@ -1585,6 +1620,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1585,6 +1620,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!");
} }
/** /**
* 已接单,制作完成,配送中,未接单,用户可申请退款 * 已接单,制作完成,配送中,未接单,用户可申请退款
* *
...@@ -1603,34 +1639,34 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1603,34 +1639,34 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。");
} }
} }
if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) { /*if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
boolean refundButton = orderAdapter.checkRefundButton(queryOrderByIdResponse.getData(), userInfo.getWxAppId()); boolean refundButton = orderAdapter.checkRefundButton(queryOrderByIdResponse.getData(), userInfo.getWxAppId());
if (!refundButton) { if (!refundButton) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_ALLOW_REFUND.getCode(), ResponseResult.ORDER_NOT_ALLOW_REFUND.getMessage()); return ResponseUtil.error(ResponseResult.ORDER_NOT_ALLOW_REFUND.getCode(), ResponseResult.ORDER_NOT_ALLOW_REFUND.getMessage());
} }
} }*/
List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = cacheOpenPlatformPartnerWxappConfigManager.cacheSelectDefaultPage(userInfo.getWxAppId(), "2"); List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = cacheOpenPlatformPartnerWxappConfigManager.cacheSelectDefaultPage(userInfo.getWxAppId(), "2");
Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity())); Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity()));
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get(OrderRefundEnum.REFUND_DELIVERY_FEE_ENABLE.getKeyValue()); AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get(OrderRefundEnum.REFUND_DELIVERY_FEE_ENABLE.getKeyValue());
LogUtil.info("orderRefund of oid:{}, {}, {}", orderBean.getOid(),orderBean.getStatus(), (null != refundDeliveryFeeConfig ? ToStringBuilder.reflectionToString(refundDeliveryFeeConfig) : null)); LogUtil.info("orderRefund of oid:{}, {}, {}", orderBean.getOid(), orderBean.getStatus(), (null != refundDeliveryFeeConfig ? ToStringBuilder.reflectionToString(refundDeliveryFeeConfig) : null));
// 0、null表示 关闭 ; 1 表示开启 // 0、null表示 关闭 ; 1 表示开启
if (null != refundDeliveryFeeConfig if (null != refundDeliveryFeeConfig
&& Arrays.asList(OrderStatus.DISTRIBUTION.getCode(),OrderStatus.COMPLETE.getCode()).contains(orderBean.getStatus()) && Arrays.asList(OrderStatus.DISTRIBUTION.getCode(), OrderStatus.COMPLETE.getCode()).contains(orderBean.getStatus())
&& !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) { && !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) {
isRefundDeliveryFee = false; isRefundDeliveryFee = false;
} }
// 未接单 // 未接单
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) { if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
//商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口 //商家未接单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口
BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId,AfterSalesType.USER_CANCEL,isRefundDeliveryFee); BaseResponse baseResponse = partnerNoTakeOrder(orderRefundVo, orderBean, orderId, AfterSalesType.USER_CANCEL, isRefundDeliveryFee);
if (baseResponse != null) { if (baseResponse != null) {
return baseResponse; return baseResponse;
} }
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(),orderBean.getPayStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus());
} else { } else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId()); cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
...@@ -1665,32 +1701,38 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1665,32 +1701,38 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success(); return ResponseUtil.success();
} }
/* private BaseResponse checkOrder(OrderBean orderBean){
//orderBean.gettakem
}*/
/** /**
* 商家未接单,取消订单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口 * 商家未接单,取消订单逻辑处理 1.调用支付退款 2.根据支付退款返回状态组装订单取消参数,调用订单取消接口
* *
* @param orderRefundVo * @param orderRefundVo
* @param orderBean * @param orderBean
*/ */
private BaseResponse partnerNoTakeOrder(OrderRefundVo orderRefundVo, OrderBean orderBean, String fatherOrderId,AfterSalesType afterSalesType,Boolean isRefundDeliveryFee) { private BaseResponse partnerNoTakeOrder(OrderRefundVo orderRefundVo, OrderBean orderBean, String fatherOrderId, AfterSalesType afterSalesType, Boolean isRefundDeliveryFee) {
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();
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
int state = PayRefundStatus.SUCCESS.getCode(); int state = PayRefundStatus.SUCCESS.getCode();
if (orderBean.getAmount() != 0) { if (orderBean.getAmount() != 0) {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){ if (null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size() > 0) {
//调用支付退款 //调用支付退款
MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId); MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId);
MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId()); MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest, orderBean.getCompanyId());
if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.ORDER_PAY_RESPONSE_SUCCESS.equals(multiOrderRefundResponse.getCode())) { if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.ORDER_PAY_RESPONSE_SUCCESS.equals(multiOrderRefundResponse.getCode())) {
return ResponseUtil.error(ResponseResult.MULTIORDER__ERRORREFUND.getCode(), "multiOrderRefund_failed"); return ResponseUtil.error(ResponseResult.MULTIORDER__ERRORREFUND.getCode(), "multiOrderRefund_failed");
} }
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList; List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList;
if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){ if (null != refundPlatformResponseList && refundPlatformResponseList.size() > 0) {
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()), orderBean.getOid(), 1L, TimeUnit.DAYS);
} }
//获取支付返回退款状态 //获取支付返回退款状态
state = PayRefundStatus.SUCCESS.getCode(); state = PayRefundStatus.SUCCESS.getCode();
}else { } else {
//调用支付退款 //调用支付退款
com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId); com.freemud.sdk.api.assortment.payment.request.OrderRefundRequest orderPayRefundRequest = orderAdapter.getOrderPayRefundRequest(orderBean, refundId, fatherOrderId);
response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo()); response = standardPaymentService.orderRefund(orderPayRefundRequest, LogTreadLocal.getTrackingNo());
...@@ -1757,7 +1799,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1757,7 +1799,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
public void backOrdersStatusChange(String oid, Integer orderStatus,Integer payStatus) { public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus) {
if (StringUtils.isEmpty(oid)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
...@@ -2041,7 +2083,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2041,7 +2083,7 @@ public class OrderServiceImpl implements Orderservice {
for (CreateOrderProductRequest productDto : productOrderInfoList.get(0).getProducts()) { for (CreateOrderProductRequest productDto : productOrderInfoList.get(0).getProducts()) {
pids.add(productDto.getProductId()); pids.add(productDto.getProductId());
} }
Map<String, GetProductsVo> products = itemService.getSpuProducts(pids, fatherSonOrderRequest.getPartnerId(), productOrderInfoList.get(0).getShopId(),fatherSonOrderRequest.getMenuType()); Map<String, GetProductsVo> products = itemService.getSpuProducts(pids, fatherSonOrderRequest.getPartnerId(), productOrderInfoList.get(0).getShopId(), fatherSonOrderRequest.getMenuType());
if (products.isEmpty()) { if (products.isEmpty()) {
return fatherSonOrderRequest; return fatherSonOrderRequest;
} }
...@@ -2050,21 +2092,21 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2050,21 +2092,21 @@ public class OrderServiceImpl implements Orderservice {
productDto.setCustomerCode(products.get(productDto.getSpecification()).getCustomerCode()); productDto.setCustomerCode(products.get(productDto.getSpecification()).getCustomerCode());
productDto.setProductCode(products.get(productDto.getSpecification()).getProductCode()); productDto.setProductCode(products.get(productDto.getSpecification()).getProductCode());
productDto.setThirdProductSpecId(products.get(productDto.getSpecification()).getThirdProductSpecId()); productDto.setThirdProductSpecId(products.get(productDto.getSpecification()).getThirdProductSpecId());
productDto.setThirdProductPropertyId(getThirdPropertyId(products.get(productDto.getSpecification()).getProductAttributeGroupList(),productDto.getAddInfo())); productDto.setThirdProductPropertyId(getThirdPropertyId(products.get(productDto.getSpecification()).getProductAttributeGroupList(), productDto.getAddInfo()));
} else { } else {
productDto.setCustomerCode(""); productDto.setCustomerCode("");
productDto.setProductCode(""); productDto.setProductCode("");
LogUtil.error("getProducts_exception", JSONObject.toJSONString(pids), JSONObject.toJSONString(products)); LogUtil.error("getProducts_exception", JSONObject.toJSONString(pids), JSONObject.toJSONString(products));
} }
//套餐子商品 //套餐子商品
if(CollectionUtils.isNotEmpty(productDto.getComboProduct())){ if (CollectionUtils.isNotEmpty(productDto.getComboProduct())) {
for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()){ for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()) {
String comboSkuId = comboProduct.getSpecification(); String comboSkuId = comboProduct.getSpecification();
if (products.get(comboSkuId) != null) { if (products.get(comboSkuId) != null) {
comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode()); comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode());
comboProduct.setProductCode(products.get(comboSkuId).getProductCode()); comboProduct.setProductCode(products.get(comboSkuId).getProductCode());
comboProduct.setThirdProductSpecId(products.get(comboSkuId).getThirdProductSpecId()); comboProduct.setThirdProductSpecId(products.get(comboSkuId).getThirdProductSpecId());
comboProduct.setThirdProductPropertyId(getThirdPropertyId(products.get(comboSkuId).getProductAttributeGroupList(),comboProduct.getAddInfo())); comboProduct.setThirdProductPropertyId(getThirdPropertyId(products.get(comboSkuId).getProductAttributeGroupList(), comboProduct.getAddInfo()));
} else { } else {
comboProduct.setCustomerCode(""); comboProduct.setCustomerCode("");
comboProduct.setProductCode(""); comboProduct.setProductCode("");
...@@ -2087,7 +2129,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2087,7 +2129,7 @@ public class OrderServiceImpl implements Orderservice {
for (CreateOrderProductRequest productDto : createOrderDto.getProducts()) { for (CreateOrderProductRequest productDto : createOrderDto.getProducts()) {
spuIds.add(productDto.getProductId()); spuIds.add(productDto.getProductId());
} }
Map<String, GetProductsVo> products = itemService.getSpuProducts(spuIds, createOrderDto.getCompanyId(), createOrderDto.getShopId(),createOrderDto.getMenuType()); Map<String, GetProductsVo> products = itemService.getSpuProducts(spuIds, createOrderDto.getCompanyId(), createOrderDto.getShopId(), createOrderDto.getMenuType());
if (products.isEmpty()) { if (products.isEmpty()) {
return createOrderDto; return createOrderDto;
} }
...@@ -2097,7 +2139,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2097,7 +2139,7 @@ public class OrderServiceImpl implements Orderservice {
productDto.setCustomerCode(products.get(skuId).getCustomerCode()); productDto.setCustomerCode(products.get(skuId).getCustomerCode());
productDto.setProductCode(products.get(skuId).getProductCode()); productDto.setProductCode(products.get(skuId).getProductCode());
productDto.setThirdProductSpecId(products.get(productDto.getSpecification()).getThirdProductSpecId()); productDto.setThirdProductSpecId(products.get(productDto.getSpecification()).getThirdProductSpecId());
productDto.setThirdProductPropertyId(getThirdPropertyId(products.get(productDto.getSpecification()).getProductAttributeGroupList(),productDto.getAddInfo())); productDto.setThirdProductPropertyId(getThirdPropertyId(products.get(productDto.getSpecification()).getProductAttributeGroupList(), productDto.getAddInfo()));
// todo 商品组信息 // todo 商品组信息
setProductGroupInfo(products.get(skuId).getProductGroupList(), productDto); setProductGroupInfo(products.get(skuId).getProductGroupList(), productDto);
...@@ -2107,15 +2149,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2107,15 +2149,15 @@ public class OrderServiceImpl implements Orderservice {
LogUtil.error("getProducts_exception", JSONObject.toJSONString(skuId), JSONObject.toJSONString(products), null); LogUtil.error("getProducts_exception", JSONObject.toJSONString(skuId), JSONObject.toJSONString(products), null);
} }
//套餐子商品 //套餐子商品
if(CollectionUtils.isNotEmpty(productDto.getComboProduct())){ if (CollectionUtils.isNotEmpty(productDto.getComboProduct())) {
for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()){ for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()) {
String comboSkuId = comboProduct.getSpecification(); String comboSkuId = comboProduct.getSpecification();
System.out.println(comboSkuId); System.out.println(comboSkuId);
if (products.get(comboSkuId) != null) { if (products.get(comboSkuId) != null) {
comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode()); comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode());
comboProduct.setProductCode(products.get(comboSkuId).getProductCode()); comboProduct.setProductCode(products.get(comboSkuId).getProductCode());
comboProduct.setThirdProductSpecId(products.get(comboSkuId).getThirdProductSpecId()); comboProduct.setThirdProductSpecId(products.get(comboSkuId).getThirdProductSpecId());
comboProduct.setThirdProductPropertyId(getThirdPropertyId(products.get(comboSkuId).getProductAttributeGroupList(),comboProduct.getAddInfo())); comboProduct.setThirdProductPropertyId(getThirdPropertyId(products.get(comboSkuId).getProductAttributeGroupList(), comboProduct.getAddInfo()));
comboProduct.setStapleFood(products.get(comboSkuId).getStapleFood()); comboProduct.setStapleFood(products.get(comboSkuId).getStapleFood());
// todo 套餐商品的商品组信息 // todo 套餐商品的商品组信息
setProductGroupInfo(products.get(comboSkuId).getProductGroupList(), comboProduct); setProductGroupInfo(products.get(comboSkuId).getProductGroupList(), comboProduct);
...@@ -2132,6 +2174,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2132,6 +2174,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 设置商品组信息 * 设置商品组信息
*
* @param productGroupList * @param productGroupList
* @param product * @param product
*/ */
...@@ -2154,22 +2197,22 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2154,22 +2197,22 @@ public class OrderServiceImpl implements Orderservice {
private String getThirdPropertyId(List<ProductAttributeGroup> productAttributeGroups, String addInfo) { private String getThirdPropertyId(List<ProductAttributeGroup> productAttributeGroups, String addInfo) {
String thirdProductPropertyId = ""; String thirdProductPropertyId = "";
if(StringUtils.isBlank(addInfo) || CollectionUtils.isEmpty(productAttributeGroups) ){ if (StringUtils.isBlank(addInfo) || CollectionUtils.isEmpty(productAttributeGroups)) {
return thirdProductPropertyId; return thirdProductPropertyId;
} }
JSONObject jsonObject = JSONObject.parseObject(addInfo); JSONObject jsonObject = JSONObject.parseObject(addInfo);
String attributeNames = (String)jsonObject.get("attributeNames"); String attributeNames = (String) jsonObject.get("attributeNames");
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
String[] split = attributeNames.split("/"); String[] split = attributeNames.split("/");
List<AttributeValue> attributeValues = new ArrayList<>(); List<AttributeValue> attributeValues = new ArrayList<>();
for (ProductAttributeGroup attributeGroup : productAttributeGroups){ for (ProductAttributeGroup attributeGroup : productAttributeGroups) {
attributeValues.addAll(attributeGroup.getAttributeValues()); attributeValues.addAll(attributeGroup.getAttributeValues());
} }
for (int i= 0;i<split.length;i++){ for (int i = 0; i < split.length; i++) {
for (AttributeValue attributeValue : attributeValues){ for (AttributeValue attributeValue : attributeValues) {
if(attributeValue.getAttributeValue().equals(split[i])){ if (attributeValue.getAttributeValue().equals(split[i])) {
list.add(attributeValue.getCustomerCode()); list.add(attributeValue.getCustomerCode());
break; break;
} }
...@@ -2192,9 +2235,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2192,9 +2235,9 @@ public class OrderServiceImpl implements Orderservice {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
OrderClientType orderClient = OrderClientType.SAAS; OrderClientType orderClient = OrderClientType.SAAS;
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
if("2".equals(userLoginInfoDto.getChannel()) ){ if ("2".equals(userLoginInfoDto.getChannel())) {
orderClient = OrderClientType.ALIPAY; orderClient = OrderClientType.ALIPAY;
} else if(UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())) { } else if (UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())) {
orderClient = OrderClientType.APP; orderClient = OrderClientType.APP;
} }
long totalAmount = 0; long totalAmount = 0;
...@@ -2206,7 +2249,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2206,7 +2249,7 @@ public class OrderServiceImpl implements Orderservice {
int cardOriginalAmount = shoppingCartGoodsDto.getCardOriginalAmount() == null ? 0 : shoppingCartGoodsDto.getCardOriginalAmount(); int cardOriginalAmount = shoppingCartGoodsDto.getCardOriginalAmount() == null ? 0 : shoppingCartGoodsDto.getCardOriginalAmount();
int cardDiscountAmount = shoppingCartGoodsDto.getCardDiscountAmount() == null ? 0 : shoppingCartGoodsDto.getCardDiscountAmount(); int cardDiscountAmount = shoppingCartGoodsDto.getCardDiscountAmount() == null ? 0 : shoppingCartGoodsDto.getCardDiscountAmount();
cardAmount = cardOriginalAmount - cardDiscountAmount; cardAmount = cardOriginalAmount - cardDiscountAmount;
CreateFatherSonOrderResponse createFatherSonOrderResponse = createFatherSonOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq,appId); CreateFatherSonOrderResponse createFatherSonOrderResponse = createFatherSonOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, appId);
if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createFatherSonOrderResponse.getErrcode())) { if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createFatherSonOrderResponse.getErrcode())) {
return ResponseUtil.error(createFatherSonOrderResponse.getErrcode().toString(), createFatherSonOrderResponse.getErrmsg()); return ResponseUtil.error(createFatherSonOrderResponse.getErrcode().toString(), createFatherSonOrderResponse.getErrmsg());
} }
...@@ -2221,7 +2264,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2221,7 +2264,7 @@ public class OrderServiceImpl implements Orderservice {
fatherBeanList.get(0).setCompanyId(createOrderVo.getPartnerId()); fatherBeanList.get(0).setCompanyId(createOrderVo.getPartnerId());
} else { } else {
//普通订单 //普通订单
CreateOrderResponse createOrderFlowResponse = createOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, orderClient,appId); CreateOrderResponse createOrderFlowResponse = createOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, orderExtendedReq, orderClient, appId);
if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createOrderFlowResponse.getErrcode())) { if (ObjectUtils.notEqual(Integer.valueOf(ResponseResult.SUCCESS.getCode()), createOrderFlowResponse.getErrcode())) {
return ResponseUtil.error(createOrderFlowResponse.getErrcode().toString(), createOrderFlowResponse.getErrmsg()); return ResponseUtil.error(createOrderFlowResponse.getErrcode().toString(), createOrderFlowResponse.getErrmsg());
} }
...@@ -2258,7 +2301,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2258,7 +2301,7 @@ public class OrderServiceImpl implements Orderservice {
} }
//混合支付+svc卡 //混合支付+svc卡
else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) { else if (totalAmount > 0 && StringUtils.isNotBlank(cardCode)) {
orderPayResponse = switchSvcOrComb(totalAmount,cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel(),createPrepayRequestDto.getStoreId(),LogThreadLocal.getTrackingNo()); orderPayResponse = switchSvcOrComb(totalAmount, cardCode, createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, createPrepayRequestDto.getChannel(), createPrepayRequestDto.getStoreId(), LogThreadLocal.getTrackingNo());
} else { } else {
// 0元订单如果不需要支付,自定义支付单号 // 0元订单如果不需要支付,自定义支付单号
orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean()); orderPayResponse = getOrderPayResponse(paymentRequest, createPrepayRequestDto.getFatherOrderBean());
...@@ -2282,14 +2325,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2282,14 +2325,11 @@ public class OrderServiceImpl implements Orderservice {
} }
if (totalAmount > 0 && StringUtils.isBlank(cardCode) && Objects.isNull(createPrepayRequestDto.getUnionPayCard())) { if (totalAmount > 0 && StringUtils.isBlank(cardCode) && Objects.isNull(createPrepayRequestDto.getUnionPayCard())) {
createOrderResponse.setPaySuccess(false); createOrderResponse.setPaySuccess(false);
} } else if (StringUtils.isNotBlank(orderPayResponse.getPayMode()) && PayChannelType.COMB.getEbcode().equals(orderPayResponse.getPayMode())) {
else if (StringUtils.isNotBlank(orderPayResponse.getPayMode()) && PayChannelType.COMB.getEbcode().equals(orderPayResponse.getPayMode())){
createOrderResponse.setPaySuccess(false); createOrderResponse.setPaySuccess(false);
} } else if (StringUtils.isNotBlank(orderPayResponse.getPayMode()) && PayChannelType.SVC.getEbcode().equals(orderPayResponse.getPayMode())) {
else if (StringUtils.isNotBlank(orderPayResponse.getPayMode()) && PayChannelType.SVC.getEbcode().equals(orderPayResponse.getPayMode())){
createOrderResponse.setPaySuccess(true); createOrderResponse.setPaySuccess(true);
} } else {
else {
createOrderResponse.setPaySuccess(true); createOrderResponse.setPaySuccess(true);
} }
// 推荐优惠插件用户下单数据上报 // 推荐优惠插件用户下单数据上报
...@@ -2327,7 +2367,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2327,7 +2367,7 @@ public class OrderServiceImpl implements Orderservice {
if (tigger && StringUtils.isNotBlank(channel)) { if (tigger && StringUtils.isNotBlank(channel)) {
log.info("混合支付:"); log.info("混合支付:");
String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId()); String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId());
orderPayResponse = comPayOrder(cardCode,orderBean,paymentRequest,partnerPayOvertime,totalAmount.intValue(),channel,storeId,LogThreadLocal.getTrackingNo()); orderPayResponse = comPayOrder(cardCode, orderBean, paymentRequest, partnerPayOvertime, totalAmount.intValue(), channel, storeId, LogThreadLocal.getTrackingNo());
} }
//svc 支付 //svc 支付
else { else {
...@@ -2336,8 +2376,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2336,8 +2376,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
...@@ -2391,7 +2433,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2391,7 +2433,7 @@ public class OrderServiceImpl implements Orderservice {
* 创建普通订单 * 创建普通订单
*/ */
public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq, OrderClientType orderClient,String appId) { OrderExtendedReq orderExtendedReq, OrderClientType orderClient, String appId) {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
...@@ -2409,13 +2451,14 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2409,13 +2451,14 @@ public class OrderServiceImpl implements Orderservice {
createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
return orderCenterSdkService.createOrderFlow(createOrderRequest); return orderCenterSdkService.createOrderFlow(createOrderRequest);
} }
/** /**
* 创建父子订单 * 创建父子订单
*/ */
public CreateFatherSonOrderResponse createFatherSonOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, public CreateFatherSonOrderResponse createFatherSonOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto,
ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq, ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq,
String appId) { String appId) {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,storeResponseDto,appId); CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq, storeResponseDto, appId);
//查询第三方商品编号 //查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest); createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
...@@ -2435,7 +2478,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2435,7 +2478,7 @@ public class OrderServiceImpl implements Orderservice {
private BaseResponse failPreOrderPay(String trackingNo, QueryOrdersResponse.DataBean.OrderBean orderBean, String cardCode, OrderClientType orderClient, String msg) { private BaseResponse failPreOrderPay(String trackingNo, QueryOrdersResponse.DataBean.OrderBean orderBean, String cardCode, OrderClientType orderClient, String msg) {
List<OrderClientType> notCancelOrderClientList = Lists.newArrayList(OrderClientType.APP); List<OrderClientType> notCancelOrderClientList = Lists.newArrayList(OrderClientType.APP);
if(!notCancelOrderClientList.contains(orderClient)) { if (!notCancelOrderClientList.contains(orderClient)) {
//失败冲正库存,冲正活动库存,取消订单 //失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null); AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null);
...@@ -2468,7 +2511,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2468,7 +2511,7 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid()); orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(PayChannelType.WECHAT.getEbcode()); orderPayResponse.setPayMode(PayChannelType.WECHAT.getEbcode());
if (orderPayResponse.getPayOrder()!=null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) { if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
orderPayResponse.setPayMode(PayChannelType.ALIPAY.getEbcode()); orderPayResponse.setPayMode(PayChannelType.ALIPAY.getEbcode());
} }
} }
...@@ -2585,12 +2628,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2585,12 +2628,12 @@ public class OrderServiceImpl implements Orderservice {
if (StringUtils.isNotBlank(createOrderVo.getScene())) { if (StringUtils.isNotBlank(createOrderVo.getScene())) {
orderExtInfoDto.setScene(createOrderVo.getScene()); orderExtInfoDto.setScene(createOrderVo.getScene());
} }
if (null != shoppingCartGoodsDto && null != shoppingCartGoodsDto.getSendPoint()){ if (null != shoppingCartGoodsDto && null != shoppingCartGoodsDto.getSendPoint()) {
ShoppingCartGoodsDto.SendPoint sendPoint = shoppingCartGoodsDto.getSendPoint(); ShoppingCartGoodsDto.SendPoint sendPoint = shoppingCartGoodsDto.getSendPoint();
orderExtInfoDto.setSendPointValidityDateDays(sendPoint.getValidityDateDays()); orderExtInfoDto.setSendPointValidityDateDays(sendPoint.getValidityDateDays());
orderExtInfoDto.setSendPointMaxNum(sendPoint.getMaxNum()); orderExtInfoDto.setSendPointMaxNum(sendPoint.getMaxNum());
orderExtInfoDto.setSendPointActivityCode(sendPoint.getActivityCode()); orderExtInfoDto.setSendPointActivityCode(sendPoint.getActivityCode());
orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime()+""); orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + "");
orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint()); orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint());
} }
return orderExtInfoDto; return orderExtInfoDto;
...@@ -2662,7 +2705,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2662,7 +2705,7 @@ public class OrderServiceImpl implements Orderservice {
JSONObject.toJSONString(orderExtInfo)); JSONObject.toJSONString(orderExtInfo));
orderEditRequest.setOrderId(orderBean.getOid()); orderEditRequest.setOrderId(orderBean.getOid());
orderEditRequest.setTrackingNo(trackingNo); orderEditRequest.setTrackingNo(trackingNo);
if (orderPayResponse.getPayMode()!=null) { if (orderPayResponse.getPayMode() != null) {
orderEditRequest.setPayChannel(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getEbcode()); orderEditRequest.setPayChannel(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getEbcode());
orderEditRequest.setPayChannelName(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getName()); orderEditRequest.setPayChannelName(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getName());
orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex()); orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex());
...@@ -2697,21 +2740,22 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2697,21 +2740,22 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 通知小助手发送申请退款公众号订阅消息 * 通知小助手发送申请退款公众号订阅消息
*
* @param orderBean * @param orderBean
*/ */
public void sendApplyRefundSubscriptionNotice(OrderBean orderBean,OrderRefundVo request) { public void sendApplyRefundSubscriptionNotice(OrderBean orderBean, OrderRefundVo request) {
LogUtil.debug("sendApplyRefundSubscriptionNotice", JSONObject.toJSONString(request), null); LogUtil.debug("sendApplyRefundSubscriptionNotice", JSONObject.toJSONString(request), null);
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
String shopId = orderBean.getShopId(); String shopId = orderBean.getShopId();
if(orderBean.getExtInfo() == null){ if (orderBean.getExtInfo() == null) {
return; return;
} }
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class); OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
if(extInfo == null || extInfo.getAppid() == null){ if (extInfo == null || extInfo.getAppid() == null) {
return; return;
} }
AssortmentOpenPlatformWxappAuthorizer authorizerAppid = wxappAuthorizerManager.findAuthorizerByWxAppId(extInfo.getAppid()); AssortmentOpenPlatformWxappAuthorizer authorizerAppid = wxappAuthorizerManager.findAuthorizerByWxAppId(extInfo.getAppid());
if(authorizerAppid == null){ if (authorizerAppid == null) {
return; return;
} }
String accessToken = authorizerAppid.getAuthorizerAccessToken(); String accessToken = authorizerAppid.getAuthorizerAccessToken();
...@@ -2724,7 +2768,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2724,7 +2768,7 @@ public class OrderServiceImpl implements Orderservice {
keyword1.setValue(orderId); keyword1.setValue(orderId);
MpTemplateMsgDataValue keyword2 = new MpTemplateMsgDataValue(); MpTemplateMsgDataValue keyword2 = new MpTemplateMsgDataValue();
Double amount = orderBean.getAmount() / 100.0D; Double amount = orderBean.getAmount() / 100.0D;
keyword2.setValue(amount.toString()+ " 元"); keyword2.setValue(amount.toString() + " 元");
MpTemplateMsgDataValue keyword3 = new MpTemplateMsgDataValue(); MpTemplateMsgDataValue keyword3 = new MpTemplateMsgDataValue();
keyword3.setValue(orderBean.getGmtPay() == null ? "" : DateUtil.convert2String(new Date(orderBean.getGmtPay()), "yyyy-MM-dd HH:mm:ss")); keyword3.setValue(orderBean.getGmtPay() == null ? "" : DateUtil.convert2String(new Date(orderBean.getGmtPay()), "yyyy-MM-dd HH:mm:ss"));
MpTemplateMsgDataValue keyword4 = new MpTemplateMsgDataValue(); MpTemplateMsgDataValue keyword4 = new MpTemplateMsgDataValue();
...@@ -2732,7 +2776,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2732,7 +2776,7 @@ public class OrderServiceImpl implements Orderservice {
MpTemplateMsgDataValue keyword5 = new MpTemplateMsgDataValue(); MpTemplateMsgDataValue keyword5 = new MpTemplateMsgDataValue();
keyword5.setValue(orderBean.getPhone()); keyword5.setValue(orderBean.getPhone());
MpTemplateMsgDataValue remark = new MpTemplateMsgDataValue(); MpTemplateMsgDataValue remark = new MpTemplateMsgDataValue();
remark.setValue(request.getReason()+","+request.getRemarks()); remark.setValue(request.getReason() + "," + request.getRemarks());
data.setFirst(first); data.setFirst(first);
data.setKeyword1(keyword1); data.setKeyword1(keyword1);
data.setKeyword2(keyword2); data.setKeyword2(keyword2);
...@@ -2792,16 +2836,16 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2792,16 +2836,16 @@ public class OrderServiceImpl implements Orderservice {
private BaseResponse createOrderAndPay(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, private BaseResponse createOrderAndPay(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO) { AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO) {
//创建订单--包括下单购买会员卡创建父子订单 //创建订单--包括下单购买会员卡创建父子订单
CreateOrderOperateDto operateDto = createOrderForFace(createOrderVo, storeResponseDto, shoppingCartGoodsDto,userLoginInfoDto.getWxAppId()); CreateOrderOperateDto operateDto = createOrderForFace(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto.getWxAppId());
long totalAmount = operateDto.getTotalAmount(); long totalAmount = operateDto.getTotalAmount();
int cardAmount = operateDto.getCardAmount(); int cardAmount = operateDto.getCardAmount();
QueryOrdersResponse.DataBean.OrderBean fatherOrderBean = operateDto.getFatherOrderBean(); QueryOrdersResponse.DataBean.OrderBean fatherOrderBean = operateDto.getFatherOrderBean();
QueryOrdersResponse.DataBean.OrderBean productOrderBean = operateDto.getProductOrderBean(); QueryOrdersResponse.DataBean.OrderBean productOrderBean = operateDto.getProductOrderBean();
//支付-- 包含商品券无需支付、唤起微信支付、储值卡支付直接支付、扫脸支付 //支付-- 包含商品券无需支付、唤起微信支付、储值卡支付直接支付、扫脸支付
OrderPayResponse orderPayResponse = pay(userLoginInfoDto,createOrderVo,totalAmount,cardAmount,fatherOrderBean); OrderPayResponse orderPayResponse = pay(userLoginInfoDto, createOrderVo, totalAmount, cardAmount, fatherOrderBean);
// 默认支付成功必有非码订单号 // 默认支付成功必有非码订单号
if (orderPayResponse == null || Objects.isNull(orderPayResponse.getFmId())) { if (orderPayResponse == null || Objects.isNull(orderPayResponse.getFmId())) {
if(createOrderVo.getFaceCode() != null){ if (createOrderVo.getFaceCode() != null) {
createOrderVo.setCardCode(createOrderVo.getFaceCode()); createOrderVo.setCardCode(createOrderVo.getFaceCode());
} }
BaseResponse baseResponse = failPreOrderPay(LogThreadLocal.getTrackingNo(), productOrderBean, createOrderVo.getCardCode(), null, BaseResponse baseResponse = failPreOrderPay(LogThreadLocal.getTrackingNo(), productOrderBean, createOrderVo.getCardCode(), null,
...@@ -2851,12 +2895,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2851,12 +2895,12 @@ public class OrderServiceImpl implements Orderservice {
* 创建订单 * 创建订单
*/ */
private CreateOrderOperateDto createOrderForFace(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, private CreateOrderOperateDto createOrderForFace(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto,
ShoppingCartGoodsDto shoppingCartGoodsDto,String appId){ ShoppingCartGoodsDto shoppingCartGoodsDto, String appId) {
CreateOrderOperateDto response = new CreateOrderOperateDto(); CreateOrderOperateDto response = new CreateOrderOperateDto();
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
//创建普通订单 //创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息 //保存门店渠道信息
...@@ -2874,7 +2918,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2874,7 +2918,7 @@ public class OrderServiceImpl implements Orderservice {
}); });
//创建父子订单 //创建父子订单
Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> { Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,storeResponseDto,appId); CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq, storeResponseDto, appId);
//查询第三方商品编号 //查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest); createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
...@@ -2926,12 +2970,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2926,12 +2970,12 @@ public class OrderServiceImpl implements Orderservice {
* 支付 * 支付
* 包含唤起微信支付、储值卡支付直接支付、扫脸支付、商品券无需支付 * 包含唤起微信支付、储值卡支付直接支付、扫脸支付、商品券无需支付
*/ */
private OrderPayResponse pay(AssortmentCustomerInfoVo userLoginInfoDto,CreateOrderVo createOrderVo,long totalAmount,int cardAmount, private OrderPayResponse pay(AssortmentCustomerInfoVo userLoginInfoDto, CreateOrderVo createOrderVo, long totalAmount, int cardAmount,
QueryOrdersResponse.DataBean.OrderBean fatherBeanListOne){ QueryOrdersResponse.DataBean.OrderBean fatherBeanListOne) {
//<!---创建订单公共方法执行逻辑---> //<!---创建订单公共方法执行逻辑--->
OrderPayResponse orderPayResponse = null; OrderPayResponse orderPayResponse = null;
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto.getOpenId(), createOrderVo.getPartnerId(),appId, null); PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto.getOpenId(), createOrderVo.getPartnerId(), appId, null);
//支付金额异常 //支付金额异常
if (totalAmount < 0) { if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR); throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
...@@ -2959,7 +3003,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2959,7 +3003,7 @@ public class OrderServiceImpl implements Orderservice {
return orderPayResponse; return orderPayResponse;
} }
//0元订单,商品券订单等等 //0元订单,商品券订单等等
if (totalAmount == 0){ if (totalAmount == 0) {
// 0元订单如果不需要支付,自定义支付单号 // 0元订单如果不需要支付,自定义支付单号
String fmId = "SPAY" + ValidationCode.getRandomUuid(); String fmId = "SPAY" + ValidationCode.getRandomUuid();
orderPayResponse = orderAdapter.getOrderPayResponse(fatherBeanListOne.getCompanyId(), paymentRequest, fatherBeanListOne.getOid(), fmId); orderPayResponse = orderAdapter.getOrderPayResponse(fatherBeanListOne.getCompanyId(), paymentRequest, fatherBeanListOne.getOid(), fmId);
...@@ -2990,8 +3034,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2990,8 +3034,8 @@ public class OrderServiceImpl implements Orderservice {
com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> responseDto = null; com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> responseDto = null;
try { try {
responseDto = paymentNewClient.facePay(request); responseDto = paymentNewClient.facePay(request);
LogUtil.info("facePay_response", null,JSONObject.toJSON(responseDto)); LogUtil.info("facePay_response", null, JSONObject.toJSON(responseDto));
}catch (Exception e){ } catch (Exception e) {
LogUtil.error("facePay_error", null, null, e); LogUtil.error("facePay_error", null, null, e);
} }
if (responseDto == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseDto.getCode()) || responseDto.getData() == null) { if (responseDto == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseDto.getCode()) || responseDto.getData() == null) {
...@@ -3017,17 +3061,17 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3017,17 +3061,17 @@ public class OrderServiceImpl implements Orderservice {
*/ */
private String getQueryOrderChannelType(QueryOrderVo queryOrderVo, AssortmentCustomerInfoVo userLoginInfoDto) { private String getQueryOrderChannelType(QueryOrderVo queryOrderVo, AssortmentCustomerInfoVo userLoginInfoDto) {
String channelType = OrderChannelType.SAAS.getCode(); String channelType = OrderChannelType.SAAS.getCode();
if(IappIdType.WC_XCX.getCode().equals(userLoginInfoDto.getIappId())) { if (IappIdType.WC_XCX.getCode().equals(userLoginInfoDto.getIappId())) {
channelType = OrderChannelType.IWC.getCode(); channelType = OrderChannelType.IWC.getCode();
} else if(OrderChannelType.SAASMALL.getCode().equals(queryOrderVo.getChannelType())) { } else if (OrderChannelType.SAASMALL.getCode().equals(queryOrderVo.getChannelType())) {
channelType = OrderChannelType.SAASMALL.getCode(); channelType = OrderChannelType.SAASMALL.getCode();
} else if(UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())) { } else if (UserLoginChannelEnum.APP.getCode().equals(userLoginInfoDto.getChannel())) {
channelType = OrderChannelType.APP.getCode(); channelType = OrderChannelType.APP.getCode();
} }
return channelType; return channelType;
} }
public BaseResponse queryOrderByConditions(QueryOrderByConditionsRequestVo queryOrderByConditionsRequestVo){ public BaseResponse queryOrderByConditions(QueryOrderByConditionsRequestVo queryOrderByConditionsRequestVo) {
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(queryOrderByConditionsRequestVo.getSessionId()); AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(queryOrderByConditionsRequestVo.getSessionId());
if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) { if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN); return ResponseUtil.error(ResponseResult.NOT_LOGIN);
...@@ -3039,42 +3083,43 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3039,42 +3083,43 @@ public class OrderServiceImpl implements Orderservice {
BeanUtil.convertBean(queryOrderByConditionsRequestVo, orderConditionsReq); BeanUtil.convertBean(queryOrderByConditionsRequestVo, orderConditionsReq);
orderConditionsReq.setUserId(userId); orderConditionsReq.setUserId(userId);
Date startDate = DateUtil.convert2Date("2020-08-01 00:00:00", DateUtil.FORMAT_YYYY_MM_DD_HHMMSS); Date startDate = DateUtil.convert2Date("2020-08-01 00:00:00", DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
orderConditionsReq.setStartTimestamp(startDate.getTime()/1000); orderConditionsReq.setStartTimestamp(startDate.getTime() / 1000);
orderConditionsReq.setEndTimestamp(new Date().getTime()/1000); orderConditionsReq.setEndTimestamp(new Date().getTime() / 1000);
BaseDownLoadResponse<List<OrderInfoReqs>> orderInfoReqs = orderDownLoadSdkService.queryOrderByConditions(orderConditionsReq,LogTreadLocal.getTrackingNo()); BaseDownLoadResponse<List<OrderInfoReqs>> orderInfoReqs = orderDownLoadSdkService.queryOrderByConditions(orderConditionsReq, LogTreadLocal.getTrackingNo());
if (!String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoReqs.getCode())) { if (!String.valueOf(RESPONSE_SUCCESS_CODE).equals(orderInfoReqs.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode()); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode());
} }
Map<String, Object> responseMap = Maps.newTreeMap(); Map<String, Object> responseMap = Maps.newTreeMap();
//用户无订单数据 //用户无订单数据
if (orderInfoReqs.getResult() == null || orderInfoReqs.getTotalNum()== 0) { if (orderInfoReqs.getResult() == null || orderInfoReqs.getTotalNum() == 0) {
return ResponseUtil.success(); return ResponseUtil.success();
} }
responseVos = orderInfoReqs.getResult().stream().map( responseVos = orderInfoReqs.getResult().stream().map(
orderBean -> { orderBean -> {
QueryOrderByConditionsResponseVo queryOrderByConditionsResponseVo = new QueryOrderByConditionsResponseVo(); QueryOrderByConditionsResponseVo queryOrderByConditionsResponseVo = new QueryOrderByConditionsResponseVo();
BeanUtil.convertBean(orderBean,queryOrderByConditionsResponseVo); BeanUtil.convertBean(orderBean, queryOrderByConditionsResponseVo);
BeanUtil.convertBean(orderBean,queryOrderByConditionsResponseVo); BeanUtil.convertBean(orderBean, queryOrderByConditionsResponseVo);
List<String> imgUrl = new ArrayList<>(); List<String> imgUrl = new ArrayList<>();
String extInfo = orderBean.getExtInfo(); String extInfo = orderBean.getExtInfo();
if(!StringUtil.isEmpty(extInfo)){ if (!StringUtil.isEmpty(extInfo)) {
JSONObject jsonObject = JSONObject.parseObject(extInfo); JSONObject jsonObject = JSONObject.parseObject(extInfo);
JSONArray jsonArray = (JSONArray) JSONArray.parse(jsonObject.getString("imgUlr")); JSONArray jsonArray = (JSONArray) JSONArray.parse(jsonObject.getString("imgUlr"));
for(int i = 0 ;i< jsonArray.size() ;i++){ for (int i = 0; i < jsonArray.size(); i++) {
imgUrl.add(String.valueOf(jsonArray.get(i))); imgUrl.add(String.valueOf(jsonArray.get(i)));
} }
} }
if(null !=orderBean.getOrderSettlementDetailList() && orderBean.getOrderSettlementDetailList().size()>0){ if (null != orderBean.getOrderSettlementDetailList() && orderBean.getOrderSettlementDetailList().size() > 0) {
queryOrderByConditionsResponseVo.setSettlementAmount(orderBean.getOrderSettlementDetailList().stream().map(OrderSettlementResp::getSettlementAmount).reduce(BigDecimal.ZERO,BigDecimal::add)); queryOrderByConditionsResponseVo.setSettlementAmount(orderBean.getOrderSettlementDetailList().stream().map(OrderSettlementResp::getSettlementAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
}else{ } else {
queryOrderByConditionsResponseVo.setSettlementAmount(BigDecimal.ZERO); queryOrderByConditionsResponseVo.setSettlementAmount(BigDecimal.ZERO);
} }
queryOrderByConditionsResponseVo.setImgUrl(imgUrl); queryOrderByConditionsResponseVo.setImgUrl(imgUrl);
queryOrderByConditionsResponseVo.setOrderStateValue(orderSdkAdapter.getOrderStatusValue(orderBean.getOrderState())); queryOrderByConditionsResponseVo.setOrderStateValue(orderSdkAdapter.getOrderStatusValue(orderBean.getOrderState()));
SimpleDateFormat sdff=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sd = sdff.format(new Date(Long.valueOf(orderBean.getCreateTime()))); String sd = sdff.format(new Date(Long.valueOf(orderBean.getCreateTime())));
queryOrderByConditionsResponseVo.setCreateTime(sd); queryOrderByConditionsResponseVo.setCreateTime(sd);
return queryOrderByConditionsResponseVo; } return queryOrderByConditionsResponseVo;
}
).collect(Collectors.toList()); ).collect(Collectors.toList());
} catch (Exception e) { } catch (Exception e) {
LogUtil.error("queryOrders_error", gson.toJson(queryOrderByConditionsRequestVo), e); LogUtil.error("queryOrders_error", gson.toJson(queryOrderByConditionsRequestVo), e);
...@@ -3085,6 +3130,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3085,6 +3130,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 获取商户支付超时时间 * 获取商户支付超时时间
*
* @param partnerId 商户Id * @param partnerId 商户Id
* @return 超时时间 * @return 超时时间
*/ */
...@@ -3100,6 +3146,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3100,6 +3146,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 催单 * 催单
*
* @param reminderVo * @param reminderVo
* @return * @return
*/ */
...@@ -3123,19 +3170,19 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3123,19 +3170,19 @@ public class OrderServiceImpl implements Orderservice {
} }
//调用配送服务进行催单 //调用配送服务进行催单
OrderRemindRequestDto dto =new OrderRemindRequestDto(); OrderRemindRequestDto dto = new OrderRemindRequestDto();
dto.setOrderKey(reminderVo.getOid()); dto.setOrderKey(reminderVo.getOid());
dto.setStoreId(orderBean.getShopId()); dto.setStoreId(orderBean.getShopId());
dto.setDeliveryChannel("CanDao"); dto.setDeliveryChannel("CanDao");
dto.setDisplayOrderId(orderBean.getDownstreamThirdOrderCode()); dto.setDisplayOrderId(orderBean.getDownstreamThirdOrderCode());
if (orderBean.getAddInfo() != null){ if (orderBean.getAddInfo() != null) {
dto.setDeliveryId(orderBean.getAddInfo().getDeliveryId()); dto.setDeliveryId(orderBean.getAddInfo().getDeliveryId());
} }
QueryDeliveryAmountResponseDto responseDto = deliveryFeiginClient.orderRemind(dto); QueryDeliveryAmountResponseDto responseDto = deliveryFeiginClient.orderRemind(dto);
if(null != responseDto && 120 == responseDto.getCode()) { if (null != responseDto && 120 == responseDto.getCode()) {
return ResponseUtil.error("120", responseDto.getMsg()); return ResponseUtil.error("120", responseDto.getMsg());
} }
if(responseDto == null || RESPONSE_SUCCESS_CODE != responseDto.getCode()) { if (responseDto == null || RESPONSE_SUCCESS_CODE != responseDto.getCode()) {
return ResponseUtil.error(ResponseResult.DELIVERY_REMINDER_ERROR); return ResponseUtil.error(ResponseResult.DELIVERY_REMINDER_ERROR);
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -3143,6 +3190,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3143,6 +3190,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 查询骑手位置 * 查询骑手位置
*
* @param vo * @param vo
* @return * @return
*/ */
...@@ -3152,23 +3200,23 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3152,23 +3200,23 @@ public class OrderServiceImpl implements Orderservice {
if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) { if (userLoginInfoDto == null || StringUtils.isBlank(userLoginInfoDto.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN); return ResponseUtil.error(ResponseResult.NOT_LOGIN);
} }
QueryLocusRiderTrackDto dto =new QueryLocusRiderTrackDto(); QueryLocusRiderTrackDto dto = new QueryLocusRiderTrackDto();
dto.setDeliveryChannel("CanDao"); dto.setDeliveryChannel("CanDao");
dto.setOrderId(vo.getOid()); dto.setOrderId(vo.getOid());
MCCafeDeliveryBaseResponse<ResRiderTrackDto> responses = deliveryFeiginClient.listFreeRider(dto); MCCafeDeliveryBaseResponse<ResRiderTrackDto> responses = deliveryFeiginClient.listFreeRider(dto);
if(responses == null || RESPONSE_SUCCESS_CODE != Integer.valueOf(responses.getCode()) || responses.getData() ==null ) { if (responses == null || RESPONSE_SUCCESS_CODE != Integer.valueOf(responses.getCode()) || responses.getData() == null) {
return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR); return ResponseUtil.error(ResponseResult.DELIVERY_QUERY_RIDER_ERROR);
} }
return ResponseUtil.success(responses.getData()); return ResponseUtil.success(responses.getData());
} }
public String getMealCodeRule(String appId){ public String getMealCodeRule(String appId) {
String mealCodeRule = ""; String mealCodeRule = "";
List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = orderAdapter.cacheSelectDefaultPage(appId, "2"); List<AssortmentOpenPlatformPartnerWxappConfig> partnerWxappConfigs = orderAdapter.cacheSelectDefaultPage(appId, "2");
Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity())); Map<String, AssortmentOpenPlatformPartnerWxappConfig> configMap = partnerWxappConfigs.stream().collect(Collectors.toMap(AssortmentOpenPlatformPartnerWxappConfig::getAppKey, Function.identity()));
AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get("mealCodeRule"); AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get("mealCodeRule");
if(null != refundDeliveryFeeConfig) { if (null != refundDeliveryFeeConfig) {
mealCodeRule = refundDeliveryFeeConfig.getAppValue(); mealCodeRule = refundDeliveryFeeConfig.getAppValue();
} }
return mealCodeRule; return mealCodeRule;
...@@ -3176,6 +3224,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3176,6 +3224,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 创建混合支付 * 创建混合支付
*
* @param orderBean * @param orderBean
* @param paymentRequest * @param paymentRequest
* @param partnerPayOvertime * @param partnerPayOvertime
...@@ -3195,7 +3244,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3195,7 +3244,8 @@ public class OrderServiceImpl implements Orderservice {
, String trackingNo) { , String trackingNo) {
String ebCode = this.getPayCodeByChanel(paymentRequest.getWxAppId(), channel, storeId); String ebCode = this.getPayCodeByChanel(paymentRequest.getWxAppId(), channel, storeId);
OrderPayResponse orderPayResponse = new OrderPayResponse();; OrderPayResponse orderPayResponse = new OrderPayResponse();
;
if (StringUtils.isBlank(ebCode)) { if (StringUtils.isBlank(ebCode)) {
orderPayResponse.setMsg("渠道码没有配置"); orderPayResponse.setMsg("渠道码没有配置");
return orderPayResponse; return orderPayResponse;
...@@ -3208,22 +3258,23 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3208,22 +3258,23 @@ public class OrderServiceImpl implements Orderservice {
do { do {
try { try {
combPayResponse = comPayClient.combPay(combPayRequest, combPayRequest.getPartner_id()); combPayResponse = comPayClient.combPay(combPayRequest, combPayRequest.getPartner_id());
if (combPayResponse!=null) { if (combPayResponse != null) {
break; break;
} }
} catch (Exception exception) {} } catch (Exception exception) {
}
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.getMsg()); orderPayResponse.setMsg(combPayResponse.getMsg());
return orderPayResponse; return orderPayResponse;
} }
Integer svcAmount = 0; Integer svcAmount = 0;
Integer svcVAmount = 0; Integer svcVAmount = 0;
List<CombPayResponse.PayPlatform> payPlatforms = combPayResponse.getData().getPayPlatformResponseList(); List<CombPayResponse.PayPlatform> payPlatforms = combPayResponse.getData().getPayPlatformResponseList();
if(payPlatforms.size()==0) { if (payPlatforms.size() == 0) {
orderPayResponse.setMsg("混合支付:生成预支付失败"); orderPayResponse.setMsg("混合支付:生成预支付失败");
return orderPayResponse; return orderPayResponse;
} }
...@@ -3234,21 +3285,21 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3234,21 +3285,21 @@ 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());
orderPayResponse.setOrderId(orderBean.getOid()); orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(orderPayResponse.getPayMode()); orderPayResponse.setPayMode(orderPayResponse.getPayMode());
//隐射关系 //隐射关系
redisCache.save(RedisUtil.getPaymentTransIdOrderKey(cashPay.getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdOrderKey(cashPay.getTransId()), orderBean.getOid(), 1L, TimeUnit.DAYS);
//加入轮训队列 //加入轮训队列
putDelMq(orderBean.getCompanyId(),storeId, orderPayResponse.getFmId(), orderBean.getOid(), PayChannelType.getByEbcode(cashPay.getEbCode()).getIndex().intValue()); putDelMq(orderBean.getCompanyId(), storeId, orderPayResponse.getFmId(), orderBean.getOid(), PayChannelType.getByEbcode(cashPay.getEbCode()).getIndex().intValue());
return orderPayResponse; return orderPayResponse;
} }
//单svc //单svc
else{ else {
CombPayResponse.PayPlatform svcPay = payPlatforms CombPayResponse.PayPlatform svcPay = payPlatforms
.stream() .stream()
.filter(f -> PayChannelType.SVC.getEbcode().equals(f.getEbCode())).findFirst() .filter(f -> PayChannelType.SVC.getEbcode().equals(f.getEbCode())).findFirst()
...@@ -3280,12 +3331,13 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3280,12 +3331,13 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 通过payCode ->clientCode * 通过payCode ->clientCode
*
* @param wxAppid * @param wxAppid
* @param channel * @param channel
* @param storeId * @param storeId
* @return * @return
*/ */
private String getPayCodeByChanel(String wxAppid,String channel,String storeId) { private String getPayCodeByChanel(String wxAppid, String channel, String storeId) {
if (StringUtils.isBlank(channel)) return ""; if (StringUtils.isBlank(channel)) return "";
PayChannelType byIndex = PayChannelType.getByIndex(Byte.parseByte(channel)); PayChannelType byIndex = PayChannelType.getByIndex(Byte.parseByte(channel));
...@@ -3293,7 +3345,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3293,7 +3345,7 @@ public class OrderServiceImpl implements Orderservice {
AssortmentOpenPlatformIappWxappStore wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(wxAppid AssortmentOpenPlatformIappWxappStore wxAppStore = assortmentOpenPlatformIappWxappStoreManager.selectWxappStoreByWxAppIdAndStoreId(wxAppid
, storeId , storeId
, byIndex.getEbcode()); , byIndex.getEbcode());
if (wxAppStore!=null && StringUtils.isNotBlank(wxAppStore.getClientCode())) { if (wxAppStore != null && StringUtils.isNotBlank(wxAppStore.getClientCode())) {
return wxAppStore.getClientCode(); return wxAppStore.getClientCode();
} }
return ""; return "";
...@@ -3302,22 +3354,23 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3302,22 +3354,23 @@ public class OrderServiceImpl implements Orderservice {
public String cannelComPayOrder(ConfirmOrderDto confirmOrderDto, QueryOrdersResponseDto.DataBean.OrderBean orderBean) { public String cannelComPayOrder(ConfirmOrderDto confirmOrderDto, QueryOrdersResponseDto.DataBean.OrderBean orderBean) {
//失败冲正库存,冲正活动库存,取消订单 //失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(confirmOrderDto.getOrderId(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(confirmOrderDto.getOrderId(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL,"混合支付SVC卡支付失败", LogTreadLocal.getTrackingNo(), null); AfterSalesType.SYSTEM_CANCEL, "混合支付SVC卡支付失败", LogTreadLocal.getTrackingNo(), null);
//BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest); //BaseOrderResponse request = orderCenterSdkService.orderCancel(cancelOrderRequest);
BaseOrderResponse request = null; BaseOrderResponse request = null;
int i = 1; int i = 1;
do { do {
try { try {
request = orderCenterSdkService.orderCancel(cancelOrderRequest); request = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (request!=request) { if (request != request) {
break; break;
} }
} catch (Exception e) {} } catch (Exception e) {
}
i++; i++;
}while (i<4); } while (i < 4);
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
if(ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) { if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) {
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return this.newSendPaySuccessNoticeMessage(); return this.newSendPaySuccessNoticeMessage();
} else { } else {
......
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ecology.SubscribeMessageRequest;
import cn.freemud.entities.dto.ecology.SubscribeMessageResponse;
import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse; import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse;
import cn.freemud.entities.dto.ecology.VirtualStoreRequest; import cn.freemud.entities.dto.ecology.VirtualStoreRequest;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto; import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
...@@ -28,4 +30,7 @@ public interface EcologyAdminApplicationClient { ...@@ -28,4 +30,7 @@ public interface EcologyAdminApplicationClient {
@PostMapping(value = "/ecology/api/getAuthorizerAccessToken") @PostMapping(value = "/ecology/api/getAuthorizerAccessToken")
GetTokenResponseDto getAuthorizerAccessToken(@RequestBody GetAuthorizerRequestDto request); GetTokenResponseDto getAuthorizerAccessToken(@RequestBody GetAuthorizerRequestDto request);
@PostMapping(value = "/ecology/api/subscribeMessage/send")
SubscribeMessageResponse subscribeMessage(SubscribeMessageRequest request);
} }
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