Commit b33ca399 by 刘鹏飞

Merge remote-tracking branch 'remotes/origin/feature/coco-payGift-刘鹏飞' into develop

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	order-application-service/pom.xml
parents 5220e7e0 004525d2
...@@ -22,6 +22,17 @@ import java.util.List; ...@@ -22,6 +22,17 @@ import java.util.List;
public class PayGiftCheckAndJoinResponseDto { public class PayGiftCheckAndJoinResponseDto {
private String activityName; private String activityName;
/**
* 发送方式
* 0-静默发送
* 5-手动发送
*/
private Integer sendType;
/**
* 活动类型
*/
private String type;
private List<PayGiftCouponVo> coupons; private List<PayGiftCouponVo> coupons;
private PayGiftWechatCouponInfoVo wechatCouponInfo; private PayGiftWechatCouponInfoVo wechatCouponInfo;
} }
...@@ -356,6 +356,13 @@ public class QueryOrderResponseVo { ...@@ -356,6 +356,13 @@ public class QueryOrderResponseVo {
//支付有礼活动名称 //支付有礼活动名称
private String activityName; private String activityName;
/**
* 支付有礼发送方式
* 0-静默发送
* 5-手动发送
*/
private Integer activitySendType;
//支付有礼领券集合 //支付有礼领券集合
private List<PayGiftCouponVo> coupons; private List<PayGiftCouponVo> coupons;
private PayGiftWechatCouponInfoVo wechatCouponInfo; private PayGiftWechatCouponInfoVo wechatCouponInfo;
......
...@@ -169,6 +169,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -169,6 +169,11 @@ public class OrderServiceImpl implements Orderservice {
@Value("${mq.cloud_print_exchange}") @Value("${mq.cloud_print_exchange}")
private String cloud_print_exchange; private String cloud_print_exchange;
/**
* coco商户
*/
@Value("#{'${coco.partnerId}'.split(',')}")
private List<String> cocoPartnerId;
@Autowired @Autowired
private AssortmentCloudPrinterManager cloudPrinterManager; private AssortmentCloudPrinterManager cloudPrinterManager;
...@@ -892,14 +897,32 @@ public class OrderServiceImpl implements Orderservice { ...@@ -892,14 +897,32 @@ public class OrderServiceImpl implements Orderservice {
// 取红包图片 // 取红包图片
queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId)); queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId));
queryOrderResponseVo.setActivityId(activityId); queryOrderResponseVo.setActivityId(activityId);
// coco订单不考略是否查询待取餐的订单,直接调用支付有礼活动
// 所以在这个地方排除掉coco,在下边单独实现
//参与支付有礼活动 //参与支付有礼活动
if(!cocoPartnerId.contains(queryOrderVo.getPartnerId())){
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo); joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo);
}
} catch (Exception e) { } catch (Exception e) {
LogUtil.error("queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e); LogUtil.error("queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
} }
}); });
} }
// coco订单参与支付有礼活动
if(cocoPartnerId.contains(queryOrderVo.getPartnerId())){
queryOrderResponseVos.forEach(queryOrderResponseVo -> {
try {
joinPayGift(queryOrderVo.getSessionId(), queryOrderResponseVo);
} catch (Exception e) {
LogUtil.error("coco_queryOrders_activity_error", gson.toJson(queryOrdersDto), gson.toJson(queryOrderResponseVo), e);
}
});
}
responseMap.put("count", queryOrderResponse.getData() == null ? 0 : queryOrderResponse.getData().getCount()); responseMap.put("count", queryOrderResponse.getData() == null ? 0 : queryOrderResponse.getData().getCount());
responseMap.put("list", queryOrderResponseVos); responseMap.put("list", queryOrderResponseVos);
//只有有订单时才显示用户自定义取餐信息 //只有有订单时才显示用户自定义取餐信息
...@@ -1186,6 +1209,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1186,6 +1209,7 @@ public class OrderServiceImpl implements Orderservice {
queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName()); queryOrderResponseVo.setActivityName(payGiftResponse.getActivityName());
queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons()); queryOrderResponseVo.setCoupons(payGiftResponse.getCoupons());
queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo()); queryOrderResponseVo.setWechatCouponInfo(payGiftResponse.getWechatCouponInfo());
queryOrderResponseVo.setActivitySendType(payGiftResponse.getSendType());
} }
} }
...@@ -1333,6 +1357,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1333,6 +1357,12 @@ public class OrderServiceImpl implements Orderservice {
queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId)); queryOrderResponseVo.setRedpacketsPicture(getRedpacketsPicture(activityId));
} }
// 支付有礼
// 目前只有coco在订单详情参加支付有礼,且不检查订单的状态
if(cocoPartnerId.contains(partnerId)){
joinPayGift(sessionId, queryOrderResponseVo);
}
return ResponseUtil.success(queryOrderResponseVo); return ResponseUtil.success(queryOrderResponseVo);
} }
......
...@@ -146,7 +146,7 @@ public class CouponClientServiceImpl implements CouponClientService { ...@@ -146,7 +146,7 @@ public class CouponClientServiceImpl implements CouponClientService {
account -> (OldOrderAccountType.PRODUCT_COUPON.equals(OldOrderAccountType.getByCode(account.getType())) account -> (OldOrderAccountType.PRODUCT_COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
|| OldOrderAccountType.COUPON.equals(OldOrderAccountType.getByCode(account.getType())) || OldOrderAccountType.COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
|| OldOrderAccountType.DISCOUNT_COUPON.equals(OldOrderAccountType.getByCode(account.getType())) || OldOrderAccountType.DISCOUNT_COUPON.equals(OldOrderAccountType.getByCode(account.getType()))
) && account.getPrice() != 0l).collect(Collectors.toList()); )).collect(Collectors.toList());
if (CollectionUtils.isEmpty(accountList)) { if (CollectionUtils.isEmpty(accountList)) {
return null; return null;
} }
......
...@@ -20,6 +20,7 @@ import cn.freemud.interceptor.ServiceException; ...@@ -20,6 +20,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.ActivityService; import cn.freemud.service.ActivityService;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService; import cn.freemud.service.impl.AssortmentSdkService;
import cn.freemud.service.impl.CouponServiceImpl;
import cn.freemud.service.impl.FullSubtractionActivityServiceImpl; import cn.freemud.service.impl.FullSubtractionActivityServiceImpl;
import cn.freemud.service.impl.mcoffee.calculation.CalculationServiceImpl; import cn.freemud.service.impl.mcoffee.calculation.CalculationServiceImpl;
import cn.freemud.service.impl.mcoffee.calculation.CouponDiscountCalculation; import cn.freemud.service.impl.mcoffee.calculation.CouponDiscountCalculation;
...@@ -109,6 +110,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -109,6 +110,8 @@ public class ShoppingCartMCoffeeServiceImpl {
@Autowired @Autowired
private StoreCenterService storeCenterService; private StoreCenterService storeCenterService;
@Autowired @Autowired
private CouponServiceImpl couponService;
@Autowired
private ProductClient productClient; private ProductClient productClient;
@Autowired @Autowired
private ShoppingCartConvertAdapter shoppingCartConvertAdapter; private ShoppingCartConvertAdapter shoppingCartConvertAdapter;
...@@ -183,7 +186,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -183,7 +186,8 @@ public class ShoppingCartMCoffeeServiceImpl {
String couponName = ""; String couponName = "";
if (StringUtils.isNotEmpty(couponCode)){ if (StringUtils.isNotEmpty(couponCode)){
CustomerInfoVo userLoginInfoDto = getCustomerInfoVo(sessionId); CustomerInfoVo userLoginInfoDto = getCustomerInfoVo(sessionId);
couponName = getCouponNameByCode(couponCode,userLoginInfoDto,BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode()); couponName = getCouponNameByCode(couponCode,userLoginInfoDto,
BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode(),storeId);
addCartGoods.setCouponName(couponName); addCartGoods.setCouponName(couponName);
} }
...@@ -1726,15 +1730,23 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1726,15 +1730,23 @@ public class ShoppingCartMCoffeeServiceImpl {
return requestVo; return requestVo;
} }
private String getCouponNameByCode(String couponCode,CustomerInfoVo userInfo,String menuType){ private String getCouponNameByCode(String couponCode,CustomerInfoVo userInfo,String menuType,String storeId){
String couponName = ""; String couponName = "";
//加购的时候根据券号查询券名称,存入cartGood
CheckSpqInfoRequestDto checkSpqInfoRequestDto = new CheckSpqInfoRequestDto(userInfo.getPartnerId(), String partnerId = userInfo.getPartnerId();
userInfo.getStoreId(),couponCode , menuType); GetMemberCouponRequestVo requestVo = new GetMemberCouponRequestVo();
CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class); requestVo.setPartnerId(partnerId);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto); requestVo.setCouponCode(couponCode);
if (null != checkSpqInfoRequestDto && StringUtils.isNotEmpty(checkSpqInfoResponseDto.getActivityName())){ requestVo.setStoreId(storeId);
couponName = checkSpqInfoResponseDto.getActivityName(); GetCouponDetailResponseDto couponDetailResponseDto = couponService.getMemberCoupon(requestVo);
if (couponDetailResponseDto == null || !couponDetailResponseDto.getResult().equals(ResponseCodeConstant.RESPONSE_SUCCESS_1) || CollectionUtils.isEmpty(couponDetailResponseDto.getDetails())) {
return couponName;
}
if (null != couponDetailResponseDto && CollectionUtils.isNotEmpty(couponDetailResponseDto.getDetails())
&& null != couponDetailResponseDto.getDetails().get(0)){
couponName = couponDetailResponseDto.getDetails().get(0).getActive().getActiveName();
} }
return couponName; return couponName;
} }
......
...@@ -205,7 +205,7 @@ public class CalculationServiceImpl { ...@@ -205,7 +205,7 @@ public class CalculationServiceImpl {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discount : discounts) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discount : discounts) {
int discountAmount = (discount.getDiscount() == null) ? 0 : discount.getDiscount(); int discountAmount = (discount.getDiscount() == null) ? 0 : discount.getDiscount();
Integer discountType = discount.getType(); Integer discountType = discount.getType();
if (discountType != null && discountAmount > 0) { if (discountType != null && discountAmount >= 0) {
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto(); ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityCode(discount.getActivityCode()); activityDiscountsDto.setActivityCode(discount.getActivityCode());
activityDiscountsDto.setActivityName(discount.getActivityName()); activityDiscountsDto.setActivityName(discount.getActivityName());
......
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