Commit a84b553a by 徐康

Merge branch 'feature/20201201_xukang_麦咖啡p4v1' into master_back

parents 7ea84534 ed0a8901
...@@ -116,6 +116,7 @@ public class OrderSdkAdapter { ...@@ -116,6 +116,7 @@ public class OrderSdkAdapter {
//退款状态为退款完成:event为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】 //退款状态为退款完成:event为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】
var1.setCreateEvent(PayRefundStatus.SUCCESS.equals(refundStatus) ? AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent() : AfterSalesOrderCreateEventEnum.RETURN_COMPLETE.getCreateEvent()); var1.setCreateEvent(PayRefundStatus.SUCCESS.equals(refundStatus) ? AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent() : AfterSalesOrderCreateEventEnum.RETURN_COMPLETE.getCreateEvent());
var1.setOperator(operator); var1.setOperator(operator);
var1.setReason(reason);
return var1; return var1;
} }
public CancelOrderRequest getRejectRefundRequest(String operator,String reason,QueryOrdersResponse.DataBean.OrderBean orderBean){ public CancelOrderRequest getRejectRefundRequest(String operator,String reason,QueryOrdersResponse.DataBean.OrderBean orderBean){
......
...@@ -513,6 +513,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -513,6 +513,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOrderCode(orderRefundRequest.getOrderId()); request.setOrderCode(orderRefundRequest.getOrderId());
request.setReqRemark(orderRefundRequest.getRemark()); request.setReqRemark(orderRefundRequest.getRemark());
request.setAfterSalesReason(orderRefundRequest.getReason()); request.setAfterSalesReason(orderRefundRequest.getReason());
request.setCancelReason(orderRefundRequest.getReason());
request.setOperator(orderRefundRequest.getOperator()); request.setOperator(orderRefundRequest.getOperator());
if(null != orderRefundRequest.getCreateEvent()) { if(null != orderRefundRequest.getCreateEvent()) {
request.setCreateEvent(orderRefundRequest.getCreateEvent()); request.setCreateEvent(orderRefundRequest.getCreateEvent());
...@@ -694,6 +695,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -694,6 +695,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setAfterSalesType(cancelOrderRequest.getAfterSalesType().getIndex() == null ? 1 : cancelOrderRequest.getAfterSalesType().getIndex()); request.setAfterSalesType(cancelOrderRequest.getAfterSalesType().getIndex() == null ? 1 : cancelOrderRequest.getAfterSalesType().getIndex());
request.setOrderClient(cancelOrderRequest.getOrderClient()); request.setOrderClient(cancelOrderRequest.getOrderClient());
request.setCancelReason(cancelOrderRequest.getReason()); request.setCancelReason(cancelOrderRequest.getReason());
request.setAfterSalesReason(cancelOrderRequest.getReason());
//若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】 //若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】
request.setCreateEvent(cancelOrderRequest.getCreateEvent()); request.setCreateEvent(cancelOrderRequest.getCreateEvent());
request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo()); request.setAfterSerialNo(cancelOrderRequest.getRefundSerialNo());
......
...@@ -2,6 +2,8 @@ package com.freemud.sdk.api.assortment.order.util; ...@@ -2,6 +2,8 @@ package com.freemud.sdk.api.assortment.order.util;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.ordercenter.response.QueryOrderStateResp; import com.freemud.application.sdk.api.ordercenter.response.QueryOrderStateResp;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.beans.BeanInfo; import java.beans.BeanInfo;
import java.beans.Introspector; import java.beans.Introspector;
...@@ -37,6 +39,53 @@ public class MapBeanConvertUtil { ...@@ -37,6 +39,53 @@ public class MapBeanConvertUtil {
} }
/** /**
* 按照ASCII 排序
* @param obj 排序类
* @return
*/
public static String sortObjWithoutSign(Object obj) {
Map<String, Object> stringObjectMap = transBean2Map(obj);
return sortMapWithoutSign(stringObjectMap, SIGN, true);
}
public static String sortMapWithoutSign(Map<String, Object> params, char sign, boolean containSymbols) {
if (CollectionUtils.isEmpty(params)) {
return null;
}
params.remove("sign");
String buff = "";
try {
List<Map.Entry<String, Object>> infoIds = new ArrayList<>(params.entrySet());
// 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
infoIds.sort(Comparator.comparing(o -> (o.getKey())));
// 构造URL 键值对的格式
StringBuilder buf = new StringBuilder();
for (Map.Entry<String, Object> item : infoIds) {
if (!StringUtils.isEmpty(item.getKey())) {
String key = item.getKey();
String val = null;
if (item.getValue() == null) {
continue;
} else {
val = String.valueOf(item.getValue());
}
buf.append(key).append(containSymbols ? "=" : "").append(val);
buf.append(sign);
}
}
buff = buf.toString();
if (buff.isEmpty() == false && containSymbols) {
buff = buff.substring(0, buff.length() - 1);
}
} catch (Exception e) {
return null;
}
return buff;
}
/**
* Map --> Bean * Map --> Bean
* *
* @param map * @param map
......
...@@ -222,7 +222,7 @@ public class OrderAdapter { ...@@ -222,7 +222,7 @@ public class OrderAdapter {
.actualPrice(discountDeliveryAmount) .actualPrice(discountDeliveryAmount)
.build(); .build();
if(hasDeliveryMonthCard && StringUtils.isNotBlank(storeResponseDto.getBenefitCardDiscountAmount())) { if(hasDeliveryMonthCard && StringUtils.isNotBlank(storeResponseDto.getBenefitCardDiscountAmount())) {
createOrderAccountDto.setNote((Integer.parseInt(storeResponseDto.getBenefitCardDiscountAmount())*100)+""); createOrderAccountDto.setNote(Double.valueOf(Double.valueOf(storeResponseDto.getBenefitCardDiscountAmount())*100).intValue()+"");
} }
orderAccountDtos.add(createOrderAccountDto); orderAccountDtos.add(createOrderAccountDto);
} }
......
...@@ -99,7 +99,7 @@ public class WebAspect { ...@@ -99,7 +99,7 @@ public class WebAspect {
} }
List<String> unauthorizedUrls = Arrays.asList(getNotFilterUrl(CommonRedisKeyConstant.SAAS_NOT_AUTHORIZED_URL, NOT_AUTHORIZED_KEY).split(",")); List<String> unauthorizedUrls = Arrays.asList(getNotFilterUrl(CommonRedisKeyConstant.SAAS_NOT_AUTHORIZED_URL, NOT_AUTHORIZED_KEY).split(","));
List<String> mcCafeUnauthorizedUrls = Arrays.asList("/MCoffee/mcCafePaySuccessCallback","/openStoreMCCafeQueryPaymentCallback","/MCoffee/mcCafeRefund", List<String> mcCafeUnauthorizedUrls = Arrays.asList("/MCoffee/mcCafePaySuccessCallback","/openStoreMCCafeQueryPaymentCallback","/MCoffee/mcCafeRefund",
"/maCafeQueryOrders","/mcCafeQueryOrderById","/reminder","/listFreeRider","/mcCafePollingPickUpCode","/mcCafe/statusOperate"); "/maCafeQueryOrders","/mcCafeQueryOrderById","/reminder","/listFreeRider","/mcCafePollingPickUpCode","/mcCafe/statusOperate","/MCoffee/mcCafeRefundNotifyCallback");
if (!unauthorizedUrls.contains(requestUrl) && StringUtils.isEmpty(userInfo.getUnionId()) if (!unauthorizedUrls.contains(requestUrl) && StringUtils.isEmpty(userInfo.getUnionId())
&& mcCafeUnauthorizedUrls.stream().noneMatch(o -> requestUrl.contains(o))) { && mcCafeUnauthorizedUrls.stream().noneMatch(o -> requestUrl.contains(o))) {
throw new CommonServiceException(CommonResponseResult.USER_UNAUTHORIZED); throw new CommonServiceException(CommonResponseResult.USER_UNAUTHORIZED);
......
...@@ -253,6 +253,15 @@ public class OrderController { ...@@ -253,6 +253,15 @@ public class OrderController {
} }
/** /**
* 退款回掉通知
*/
@ApiAnnotation(logMessage = "mcCafeRefundNotifyCallback")
@PostMapping("/MCoffee/mcCafeRefundNotifyCallback")
public String mcCafeRefundNotifyCallback(@LogParams @RequestBody RefundNotifyCallbackRequestVo requestVo) {
return mcCafeOrderService.mcCafeRefundNotifyCallback(requestVo);
}
/**
* 获取订单排队号 * 获取订单排队号
*/ */
@ApiAnnotation(logMessage = "queueIndex") @ApiAnnotation(logMessage = "queueIndex")
......
package cn.freemud.entities.dto;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.com
*
* @version V1.0
* @Title:
* @Package: com.freemud.platform.amp.order.consumer.entity
* @Descripttion:
* @author: shuhu.hou
* @date: 2019/7/9
* @Copyright: 2017 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目.
*/
@Data
public class OrderRefundStatusChangeRequestBody {
private String orderCode;
private String timeStamp;
private String refundType;
private String refundStatus;
private String refundReason;
}
...@@ -74,4 +74,13 @@ public class MacCafeCallbackUrlRequestDto { ...@@ -74,4 +74,13 @@ public class MacCafeCallbackUrlRequestDto {
*/ */
private Integer reviewStatus; private Integer reviewStatus;
/**
* 取消原因
*/
private String cancelReason;
/**
* 退款发起方,0用户 1餐道
*/
private Integer cancelApplicant;
} }
...@@ -35,5 +35,10 @@ public interface MCCafeOrderService { ...@@ -35,5 +35,10 @@ public interface MCCafeOrderService {
*/ */
BaseResponse orderRefund(OrderRefundVo orderRefundVo); BaseResponse orderRefund(OrderRefundVo orderRefundVo);
/**
* 退款回掉通知
*/
String mcCafeRefundNotifyCallback(RefundNotifyCallbackRequestVo message);
} }
...@@ -170,6 +170,11 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -170,6 +170,11 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
OrderManagerRequest orderManagerRequest=new OrderManagerRequest(); OrderManagerRequest orderManagerRequest=new OrderManagerRequest();
orderManagerRequest.setPartnerId(request.getPartnerId()); orderManagerRequest.setPartnerId(request.getPartnerId());
orderManagerRequest.setOrderId(request.getOrderId()); orderManagerRequest.setOrderId(request.getOrderId());
if("1".equals(request.getCancelApplicant())) {
orderManagerRequest.setReason(StringUtils.isNotBlank(request.getCancelReason())?request.getCancelReason():"餐道主动取消");
} else {
orderManagerRequest.setReason(null);
}
orderManagerRequest.setOperator("配送回调"); orderManagerRequest.setOperator("配送回调");
......
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