Commit 09392b5f by ping.wu

Merge branches 'feature/20200421_申请退款任务_wuping' and 'master' of…

Merge branches 'feature/20200421_申请退款任务_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
#	ordercenter-sdk/pom.xml
#	ordercenter-sdk/readme.md
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderCancelReq.java
parents d24659fc 71bb5786
...@@ -43,4 +43,6 @@ ...@@ -43,4 +43,6 @@
| 1.4.5.RELEASE | 升级券码sdk |胡超 | 2020-05-18 | | 1.4.5.RELEASE | 升级券码sdk |胡超 | 2020-05-18 |
| 1.4.6.RELEASE | 券码接口新增组织机构 |胡超 | 2020-05-18 | | 1.4.6.RELEASE | 券码接口新增组织机构 |胡超 | 2020-05-18 |
| 1.4.7.RELEASE | 创建订单增加appid字段 | wuping | 2020-05-18 | | 1.4.7.RELEASE | 创建订单增加appid字段 | wuping | 2020-05-18 |
| 1.4.8.RELEASE | 规范orderExtInfoDto | 侯书虎 | 2020-05-19 | | 1.4.8.RELEASE | 规范orderExtInfoDto | 侯书虎 | 2020-05-19 |
\ No newline at end of file | 1.3.4-SNAPSHOT | 返回售后单创建时间 | wuping | 2020-04-27 |
| 1.3.5-SNAPSHOT | 取消订单增加任务 | wuping | 2020-04-28 |
\ No newline at end of file
...@@ -816,6 +816,7 @@ public class OrderSdkAdapter { ...@@ -816,6 +816,7 @@ public class OrderSdkAdapter {
refundBean.setRid(afterSalesOrderResp.getAfterSalesCode()); refundBean.setRid(afterSalesOrderResp.getAfterSalesCode());
//售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消 //售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消
refundBean.setStatus(getOldOrderRefundStatus(afterSalesOrderResp.getAfterSalesStatus())); refundBean.setStatus(getOldOrderRefundStatus(afterSalesOrderResp.getAfterSalesStatus()));
refundBean.setCreateTime(afterSalesOrderResp.getCreateTime());
refundBeans.add(refundBean); refundBeans.add(refundBean);
} }
return refundBeans; return refundBeans;
......
...@@ -547,6 +547,9 @@ public class QueryOrdersResponse { ...@@ -547,6 +547,9 @@ public class QueryOrdersResponse {
//商家退单审核 备注 //商家退单审核 备注
private String decisionReason; private String decisionReason;
//创建时间
private String createTime;
} }
@NoArgsConstructor @NoArgsConstructor
......
...@@ -366,11 +366,33 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -366,11 +366,33 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
&& !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) { && !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) {
request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime())); request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime()));
} }
OrderTaskReq orderTask = setAfterSalesOrderTimeOutTask();
request.setOrderTask(orderTask);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.createAfterSalesOrder(request, orderRefundRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.createAfterSalesOrder(request, orderRefundRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response); return orderSdkAdapter.convent2BaseOrderResponse(response);
} }
/** /**
* 设置申请退款48小时后回调任务
*/
private OrderTaskReq setAfterSalesOrderTimeOutTask() {
OrderTaskReq orderTask = new OrderTaskReq();
orderTask.setTaskType(4);
orderTask.setTimeout(1);
//1000*60*60*24*2 毫秒(48小时)
long timeout = 172800000;
long timeMillis = System.currentTimeMillis();
Date processingDate = new Date(timeMillis + timeout - 60000);
Date taskTime = new Date(timeMillis + timeout);
orderTask.setTaskTime(DateUtil.convert2String(taskTime, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
//处理时间,当前时间加48小时减1分钟
orderTask.setProcessingTime(DateUtil.convert2String(processingDate, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
return orderTask;
// request.setOrderTask(orderTask);
}
/**
* 获取门店自动配置信息 * 获取门店自动配置信息
* *
* @param partnerId * @param partnerId
...@@ -476,6 +498,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -476,6 +498,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
&& !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) { && !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) {
request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime())); request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime()));
} }
OrderTaskReq orderTask = setAfterSalesOrderTimeOutTask();
request.setOrderTask(orderTask);
} }
request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount()); request.setRefundDeliveryAmount(cancelOrderRequest.isRefundDeliveryAmount());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
......
...@@ -1018,6 +1018,8 @@ public class OrderAdapter { ...@@ -1018,6 +1018,8 @@ public class OrderAdapter {
responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(refundBean.getStatus())) responseVo.setRefundStatusDesc(Optional.ofNullable(RefundStatus.getByCode(refundBean.getStatus()))
.map(RefundStatus::getDesc).orElse("")); .map(RefundStatus::getDesc).orElse(""));
responseVo.setRefundReason(refundBean.getReason()); responseVo.setRefundReason(refundBean.getReason());
String refundCreateTime = DateUtil.convert2String(new Date(Long.parseLong(refundBean.getCreateTime())),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
responseVo.setRefundCreateTime(refundCreateTime);
} }
} }
//商品信息转换 //商品信息转换
...@@ -2881,4 +2883,52 @@ public class OrderAdapter { ...@@ -2881,4 +2883,52 @@ public class OrderAdapter {
return orderClientType; return orderClientType;
} }
public Integer getNewOrderClient(String name) {
String _name = OrderSourceType.SAAS.getCode();
Integer orderClientType;
switch (name) {
case "saas":
orderClientType = 2;
break;
case "alipay":
orderClientType=3;
break;
case "jdwm":
orderClientType = 10;
break;
case "mtwm":
orderClientType = 11;
break;
case "eleme":
orderClientType = 8;
break;
case "bdwm":
orderClientType = 9;
break;
case "ebwm":
orderClientType = 9;
break;
case "saas_member":
orderClientType = 13;
break;
case "saas_order":
orderClientType = 14;
break;
case "pos":
orderClientType = 15;
break;
case "meal":
orderClientType = 19;
break;
case "saasmall":
orderClientType = 23;
break;
default:
orderClientType = OrderClientType.SAAS.getIndex();
break;
}
return orderClientType;
}
} }
...@@ -203,6 +203,16 @@ public class QueryOrderResponseVo { ...@@ -203,6 +203,16 @@ public class QueryOrderResponseVo {
private String rid; private String rid;
/** /**
* 申请退款时间 yyyy-MM-dd HH:mm:ss
*/
private String refundCreateTime;
/**
* 退款文案提示 若48小时后商家未处理,自动同意/拒绝退款
*/
private String refundTips;
/**
* 订单备注 * 订单备注
*/ */
private String orderRemark; private String orderRemark;
......
...@@ -95,6 +95,8 @@ import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest; ...@@ -95,6 +95,8 @@ 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.ActivitySdkAdapter; import com.freemud.sdk.api.assortment.order.adapter.ActivitySdkAdapter;
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.entities.OrderExtInfoDTO;
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.response.order.*; import com.freemud.sdk.api.assortment.order.response.order.*;
import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse; import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
...@@ -912,6 +914,17 @@ public class OrderServiceImpl implements Orderservice { ...@@ -912,6 +914,17 @@ public class OrderServiceImpl implements Orderservice {
throw new ServiceException(ResponseResult.ORDER_QUERYORDER_ERROR); throw new ServiceException(ResponseResult.ORDER_QUERYORDER_ERROR);
} }
QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0); QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0);
//48小时自动退款描述
if (storeInfo != null && storeInfo.getBizVO() != null && storeInfo.getBizVO().getStoreConfig()!= null
&& queryOrderResponseVo.getRefundStatus() != null && queryOrderResponseVo.getRefundStatus() == 1) {
Integer automaticRefund = storeInfo.getBizVO().getStoreConfig().getAutomaticRefund();
if(automaticRefund != null && automaticRefund == 1){
queryOrderResponseVo.setRefundTips("若48小时后商家未处理,自动同意");
}else {
queryOrderResponseVo.setRefundTips("若48小时后商家未处理,拒绝退款");
}
}
if (IappIdType.WC_XCX.getCode().equals(userInfo.getIappId())) { if (IappIdType.WC_XCX.getCode().equals(userInfo.getIappId())) {
queryOrderResponseVo.getProducts().stream().forEach(each -> { queryOrderResponseVo.getProducts().stream().forEach(each -> {
orderBean.getProductList().forEach(var -> { orderBean.getProductList().forEach(var -> {
...@@ -1052,8 +1065,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1052,8 +1065,6 @@ public class OrderServiceImpl implements Orderservice {
} }
String memberId = userInfo.getMemberId(); String memberId = userInfo.getMemberId();
String partnerId = userInfo.getPartnerId(); String partnerId = userInfo.getPartnerId();
// String openid = map.get("openid").toString();
// String wxappId = map.get("wxAppid").toString();
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不能为空");
...@@ -1075,14 +1086,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1075,14 +1086,10 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单"); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单");
} }
OrderBean orderBean = orderByIdResponseDto.getData(); OrderBean orderBean = orderByIdResponseDto.getData();
//orderBean.setOid(orderId);
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(), "订单未支付,无法退款");
} }
// if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
// return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单已完成,无法退款");
// }
if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) { if (OrderStatus.CALCEL.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单已取消,无法退款"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单已取消,无法退款");
} }
...@@ -1139,7 +1146,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1139,7 +1146,6 @@ public class OrderServiceImpl implements Orderservice {
return baseResponse; return baseResponse;
} }
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
//backOrdersNotifyActivity(orderBean, Arrays.asList(TransTypeEnum.ACTIVITY.getCode(), TransTypeEnum.COUPON.getCode(), TransTypeEnum.PRODUCT.getCode()));
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
} else { } else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
......
...@@ -21,6 +21,7 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto; ...@@ -21,6 +21,7 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CheckBeforeCreateOrderRequestVo; import cn.freemud.entities.vo.CheckBeforeCreateOrderRequestVo;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.OrderRefundVo;
import cn.freemud.enums.ActivityTypeEnum; import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.ApportionType; import cn.freemud.enums.ApportionType;
import cn.freemud.service.impl.OrderServiceImpl; import cn.freemud.service.impl.OrderServiceImpl;
...@@ -78,9 +79,9 @@ public class OrderServiceTest { ...@@ -78,9 +79,9 @@ public class OrderServiceTest {
@Test @Test
public void sendApplyRefundSubscriptionNoticeTest() { public void sendApplyRefundSubscriptionNoticeTest() {
OrderRefundRequest request = new OrderRefundRequest(); OrderRefundVo request = new OrderRefundVo();
request.setReason("下错单"); request.setReason("下错单");
request.setRemark("不要了"); request.setRemarks("不要了");
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest(); BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId("16420126386356464000002"); baseQueryOrderRequest.setOrderId("16420126386356464000002");
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest); QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
......
...@@ -25,4 +25,6 @@ ...@@ -25,4 +25,6 @@
| 1.2.7.RELEASE | 全单退增加是否退配送费 | 海波 | 2020-05-14 | | 1.2.7.RELEASE | 全单退增加是否退配送费 | 海波 | 2020-05-14 |
| 1.1.9-SNAPSHOT | 创建订单增加appid字段 | wuping | 2020-05-08 | | 1.1.9-SNAPSHOT | 创建订单增加appid字段 | wuping | 2020-05-08 |
| 1.2.8.RELEASE | 1.1.9-SNAPSHOT升RELEASE版本 | wuping | 2020-05-18 | | 1.2.8.RELEASE | 1.1.9-SNAPSHOT升RELEASE版本 | wuping | 2020-05-18 |
| 1.2.9.RELEASE | 规范orderExtInfoDto | 侯书虎 | 2020-05-19 | | 1.2.9.RELEASE | 规范orderExtInfoDto | 侯书虎 | 2020-05-19 |
\ No newline at end of file | 1.3.3-SNAPSHOT | 创建售后单接口增加任务 | wuping | 2020-04-27 |
| 1.3.4-SNAPSHOT | 取消订单增加任务 | wuping | 2020-04-28 |
\ No newline at end of file
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data; import lombok.Data;
@Data @Data
...@@ -88,6 +89,9 @@ public class CreateAfterSalesOrder { ...@@ -88,6 +89,9 @@ public class CreateAfterSalesOrder {
private Integer timeOut; private Integer timeOut;
//任务
private OrderTaskReq orderTask;
// @ApiModelProperty(value = "售后图片信息") // @ApiModelProperty(value = "售后图片信息")
// private List<AfterSalesImageReq> afterSalesImages = new ArrayList<>(); // private List<AfterSalesImageReq> afterSalesImages = new ArrayList<>();
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data; import lombok.Data;
@Data @Data
...@@ -66,4 +67,7 @@ public class OrderCancelReq { ...@@ -66,4 +67,7 @@ public class OrderCancelReq {
* 是否退配送费 * 是否退配送费
*/ */
private boolean isRefundDeliveryAmount; private boolean isRefundDeliveryAmount;
//任务
private OrderTaskReq orderTask;
} }
...@@ -26,6 +26,7 @@ public class OrderTaskReq { ...@@ -26,6 +26,7 @@ public class OrderTaskReq {
//任务类型:1预约单 (OrderType设置为2预约堂食,4预约外送,6预约自取 默认为预约单) //任务类型:1预约单 (OrderType设置为2预约堂食,4预约外送,6预约自取 默认为预约单)
//2 超时回调 //2 超时回调
//3 拉单队列 //3 拉单队列
//4 申请退款48小时未处理自动回调
private Integer taskType; private Integer taskType;
private Integer timeout; private Integer timeout;
......
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