Commit 3c093578 by chongfu.liang

Merge remote-tracking branch 'origin/master'

parents 065cfbb7 ce0a614a
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.61-RELEASE</version> <version>2.1.63-RELEASE</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -38,12 +38,12 @@ ...@@ -38,12 +38,12 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<version>1.3.54.RELEASE</version> <version>1.3.55.RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.3.9-SNAPSHOT</version> <version>1.5.7-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -135,4 +135,6 @@ ...@@ -135,4 +135,6 @@
| 2.1.58-RELEASE | 统一升级华莱士微商城SDK | 张志恒 | 2021-05-11| | 2.1.58-RELEASE | 统一升级华莱士微商城SDK | 张志恒 | 2021-05-11|
| 2.1.59-RELEASE | 美团聚宝盆修改为美团服务商 | 梁崇福 | 2021-05-13| | 2.1.59-RELEASE | 美团聚宝盆修改为美团服务商 | 梁崇福 | 2021-05-13|
| 2.1.60-RELEASE | 麦咖啡新增优惠类型 | 徐康 | 2021-05-13| | 2.1.60-RELEASE | 麦咖啡新增优惠类型 | 徐康 | 2021-05-13|
| 2.1.61-RELEASE | 商城退款优化 | 张志恒 | 2021-05-13| | 2.1.61-RELEASE | 商城退款优化 | 张志恒 | 2021-05-13|
\ No newline at end of file | 2.1.62-RELEASE | sdk 升级 | 张志恒 | 2021-05-18|
| 2.1.63-RELEASE | sdk 升级 | 张志恒 | 2021-05-18|
\ No newline at end of file
...@@ -1137,6 +1137,7 @@ public class OrderSdkAdapter { ...@@ -1137,6 +1137,7 @@ public class OrderSdkAdapter {
data.setReceiveProvince(orderInfoReqs.getDeliveryContactInfoList().get(0).getProvince()); data.setReceiveProvince(orderInfoReqs.getDeliveryContactInfoList().get(0).getProvince());
data.setReceiveCity(orderInfoReqs.getDeliveryContactInfoList().get(0).getCity()); data.setReceiveCity(orderInfoReqs.getDeliveryContactInfoList().get(0).getCity());
data.setReceiveRegion(orderInfoReqs.getDeliveryContactInfoList().get(0).getRegion()); data.setReceiveRegion(orderInfoReqs.getDeliveryContactInfoList().get(0).getRegion());
data.setContactsName(orderInfoReqs.getDeliveryContactInfoList().get(0).getContactsName());
data.setAddress(orderInfoReqs.getDeliveryContactInfoList().get(0).getAddressDetail()); data.setAddress(orderInfoReqs.getDeliveryContactInfoList().get(0).getAddressDetail());
data.setPhone(orderInfoReqs.getDeliveryContactInfoList().get(0).getMobile()); data.setPhone(orderInfoReqs.getDeliveryContactInfoList().get(0).getMobile());
addInfo.setExtInfo(deliveryContactInfoResp.getExtInfo()); addInfo.setExtInfo(deliveryContactInfoResp.getExtInfo());
......
...@@ -61,4 +61,7 @@ public class BaseQueryOrderRequest extends BaseConfig { ...@@ -61,4 +61,7 @@ public class BaseQueryOrderRequest extends BaseConfig {
//外卖单配送类型 //外卖单配送类型
private String deliveryType; private String deliveryType;
// 合阔pos 商户订单状态不自动扭转
private Boolean notAutomaticTwist;
} }
...@@ -77,6 +77,8 @@ public class ConfirmOrderRequest extends BaseConfig { ...@@ -77,6 +77,8 @@ public class ConfirmOrderRequest extends BaseConfig {
*/ */
private String spellGroupCode; private String spellGroupCode;
private Integer notAutomaticTwistTime;
@Data @Data
public static class OrderSettlement{ public static class OrderSettlement{
/** /**
......
...@@ -103,6 +103,11 @@ public class QueryOrdersResponse { ...@@ -103,6 +103,11 @@ public class QueryOrdersResponse {
*/ */
private String address; private String address;
/** /**
* 收货地址
*/
private String contactsName;
/**
* 门店电话 * 门店电话
*/ */
private String shopPhone; private String shopPhone;
......
...@@ -612,6 +612,11 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -612,6 +612,11 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
* @return * @return
*/ */
private Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest,PaySuccessReq request){ private Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest,PaySuccessReq request){
//合阔pos 商户未接单退款超时时间
if(confirmOrderRequest.getNotAutomaticTwistTime() != null ){
return confirmOrderRequest.getNotAutomaticTwistTime();
}
Integer timeout = 0; Integer timeout = 0;
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(); StoreInfoRequest storeInfoRequest = new StoreInfoRequest();
storeInfoRequest.setPartnerId(confirmOrderRequest.getPartnerId()); storeInfoRequest.setPartnerId(confirmOrderRequest.getPartnerId());
...@@ -979,6 +984,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -979,6 +984,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
} else { } else {
request.setTimeout(120); request.setTimeout(120);
} }
// 合阔pos商户订单不自动扭转
if(baseQueryOrderRequest.getNotAutomaticTwist() != null && baseQueryOrderRequest.getNotAutomaticTwist()){
request.setTimeout(0);
}
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.prepareComplete(request, baseQueryOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.prepareComplete(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response); return orderSdkAdapter.convent2BaseOrderResponse(response);
} }
...@@ -1895,6 +1904,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1895,6 +1904,10 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
//saas 实时外卖 预约外卖都是 按3个小时流转 //saas 实时外卖 预约外卖都是 按3个小时流转
private void setTimeout(BaseQueryOrderRequest baseQueryOrderRequest,POSOrderOperationBaseReq request){ private void setTimeout(BaseQueryOrderRequest baseQueryOrderRequest,POSOrderOperationBaseReq request){
//合阔pos 商户订单状态不自动扭转
if(baseQueryOrderRequest.getNotAutomaticTwist() != null && baseQueryOrderRequest.getNotAutomaticTwist()){
return ;
}
String partnerId = baseQueryOrderRequest.getPartnerId(); String partnerId = baseQueryOrderRequest.getPartnerId();
String storeCode = baseQueryOrderRequest.getShopId(); String storeCode = baseQueryOrderRequest.getShopId();
String trackingNo = baseQueryOrderRequest.getTrackingNo(); String trackingNo = baseQueryOrderRequest.getTrackingNo();
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.2.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.4.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.4.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.61-RELEASE</version> <version>2.1.63-RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -64,6 +64,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; ...@@ -64,6 +64,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
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.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
...@@ -88,6 +89,7 @@ import org.apache.commons.collections4.CollectionUtils; ...@@ -88,6 +89,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.FastDateFormat; import org.apache.commons.lang.time.FastDateFormat;
import org.junit.After;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -692,6 +694,7 @@ public class OrderAdapter { ...@@ -692,6 +694,7 @@ public class OrderAdapter {
createOrderDto.setShopNameEn(createOrderVo.getStoreNameEn()); createOrderDto.setShopNameEn(createOrderVo.getStoreNameEn());
createOrderDto.setUserId(createOrderVo.getUserId()); createOrderDto.setUserId(createOrderVo.getUserId());
createOrderDto.setUserName(createOrderVo.getUserName()); createOrderDto.setUserName(createOrderVo.getUserName());
createOrderDto.setContactsName(createOrderVo.getContactsName());
createOrderDto.setPhone(createOrderVo.getMobile()); createOrderDto.setPhone(createOrderVo.getMobile());
createOrderDto.setAddress(receiveAddress); createOrderDto.setAddress(receiveAddress);
createOrderDto.setLatitude(latitude); createOrderDto.setLatitude(latitude);
...@@ -1151,7 +1154,12 @@ public class OrderAdapter { ...@@ -1151,7 +1154,12 @@ public class OrderAdapter {
responseVo.setShopAddress(ordersBean.getShopAddress()); responseVo.setShopAddress(ordersBean.getShopAddress());
responseVo.setShopPhone(ordersBean.getShopPhone()); responseVo.setShopPhone(ordersBean.getShopPhone());
responseVo.setReceiveAddress(ordersBean.getAddress()); responseVo.setReceiveAddress(ordersBean.getAddress());
responseVo.setReceiveUsername(ordersBean.getUserName()); if(OrderClientType.SAASMALL.getIndex().toString() == ordersBean.getOrderClient()){
responseVo.setReceiveUsername(ordersBean.getContactsName());
}else{
responseVo.setReceiveUsername(ordersBean.getUserName());
}
responseVo.setReceiveProvince(ordersBean.getReceiveProvince()); responseVo.setReceiveProvince(ordersBean.getReceiveProvince());
responseVo.setReceiveCity(ordersBean.getReceiveCity()); responseVo.setReceiveCity(ordersBean.getReceiveCity());
responseVo.setReceiveRegion(ordersBean.getReceiveRegion()); responseVo.setReceiveRegion(ordersBean.getReceiveRegion());
...@@ -1490,10 +1498,9 @@ public class OrderAdapter { ...@@ -1490,10 +1498,9 @@ public class OrderAdapter {
responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode()); responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode());
} }
} }
// responseVo.setRefundButtonDisable(AfterSalesStatus.CANCEL.getIndex() == ordersBean.getAfterSalesOrderResp().getAfterSalesStatus() ? false : true);
//有售后单不显示按钮
responseVo.setRefundButtonDisable(false);
} }
//是否展示申请退款按钮 true 展示 false 不展示
responseVo.setRefundButtonDisable(getRefundButtonDisable(ordersBean));
responseVo.setExpressChannelCode(ordersBean.getExpressChannelCode()); responseVo.setExpressChannelCode(ordersBean.getExpressChannelCode());
responseVo.setExpressChannelName(ordersBean.getExpressChannelName()); responseVo.setExpressChannelName(ordersBean.getExpressChannelName());
responseVo.setExpressNo(ordersBean.getExpressNo()); responseVo.setExpressNo(ordersBean.getExpressNo());
...@@ -4389,4 +4396,41 @@ public class OrderAdapter { ...@@ -4389,4 +4396,41 @@ public class OrderAdapter {
} }
return refundStatusDesc; return refundStatusDesc;
} }
private boolean getRefundButtonDisable(QueryOrdersResponse.DataBean.OrderBean orderBean){
boolean refundButtonDisable = true;
//订单状态为 2:已支付 3:已接单 4:已发货 5:已收货/已完成(C端展示的订单状态),这些状态订单展示申请退款按钮(未有售后单或者售后单已经取消)
// 正常订单,未发生售后单的订单,以发货的时间节点为基准,30天后,关闭C端申请退款入口(未有售后单或者售后单已经取消)
//以最新的发起售后单的时间节点为基准(售后单最后申请的时间,同意申请不会更新申请的时间),30天后,关闭订单状态为已完成,退款状态为未处理的退款单,B端不展示退款处理按钮
//未发货订单,申请退款商家未处理,以售后单发起时间+30天后,自动退款。
//校验有没有售后单,一笔订单只会存在一笔售后单,售后单展示为取消展示申请退款按钮
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
List<Integer> orderStatusList = Arrays.asList(OrderStatus.WAIT_PAY.getCode(),OrderStatus.RECEIPT.getCode(),OrderStatus.DISTRIBUTION.getCode(),OrderStatus.COMPLETE.getCode());
List<Integer> afterSaleStatusList = Arrays.asList(AfterSalesStatus.PENDING.getIndex(),AfterSalesStatus.RETURNING.getIndex(),AfterSalesStatus.GOODS_RETURNED.getIndex(),AfterSalesStatus.COMPLETE.getIndex());
//已发货
if(null != orderBean.getGmtDelivery()){
if(orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (null !=afterSalesOrderResp && AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))){
refundButtonDisable = true;
}
if(null == orderBean.getAfterSalesOrderResp() && null != orderBean.getGmtDelivery() && (DateUtil.addDays(new Date(orderBean.getGmtDelivery()),30)).compareTo(new Date()) == -1){
refundButtonDisable = false;
}
if(null != orderBean.getAfterSalesOrderResp() && afterSaleStatusList.contains( orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
refundButtonDisable = false;
}
if(null == orderBean.getAfterSalesOrderResp() && (DateUtil.addDays(new Date(orderBean.getGmtDelivery()),30)).compareTo(new Date()) == -1){
refundButtonDisable = false;
}
}else{
List<Integer> noDeliveryAfterSalesStatus = Arrays.asList(AfterSalesStatus.PENDING.getIndex(),AfterSalesStatus.COMPLETE.getIndex());
if(orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (null !=afterSalesOrderResp && AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))){
refundButtonDisable = true;
}
if(null != orderBean.getAfterSalesOrderResp() && noDeliveryAfterSalesStatus.contains( orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
refundButtonDisable = false;
}
}
return refundButtonDisable;
}
} }
...@@ -1053,6 +1053,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -1053,6 +1053,7 @@ public class MallOrderServiceImpl implements MallOrderService {
request.setOrderCode(baseQueryOrderRequest.getOrderId()); request.setOrderCode(baseQueryOrderRequest.getOrderId());
request.setOrderState(NewOrderStatus.COMPLETE.getIndex()); request.setOrderState(NewOrderStatus.COMPLETE.getIndex());
request.setOperator(assortmentCustomerInfoVo.getNickName()); request.setOperator(assortmentCustomerInfoVo.getNickName());
request.setTaskType(Arrays.asList((byte) 5));
request.setRemark("已完成"); request.setRemark("已完成");
orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo()); orderSdkService.updateOrderState(request, baseQueryOrderRequest.getTrackingNo());
orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo()); orderSdkService.completeBookingTask(request, baseQueryOrderRequest.getTrackingNo());
......
...@@ -219,6 +219,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -219,6 +219,10 @@ public class OrderServiceImpl implements Orderservice {
private List<String> cocoPartnerId; private List<String> cocoPartnerId;
@Value("#{'${hls.partnerId}'.split(',')}") @Value("#{'${hls.partnerId}'.split(',')}")
private List<String> hlsPartnerId; private List<String> hlsPartnerId;
@Value("#{'${order.not.automatic.twist.partnerId}'.split(',')}")
private List<String> notAutomaticTwistPartnerId;
@Value("${order.not.automatic.twist.time}")
private Integer notAutomaticTwistTime;
@Value("${query.order.es:true}") @Value("${query.order.es:true}")
private Boolean queryOrderEs; private Boolean queryOrderEs;
...@@ -538,7 +542,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -538,7 +542,10 @@ public class OrderServiceImpl implements Orderservice {
if (orderBean.getGmtExpect() != null && orderBean.getGmtExpect() != 0) { if (orderBean.getGmtExpect() != null && orderBean.getGmtExpect() != 0) {
var1.setExpectTime(DateUtil.convert2String(new Date(orderBean.getGmtExpect()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS)); var1.setExpectTime(DateUtil.convert2String(new Date(orderBean.getGmtExpect()), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
} }
//合阔pos 商户不接单自动退款时间
if (CollectionUtils.isNotEmpty(notAutomaticTwistPartnerId) && notAutomaticTwistPartnerId.contains(partnerId)) {
var1.setNotAutomaticTwistTime(notAutomaticTwistTime);
}
// 订单支付成功 // 订单支付成功
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(var1); com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(var1);
String string2 = JSONObject.toJSONString(payAccessRes); String string2 = JSONObject.toJSONString(payAccessRes);
...@@ -2220,7 +2227,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2220,7 +2227,8 @@ public class OrderServiceImpl implements Orderservice {
if (RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) { if (RefundStatus.APPLY_REFUND.getCode().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……");
} }
if (RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) { //商城订单可二次发起退款
if (!com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。");
} }
} }
...@@ -2239,7 +2247,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2239,7 +2247,6 @@ public class OrderServiceImpl implements Orderservice {
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
//商城查询配送费 //商城查询配送费
if (com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && StringUtils.isNotEmpty(orderBean.getExtInfo())){ if (com.freemud.sdk.api.assortment.order.enums.OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource()) && StringUtils.isNotEmpty(orderBean.getExtInfo())){
JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo()); JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo());
OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class);
if(null != orderExtInfoDto && null != orderExtInfoDto.getProvince()){ if(null != orderExtInfoDto && null != orderExtInfoDto.getProvince()){
...@@ -2247,11 +2254,18 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2247,11 +2254,18 @@ public class OrderServiceImpl implements Orderservice {
QueryFreightRefundSupportedVo queryFreightRefundSupportedVo = new QueryFreightRefundSupportedVo(); QueryFreightRefundSupportedVo queryFreightRefundSupportedVo = new QueryFreightRefundSupportedVo();
queryFreightRefundSupportedVo.setPartnerId(orderBean.getCompanyId()); queryFreightRefundSupportedVo.setPartnerId(orderBean.getCompanyId());
queryFreightRefundSupportedVo.setProvince(province); queryFreightRefundSupportedVo.setProvince(province);
QueryFreightRefundSupportedResponse queryFreightRefundSupportedResponse = deliveryFeiginClient.isFreightRefundSupported(queryFreightRefundSupportedVo); //整合商城订单状态,订单状态 1 2 3不需校验直接退运费 20210513
LogUtil.info("queryFreightRefundSupportedResponse of oid:{}, {}, {}", orderBean.getOid(), orderBean.getStatus(), (null != queryFreightRefundSupportedResponse ? ToStringBuilder.reflectionToString(queryFreightRefundSupportedResponse) : null)); List<Integer> isRefundDeliveryFeeCodes = Arrays.asList(
if(null != queryFreightRefundSupportedResponse && RESPONSE_SUCCESS_CODE == queryFreightRefundSupportedResponse.getCode()){ OrderStatus.TAKE_ORDER.getCode(), OrderStatus.WAIT_PAY.getCode(), OrderStatus.RECEIPT.getCode());
Boolean freightRefundSupported = queryFreightRefundSupportedResponse.getData(); if(isRefundDeliveryFeeCodes.contains(orderBean.getStatus())){
isRefundDeliveryFee = freightRefundSupported; isRefundDeliveryFee = true;
}else{
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 { }else {
...@@ -2264,6 +2278,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2264,6 +2278,7 @@ public class OrderServiceImpl implements Orderservice {
isRefundDeliveryFee = false; isRefundDeliveryFee = false;
} }
} }
// 未接单 // 未接单
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) { if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
// 拼团订单主动退款触发通知促销 // 拼团订单主动退款触发通知促销
......
...@@ -172,6 +172,13 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -172,6 +172,13 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR); return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR);
} }
createSpellGroupOrderDto.setDeliveryTemplateInfo(queryDeliveryTemplateResponse.getData()); createSpellGroupOrderDto.setDeliveryTemplateInfo(queryDeliveryTemplateResponse.getData());
// QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = new QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo();
// deliveryTemplateInfoVo.setFreight(1L);
// deliveryTemplateInfoVo.setIsDispatchFree(false);
// createSpellGroupOrderDto.setDeliveryTemplateInfo(deliveryTemplateInfoVo);
// createSpellGroupOrderDto.setDeliveryTemplateInfo(deliveryTemplateInfoVo);
/*createSpellGroupOrderDto转换为订单Request信息*/ /*createSpellGroupOrderDto转换为订单Request信息*/
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest createOrderRequest = spellGroupOrderAdapter.convertToCreateOrderRequest(createSpellGroupOrderDto, userLoginInfoDto); com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest createOrderRequest = spellGroupOrderAdapter.convertToCreateOrderRequest(createSpellGroupOrderDto, userLoginInfoDto);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderInfoReqs> response = orderSdkService.createOrder(createOrderRequest, trackingNo); com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderInfoReqs> response = orderSdkService.createOrder(createOrderRequest, trackingNo);
...@@ -204,6 +211,9 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -204,6 +211,9 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
if(deliveryTemplateInfoVo.getIsDispatchFree() == true){ if(deliveryTemplateInfoVo.getIsDispatchFree() == true){
deliveryTemplateInfoVo.setFreight((long) 0); deliveryTemplateInfoVo.setFreight((long) 0);
} }
// QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo deliveryTemplateInfoVo = new QueryDeliveryTemplateResponse.DeliveryTemplateInfoVo();
// deliveryTemplateInfoVo.setFreight(1L);
// deliveryTemplateInfoVo.setIsDispatchFree(false);
return ResponseUtil.success(deliveryTemplateInfoVo); return ResponseUtil.success(deliveryTemplateInfoVo);
} }
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
spring.profiles.active=dev spring.profiles.active=dev
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
logging.config=classpath:logback.xml logging.config=classpath:logback.xml
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
spring.profiles.active=pro spring.profiles.active=pro
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
spring.profiles.active=qa spring.profiles.active=qa
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
spring.profiles.active=test spring.profiles.active=test
saas.customScoreClient.feign.url=http://saastestapi.sandload.cn/customer-application-service saas.customScoreClient.feign.url=http://saastestapi.sandload.cn/customer-application-service
......
spring.application.name=order-application-service spring.application.name=order-application-service
freemud.business.group=order
server.port=9212 server.port=9212
spring.profiles.active=default spring.profiles.active=default
logging.config=classpath:logback.xml logging.config=classpath:logback.xml
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.4.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.61-RELEASE</version> <version>2.1.63-RELEASE</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -21,11 +21,13 @@ import com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest; ...@@ -21,11 +21,13 @@ import com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
...@@ -50,6 +52,8 @@ public class SaasOrderHandle { ...@@ -50,6 +52,8 @@ public class SaasOrderHandle {
@Value("${saasDeliveryTimeOut}") @Value("${saasDeliveryTimeOut}")
private Integer wmDeliveryTimeOut; private Integer wmDeliveryTimeOut;
@Value("#{'${order.not.automatic.twist.partnerId}'.split(',')}")
private List<String> notAutomaticTwistPartnerId;
/** /**
* 确认接单 * 确认接单
...@@ -62,6 +66,10 @@ public class SaasOrderHandle { ...@@ -62,6 +66,10 @@ public class SaasOrderHandle {
//订单接单 //订单接单
BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean); BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
orderSdkAdapter.convert2wmDeliveryTimeOut(orderConfirmRequest,this.wmDeliveryTimeOut); orderSdkAdapter.convert2wmDeliveryTimeOut(orderConfirmRequest,this.wmDeliveryTimeOut);
//合阔pos 商户订单状态不自动扭转
if (CollectionUtils.isNotEmpty(notAutomaticTwistPartnerId) && notAutomaticTwistPartnerId.contains(orderBean.getCompanyId())) {
orderConfirmRequest.setNotAutomaticTwist(true);
}
BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest); BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest);
//处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功 //处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功
if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString())) { if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString())) {
...@@ -102,6 +110,10 @@ public class SaasOrderHandle { ...@@ -102,6 +110,10 @@ public class SaasOrderHandle {
*/ */
public BaseResponse orderDone(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse orderDone(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
BaseQueryOrderRequest orderDoneRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean); BaseQueryOrderRequest orderDoneRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
//合阔pos 商户订单状态不自动扭转
if (CollectionUtils.isNotEmpty(notAutomaticTwistPartnerId) && notAutomaticTwistPartnerId.contains(orderBean.getCompanyId())) {
orderDoneRequest.setNotAutomaticTwist(true);
}
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderDone(orderDoneRequest); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderDone(orderDoneRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) { if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.DONE_ORDER_FAIL); return ResponseUtil.error(ResponseResult.DONE_ORDER_FAIL);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>1.3.54.RELEASE</version> <version>1.3.55.RELEASE</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<dependencies> <dependencies>
......
...@@ -85,4 +85,4 @@ ...@@ -85,4 +85,4 @@
| 1.3.52.RELEASE | 美团聚宝盆更名为美团服务商 | 梁崇福 | 2021-05-13 | | 1.3.52.RELEASE | 美团聚宝盆更名为美团服务商 | 梁崇福 | 2021-05-13 |
| 1.3.53.RELEASE | 麦咖啡新增优惠类型 | 徐康 | 2021-05-13 | | 1.3.53.RELEASE | 麦咖啡新增优惠类型 | 徐康 | 2021-05-13 |
| 1.3.54.RELEASE | 商城退款优化 | 张志恒 | 2021-05-13 | | 1.3.54.RELEASE | 商城退款优化 | 张志恒 | 2021-05-13 |
| 1.3.55.RELEASE | 二次退款优化 | 张志恒 | 2021-05-18 |
...@@ -13,10 +13,38 @@ ...@@ -13,10 +13,38 @@
package com.freemud.application.sdk.api.ordercenter.config; package com.freemud.application.sdk.api.ordercenter.config;
import com.freemud.application.sdk.api.config.CenterConfigProperties; import com.freemud.application.sdk.api.config.CenterConfigProperties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component @Component
@ConfigurationProperties(prefix = "order") @ConfigurationProperties(prefix = "order")
public class OrderCenterProperties extends CenterConfigProperties { public class OrderCenterProperties extends CenterConfigProperties {
/**
* 校验 多少时间类 从redis拿 数据 反馈es查询结果
*/
private int redisToEsTimeLimit = 0;
private List<String> redisToEsPartnerIds = new ArrayList<>();
public List<String> getRedisToEsPartnerIds() {
return redisToEsPartnerIds;
}
public void setRedisToEsPartnerIds(List<String> redisToEsPartnerIds) {
this.redisToEsPartnerIds = redisToEsPartnerIds;
}
public int getRedisToEsTimeLimit() {
return redisToEsTimeLimit;
}
public void setRedisToEsTimeLimit(int redisToEsTimeLimit) {
this.redisToEsTimeLimit = redisToEsTimeLimit;
}
} }
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* All rights Reserved, Designed By www.freemud.com * All rights Reserved, Designed By www.freemud.com
* *
...@@ -21,4 +24,8 @@ public class OrderChangeStateReq { ...@@ -21,4 +24,8 @@ public class OrderChangeStateReq {
private String remark; private String remark;
//操作人 //操作人
private String operator; private String operator;
@ApiModelProperty(value = "操作任务类型")
private List<Byte> taskType;
} }
...@@ -19,7 +19,7 @@ import lombok.Data; ...@@ -19,7 +19,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
// fisherman
@Data @Data
public class OrderInfoReqs { public class OrderInfoReqs {
......
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.2.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
</dependency> </dependency>
<!-- mybatis --> <!-- mybatis -->
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
<dependency> <dependency>
<groupId>org.apache.skywalking</groupId> <groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId> <artifactId>apm-toolkit-logback-1.x</artifactId>
<version>6.2.0</version> <version>8.4.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>sdk-common-base</artifactId> <artifactId>sdk-common-base</artifactId>
<version>1.5.4.RELEASE</version> <version>1.5.7-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
spring.profiles.active=dev spring.profiles.active=dev
......
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
logging.config=classpath:logback.xml logging.config=classpath:logback.xml
......
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
spring.profiles.active=pro spring.profiles.active=pro
......
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
spring.profiles.active=qa spring.profiles.active=qa
......
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
spring.profiles.active=test spring.profiles.active=test
saas.newcustomerclient.feign.url=https://saastestapi.sandload.cn/customer-application-service saas.newcustomerclient.feign.url=https://saastestapi.sandload.cn/customer-application-service
spring.application.name=shopping-cart-application-service spring.application.name=shopping-cart-application-service
freemud.business.group=order
server.port=9211 server.port=9211
spring.profiles.active=default spring.profiles.active=default
logging.config=classpath:logback.xml logging.config=classpath:logback.xml
......
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