Commit fb609287 by huiyang.chen

Merge branch '2020/10/06-随单购买月享卡-huiyang' into develop

# Conflicts:
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/enums/OldOrderAccountType.java
#	order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
parents dbdd78c0 e18531a3
...@@ -832,9 +832,13 @@ public class OrderSdkAdapter { ...@@ -832,9 +832,13 @@ public class OrderSdkAdapter {
} }
if (orderCostResp.getCostType() == 5) { if (orderCostResp.getCostType() == 5) {
accountBean.setType(OldOrderAccountType.CARD_ORIGINAL_AMOUNT.getCode()); accountBean.setType(OldOrderAccountType.CARD_ORIGINAL_AMOUNT.getCode());
}if (orderCostResp.getCostType() == 7) { }
if (orderCostResp.getCostType() == 7) {
accountBean.setType(OldOrderAccountType.DRIVER_FEE.getCode()); accountBean.setType(OldOrderAccountType.DRIVER_FEE.getCode());
} }
if (orderCostResp.getCostType() == 10) {
accountBean.setType(OldOrderAccountType.WITH_ORDER_BUY_COUPON_FEE.getCode());
}
accountBean.setAddInfo(""); accountBean.setAddInfo("");
accountList.add(accountBean); accountList.add(accountBean);
} }
......
...@@ -16,6 +16,7 @@ import java.util.Objects; ...@@ -16,6 +16,7 @@ import java.util.Objects;
public enum OldOrderAccountType { public enum OldOrderAccountType {
OTHER(0, "其他", "OTHER"),
DELIVERY_AMOUNT(1, "配送费", "DELIVERY_AMOUNT"), DELIVERY_AMOUNT(1, "配送费", "DELIVERY_AMOUNT"),
BUY_DISCOUNT(2, "满减优惠", "BUY_DISCOUNT"), BUY_DISCOUNT(2, "满减优惠", "BUY_DISCOUNT"),
PACK_AMOUNT(3, "包装费", "PACK_AMOUNT"), PACK_AMOUNT(3, "包装费", "PACK_AMOUNT"),
...@@ -24,6 +25,7 @@ public enum OldOrderAccountType { ...@@ -24,6 +25,7 @@ public enum OldOrderAccountType {
DISCOUNT_COUPON(7, "折扣券", "DISCOUNT_COUPON"), DISCOUNT_COUPON(7, "折扣券", "DISCOUNT_COUPON"),
DRIVER_FEE(7, "骑手小费", "DRIVER_FEE"), DRIVER_FEE(7, "骑手小费", "DRIVER_FEE"),
FREIGHT_COUPON(99, "运费券", "FREIGHT_COUPON"), FREIGHT_COUPON(99, "运费券", "FREIGHT_COUPON"),
WITH_ORDER_BUY_COUPON_FEE(10, "随单买月卡", "WITH_ORDER_BUY_COUPON_FEE"),
DISCOUNT_AMOUNT(21, "限时折扣", "DISCOUNT_AMOUNT"), DISCOUNT_AMOUNT(21, "限时折扣", "DISCOUNT_AMOUNT"),
PREMIUM_EXCHANGE(22, "加价购", "PREMIUM_EXCHANGE"), PREMIUM_EXCHANGE(22, "加价购", "PREMIUM_EXCHANGE"),
SECOND_DISCOUNT(23, "第二件N折", "SECOND_DISCOUNT"), SECOND_DISCOUNT(23, "第二件N折", "SECOND_DISCOUNT"),
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringBuilder;
...@@ -196,6 +197,8 @@ public class QueryOrdersResponseDto { ...@@ -196,6 +197,8 @@ public class QueryOrdersResponseDto {
private AddDeliveryInfo addInfo; private AddDeliveryInfo addInfo;
private List<OrderCostResp> orderCostDetailList;
/** /**
* 订单操作状态(从订单操作历史表中获取) * 订单操作状态(从订单操作历史表中获取)
*/ */
......
package cn.freemud.entities.dto.user;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SendCouponForqujiaDtoResponseDto
* @Package cn.freemud.entities.dto.user
* @Description:
* @author: ping1.wu
* @date: 2020/10/12 11:20
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class SendCouponForqujiaDtoResponseDto {
private String code;
private String message;
private Integer ver;
private List<Result> data;
@Data
public final static class Result {
private String card_code;
private String card_id;
private String end_datetime;
private String received_time;
private String start_datetime;
}
}
package cn.freemud.entities.dto.user;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: SendCouponForqujiaRequestDto
* @Package cn.freemud.entities.dto.user
* @Description:
* @author: ping1.wu
* @date: 2020/10/10 17:35
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class SendCouponForqujiaRequestDto {
private String mobile;
private List<String> cardId;
}
...@@ -27,7 +27,6 @@ import cn.freemud.entities.dto.PayAccessResponse; ...@@ -27,7 +27,6 @@ import cn.freemud.entities.dto.PayAccessResponse;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean; import cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean;
import cn.freemud.entities.dto.delivery.CancelDeliveryResponseDto; import cn.freemud.entities.dto.delivery.CancelDeliveryResponseDto;
import cn.freemud.entities.dto.delivery.QueryDeliveryAmountResponseDto;
import cn.freemud.entities.dto.order.CreateOrderOperateDto; import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.AttributeValue; import cn.freemud.entities.dto.product.AttributeValue;
...@@ -36,6 +35,8 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup; ...@@ -36,6 +35,8 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup;
import cn.freemud.entities.dto.product.ProductGroup; import cn.freemud.entities.dto.product.ProductGroup;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto; import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaDtoResponseDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaRequestDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -50,7 +51,6 @@ import cn.freemud.utils.ValidationCode; ...@@ -50,7 +51,6 @@ import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.freemud.api.assortment.datamanager.entity.db.*; import com.freemud.api.assortment.datamanager.entity.db.*;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.*; import com.freemud.api.assortment.datamanager.manager.*;
...@@ -69,7 +69,9 @@ import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; ...@@ -69,7 +69,9 @@ 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.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; 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.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.UpdateCouponCodeReq;
import com.freemud.application.sdk.api.ordercenter.request.UpdateDownstreamOrderCodeReq; import com.freemud.application.sdk.api.ordercenter.request.UpdateDownstreamOrderCodeReq;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest;
import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest;
...@@ -89,7 +91,6 @@ import com.freemud.sdk.api.assortment.message.enums.MessageEventType; ...@@ -89,7 +91,6 @@ import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest; import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest;
import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest; 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.enums.NewOrderType;
import com.freemud.sdk.api.assortment.order.enums.OldOrderType; import com.freemud.sdk.api.assortment.order.enums.OldOrderType;
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.*;
...@@ -104,17 +105,13 @@ import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest; ...@@ -104,17 +105,13 @@ import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest;
import com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse; import com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse;
import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse; import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse;
import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService; import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import com.google.common.base.Throwables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.gson.Gson; import com.google.gson.Gson;
import lombok.Data;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; 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.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -122,11 +119,8 @@ import org.springframework.stereotype.Service; ...@@ -122,11 +119,8 @@ import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
@Service @Service
@Slf4j @Slf4j
public class MCCafeOrderServiceImpl implements MCCafeOrderService { public class MCCafeOrderServiceImpl implements MCCafeOrderService {
...@@ -147,6 +141,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -147,6 +141,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private String cloud_print_exchange; private String cloud_print_exchange;
@Value("${saas.order.delivery.mcCafe.callBackUrl}") @Value("${saas.order.delivery.mcCafe.callBackUrl}")
private String deliveryCallBackUrl; private String deliveryCallBackUrl;
@Value("${mccafe.universal.coupon.code}")
private String withOrderBuyCouponCode;
@Value("${mcCafe.withOrderBuy.cardId}")
private String withOrderBuyCardId;
@Autowired @Autowired
private DeliveryFeiginClient deliveryFeiginClient; private DeliveryFeiginClient deliveryFeiginClient;
...@@ -231,6 +229,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -231,6 +229,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired @Autowired
private OrderBaseService orderBaseService; private OrderBaseService orderBaseService;
@Autowired
private CustomerExtendClient customerExtendClient;
@Override @Override
public BaseResponse createMCCafeOrder(CreateOrderVo createOrderVo) { public BaseResponse createMCCafeOrder(CreateOrderVo createOrderVo) {
...@@ -796,7 +796,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -796,7 +796,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Override @Override
public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) { public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) {
OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode()); QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
String oid = StringUtils.isNotEmpty(orderBean.getParentCode()) && !"0".equals(orderBean.getParentCode()) ? orderBean.getParentCode() : orderBean.getOid(); String oid = StringUtils.isNotEmpty(orderBean.getParentCode()) && !"0".equals(orderBean.getParentCode()) ? orderBean.getParentCode() : orderBean.getOid();
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
String userId = orderBean.getUserId(); String userId = orderBean.getUserId();
...@@ -807,16 +807,16 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -807,16 +807,16 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
OrderExtInfoDto orderExtInfoDto = null; OrderExtInfoDto orderExtInfoDto = null;
String wxappid = ""; String wxappid = "";
String sessionId = ""; String sessionId = "";
String openid = ""; // String openid = "";
String ruleId = ""; // String ruleId = "";
String payCode = ""; String payCode = "";
if (StringUtils.isNotBlank(extInfo)) { if (StringUtils.isNotBlank(extInfo)) {
orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class); orderExtInfoDto = gson.fromJson(extInfo, OrderExtInfoDto.class);
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getOpenid())) { if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getOpenid())) {
openid = orderExtInfoDto.getOpenid(); // openid = orderExtInfoDto.getOpenid();
wxappid = orderExtInfoDto.getAppid(); wxappid = orderExtInfoDto.getAppid();
sessionId = orderExtInfoDto.getSessionId(); sessionId = orderExtInfoDto.getSessionId();
ruleId = orderExtInfoDto.getRuleId(); // ruleId = orderExtInfoDto.getRuleId();
} }
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getPayCode()) if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getPayCode())
&& Arrays.asList(PayChannel.ALIPAY.getCode(), PayChannel.WXPAY.getCode()).contains(orderExtInfoDto.getPayCode())) { && Arrays.asList(PayChannel.ALIPAY.getCode(), PayChannel.WXPAY.getCode()).contains(orderExtInfoDto.getPayCode())) {
...@@ -824,9 +824,12 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -824,9 +824,12 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
} }
// 如果订单状态不是未支付,返回信息 // 如果订单状态不是未支付,返回信息
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus()) || !OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) { // if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus()) || !OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return sendPaySuccessNoticeMessage(); // return sendPaySuccessNoticeMessage();
} // }
//麦咖啡随单购咖啡月卡
withOrderBuyCoupon(orderBean);
// 如果是到店,则冻结优惠券 // 如果是到店,则冻结优惠券
// 如果是外卖,则核销优惠券 // 如果是外卖,则核销优惠券
...@@ -845,9 +848,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -845,9 +848,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
// TODO 记录一下冻结失败的券 // TODO 记录一下冻结失败的券
} }
} }
//若该订单使用了优惠券,则移除卡包,移除失败也不退款
// BaseResponse couponBaseResponse = couponClientService.callbackNotify(orderBean);
// 订单失败后 发消息重试 待实现 // 订单失败后 发消息重试 待实现
String takeCode; String takeCode;
String daySeq; String daySeq;
...@@ -1419,4 +1419,61 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1419,4 +1419,61 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
} }
/**
* 随单购月卡调会员发券与更新订单使用的优惠券与买的优惠券
* @param orderBean
*/
private void withOrderBuyCoupon(QueryOrdersResponseDto.DataBean.OrderBean orderBean){
try{
boolean isWithOrderBuyCoupon = false;
if(CollectionUtils.isNotEmpty(orderBean.getOrderCostDetailList())){
for (OrderCostResp accountBean : orderBean.getOrderCostDetailList()){
if(accountBean.getCostType() == 10){
isWithOrderBuyCoupon = true;
}
}
}
if(!isWithOrderBuyCoupon){
return;
}
String notBuyCouponCode = withOrderBuyCouponCode;
String cardId = withOrderBuyCardId;
// SendCouponForqujiaRequestDto request = new SendCouponForqujiaRequestDto();
// request.setMobile(orderBean.getPhone());
// request.setCardId(Arrays.asList(cardId));
// SendCouponForqujiaDtoResponseDto responseDto = customerExtendClient.sendCouponForqujia(request);
String buyCouponCode = "999999";
boolean useDiscount = false;
if(CollectionUtils.isNotEmpty(orderBean.getProductList())){
for (QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean : orderBean.getProductList()){
if(CollectionUtils.isNotEmpty(productBean.getDiscountList())){
for (QueryOrdersResponseDto.DataBean.OrderBean.ProductBean.ProductDiscount discount : productBean.getDiscountList()){
if(notBuyCouponCode.equals(discount.getDiscountId())){
discount.setDiscountId(buyCouponCode);
useDiscount = true;
}
}
}
}
}
UpdateCouponCodeReq req = new UpdateCouponCodeReq();
req.setCouponCode(buyCouponCode);
if(useDiscount){
req.setOldCouponCode(notBuyCouponCode);
}
req.setOrderCode(orderBean.getOid());
orderSdkService.updateCostCouponCode(req,LogTreadLocal.getTrackingNo());
} catch (Exception e){
LogUtil.error("getProducts_exception", null, null, e);
}
}
} }
...@@ -290,10 +290,10 @@ public class CouponClientServiceImpl implements CouponClientService { ...@@ -290,10 +290,10 @@ public class CouponClientServiceImpl implements CouponClientService {
return null; return null;
} }
List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter( List<QueryOrdersResponseDto.DataBean.OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter(
account -> (orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.COUPON) account -> (OldOrderAccountType.PRODUCT_COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.PRODUCT_COUPON) || OldOrderAccountType.COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.DISCOUNT_COUPON) || OldOrderAccountType.DISCOUNT_COUPON.equals(OldOrderAccountType.getByCode(account.getType())
|| orderAdapter.getQueryOrderAccountType(OldOrderAccountType.getByCode(account.getType())).equals(QueryOrderAccountType.FREIGHT_COUPON)) || OldOrderAccountType.FREIGHT_COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
).collect(Collectors.toList()); ).collect(Collectors.toList());
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
......
...@@ -15,6 +15,7 @@ package cn.freemud.service.thirdparty; ...@@ -15,6 +15,7 @@ package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.GetMemberCouponListRequestDto; import cn.freemud.entities.dto.GetMemberCouponListRequestDto;
import cn.freemud.entities.dto.GetMemberCouponListResponseDto; import cn.freemud.entities.dto.GetMemberCouponListResponseDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaRequestDto;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -28,4 +29,7 @@ public interface CustomerExtendClient { ...@@ -28,4 +29,7 @@ public interface CustomerExtendClient {
*/ */
@PostMapping(value = "/customerextendservice/coupon/getCoupons") @PostMapping(value = "/customerextendservice/coupon/getCoupons")
GetMemberCouponListResponseDto getMemberCouponListRequestDto(@RequestBody GetMemberCouponListRequestDto getMemberCouponListRequestDto); GetMemberCouponListResponseDto getMemberCouponListRequestDto(@RequestBody GetMemberCouponListRequestDto getMemberCouponListRequestDto);
@PostMapping(value = "/customerextendservice/qujia/b2breceiveCard")
GetMemberCouponListResponseDto sendCouponForqujia(@RequestBody SendCouponForqujiaRequestDto request);
} }
package cn.freemud.management.entities.dto.request.customer;
import lombok.Data;
import java.util.List;
@Data
public class ForbiddenCardCodeRequest {
private String memberId;
private String partnerId;
private List<CardInfo> cardInfo;
@Data
public static class CardInfo {
private String card_code;
private String card_id;
}
}
...@@ -2,6 +2,7 @@ package cn.freemud.management.service.impl; ...@@ -2,6 +2,7 @@ package cn.freemud.management.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.management.entities.dto.request.customer.ForbiddenCardCodeRequest;
import cn.freemud.management.entities.dto.request.delivery.DeliveryOrderAssemblyackRequest; import cn.freemud.management.entities.dto.request.delivery.DeliveryOrderAssemblyackRequest;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
import cn.freemud.management.entities.dto.response.order.OrderManagerResponse; import cn.freemud.management.entities.dto.response.order.OrderManagerResponse;
...@@ -10,6 +11,7 @@ import cn.freemud.management.enums.OrderStatus; ...@@ -10,6 +11,7 @@ import cn.freemud.management.enums.OrderStatus;
import cn.freemud.management.enums.ResponseResult; import cn.freemud.management.enums.ResponseResult;
import cn.freemud.management.service.OrderManagerService; import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*; import cn.freemud.management.service.handle.*;
import cn.freemud.management.thirdparty.CustomerMcCafeClient;
import cn.freemud.management.thirdparty.DeliveryMCCafeClient; import cn.freemud.management.thirdparty.DeliveryMCCafeClient;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
...@@ -19,11 +21,14 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; ...@@ -19,11 +21,14 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
...@@ -52,6 +57,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -52,6 +57,13 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
private StockHandle stockHandle; private StockHandle stockHandle;
@Resource @Resource
private DeliveryMCCafeClient deliveryMCCafeClient; private DeliveryMCCafeClient deliveryMCCafeClient;
@Resource
private CustomerMcCafeClient customerMcCafeClient;
@Value("${mcCafe.partnerId}")
private String macCafePartnerId;
@Value("${mcCafe.withOrderBuy.cardId}")
private String macCafeCardId;
@Override @Override
public BaseResponse<OrderManagerResponse> orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse<OrderManagerResponse> orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
...@@ -117,8 +129,19 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -117,8 +129,19 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
OrderCostResp orderCostResp = orderBean.getOrderCostDetailList().stream().filter(t -> 10 == t.getCostType()).findFirst().orElse(null); OrderCostResp orderCostResp = orderBean.getOrderCostDetailList().stream().filter(t -> 10 == t.getCostType()).findFirst().orElse(null);
if (orderCostResp != null){ if (orderCostResp != null){
String note = orderCostResp.getNote(); String note = orderCostResp.getNote();
// todo 调用券码作废券接口 if (StringUtils.isNotEmpty(note)) {
// 调用会员作废券接口
ForbiddenCardCodeRequest cardCodeRequest = new ForbiddenCardCodeRequest();
cardCodeRequest.setMemberId(orderBean.getUserId());
cardCodeRequest.setPartnerId(macCafePartnerId);
List<ForbiddenCardCodeRequest.CardInfo> list = new ArrayList<>();
ForbiddenCardCodeRequest.CardInfo cardInfo = new ForbiddenCardCodeRequest.CardInfo();
cardInfo.setCard_code(note);
cardInfo.setCard_id(macCafeCardId);
list.add(cardInfo);
cardCodeRequest.setCardInfo(list);
customerMcCafeClient.forbiddenCardCodeForQujia(cardCodeRequest);
}
} }
} }
//订单拒单 //订单拒单
......
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: CustomerExtendClient
* @Package cn.freemud.service.thirdparty
* @Description:
* @author: song.cai
* @date: 2019/2/20 16:42
* @version V1.0
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.management.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.dto.request.customer.ForbiddenCardCodeRequest;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "customer-extend-service", url = "${saas.customerextendclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface CustomerMcCafeClient {
@PostMapping(value = "/customerextendservice/qujia/forbiddenCardCode")
BaseResponse forbiddenCardCodeForQujia(@RequestBody ForbiddenCardCodeRequest request);
}
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