Commit 884237d1 by 徐康

Merge branch 'feature/20201013_麦咖啡p4v1问题修复_xukangg' into develop

# Conflicts:
#	order-management/pom.xml
parents 219ee959 b6213201
...@@ -809,6 +809,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -809,6 +809,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(OrderClientType.SAAS.getIndex()); request.setOrderClient(OrderClientType.SAAS.getIndex());
request.setCancelReason(cancelOrderRequest.getReason()); request.setCancelReason(cancelOrderRequest.getReason());
request.setAfterSalesReason(cancelOrderRequest.getReason());
//若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】 //若为4,默认做【创建】+【同意并退款完成】,售后单状态为【完成】
request.setCreateEvent(4); request.setCreateEvent(4);
request.setOperator(cancelOrderRequest.getOperator()); request.setOperator(cancelOrderRequest.getOperator());
......
...@@ -31,6 +31,7 @@ public enum ActivityTypeEnum { ...@@ -31,6 +31,7 @@ public enum ActivityTypeEnum {
TYPE_31(31, "折扣券"), TYPE_31(31, "折扣券"),
TYPE_32(32, "商品券"), TYPE_32(32, "商品券"),
TYPE_34(34, "运费券"), TYPE_34(34, "运费券"),
TYPE_35(35, "买1赠3券"),
TYPE_5(5, "整单满金额折"), TYPE_5(5, "整单满金额折"),
TYPE_51(51, "每满金额折"), TYPE_51(51, "每满金额折"),
TYPE_52(52, "阶梯满金额折"), TYPE_52(52, "阶梯满金额折"),
......
...@@ -507,6 +507,11 @@ public class CheckMCCafeOrder { ...@@ -507,6 +507,11 @@ public class CheckMCCafeOrder {
.channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName()) .channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName())
.couponlist(couponCodeList) .couponlist(couponCodeList)
.sign("skip") .sign("skip")
.memberInfo(new MCCafeCouponRequest.MemberInfo(userLoginInfoDto.getMemberId(),
userLoginInfoDto.getWxAppId(),
userLoginInfoDto.getUnionId(),
userLoginInfoDto.getThirdPartyMemberID(),
createOrderVo.getOrderType()==1?"mccafe_pickup":"mccafe"))
.build(); .build();
McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest); McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest);
if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode()) if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode())
...@@ -514,13 +519,17 @@ public class CheckMCCafeOrder { ...@@ -514,13 +519,17 @@ public class CheckMCCafeOrder {
LogUtil.error("部分优惠券当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse); LogUtil.error("部分优惠券当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券当前不可用"); throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券当前不可用");
} else if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getCouponlist().get(0).getStatusCode())) { } else if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getCouponlist().get(0).getStatusCode())) {
if(mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo() != null) { mcdNetBatchQueryResponse.getCouponlist().forEach(o -> {
LogUtil.error(mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_name()+"当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse); if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(o.getStatusCode())) {
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_name()+"当前不可用"); if(o.getCodeInfo() != null) {
} else { LogUtil.error(o.getCodeInfo().getAct_name()+"当前不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
LogUtil.error("部分优惠券暂时不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse); throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, o.getCodeInfo().getAct_name()+"当前不可用");
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券暂时不可用"); } else {
} LogUtil.error("部分优惠券暂时不可用", mcCafeCouponRequest, mcdNetBatchQueryResponse);
throw new ServiceException(ResponseResult.COUPON_SHOP_NOTSUPPORT, "部分优惠券暂时不可用");
}
}
});
} }
String activeCode = mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_id(); String activeCode = mcdNetBatchQueryResponse.getCouponlist().get(0).getCodeInfo().getAct_id();
// 校验点餐方式,查询购物车接口内部已校验 // 校验点餐方式,查询购物车接口内部已校验
...@@ -550,7 +559,8 @@ public class CheckMCCafeOrder { ...@@ -550,7 +559,8 @@ public class CheckMCCafeOrder {
List<MCCafeCouponVo> mcCafeCouponVos = new ArrayList<>(); List<MCCafeCouponVo> mcCafeCouponVos = new ArrayList<>();
if(CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getActivityDiscountsDtos())) { if(CollectionUtils.isNotEmpty(shoppingCartGoodsDto.getActivityDiscountsDtos())) {
shoppingCartGoodsDto.getActivityDiscountsDtos().forEach(o-> { shoppingCartGoodsDto.getActivityDiscountsDtos().forEach(o-> {
if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())) { if(ActivityTypeEnum.TYPE_3.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_32.getCode().equals(o.getActivityType())
|| ActivityTypeEnum.TYPE_34.getCode().equals(o.getActivityType()) || ActivityTypeEnum.TYPE_35.getCode().equals(o.getActivityType())) {
mcCafeCouponVos.add(new MCCafeCouponVo(o.getActivityCode())); mcCafeCouponVos.add(new MCCafeCouponVo(o.getActivityCode()));
} }
}); });
...@@ -566,6 +576,11 @@ public class CheckMCCafeOrder { ...@@ -566,6 +576,11 @@ public class CheckMCCafeOrder {
.channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName()) .channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())?MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName())
.couponlist(mcCafeCouponVos) .couponlist(mcCafeCouponVos)
.sign("skip") .sign("skip")
.memberInfo(new MCCafeCouponRequest.MemberInfo(userLoginInfoDto.getMemberId(),
userLoginInfoDto.getWxAppId(),
userLoginInfoDto.getUnionId(),
userLoginInfoDto.getThirdPartyMemberID(),
createOrderVo.getOrderType()==1?"mccafe_pickup":"mccafe"))
.build(); .build();
McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest); McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest);
if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode()) if (mcdNetBatchQueryResponse == null || !ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode())
......
...@@ -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.0.21-SNAPSHOT</version> <version>2.0.22-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
package cn.freemud.management.controller; package cn.freemud.management.controller;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.order.McCafeOrderManagerRequest;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.enums.McCafeOperateType; import cn.freemud.management.enums.McCafeOperateType;
import cn.freemud.management.enums.OperateType; import cn.freemud.management.enums.OperateType;
...@@ -11,6 +12,8 @@ import com.freemud.application.sdk.api.log.ApiAnnotation; ...@@ -11,6 +12,8 @@ import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams; import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -68,16 +71,22 @@ public class OrderManagerController { ...@@ -68,16 +71,22 @@ public class OrderManagerController {
@ApiAnnotation(logMessage = "麦咖啡订单入机") @ApiAnnotation(logMessage = "麦咖啡订单入机")
@ApiOperation(value = "麦咖啡订单入机", notes = "麦咖啡订单入机", produces = "application/json") @ApiOperation(value = "麦咖啡订单入机", notes = "麦咖啡订单入机", produces = "application/json")
@PostMapping("/mcCafe/statusOperate") @PostMapping("/mcCafe/statusOperate")
public BaseResponse mcCafeDeliveryCreate(@Validated @LogParams @RequestBody OrderManagerRequest request) { public BaseResponse mcCafeDeliveryCreate(@Validated @LogParams @RequestBody McCafeOrderManagerRequest request) {
OrderManagerRequest orderManagerRequest = new OrderManagerRequest();
BeanUtils.copyProperties(request, orderManagerRequest);
String reason = request.getReason();
if(StringUtils.isNotEmpty(reason) && reason.length() > 50) {
orderManagerRequest.setReason(reason.substring(reason.length() - 50));
}
McCafeOperateType byOpType = McCafeOperateType.getByOpType(request.getOperateType()); McCafeOperateType byOpType = McCafeOperateType.getByOpType(request.getOperateType());
if (byOpType==null){ if (byOpType==null){
return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE); return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE);
} }
switch (byOpType) { switch (byOpType) {
case ORDER_SUCCESS: case ORDER_SUCCESS:
return orderManagerAdapter.orderConfirmTake(request); return orderManagerAdapter.orderConfirmTake(orderManagerRequest);
case ORDER_REFUND: case ORDER_REFUND:
return orderManagerAdapter.orderReject(request); return orderManagerAdapter.orderReject(orderManagerRequest);
default: default:
return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE); return ResponseUtil.error(ResponseResult.ORDER_OPERATE_TYPE_NOT_VALIDATE);
} }
......
...@@ -106,4 +106,24 @@ public class MCCafeCouponRequest { ...@@ -106,4 +106,24 @@ public class MCCafeCouponRequest {
private String channel; private String channel;
private List<MCCafeCouponVo> couponlist; private List<MCCafeCouponVo> couponlist;
private MemberInfo memberInfo;
@Data
@AllArgsConstructor
public static class MemberInfo {
private String memberId;
private String appId;
private String unionId;
private String thirdPartyMemberId;
/**
* 自提:"mccafe_pickup"
* 外卖: "mccafe"
*/
private String tag;
}
} }
/*
package cn.freemud.management.entities.dto.request.order; package cn.freemud.management.entities.dto.request.order;
import cn.freemud.management.enums.OperateType; import cn.freemud.management.enums.OperateType;
...@@ -9,56 +8,54 @@ import javax.validation.constraints.Size; ...@@ -9,56 +8,54 @@ import javax.validation.constraints.Size;
@Data @Data
public class McCafeOrderManagerRequest { public class McCafeOrderManagerRequest {
/**
*/
/**
* 商户号 * 商户号
*//* */
@NotEmpty(message = "商户号不允许为null") @NotEmpty(message = "商户号不允许为null")
private String partnerId; private String partnerId;
*/ /**
/**
* 门店号 * 门店号
*//* */
private String storeId; private String storeId;
*/ /**
/**
* 取餐码
*//*
private String pickUpGoodsNo;
*/
/**
* 订单号 * 订单号
*//* */
@NotEmpty(message = "订单号不允许为nul") @NotEmpty(message = "订单号不允许为nul")
private String orderId; private String orderId;
*/ /**
/** * 退款原因
*/
private String reason;
/**
* 退款原因code
* 用于平台外卖(美团、饿了么)
*/
private Integer reason_code;
/**
* 订单操作类型 * 订单操作类型
* @see OperateType * @see OperateType
*//* */
@NotEmpty(message = "操作类型不能为空") @NotEmpty(message = "操作类型不能为空")
private String operateType; private String operateType;
*/ /**
/**
* 操作人 * 操作人
* pos * pos
* 开放平台 * 开放平台
* 小助手 * 小助手
* 系统自动履单 * 系统自动履单
*//* */
@NotEmpty(message = "操作人不能为空") @NotEmpty(message = "操作人不能为空")
private String operator; private String operator;
/**
* 取餐码
* 麦咖啡专用
*/
private String pickUpGoodsNo;
} }
*/
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