Commit 74a2885b by 王世昌

Merge branch 'frature/20210414_华莱士微商城申请退款_wangshichang' into feature/20210420-华莱士公用分支-张志恒

parents e6fce948 d2c08bb5
......@@ -15,8 +15,10 @@ package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
public class CancelOrderRequest extends BaseConfig {
......@@ -70,4 +72,22 @@ public class CancelOrderRequest extends BaseConfig {
*/
@Builder.Default
private boolean isRefundDeliveryAmount = true;
/**
* 售后单拓展信息
*/
private AfterSalesOrderExtInfoReq extInfoReq;
/**
* 售后单拓展信息
*/
@NoArgsConstructor
@Data
public static class AfterSalesOrderExtInfoReq {
/**
* 微商城退款方式
*/
private Byte refundMode;
}
}
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderCancelReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping.wu
* @date: 2019/4/2 21:26
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 修改售后单快递信息
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class EditAfterSalesExpressRequest extends BaseConfig {
private String partnerId;
private String storeId;
/**
* 渠道
*/
private Integer orderClient;
/**
* 订单ID
*/
private String orderId;
/**
* 售后单code,新订单服务需要
*/
private String afterSalesCode;
//操作人
private String operator;
/**
* 物流公司名称
*/
private String expressChannelName;
/**
* 物流单号
*/
private String expressNo;
}
......@@ -357,4 +357,11 @@ public interface OrderCenterSdkService {
*/
QueryLineUpResponse queryLineUpOrder(QueryLineUpOrderReq queryLineUpOrderReq);
/**
* 用户修改订单快递信息
* @param afterSalesExpressRequest
* @return
*/
BaseOrderResponse editAfterSalesExpress(EditAfterSalesExpressRequest afterSalesExpressRequest);
}
......@@ -7,6 +7,7 @@ import cn.freemud.amqp.MQService;
import cn.freemud.base.util.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import com.freemud.api.assortment.datamanager.order.config.ManagerOrderBeanConfig;
......@@ -696,6 +697,12 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
request.setOperator(cancelOrderRequest.getOperator());
// 【华莱士20210510活动】新增加退款方式字段
if(Objects.nonNull(cancelOrderRequest.getExtInfoReq())){
request.setExtInfo(JSON.toJSONString(cancelOrderRequest.getExtInfoReq()));
}
//为空发起售后单
if(cancelOrderRequest.getCreateEvent() == null){
// 查询门店服务配置,退单模式为2为自动退款,判断自动退款时间,设置为0则不传入timeout,
......@@ -2010,4 +2017,18 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<List<String>> response = orderSdkService.queryLineUpOrder(queryLineUpOrderReq, LogThreadLocal.getTrackingNo());
return orderSdkAdapter.convent2QueryLineUpResponse(response);
}
@Override
public BaseOrderResponse editAfterSalesExpress(EditAfterSalesExpressRequest afterSalesExpressRequest){
AfterSalesExpressOperateReq request = new AfterSalesExpressOperateReq();
request.setOrderClient(afterSalesExpressRequest.getOrderClient());
request.setPartnerId(afterSalesExpressRequest.getPartnerId());
request.setOrderCode(afterSalesExpressRequest.getOrderId());
request.setAfterSalesCode(afterSalesExpressRequest.getAfterSalesCode());
request.setAdultRemark("用户填写快递单号");
request.setOperator(afterSalesExpressRequest.getOperator());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.adultGoodsReturned(request, afterSalesExpressRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
}
......@@ -405,4 +405,22 @@ public class OrderController {
return orderservice.queryTodayOrders(queryOrderByConditionsRequestVo);
}
/**
* 退货快递信息
*/
@ApiAnnotation(logMessage = "refundExpress")
@PostMapping("/refundExpress")
public BaseResponse refundExpress(@Validated @LogParams @RequestBody EditAfterSalesExpressVo editAfterSalesExpressVo) {
return mallOrderService.saveAfterSalesExpress(editAfterSalesExpressVo);
}
/**
* 拼团失败批量退款
*/
@ApiAnnotation(logMessage = "spellGroupBatchRefund")
@PostMapping("/spellGroupFailRefund")
public BaseResponse spellGroupFailRefund(@Validated @LogParams @RequestBody SpellGroupFailRefundVo refundVo) {
return orderservice.spellGroupOrderFailRefund(refundVo);
}
}
package cn.freemud.entities.vo;
import lombok.Data;
/**
* 售后单拓展信息
*/
@Data
public class AfterSalesOrderExtInfoVo {
/**
* 微商城退款方式
*/
private Byte refundMode;
}
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: liming.guo
* @date: 2018/5/16 17:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.vo;
import cn.freemud.enums.RefundModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotBlank;
/**
* 用户退货快递信息
*
* @author shichang.wang 2021/4/15
*/
@ApiModel("用户退货快递信息")
@Data
public class EditAfterSalesExpressVo {
@NotEmpty(message = "sessionId 不能为空")
private String sessionId;
@NotEmpty(message = "订单编号不能为空")
@ApiModelProperty("订单号")
private String oid;
@ApiModelProperty("商户ID")
private String partnerId;
/**
* 物流公司名称
*/
@NotEmpty(message = "物流公司名称不能为空")
@ApiModelProperty("物流公司名称")
private String expressChannelName;
/**
* 物流单号
*/
@NotEmpty(message = "物流单号 不能为空")
@ApiModelProperty("物流单号")
private String expressNo;
}
......@@ -12,9 +12,19 @@
*/
package cn.freemud.entities.vo;
import cn.freemud.enums.RefundModeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
/**
* 用户退款申请
*
* @author haibo.jiang 2019/11/20
* @author shichang.wang 2021/4/15
*/
@ApiModel("用户退款申请")
@Data
public class OrderRefundVo {
......@@ -30,4 +40,12 @@ public class OrderRefundVo {
private String partnerId;
/**
* 微商城退款方式
*
* @see cn.freemud.enums.RefundModeEnum
*/
@ApiModelProperty(value = "微商城退款方式", notes = RefundModeEnum.API_DOC)
private Byte refundMode;
}
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: liming.guo
* @date: 2018/5/16 17:35
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import java.util.List;
/**
* 拼团失败退款
*
* @author shichang.wang 2021/4/15
*/
@ApiModel("拼团失败退款")
@Data
public class SpellGroupFailRefundVo {
@NotEmpty(message = "团号不能为空")
@ApiModelProperty("团号")
private String spellGroupCode;
/**
* 原因
*/
@ApiModelProperty("原因")
private String reason;
/**
* 物流单号
*/
@NotEmpty(message = "订单号列表 不能为空")
@ApiModelProperty("订单号列表")
private List<String> orderCodeList;
}
package cn.freemud.enums;
import lombok.Getter;
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 微商城退款方式
*/
@Getter
public enum RefundModeEnum {
REFUND_ALL((byte) 1, "退款退货"),
UN_REFUND_GOODS((byte) 2, "只退款不退货"),
;
private final Byte index;
private final String name;
RefundModeEnum(Byte index, String name) {
this.index = index;
this.name = name;
}
public static final String API_DOC = "微商城退款方式 1:退款退货 2:只退款不退货";
private static class EnumCacheHolder {
private static final Map<Byte, RefundModeEnum> CACHE;
static {
CACHE = Arrays.stream(RefundModeEnum.values()).collect(Collectors.toMap(RefundModeEnum::getIndex, v -> v));
}
}
public static RefundModeEnum getByIndex(Byte index) {
return EnumCacheHolder.CACHE.get(index);
}
}
......@@ -173,6 +173,8 @@ public enum ResponseResult {
STORE_SELF_ERROR("45069", "请选择截止营业时间大于45分钟下单"),
COUPON_INVALID("45070", "券已锁定,请先支付或取消待支付订单"),
ORDER_REFUND_EXPRESS_ERROR("45200", "售后单修改物流信息失败"),
/**
* 支付
......
......@@ -36,6 +36,7 @@ public interface ActivityService {
/**
* 根据不同的activityTypes 查询活动
*
* @param activityQueryDto
* @param activityTypeEnums
* @param goodsBeanDtoList
......@@ -43,4 +44,5 @@ public interface ActivityService {
*/
ActivityQueryResponseDto queryActivityByType(ActivityQueryDto activityQueryDto, List<ActivityTypeEnum> activityTypeEnums, List<ActivityQueryRequestDto.QueryGoodsBeanDto> goodsBeanDtoList);
}
......@@ -3,9 +3,7 @@ package cn.freemud.service;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.OrderAffirmRequestVO;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.entities.vo.encircle.EmptyTableNumberVo;
import cn.freemud.entities.vo.encircle.EncircleReserveBaseVo;
......@@ -27,9 +25,9 @@ public interface MallOrderService {
* 创建订单
*/
BaseResponse createOrder(CreateOrderVo createOrderVo);
/**
* 订单确认完成
* 订单确认完成
*/
BaseResponse orderAffirm(OrderAffirmRequestVO requestVO);
......@@ -38,4 +36,13 @@ public interface MallOrderService {
*/
String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans);
/**
* 保存退货物流信息
*
* @param editAfterSalesExpressVo
* @return
*/
BaseResponse saveAfterSalesExpress(EditAfterSalesExpressVo editAfterSalesExpressVo);
}
......@@ -4,7 +4,6 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.entities.vo.*;
import com.freemud.sdk.api.assortment.order.enums.OrderSdkType;
import java.util.Map;
......@@ -154,4 +153,11 @@ public interface Orderservice {
*/
BaseResponse queryTodayOrders(QueryOrderByConditionsRequestVo queryOrderByConditionsRequestVo);
/**
* 拼团失败退款
* @param refundVo
* @return
*/
BaseResponse spellGroupOrderFailRefund(SpellGroupFailRefundVo refundVo);
}
......@@ -32,11 +32,14 @@ import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.utils.LogUtil;
import cn.freemud.utils.ResponseUtil;
import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.constant.ResponseResultEnum;
import com.freemud.application.sdk.api.deliverycenter.dto.ArriveDeliveryRequestDto;
......@@ -46,11 +49,13 @@ import com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.LogThreadLocal;
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.OrderClientType;
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.POSOrderOperationBaseReq;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.request.order.*;
......@@ -66,9 +71,11 @@ import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -78,6 +85,9 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
@Slf4j
@Service
public class MallOrderServiceImpl implements MallOrderService {
......@@ -121,6 +131,8 @@ public class MallOrderServiceImpl implements MallOrderService {
private OrderSdkService orderSdkService;
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired
private AssortmentCustomerInfoManager customerInfoManager;
/**
* 创建订单
......@@ -764,4 +776,92 @@ public class MallOrderServiceImpl implements MallOrderService {
return thirdProductPropertyId;
}
@Override
public BaseResponse saveAfterSalesExpress(EditAfterSalesExpressVo editAfterSalesExpressVo) {
AssortmentCustomerInfoVo userInfo = customerInfoManager.getCustomerInfoByObject(editAfterSalesExpressVo.getSessionId());
if (userInfo == null || StringUtils.isEmpty(userInfo.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(editAfterSalesExpressVo.getOid());
baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
QueryOrdersResponse.DataBean.OrderBean orderBean;
if (queryOrderByIdResponse == null || !RESPONSE_SUCCESS_CODE.equals(queryOrderByIdResponse.getErrcode()) || (orderBean = queryOrderByIdResponse.getData()) == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "订单信息不存在");
}
// 检查参数
BaseResponse response = checkAfterSalesExpress(orderBean, userInfo.getMemberId());
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response.getCode())) {
return response;
}
// 配送中,完成状态的,用户可填写
List<Integer> enableRefundExpressCodes = Arrays.asList(OrderStatus.DISTRIBUTION.getCode(), OrderStatus.COMPLETE.getCode());
if (enableRefundExpressCodes.contains(orderBean.getStatus()) && PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) {
EditAfterSalesExpressRequest editAfterSalesExpressRequest = new EditAfterSalesExpressRequest();
editAfterSalesExpressRequest.setPartnerId(orderBean.getCompanyId());
editAfterSalesExpressRequest.setStoreId(orderBean.getShopId());
editAfterSalesExpressRequest.setOrderId(orderBean.getOid());
editAfterSalesExpressRequest.setOrderClient(orderAdapter.getNewOrderClient(orderBean.getSource()));
editAfterSalesExpressRequest.setExpressNo(editAfterSalesExpressVo.getExpressNo());
editAfterSalesExpressRequest.setExpressChannelName(editAfterSalesExpressVo.getExpressChannelName());
BaseOrderResponse baseResponseDto = orderCenterSdkService.editAfterSalesExpress(editAfterSalesExpressRequest);
if (!RESPONSE_SUCCESS_CODE.equals(baseResponseDto.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), baseResponseDto.getErrmsg());
}
}
return ResponseUtil.success();
}
private BaseResponse checkAfterSalesExpress(QueryOrdersResponse.DataBean.OrderBean orderBean, String userId) {
if (!Objects.equals(userId, orderBean.getUserId())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单");
}
// 必须微商城订单
if (!OrderSourceType.SAASMALL.getCode().equalsIgnoreCase(orderBean.getSource())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), "非商城订单不可填写");
}
// 检查售后单的状态
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
if (afterSalesOrderResp == null) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), "售后单不存在");
}
if (Objects.equals(AfterSalesStatus.PENDING.getIndex(), afterSalesOrderResp.getAfterSalesStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), "商家正在处理中,请稍后……");
}
if (!Objects.equals(AfterSalesStatus.RETURNING.getIndex(), afterSalesOrderResp.getAfterSalesStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), "未找到有效的售后单");
}
// 是否为 退款退货方式
AfterSalesOrderExtInfoVo afterSalesOrderExtInfoVo = getAfterSalesOrderExtInfoVo(afterSalesOrderResp);
log.debug("售后单信息方式为:{}", afterSalesOrderResp);
if (Objects.isNull(afterSalesOrderExtInfoVo) || !Objects.equals(RefundModeEnum.REFUND_ALL.getIndex(), afterSalesOrderExtInfoVo.getRefundMode())) {
return ResponseUtil.error(ResponseResult.ORDER_REFUND_EXPRESS_ERROR.getCode(), "当前退款方式无需填写");
}
return ResponseUtil.success();
}
private AfterSalesOrderExtInfoVo getAfterSalesOrderExtInfoVo(AfterSalesOrderResp afterSalesOrderResp) {
if (afterSalesOrderResp == null) {
return null;
}
AfterSalesOrderExtInfoVo afterSalesOrderExtInfoVo = null;
try {
afterSalesOrderExtInfoVo = JSON.parseObject(afterSalesOrderResp.getExtInfo(), new com.alibaba.fastjson.TypeReference<AfterSalesOrderExtInfoVo>() {
}.getType());
} catch (Exception e) {
log.error("解析售后单 extInfo 失败");
}
return afterSalesOrderExtInfoVo;
}
}
......@@ -63,6 +63,8 @@ public class InterfaceAddressConstant {
public static final String ADULT_REFUND_COMPLETE = "/afterSales/v2/adultRefundComplete";
//售后单审核-拒绝申请
public static final String REFUND_REJECT = "afterSales/v2/adultReject";
//售后单审核-退货完成
public static final String ADULT_GOODS_RETURNED = "afterSales/v2/adultGoodsReturned";
//根据综合条件查询订单
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: AfterSalesOperateReq
* @Package com.freemud.application.sdk.api.ordercenter.request
* @Description:
* @author: ping.wu
* @date: 2019/4/3 19:54
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package com.freemud.application.sdk.api.ordercenter.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.NotEmpty;
@EqualsAndHashCode(callSuper = true)
@Data
public class AfterSalesExpressOperateReq extends AfterSalesOperateReq{
/**
* 物流公司名称
*/
private String expressChannelName;
/**
* 物流单号
*/
private String expressNo;
}
......@@ -70,4 +70,9 @@ public class OrderCancelReq {
//任务
private OrderTaskReq orderTask;
/**
* 拓展信息
*/
private String extInfo;
}
......@@ -195,5 +195,10 @@ public class OrderExtInfoDto {
private String svcCardCode;
/**
* 团号
*/
private String spellGroupCode;
}
......@@ -937,4 +937,16 @@ public class OrderSdkService {
return responseHandle(responseDTO);
}
/**
* 修改订单extinfo信息
*/
public BaseResponse adultGoodsReturned(AfterSalesExpressOperateReq request, String trackingNo) {
OrderBaseResp responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, InterfaceAddressConstant.ADULT_GOODS_RETURNED,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp>() {
});
return responseHandle(responseDTO);
}
}
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