Commit f267f076 by zhiheng.zhang

Merge branch 'feature/20210414-华莱士需求-张志恒' into develop

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
parents dbf6cf99 a4f7dc76
......@@ -185,9 +185,17 @@ public class OrderAdapter {
if (shoppingCartGoodsDto.getIsDiscountDelivery() && deliveryAmount > shoppingCartGoodsDto.getDiscountDeliveryAmount()) {
discountDeliveryAmount = shoppingCartGoodsDto.getDiscountDeliveryAmount();
}
}else if( createOrderVo.getMenuType().equals(BusinessTypeEnum.SAAS_MALL.getCode())){
deliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 0 : shoppingCartGoodsDto.getDeliveryAmount();
discountDeliveryAmount = shoppingCartGoodsDto.getDeliveryAmount() == null ? 0 : shoppingCartGoodsDto.getDeliveryAmount();
}
Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount();
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + discountDeliveryAmount + packageAmount);
//商城实付无需加上配送费用和包装费
if( createOrderVo.getMenuType().equals(BusinessTypeEnum.SAAS_MALL.getCode())) {
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount());
}else{
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + discountDeliveryAmount + packageAmount);
}
// 解析购物车信息
List<ShoppingCartGoodsDto.CartGoodsDetailDto> cartGoodsDetailDtos = shoppingCartGoodsDto.getProducts();
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
......@@ -1317,9 +1325,10 @@ public class OrderAdapter {
if (IappIdType.WC_XCX.getCode().equals(iAppId)) {
responseVo.setOrderTypeDesc("围餐");
responseVo.setOrderTypeDescEn("Round the table");
}else {
responseVo.setOrderTypeDesc(Optional.ofNullable(OrderTypeGather.getByCode(ordersBean.getType()))
.map(OrderTypeGather::getDesc).orElse(""));
}else if(OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(ordersBean.getOrderClient())){
responseVo.setOrderTypeDesc("商城订单");
} else{
responseVo.setOrderTypeDesc(Optional.ofNullable(OrderTypeGather.getByCode(ordersBean.getType())) .map(OrderTypeGather::getDesc).orElse(""));
}
responseVo.setOrderRemark(ordersBean.getRemark());
if (ordersBean.getGmtModified() != null) {
......@@ -1935,65 +1944,61 @@ public class OrderAdapter {
}
}
}
/**由于下方部分状态描述未找到枚举类,直接赋值英文字段**/
if (refundBean != null && RefundStatus.AGREE_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.CALCEL.getCode());
orderViewStatusDto.setOrderStatusDesc(PayStatus.HAVE_REFUND.getDesc());
orderViewStatusDto.setOrderStatusDescEn(PayStatus.HAVE_REFUND.getDescEn());
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
if (refundBean != null && RefundStatus.ALREADY_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.CALCEL.getCode());
orderViewStatusDto.setOrderStatusDesc("退款中");
orderViewStatusDto.setOrderStatusDescEn("Refund in progress");
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("正在退款中,请稍等");
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatus.REFUSE.getCode().equals(orderBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.REFUSE.getCode());
orderViewStatusDto.setOrderStatusDesc(PayStatus.HAVE_REFUND.getDesc());
orderViewStatusDto.setOrderStatusDescEn(PayStatus.HAVE_REFUND.getDescEn());
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
if (PayStatus.HAVE_REFUND.getCode().equals(orderBean.getPayStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.REFUSE.getCode());
orderViewStatusDto.setOrderStatusDesc(PayStatus.HAVE_REFUND.getDesc());
orderViewStatusDto.setOrderStatusDescEn(PayStatus.HAVE_REFUND.getDescEn());
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
// TODO: 2019/9/9 获取商户退款配置
if (refundBean != null && refundBean.getStatus() != null) {
orderViewStatusDto.setButtonRefund(false);
orderViewStatusDto.setRefundStatusText("商家会处理退款申请,请稍后");
} else {
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
if (! OrderClientType.SAASMALL.getIndex().toString().equalsIgnoreCase(orderBean.getOrderClient())) {
if (refundBean != null && RefundStatus.AGREE_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.CALCEL.getCode());
orderViewStatusDto.setOrderStatusDesc("已退款");
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
orderViewStatusDto.setOrderStatus(OrderStatus.COMPLETE.getCode());
orderViewStatusDto.setOrderStatusDesc(OrderStatus.COMPLETE.getDesc());
orderViewStatusDto.setOrderStatusDescEn(OrderStatus.COMPLETE.getDescEn());
orderViewStatusDto.setOrderStatusDescText("订单已完成,记得来评价一下哦~");
orderViewStatusDto.setButtonContactPartner(true);
orderViewStatusDto.setButtonEvaluate(true);
if (OrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
if (orderBean.getDeliverStatus() == null) {
orderViewStatusDto.setRiderName("商家自配送");
orderViewStatusDto.setRiderText("配送员已配送完");
orderViewStatusDto.setRiderPhoto(orderBean.getRiderPhoto());
if (refundBean != null && RefundStatus.ALREADY_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.CALCEL.getCode());
orderViewStatusDto.setOrderStatusDesc("退款中");
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("正在退款中,请稍等");
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatus.REFUSE.getCode().equals(orderBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.REFUSE.getCode());
orderViewStatusDto.setOrderStatusDesc("已退款");
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
if (PayStatus.HAVE_REFUND.getCode().equals(orderBean.getPayStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatus.REFUSE.getCode());
orderViewStatusDto.setOrderStatusDesc("已退款");
orderViewStatusDto.setOrderStatusDescText("感谢您对我们的信任,期待再次光临~");
orderViewStatusDto.setRefundStatusText("订单金额已原路退还,请及时查看~");
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
// TODO: 2019/9/9 获取商户退款配置
if (refundBean != null && refundBean.getStatus() != null) {
orderViewStatusDto.setButtonRefund(false);
orderViewStatusDto.setRefundStatusText("商家会处理退款申请,请稍后");
} else {
//TODO 如果是第三方配送,设置骑手信息
orderViewStatusDto.setRiderName(StringUtils.isEmpty(orderBean.getRiderName()) ? "商家自配送" : orderBean.getRiderName());
orderViewStatusDto.setRiderText(StringUtils.isEmpty(orderBean.getRiderName()) ? "配送员已配送完" : "配送员");
orderViewStatusDto.setRiderPhoto(orderBean.getRiderPhoto());
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
}
orderViewStatusDto.setOrderStatus(OrderStatus.COMPLETE.getCode());
orderViewStatusDto.setOrderStatusDesc("已完成");
orderViewStatusDto.setOrderStatusDescText("订单已完成,记得来评价一下哦~");
orderViewStatusDto.setButtonContactPartner(true);
orderViewStatusDto.setButtonEvaluate(true);
if (OrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
if (orderBean.getDeliverStatus() == null) {
orderViewStatusDto.setRiderName("商家自配送");
orderViewStatusDto.setRiderText("配送员已配送完");
orderViewStatusDto.setRiderPhoto(orderBean.getRiderPhoto());
} else {
//TODO 如果是第三方配送,设置骑手信息
orderViewStatusDto.setRiderName(StringUtils.isEmpty(orderBean.getRiderName()) ? "商家自配送" : orderBean.getRiderName());
orderViewStatusDto.setRiderText(StringUtils.isEmpty(orderBean.getRiderName()) ? "配送员已配送完" : "配送员");
orderViewStatusDto.setRiderPhoto(orderBean.getRiderPhoto());
}
}
}
}
......
......@@ -58,10 +58,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesStatus;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
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.*;
import com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq;
......@@ -381,6 +378,10 @@ public class MallOrderServiceImpl implements MallOrderService {
orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(PayChannelType.WECHAT.getEbcode());
if (orderPayResponse.getPayOrder() != null && StringUtils.isNotBlank(orderPayResponse.getPayOrder().getAliPayOrder())) {
orderPayResponse.setPayMode(PayChannelType.ALIPAY.getEbcode());
}
return orderPayResponse;
} catch (Exception e) {
LogUtil.error("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest));
......@@ -408,6 +409,11 @@ public class MallOrderServiceImpl implements MallOrderService {
JSONObject.toJSONString(orderExtInfo));
orderEditRequest.setOrderId(orderBean.getOid());
orderEditRequest.setTrackingNo(trackingNo);
if (orderPayResponse.getPayMode() != null) {
orderEditRequest.setPayChannel(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getEbcode());
orderEditRequest.setPayChannelName(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getName());
orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex());
}
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderEdit(orderEditRequest);
if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS, baseOrderResponse.getErrcode())) {
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
......@@ -1033,9 +1039,9 @@ public class MallOrderServiceImpl implements MallOrderService {
request.setOrderState(NewOrderStatus.COMPLETE.getIndex());
request.setOperator(baseQueryOrderRequest.getOperator());
request.setRemark("已完成");
com.freemud.application.sdk.api.ordercenter.response.BaseResponse orderCenterResponse = orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo());
result.setCode(orderCenterResponse.getCode());
result.setMessage(orderCenterResponse.getMessage());
orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo());
orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo());
return ResponseUtil.success();
}catch (Exception e){
result.setCode(ResponseResult.ORDER_RECEIVE_ERR.getCode());
result.setMessage(ResponseResult.ORDER_RECEIVE_ERR.getMessage());
......
......@@ -2260,9 +2260,7 @@ public class OrderServiceImpl implements Orderservice {
LogUtil.info("queryFreightRefundSupportedResponse of oid:{}, {}, {}", orderBean.getOid(), orderBean.getStatus(), (null != queryFreightRefundSupportedResponse ? ToStringBuilder.reflectionToString(queryFreightRefundSupportedResponse) : null));
if(null != queryFreightRefundSupportedResponse && RESPONSE_SUCCESS_CODE == queryFreightRefundSupportedResponse.getCode()){
Boolean freightRefundSupported = queryFreightRefundSupportedResponse.getData();
if(null == freightRefundSupported || !freightRefundSupported){
isRefundDeliveryFee = false;
}
isRefundDeliveryFee = freightRefundSupported;
}
}
}else {
......
......@@ -249,6 +249,10 @@ public class InterfaceAddressConstant {
* 查询当前门店24小时内的订单
*/
public static final String QUERY_LINEUP_ORDER = "order/v2/queryLineUpOrder";
/**
* 手动完成进行中的流程
*/
public static final String COMPLETE_BOOKING_TASK = "/task/v2/completeBookingTask";
/**
* 查询 指定日期对应 商户号 的订单汇总数据
......
......@@ -963,4 +963,14 @@ public class OrderSdkService {
});
return responseHandle(responseDTO);
}
/**
* 手动完成进行中的流程
*/
public BaseResponse completeBookingTask(OrderChangeStateReq request, String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, InterfaceAddressConstant.COMPLETE_BOOKING_TASK,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
}
......@@ -3,7 +3,8 @@ package cn.freemud.enums;
public enum ActivityChannelEnum {
// pickup-到店取餐 deliver-外卖
pickup("pickup", "到店取餐"),
delivery("delivery", "外卖");
delivery("delivery", "外卖"),
saasmall("saasmall", "外卖");
private String code;
......
......@@ -3,7 +3,8 @@ package cn.freemud.enums;
public enum CouponRedeemChannel {
PICKUP("saas","pickup"),
DELIVERY("saasdelivery","delivery");
DELIVERY("saasdelivery","delivery"),
SAASMALL("saasmall","saasmall");
String type;
String channel;
CouponRedeemChannel(String type,String channel) {
......
......@@ -15,7 +15,8 @@ package cn.freemud.enums;
public enum CreateOrderType {
TAKE_OUT(2, "外卖"),
COLLECT_GOODS(1, "到店");
COLLECT_GOODS(1, "到店"),
SAASMALL(3, "商城");
private Integer code;
private String desc;
......
......@@ -514,7 +514,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
UserLoginInfoDto userLoginInfoDto = convert2UserLoginInfoDto(assortmentCustomerInfoVo);
String userId = userLoginInfoDto.getMemberId();
String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String appId = shoppingCartInfoRequestVo.getAppId();
String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String storeId = shoppingCartInfoRequestVo.getShopId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode();
......
......@@ -101,9 +101,9 @@ public class CalculationSharingCartService {
* 积分抵扣
*/
scoreSharingService.scoreResponse(discountResult, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}else{
}else if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
}
......
......@@ -138,9 +138,10 @@ public class CalculationSharingEquallyService {
scoreSharingService.scoreResponse(discountResult, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
scoreSharingService.equally(shoppingCartGoodsResponseVo, shoppingCartGoodsDto);
calculationCommonService.getNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsDto);
if (BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && null !=shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}else{
}else if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
}
......
......@@ -13,7 +13,9 @@ public class PropertyConvertUtil {
return ActivityChannelEnum.delivery;
} else if (Objects.equals(CreateOrderType.COLLECT_GOODS.getCode(), orderType)) {
return ActivityChannelEnum.pickup;
} else {
} else if (Objects.equals(CreateOrderType.SAASMALL.getCode(), orderType)) {
return ActivityChannelEnum.saasmall;
}else {
return ActivityChannelEnum.pickup;
}
}
......
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