Commit 21240a37 by ping.wu

Merge remote-tracking branch 'origin/qa' into qa

parents dc8ea0f9 0e3324aa
......@@ -32,10 +32,7 @@ import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.enums.PayType;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.*;
import com.freemud.application.sdk.api.ordercenter.util.LogUtil;
import com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest;
import com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService;
......@@ -391,8 +388,8 @@ public class OrderCallBackMQService {
if (Objects.isNull(body) || StringUtils.isEmpty(body.getContent())) {
return;
}
// 正常变化 订单正向操作
if (body.getOperateType() == 1 && "1".equals(body.getMsgType())) {
// 订单所有状态正常变化通知
if ("1".equals(body.getMsgType())) {
Header header = new Header(MQAction.UPDATE.getAction(), "call-back-service-api",
OrderCallBackConfig.ORDER_STATUS_PROCESS_CENTER_QUEUE_ROUTING_KEY, OrderCallBackConfig.ORDER_STATUS_PROCESS_CENTER_QUEUE);
MQMessage<OrderCallBackRequestVo> message = new MQMessage<>(header, body);
......
......@@ -43,6 +43,15 @@ public class ExposureOrderController {
}
/**
* 生成取餐码
*/
@ApiAnnotation(logMessage = "生成取餐码")
@PostMapping("/genTakeCode")
public BaseResponse<String> genTakeCode(@Validated @LogParams @RequestBody GenTakeCodeRequest req) {
return ResponseUtil.success(exposureOrderService.genTakeCode(req.getPartnerId(), req.getStoreCode(), req.getOrderType(), req.getOrderClient()));
}
/**
* 创建订单,死信队列
*/
@ApiAnnotation(logMessage = "创建订单,死信队列")
......@@ -54,7 +63,7 @@ public class ExposureOrderController {
}
@ApiAnnotation(logMessage = "获取超时时间, 生成取餐码")
@ApiAnnotation(logMessage = "获取超时时间, 生成取餐码 废弃")
@PostMapping("/getPaySuccessDataV2")
public BaseResponse<PaySuccessDataVo> getPaySuccessDataV2(@Validated @LogParams @RequestBody GetPaySuccessDataV2Request request) {
return ResponseUtil.success(exposureOrderService.getPaySuccessDataV2(request));
......@@ -67,7 +76,6 @@ public class ExposureOrderController {
@ApiAnnotation(logMessage = "发送支付成功模板消息")
@PostMapping("/sendPayTemplateMessage")
public BaseResponse sendPayTemplateMessage(@Validated @LogParams @RequestBody SendPaySuccessMessageVo sendPaySuccessMessageVo) {
orderService.sendMessageByNewApp(sendPaySuccessMessageVo);
return ResponseUtil.success();
}
......
package cn.freemud.entities.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author Clover.z
* @version 1.0.0
* @since 1.0.0
*/
@Data
public class GenTakeCodeRequest {
@ApiModelProperty(value = "商户号", required = true)
@NotBlank
private String partnerId;
@ApiModelProperty(value = "门店号", required = true)
@NotBlank
private String storeCode;
@ApiModelProperty(value = "订单类型", required = true)
@NotNull
private Integer orderType;
@ApiModelProperty(value = "订单渠道", required = true)
@NotNull
private Integer orderClient;
}
......@@ -12,14 +12,4 @@ public class GetPaySuccessDataV2Request {
private String partnerId;
private String storeId;
/**
* 订单业务类型 1:普通订单 2:虚拟订单
*/
private Integer bizType;
/**
* 订单特殊类型
*/
private Integer marketingType;
}
package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.GetMallPayConfigVo;
import cn.freemud.entities.vo.GetPayCodeVo;
import cn.freemud.entities.vo.GetPayConfigVo;
import cn.freemud.entities.vo.GetPaySuccessDataV2Request;
import cn.freemud.entities.vo.order.PayConfigVo;
import cn.freemud.entities.vo.order.PaySuccessDataVo;
import cn.freemud.entities.vo.order.QueryByKeysReq;
import cn.freemud.entities.vo.order.QueryByKeysResp;
import cn.freemud.enums.AggregationTypeEnum;
import cn.freemud.enums.OrderTackCodeFactory;
import cn.freemud.enums.TakeCodeOrderType;
import cn.freemud.manager.OrderTackCodeManager;
import cn.freemud.service.business.impl.OrderBusinessServiceImpl;
import cn.freemud.service.impl.PayServiceImpl;
import cn.freemud.service.thirdparty.OrderServiceClient;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformIappWxappStore;
import com.freemud.application.sdk.api.ordercenter.adapter.OrderCenterSdkAdapter;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Objects;
/**
* @author Clover.z
* @version 1.0.0
......@@ -38,8 +28,7 @@ public class ExposureOrderService {
private final PayServiceImpl payService;
private final OrderTackCodeManager orderTackCodeManager;
private final OrderCenterSdkAdapter orderCenterSdkAdapter;
private final OrderServiceClient orderServiceClient;
private final OrderBusinessServiceImpl orderBusinessService;
public PayConfigVo getPayConfig(GetPayConfigVo req) {
PayConfigVo vo = new PayConfigVo();
......@@ -48,6 +37,23 @@ public class ExposureOrderService {
return vo;
}
/**
* 生成取餐码
* @param partnerId 商户号
* @param storeCode 门店号
* @param orderType 订单类型 {@link com.freemud.application.sdk.api.ordercenter.enums.OrderType}
* @param orderClient 订单渠道 {@link com.freemud.application.sdk.api.ordercenter.enums.OrderClientType}
* @return 取餐码
*/
public String genTakeCode(String partnerId, String storeCode, Integer orderType, Integer orderClient) {
Integer type = TakeCodeOrderType.getTakeCodeOrderType(orderType);
return orderTackCodeManager.generateTackCode(type,
partnerId,
storeCode,
null,
OrderTackCodeFactory.getByOrderClient(orderClient.toString()).getGenerateTackCodeFunc());
}
/**
* 获取超时时间, 生成取餐码
......@@ -61,31 +67,9 @@ public class ExposureOrderService {
reqVo.getStoreId(),
null,
OrderTackCodeFactory.getByOrderClient(reqVo.getOrderClient()).getGenerateTackCodeFunc());
int timeout = 0;
//查询待支付订单时效配置
BaseResponse<List<QueryByKeysResp>> listBaseResponse = orderServiceClient.queryByKeys(new QueryByKeysReq(reqVo.getPartnerId()));
if (listBaseResponse == null || !Objects.equals("100", listBaseResponse.getCode())) {
timeout = 30;
}
Integer v1Type = orderCenterSdkAdapter.getOldOrderType(reqVo.getOrderType());
for(QueryByKeysResp resp : listBaseResponse.getResult()){
// 外卖订单
if (Objects.equals(v1Type, OrderTypeV1.TAKE_OUT.getCode()) && Objects.equals("UNPAID_TIMEOUT_CLOSE_TIME_WMXF",resp.getConfigName())) {
timeout = Integer.parseInt(resp.getConfigValue());
}else if(Objects.equals(reqVo.getBizType(), BizTypeEnum.ORDINARY.getBizType()) && (Objects.equals(reqVo.getMarketingType(), MarketTypeEnum.ORDER.getIndex()) || Objects.equals(reqVo.getMarketingType(), MarketTypeEnum.CASHIER.getIndex()) )
&& Objects.equals("UNPAID_TIMEOUT_CLOSE_TIME_TSXF",resp.getConfigName())){
//堂食先付
timeout = Integer.parseInt(resp.getConfigValue());
}else if(Objects.equals(reqVo.getBizType(), BizTypeEnum.ORDINARY.getBizType()) && Objects.equals(reqVo.getMarketingType(), MarketTypeEnum.POST_ORDER.getIndex())
&& Objects.equals("UNPAID_TIMEOUT_CLOSE_TIME_TSHF",resp.getConfigName())){
//堂食后付
timeout = Integer.parseInt(resp.getConfigValue());
}
}
PaySuccessDataVo vo = new PaySuccessDataVo();
vo.setTakeCode(takeCode);
vo.setTimeout(timeout);
vo.setTimeout(orderBusinessService.getPaySuccessTimeout(reqVo.getPartnerId(), reqVo.getStoreId(), reqVo.getOrderType()));
return vo;
}
......
......@@ -60,7 +60,7 @@ public class EvaluationServiceImpl implements EvaluationService {
try {
QueryByCodeResponse orderDetailResponse = orderSdkService.getOrderInfo("", request.getOrderId(), "", null, LogThreadLocal.getTrackingNo(),request.getPartnerId());
if (orderDetailResponse == null || !ResponseResult.SUCCESS.getCode().equals(orderDetailResponse.getCode() + "") || orderDetailResponse.getResult() == null) {
return ResponseUtil.success(ResponseResult.ORDER_NOT_EXIST);
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
OrderInfoReqs orderInfo = orderDetailResponse.getResult();
......
......@@ -64,7 +64,6 @@ import cn.freemud.management.entities.dto.response.pay.PayRefundResponse;
import cn.freemud.management.enums.AfterSalesRefunStateEnum;
import cn.freemud.management.enums.SettlementTypeEnum;
import cn.freemud.management.intercept.OrderServiceException;
import cn.freemud.management.service.adapter.OrderManagerAdapter;
import cn.freemud.management.service.handle.OrderVerifyHandle;
import cn.freemud.management.service.handle.PaymentHandle;
import cn.freemud.management.service.handle.StockHandle;
......@@ -89,7 +88,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import com.freemud.application.sdk.api.constant.ResponseConstant;
......@@ -421,8 +419,6 @@ public class OrderServiceImpl implements Orderservice {
String storeAddress = StringUtils.isNotBlank(orderBean.getAddress()) ? orderBean.getAddress() : "";
orderBean.setAddress(storeAddress);
orderBean.setOtherCode(takeCode);
//发送支付成功模板消息
this.sendPaySuccessMessage(orderBean);
}
// 有云打印机 打印小票,杯贴
try {
......@@ -1974,43 +1970,6 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 发送支付成功模板消息
*
* @param orderBean
*/
private void sendPaySuccessMessage(OrderBeanV1 orderBean) {
Long gmtExpect = orderBean.getGmtExpect();
if (gmtExpect != null) {
// 预约下单
this.sendMessage(orderBean, MessageEventType.PAYORDEREXPECT);
} else {
// 非预约下单
this.sendMessage(orderBean, MessageEventType.PAYORDER);
}
}
/**
* 发送模板消息
*
* @param orderBean
* @param messageEventType
*/
private void sendMessage(OrderBeanV1 orderBean, MessageEventType messageEventType) {
MessageTemplateRequest<MessagePushOrderTemplateRequest> messageTemplateRequest = null;
try {
messageTemplateRequest = messageNoticeAdapter.convent2MessageTemplateRequest(orderBean);
messageTemplateRequest.setMessageEventType(messageEventType);
com.freemud.application.sdk.api.base.BaseResponse baseResponse = this.messageTemplatePushService.sendTemplateMsg(messageTemplateRequest);
if (!Objects.equals(baseResponse.getCode(), ResponseResultEnum.SUCCESS.getCode())) {
AppLogUtil.printLog("发送支付成功模板消息 失败", orderBean.getOid(), JSON.toJSONString(baseResponse));
}
} catch (Exception e) {
AppLogUtil.errorLog("sendTemplateMsg_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(messageTemplateRequest), e);
}
}
/**
* 获取商品第三方商品编号
*
* @param createOrderDto
......@@ -3356,28 +3315,4 @@ public class OrderServiceImpl implements Orderservice {
}
return ResponseUtil.success(userLoginInfoDto);
}
/**
* 发送支付成功模板消息
*/
public void sendMessageByNewApp(SendPaySuccessMessageVo sendPaySuccessMessageVo) {
OrderBeanV1 orderBean = new OrderBeanV1();
orderBean.setCompanyId(sendPaySuccessMessageVo.getPartnerId());
orderBean.setAddress(sendPaySuccessMessageVo.getAddress());
orderBean.setDaySeq(sendPaySuccessMessageVo.getDaySeq());
orderBean.setGmtExpect(sendPaySuccessMessageVo.getGmtExpect());
orderBean.setShopName(sendPaySuccessMessageVo.getStoreName());
orderBean.setGmtCreate(sendPaySuccessMessageVo.getGmtCreate());
orderBean.setOid(sendPaySuccessMessageVo.getOrderCode());
orderBean.setOrderType(sendPaySuccessMessageVo.getOrderType());
orderBean.setOtherCode(sendPaySuccessMessageVo.getOtherCode());
orderBean.setAmount(sendPaySuccessMessageVo.getAmount());
OrderExtInfoDto extInfoDto = JSON.parseObject(sendPaySuccessMessageVo.getExtInfo(), OrderExtInfoDto.class);
extInfoDto.setAppid(extInfoDto.getAppid());
extInfoDto.setOpenid(extInfoDto.getOpenid());
extInfoDto.setPrepayId(extInfoDto.getPrepayId());
orderBean.setExtInfo(JSON.toJSONString(extInfoDto));
this.sendPaySuccessMessage(orderBean);
}
}
......@@ -66,23 +66,21 @@ public class OrderBaseService {
ErrorLog.printErrorLog("sendMessageCenterError", "", pushMessageNoticeDto1, e);
}
//发送微信模板消息
if (orderBean.getExtInfo() != null && !(OrderSourceV1.SAAS.getCode().equals(orderBean.getSource()) || OrderSourceV1.ALIPAY.getCode().equals(orderBean.getSource()))) {
return;
}
MessageTemplateRequest<MessagePushOrderTemplateRequest> messageTemplateRequest = null;
try {
messageTemplateRequest = messagePushAdapter.convent2MessageTemplateRequest(orderBean, reason, opType);
if (messageTemplateRequest != null && messageTemplateRequest.getMessageEventType() != null) {
BaseResponse baseResponse = messageTemplatePushService.sendTemplateMsg(messageTemplateRequest);
if (baseResponse != null && !ResponseResultEnum.SUCCESS.getCode().equals(baseResponse.getCode())) {
ApiLog.printLog("sendTemplateMsg", orderBean.getOid(), JSONObject.toJSONString(baseResponse), null);
}
}
} catch (Exception e) {
ErrorLog.printErrorLog("sendTemplateMsgError", "", messageTemplateRequest, e);
}
//if (orderBean.getExtInfo() != null && !(OrderSourceV1.SAAS.getCode().equals(orderBean.getSource()) || OrderSourceV1.ALIPAY.getCode().equals(orderBean.getSource()))) {
// return;
//}
//MessageTemplateRequest<MessagePushOrderTemplateRequest> messageTemplateRequest = null;
//try {
// messageTemplateRequest = messagePushAdapter.convent2MessageTemplateRequest(orderBean, reason, opType);
// if (messageTemplateRequest != null && messageTemplateRequest.getMessageEventType() != null) {
// BaseResponse baseResponse = messageTemplatePushService.sendTemplateMsg(messageTemplateRequest);
// if (baseResponse != null && !ResponseResultEnum.SUCCESS.getCode().equals(baseResponse.getCode())) {
// ApiLog.printLog("sendTemplateMsg", orderBean.getOid(), JSONObject.toJSONString(baseResponse), null);
// }
// }
//} catch (Exception e) {
// ErrorLog.printErrorLog("sendTemplateMsgError", "", messageTemplateRequest, e);
//}
}
/**
......
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