Commit 71bb5786 by ping.wu

申请退款对接订单取消接口

parent 942a8e41
......@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.3.2.RELEASE</version>
<version>1.3.5-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -38,7 +38,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId>
<version>1.2.1.RELEASE</version>
<version>1.3.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -28,4 +28,5 @@
| 1.3.1.RELEASE | queryOrderById返回新增商家、平台优惠 | 侯书虎 | 2020-04-20 |
| 1.3.2.RELEASE | ext_info 增加stapleFood主食设置 | 李小二 | 2020-04-20 |
| 1.3.3.RELEASE | 第三方外卖单配送费类型与新用户立减类型重复区分 | wuping | 2020-04-21 |
| 1.3.4-SNAPSHOT | 返回售后单创建时间 | wuping | 2020-04-27 |
\ 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
......@@ -23,6 +23,8 @@ public class CancelOrderRequest extends BaseConfig {
private String partnerId;
private String storeId;
private AfterSalesType afterSalesType;
/**
* 订单ID
......
......@@ -363,7 +363,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
&& !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) {
request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime()));
}
setAfterSalesOrderTimeOutTask(request);
OrderTaskReq orderTask = setAfterSalesOrderTimeOutTask();
request.setOrderTask(orderTask);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.createAfterSalesOrder(request, orderRefundRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......@@ -371,7 +372,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
/**
* 设置申请退款48小时后回调任务
*/
private void setAfterSalesOrderTimeOutTask(CreateAfterSalesOrder request) {
private OrderTaskReq setAfterSalesOrderTimeOutTask() {
OrderTaskReq orderTask = new OrderTaskReq();
orderTask.setTaskType(4);
orderTask.setTimeout(1);
......@@ -383,7 +384,9 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
orderTask.setTaskTime(DateUtil.convert2String(taskTime, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
//处理时间,当前时间加48小时减1分钟
orderTask.setProcessingTime(DateUtil.convert2String(processingDate, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
request.setOrderTask(orderTask);
return orderTask;
// request.setOrderTask(orderTask);
}
/**
......@@ -484,6 +487,17 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperator(cancelOrderRequest.getOperator());
//为空发起售后单
if(cancelOrderRequest.getCreateEvent() == null){
// 查询门店服务配置,退单模式为2为自动退款,判断自动退款时间,设置为0则不传入timeout,
StoreResponse.Configuration configuration = getStoreAutoConfiguration(cancelOrderRequest.getPartnerId(), cancelOrderRequest.getStoreId(), cancelOrderRequest.getTrackingNo());
if (configuration != null && ObjectUtils.equals("2", configuration.getAutoChargebackOrderType())
&& !ObjectUtils.equals("0", configuration.getAutoChargebackOrderTime())) {
request.setTimeOut(AutoOrderConfigTime.getTime(configuration.getAutoChargebackOrderTime()));
}
OrderTaskReq orderTask = setAfterSalesOrderTimeOutTask();
request.setOrderTask(orderTask);
}
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
......
......@@ -40,7 +40,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>1.3.2.RELEASE</version>
<version>1.3.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -2766,4 +2766,52 @@ public class OrderAdapter {
createOrderOperateDto.getCardAmount() == null ? 0 : createOrderOperateDto.getCardAmount(), orderExtInfoDTO);
}
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;
}
}
......@@ -46,7 +46,6 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.service.BuriedPointService;
import cn.freemud.service.CouponActivityService;
import cn.freemud.service.Orderservice;
import cn.freemud.service.process.WechatPush.WechatPushProcessor;
import cn.freemud.service.thirdparty.*;
import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON;
......@@ -96,6 +95,7 @@ import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest;
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.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.response.order.*;
import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
......@@ -1148,15 +1148,35 @@ public class OrderServiceImpl implements Orderservice {
// 删除订单 通知活动添加商品库存
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
} else {
com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest var1 = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
OrderRefundRequestDto orderRefundRequestDto = orderAdapter.convent2OrderRefundRequestDto(orderRefundVo, orderBean.getOid());
BeanUtil.convertBean(orderRefundRequestDto, var1);
var1.setTrackingNo(LogTreadLocal.getTrackingNo());
var1.setPartnerId(orderRefundVo.getPartnerId());
var1.setStoreId(orderBean.getShopId());
var1.setOrderStatus(orderBean.getStatus());
var1.setOperator(orderBean.getUserName());
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderRefund(var1);
// com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest var1 = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
// OrderRefundRequestDto orderRefundRequestDto = orderAdapter.convent2OrderRefundRequestDto(orderRefundVo, orderBean.getOid());
// BeanUtil.convertBean(orderRefundRequestDto, var1);
// var1.setTrackingNo(LogTreadLocal.getTrackingNo());
// var1.setPartnerId(orderRefundVo.getPartnerId());
// var1.setStoreId(orderBean.getShopId());
// var1.setOrderStatus(orderBean.getStatus());
// var1.setOperator(orderBean.getUserName());
// BaseOrderResponse baseResponseDto = orderCenterSdkService.orderRefund(var1);
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setStoreId(orderBean.getShopId());
cancelOrderRequest.setOrderId(orderBean.getOid());
cancelOrderRequest.setOrderClient(orderAdapter.getNewOrderClient(orderBean.getSource()));
//传入的售后单类型为:2:售中用户取消 8:售后申请
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_CANCEL);
if (OldOrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
cancelOrderRequest.setAfterSalesType(AfterSalesType.USER_SALE_RETURN);
}
// cancelOrderRequest.setCreateEvent(null);
cancelOrderRequest.setReason(orderRefundVo.getReason());
cancelOrderRequest.setReqRemark(orderRefundVo.getRemarks());
cancelOrderRequest.setOperator(orderBean.getUserName());
cancelOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
BaseOrderResponse baseResponseDto = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), baseResponseDto.getErrmsg());
}
......@@ -1164,7 +1184,7 @@ public class OrderServiceImpl implements Orderservice {
sendPosMessage(partnerId, orderBean.getShopId());
}
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice(orderBean,var1);
sendApplyRefundSubscriptionNotice(orderBean,orderRefundVo);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket(orderBean, orderRefundVo);
}
......@@ -2111,7 +2131,7 @@ public class OrderServiceImpl implements Orderservice {
* 通知小助手发送申请退款公众号订阅消息
* @param orderBean
*/
public void sendApplyRefundSubscriptionNotice(OrderBean orderBean,OrderRefundRequest request) {
public void sendApplyRefundSubscriptionNotice(OrderBean orderBean,OrderRefundVo request) {
LogUtil.debug("sendApplyRefundSubscriptionNotice", JSONObject.toJSONString(request), null);
String partnerId = orderBean.getCompanyId();
String shopId = orderBean.getShopId();
......@@ -2144,7 +2164,7 @@ public class OrderServiceImpl implements Orderservice {
MpTemplateMsgDataValue keyword5 = new MpTemplateMsgDataValue();
keyword5.setValue(orderBean.getPhone());
MpTemplateMsgDataValue remark = new MpTemplateMsgDataValue();
remark.setValue(request.getReason()+","+request.getRemark());
remark.setValue(request.getReason()+","+request.getRemarks());
data.setFirst(first);
data.setKeyword1(keyword1);
data.setKeyword2(keyword2);
......
......@@ -22,6 +22,7 @@ import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CheckBeforeCreateOrderRequestVo;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.OrderRefundVo;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.ApportionType;
import cn.freemud.service.impl.OrderServiceImpl;
......@@ -78,9 +79,9 @@ public class OrderServiceTest {
@Test
public void sendApplyRefundSubscriptionNoticeTest() {
OrderRefundRequest request = new OrderRefundRequest();
OrderRefundVo request = new OrderRefundVo();
request.setReason("下错单");
request.setRemark("不要了");
request.setRemarks("不要了");
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId("16420126386356464000002");
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
......
......@@ -8,7 +8,7 @@
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<version>1.2.1.RELEASE</version>
<version>1.3.4-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId>
<dependencies>
......
......@@ -16,4 +16,5 @@
| 1.1.9.RELEASE | 满额减配送费RELEASE | dingkai | 2020-03-26 |
| 1.2.0.RELEASE | 新增订单商品汇总下载接口 | 侯书虎 | 2020-04-07 |
| 1.2.1.RELEASE | oms接单 | 侯书虎 | 2020-04-13 |
| 1.3.3-SNAPSHOT | 增加创建售后单任务 | wuping | 2020-04-27 |
\ 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 @@
*/
package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data;
@Data
......@@ -59,4 +60,9 @@ public class OrderCancelReq {
//操作人
private String operator;
private Integer timeOut;
//任务
private OrderTaskReq orderTask;
}
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