Commit f6c7664e by 徐康

麦咖啡买券发券

parent d0148e01
......@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.19-RELEASE</version>
<version>2.2.30-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
......
......@@ -2876,6 +2876,7 @@ public class OrderSdkAdapter {
orderItemCreateReq.setNickName(productRequest.getNickName());
orderItemCreateReq.setPhotoUrl(productRequest.getPhotoUrl());
orderItemCreateReq.setPackPrice(productRequest.getPackPrice());
orderItemCreateReq.setNote(productRequest.getNote());
// 拼单加购人信息 add by miaohui 2020.10.12 end
orderItemList.add(orderItemCreateReq);
......
......@@ -213,4 +213,9 @@ public class CreateOrderProductRequest extends BaseConfig {
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String originalGoodsUid;
/**
* 备注
*/
private String note;
}
......@@ -40,7 +40,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.15-RELEASE</version>
<version>2.2.31-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -277,17 +277,6 @@ public class OrderAdapter {
.build();
orderAccountDtos.add(createOrderAccountDto);
}
if(null != shoppingCartGoodsDto.getPayCardFee() && 0l != shoppingCartGoodsDto.getPayCardFee() && StringUtils.isNotBlank(createOrderVo.getCardKeyCode())) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId("")
.name("啡常月享卡")
.price(shoppingCartGoodsDto.getPayCardFee())
.accountType(QueryOrderAccountType.MCCAFE_MONTH_CARD)
.sequence(orderAccountIndex++)
.productId(createOrderVo.getCardKeyCode())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
createOrderDto.setAccounts(CollectionUtils.isNotEmpty(orderAccountDtos) ? orderAccountDtos : Collections.emptyList());
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
......@@ -2414,6 +2403,8 @@ public class OrderAdapter {
}
});
createOrderProductDemoDto.setComboProduct(comboProducts);
} else if(ProductTypeEnum.VIRTUAL_PRODUCT.getCode().equals(cartGoodsDetailDto.getProductType())) {
createOrderProductDemoDto.setNote(cartGoodsDetailDto.getMonthCardInfo().getNo());
}
}
if(CollectionUtils.isNotEmpty(cartGoodsDetailDto.getMaterialList())) {
......
......@@ -253,6 +253,11 @@ public class ShoppingCartGoodsDto {
private String cartGoodsUid;
/**
* 月享卡加购信息
*/
private MonthCardVo monthCardInfo;
/**
* 配料或属性
*/
private List<CartGoodsDetailDto.CartGoodsExtra> extraList = new ArrayList<>(0);
......@@ -319,4 +324,18 @@ public class ShoppingCartGoodsDto {
}
@Data
public class MonthCardVo {
/**
* 卡号
*/
private String no;
/**
* 月享卡类型:1.月享卡(单商品购买);2.月享卡(多商品购买);3.普通月卡
*/
private Integer type;
}
}
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 B2bReceiveCardRequestDto {
private String mobile;
private List<String> cardId;
}
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 B2bReceiveCardResponseDto {
private String code;
private String message;
private List<Card> data;
@Data
public final static class Card {
private String card_code;
private String card_id;
public String received_time;
public String start_datetime;
public String end_datetime;
}
}
......@@ -19,6 +19,13 @@ public enum ProductType {
SETMEALPRODUCT_UPPRICE(7,"加价套餐商品"),
MATERIALPRODUCT_UPPRICE(88,"加料商品"),
LITTLE_MATERIAL_PRODUCT(89,"小料"),
GROUP_PRODUCT(3, "组合商品"),
SETMEAL_PRODUCT(6, "套餐商品"),
VIRTUAL_PRODUCT(9, "虚拟商品"),
WEIGHT_PRODUCT(11, "称重商品"),
TABLEWARE_PRODUCT(12, "餐具商品"),
;
private int code;
......
......@@ -73,6 +73,7 @@ import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
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.ProductTypeEnum;
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.UpdateCouponCodeReq;
......@@ -1620,4 +1621,79 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
}
/**
* 购买月卡调会员发券与更新订单使用的优惠券与买的优惠券
* @param orderBean
*/
private void withOrderBuyCouponNew(QueryOrdersResponseDto.DataBean.OrderBean orderBean,String sessionId){
AssortmentCustomerInfoVo assortmentCustomerInfoVo = customerInfoManager.getCustomerInfoByObject(sessionId);
try{
boolean isWithOrderBuyCoupon = false;
if(CollectionUtils.isNotEmpty(orderBean.getProductList())){
for (OrderBean.ProductBean productBean : orderBean.getProductList()){
if(ProductTypeEnum.VIRTUAL_PRODUCT.equals(productBean.getProductType())){
isWithOrderBuyCoupon = true;
} else if(ProductTypeEnum.WITH_ORDER_VIRTUAL_PRODUCT.equals(productBean.getProductType())){
isWithOrderBuyCoupon = true;
}
}
}
if(!isWithOrderBuyCoupon){
return;
}
String notBuyCouponCode = withOrderBuyCouponCode;
String cardId = withOrderBuyCardId;
SendCouponForqujiaRequestDto request = new SendCouponForqujiaRequestDto();
request.setReceivedId(orderBean.getOid());
request.setCardIds(Arrays.asList(cardId));
request.setThirdPartyMemberId(assortmentCustomerInfoVo.getThirdPartyMemberID());
SendCouponForqujiaDtoResponseDto responseDto = customerExtendClient.sendCouponForqujia(request);
if(!Objects.equals(responseDto.getCode(), ResponseResult.SUCCESS.getCode())){
LogUtil.error("sendCouponForqujia", JSON.toJSONString(request), JSON.toJSONString(responseDto));
return;
}
if(responseDto.getData() == null || CollectionUtils.isEmpty(responseDto.getData().getCard_list())){
return;
}
String buyCouponCode = responseDto.getData().getCard_list().get(0).getCard_code();
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());
List<OrderBean.AccountBean> accountList = orderBean.getAccountList().stream().filter(
account -> (withOrderBuyCouponCode.equals(account.getAccountId()))
).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(accountList)) {
accountList.forEach(o -> o.setAccountId(buyCouponCode));
}
} catch (Exception e){
LogUtil.error("买券异常", null, null, e);
}
}
}
......@@ -15,6 +15,7 @@ package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.GetMemberCouponListRequestDto;
import cn.freemud.entities.dto.GetMemberCouponListResponseDto;
import cn.freemud.entities.dto.user.B2bReceiveCardRequestDto;
import cn.freemud.entities.dto.user.QujiaForbiddenCardCodeRequestDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaDtoResponseDto;
import cn.freemud.entities.dto.user.SendCouponForqujiaRequestDto;
......@@ -34,4 +35,7 @@ public interface CustomerExtendClient {
@PostMapping(value = "/customerextendservice/qujia/receiveCard")
SendCouponForqujiaDtoResponseDto sendCouponForqujia(@RequestBody SendCouponForqujiaRequestDto request);
@PostMapping(value = "/customerextendservice/qujia/b2breceiveCard")
SendCouponForqujiaDtoResponseDto b2bReceiveCard(@RequestBody B2bReceiveCardRequestDto 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