Commit b85cd577 by zhiheng.zhang

Merge branch 'feature/20210414-华莱士需求-张志恒' into feature/20210420-华莱士公用分支-张志恒

# Conflicts:
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderExtInfoDto.java
parents 2ced64e9 a4f7dc76
package cn.freemud.entities.dto.delivery;
import lombok.Data;
/**
* @author zhiheng.zhang
* @title: QueryFreightRefundSupportedResponse
* @projectName order-group
* @description: TODO
* @date 2021/4/20上午11:04
*/
@Data
public class QueryFreightRefundSupportedResponse {
private Integer code;
private String msg;
private Boolean data;
}
package cn.freemud.entities.dto.delivery;
import lombok.Data;
@Data
public class QueryFreightRefundSupportedVo {
/**
* 商户号
*/
private String partnerId;
/**
* 区域编号
*/
private String province;
}
...@@ -444,7 +444,7 @@ public class CreateOrderVo { ...@@ -444,7 +444,7 @@ public class CreateOrderVo {
private int buyType = 0; private int buyType = 0;
/** /**
* 使用户省份 * 使用户省份code 100010 这是微信选择地址传过来的,用户查询配送费用的, 并不是北京市这种给是
*/ */
private String province; private String province;
} }
...@@ -57,12 +57,8 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; ...@@ -57,12 +57,8 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog; import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog; 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.*;
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.request.OrderChangeStateReq; 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.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.POSOrderOperationBaseReq; import com.freemud.application.sdk.api.ordercenter.request.POSOrderOperationBaseReq;
...@@ -264,6 +260,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -264,6 +260,7 @@ public class MallOrderServiceImpl implements MallOrderService {
orderExtInfoDto.setAppid(userLoginInfoDto.getWxAppId()); orderExtInfoDto.setAppid(userLoginInfoDto.getWxAppId());
orderExtInfoDto.setSessionId(sessionId); orderExtInfoDto.setSessionId(sessionId);
orderExtInfoDto.setVersion(version); orderExtInfoDto.setVersion(version);
orderExtInfoDto.setProvince(createOrderVo.getProvince());
return orderExtInfoDto; return orderExtInfoDto;
} }
...@@ -375,6 +372,10 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -375,6 +372,10 @@ public class MallOrderServiceImpl implements MallOrderService {
orderPayResponse.setOpenId(paymentRequest.getOpenId()); orderPayResponse.setOpenId(paymentRequest.getOpenId());
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid()); 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; return orderPayResponse;
} catch (Exception e) { } catch (Exception e) {
LogUtil.error("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest)); LogUtil.error("getPreOrderPay_error", JSONObject.toJSONString(orderBean), JSONObject.toJSONString(paymentRequest));
...@@ -402,6 +403,11 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -402,6 +403,11 @@ public class MallOrderServiceImpl implements MallOrderService {
JSONObject.toJSONString(orderExtInfo)); JSONObject.toJSONString(orderExtInfo));
orderEditRequest.setOrderId(orderBean.getOid()); orderEditRequest.setOrderId(orderBean.getOid());
orderEditRequest.setTrackingNo(trackingNo); 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); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderEdit(orderEditRequest);
if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS, baseOrderResponse.getErrcode())) { if (!ObjectUtils.equals(ResponseCodeConstant.RESPONSE_SUCCESS, baseOrderResponse.getErrcode())) {
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
...@@ -1026,9 +1032,9 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -1026,9 +1032,9 @@ public class MallOrderServiceImpl implements MallOrderService {
request.setOrderState(NewOrderStatus.COMPLETE.getIndex()); request.setOrderState(NewOrderStatus.COMPLETE.getIndex());
request.setOperator(baseQueryOrderRequest.getOperator()); request.setOperator(baseQueryOrderRequest.getOperator());
request.setRemark("已完成"); request.setRemark("已完成");
com.freemud.application.sdk.api.ordercenter.response.BaseResponse orderCenterResponse = orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo()); orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo());
result.setCode(orderCenterResponse.getCode()); orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo());
result.setMessage(orderCenterResponse.getMessage()); return ResponseUtil.success();
}catch (Exception e){ }catch (Exception e){
result.setCode(ResponseResult.ORDER_RECEIVE_ERR.getCode()); result.setCode(ResponseResult.ORDER_RECEIVE_ERR.getCode());
result.setMessage(ResponseResult.ORDER_RECEIVE_ERR.getMessage()); result.setMessage(ResponseResult.ORDER_RECEIVE_ERR.getMessage());
......
...@@ -2217,13 +2217,31 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2217,13 +2217,31 @@ public class OrderServiceImpl implements Orderservice {
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()); //商城查询配送费
LogUtil.info("orderRefund of oid:{}, {}, {}", orderBean.getOid(), orderBean.getStatus(), (null != refundDeliveryFeeConfig ? ToStringBuilder.reflectionToString(refundDeliveryFeeConfig) : null)); if (com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && StringUtils.isNotEmpty(orderBean.getExtInfo())){
// 0、null表示 关闭 ; 1 表示开启 JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo());
if (null != refundDeliveryFeeConfig OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class);
&& Arrays.asList(OrderStatus.DISTRIBUTION.getCode(), OrderStatus.COMPLETE.getCode()).contains(orderBean.getStatus()) if(null != orderExtInfoDto && null != orderExtInfoDto.getProvince()){
&& !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) { String province = orderExtInfoDto.getProvince();
isRefundDeliveryFee = false; QueryFreightRefundSupportedVo queryFreightRefundSupportedVo = new QueryFreightRefundSupportedVo();
queryFreightRefundSupportedVo.setPartnerId(orderBean.getCompanyId());
queryFreightRefundSupportedVo.setProvince(province);
QueryFreightRefundSupportedResponse queryFreightRefundSupportedResponse = deliveryFeiginClient.isFreightRefundSupported(queryFreightRefundSupportedVo);
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();
isRefundDeliveryFee = freightRefundSupported;
}
}
}else {
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));
// 0、null表示 关闭 ; 1 表示开启
if (null != refundDeliveryFeeConfig
&& Arrays.asList(OrderStatus.DISTRIBUTION.getCode(), OrderStatus.COMPLETE.getCode()).contains(orderBean.getStatus())
&& !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) {
isRefundDeliveryFee = false;
}
} }
// 未接单 // 未接单
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) { if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
......
...@@ -33,4 +33,9 @@ public interface DeliveryFeiginClient { ...@@ -33,4 +33,9 @@ public interface DeliveryFeiginClient {
@PostMapping("/delivery/queryDeliveryTemplate") @PostMapping("/delivery/queryDeliveryTemplate")
QueryDeliveryTemplateResponse queryDeliveryTemplate(@RequestBody QueryDeliveryTemplateRequest queryDeliveryTemplateRequest); QueryDeliveryTemplateResponse queryDeliveryTemplate(@RequestBody QueryDeliveryTemplateRequest queryDeliveryTemplateRequest);
@PostMapping("/delivery/isFreightRefundSupported")
QueryFreightRefundSupportedResponse isFreightRefundSupported(@RequestBody QueryFreightRefundSupportedVo queryDeliveryTemplateVo);
} }
...@@ -249,5 +249,9 @@ public class InterfaceAddressConstant { ...@@ -249,5 +249,9 @@ public class InterfaceAddressConstant {
* 查询当前门店24小时内的订单 * 查询当前门店24小时内的订单
*/ */
public static final String QUERY_LINEUP_ORDER = "order/v2/queryLineUpOrder"; public static final String QUERY_LINEUP_ORDER = "order/v2/queryLineUpOrder";
/**
* 手动完成进行中的流程
*/
public static final String COMPLETE_BOOKING_TASK = "/task/v2/completeBookingTask";
} }
...@@ -197,12 +197,12 @@ public class OrderExtInfoDto { ...@@ -197,12 +197,12 @@ public class OrderExtInfoDto {
private String svcCardCode; private String svcCardCode;
/** /**
* 操作类型 * 自动确认收货时间
*/ */
private String autoReceiveTime; private String autoReceiveTime;
/** /**
* 城市编号 * 使用户省份code 100010 这是微信选择地址传过来的,用户查询配送费用的, 并不是北京市这种给是
*/ */
private String province; private String province;
......
...@@ -962,4 +962,14 @@ public class OrderSdkService { ...@@ -962,4 +962,14 @@ public class OrderSdkService {
return responseHandle(responseDTO); 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; ...@@ -3,7 +3,8 @@ package cn.freemud.enums;
public enum ActivityChannelEnum { public enum ActivityChannelEnum {
// pickup-到店取餐 deliver-外卖 // pickup-到店取餐 deliver-外卖
pickup("pickup", "到店取餐"), pickup("pickup", "到店取餐"),
delivery("delivery", "外卖"); delivery("delivery", "外卖"),
saasmall("saasmall", "外卖");
private String code; private String code;
......
...@@ -3,7 +3,8 @@ package cn.freemud.enums; ...@@ -3,7 +3,8 @@ package cn.freemud.enums;
public enum CouponRedeemChannel { public enum CouponRedeemChannel {
PICKUP("saas","pickup"), PICKUP("saas","pickup"),
DELIVERY("saasdelivery","delivery"); DELIVERY("saasdelivery","delivery"),
SAASMALL("saasmall","saasmall");
String type; String type;
String channel; String channel;
CouponRedeemChannel(String type,String channel) { CouponRedeemChannel(String type,String channel) {
......
...@@ -15,7 +15,8 @@ package cn.freemud.enums; ...@@ -15,7 +15,8 @@ package cn.freemud.enums;
public enum CreateOrderType { public enum CreateOrderType {
TAKE_OUT(2, "外卖"), TAKE_OUT(2, "外卖"),
COLLECT_GOODS(1, "到店"); COLLECT_GOODS(1, "到店"),
SAASMALL(3, "商城");
private Integer code; private Integer code;
private String desc; private String desc;
......
...@@ -515,7 +515,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -515,7 +515,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
UserLoginInfoDto userLoginInfoDto = convert2UserLoginInfoDto(assortmentCustomerInfoVo); UserLoginInfoDto userLoginInfoDto = convert2UserLoginInfoDto(assortmentCustomerInfoVo);
String userId = userLoginInfoDto.getMemberId(); String userId = userLoginInfoDto.getMemberId();
String partnerId = shoppingCartInfoRequestVo.getPartnerId(); String partnerId = shoppingCartInfoRequestVo.getPartnerId();
String appId = shoppingCartInfoRequestVo.getAppId(); String appId = StringUtils.isEmpty(shoppingCartInfoRequestVo.getAppId())?userLoginInfoDto.getWxAppid():shoppingCartInfoRequestVo.getAppId();
String storeId = shoppingCartInfoRequestVo.getShopId(); String storeId = shoppingCartInfoRequestVo.getShopId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode(); String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode(); String activityCode = shoppingCartInfoRequestVo.getActivityCode();
......
...@@ -102,9 +102,9 @@ public class CalculationSharingCartService { ...@@ -102,9 +102,9 @@ public class CalculationSharingCartService {
* 积分抵扣 * 积分抵扣
*/ */
scoreSharingService.scoreResponse(discountResult, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo); 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); deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}else{ }else if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount); deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
} }
......
...@@ -136,9 +136,10 @@ public class CalculationSharingEquallyService { ...@@ -136,9 +136,10 @@ public class CalculationSharingEquallyService {
scoreSharingService.scoreResponse(discountResult, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo); scoreSharingService.scoreResponse(discountResult, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
scoreSharingService.equally(shoppingCartGoodsResponseVo, shoppingCartGoodsDto); scoreSharingService.equally(shoppingCartGoodsResponseVo, shoppingCartGoodsDto);
calculationCommonService.getNeedCardAmount(shoppingCartInfoRequestVo, 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); deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}else{ }else if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount); deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
} }
......
...@@ -13,7 +13,9 @@ public class PropertyConvertUtil { ...@@ -13,7 +13,9 @@ public class PropertyConvertUtil {
return ActivityChannelEnum.delivery; return ActivityChannelEnum.delivery;
} else if (Objects.equals(CreateOrderType.COLLECT_GOODS.getCode(), orderType)) { } else if (Objects.equals(CreateOrderType.COLLECT_GOODS.getCode(), orderType)) {
return ActivityChannelEnum.pickup; return ActivityChannelEnum.pickup;
} else { } else if (Objects.equals(CreateOrderType.SAASMALL.getCode(), orderType)) {
return ActivityChannelEnum.saasmall;
}else {
return ActivityChannelEnum.pickup; 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