Commit 90fa0485 by ping.wu

Merge branches 'develop' and 'feature-yu.sun-material-20201030' of…

Merge branches 'develop' and 'feature-yu.sun-material-20201030' of http://gitlab.freemud.com/order-group-application/order-group into develop

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	ordercenter-sdk/pom.xml
#	ordercenter-sdk/readme.md
#	shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/ActivityCalculationDiscountRequestDto.java
#	shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/activity/ActivityDiscountsDto.java
#	shopping-cart-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
#	shopping-cart-application-service/src/main/java/cn/freemud/enums/ResponseResult.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents d915f195 5b116545
...@@ -806,6 +806,8 @@ public class OrderSdkAdapter { ...@@ -806,6 +806,8 @@ public class OrderSdkAdapter {
accountBean.setSequence(orderSettlementResp.getProductSeq()); accountBean.setSequence(orderSettlementResp.getProductSeq());
accountBean.setType(getOldOrderAccountType(orderSettlementResp.getSettlementType())); accountBean.setType(getOldOrderAccountType(orderSettlementResp.getSettlementType()));
accountBean.setAddInfo(orderSettlementResp.getExtInfo()); accountBean.setAddInfo(orderSettlementResp.getExtInfo());
// accountBean.setAddInfo("");
accountBean.setAddInfo(orderSettlementResp.getExtInfo());
accountBean.setPlatformDiscountAmount(orderSettlementResp.getPlatformDiscountAmount()); accountBean.setPlatformDiscountAmount(orderSettlementResp.getPlatformDiscountAmount());
accountBean.setShopDiscountAmount(orderSettlementResp.getShopDiscountAmount()); accountBean.setShopDiscountAmount(orderSettlementResp.getShopDiscountAmount());
accountList.add(accountBean); accountList.add(accountBean);
......
...@@ -17,7 +17,8 @@ public enum GoodsTypeEnum { ...@@ -17,7 +17,8 @@ public enum GoodsTypeEnum {
COMMON_GOODS(1, "正常商品"), COMMON_GOODS(1, "正常商品"),
COUPON_GOODS(2, "商品券"), COUPON_GOODS(2, "商品券"),
SET_MEAL_GOODS(3,"套餐商品"), HG_COUPON_GOODS(7, "换购券"),
SET_MEAL_GOODS(3, "套餐商品"),
SKU_GOODS(4, "sku商品"), SKU_GOODS(4, "sku商品"),
SPU_GOODS(5, "spu商品"), SPU_GOODS(5, "spu商品"),
EXCEPTION_GOODS(99, "异常商品:商品菜单变化导致和购物车不商品匹配"); EXCEPTION_GOODS(99, "异常商品:商品菜单变化导致和购物车不商品匹配");
......
...@@ -380,5 +380,9 @@ public class CartGoods { ...@@ -380,5 +380,9 @@ public class CartGoods {
* 购物车一行商品的总现价 * 购物车一行商品的总现价
*/ */
private Long amount; private Long amount;
/**
* 麦咖啡入机键位
*/
private String keyWord;
} }
} }
...@@ -80,16 +80,6 @@ public interface ShoppingCartBaseService { ...@@ -80,16 +80,6 @@ public interface ShoppingCartBaseService {
BaseResponse<List<CartGoods>> getCartGoodsList(CartParamDto cartParamDto, String trackingNo); BaseResponse<List<CartGoods>> getCartGoodsList(CartParamDto cartParamDto, String trackingNo);
/** /**
* 获取购物车商品代金券
*
* @param cartParamDto
* @return
*/
default BaseResponse<String> getCartCouponCode(CartParamDto cartParamDto, String trackingNo) {
return null;
}
/**
* 设置购物车商品行集合信息 * 设置购物车商品行集合信息
* *
* @param cartParamDto * @param cartParamDto
...@@ -191,7 +181,7 @@ public interface ShoppingCartBaseService { ...@@ -191,7 +181,7 @@ public interface ShoppingCartBaseService {
CartGoodsStates cartGoodsStates = new CartGoodsStates(); CartGoodsStates cartGoodsStates = new CartGoodsStates();
for (CartGoods cartGoods : checkCartRequest.getCartGoodsList()) { for (CartGoods cartGoods : checkCartRequest.getCartGoodsList()) {
// 当goodsId为空或商品是商品券时直接跳过 // 当goodsId为空或商品是商品券时直接跳过
if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.COUPON_GOODS.getGoodsType())) { if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.COUPON_GOODS.getGoodsType()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType())) {
continue; continue;
} }
shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList); shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList);
......
...@@ -92,7 +92,7 @@ public class OrderCallBackMQService { ...@@ -92,7 +92,7 @@ public class OrderCallBackMQService {
//上报发票信息 //上报发票信息
sendInvoiceReportMQ(body); sendInvoiceReportMQ(body);
//未支付超时关单,发送队列冲正积分、券码等,停车场订单走单独逻辑 //未支付超时关单,发送队列冲正积分、券码等,停车场订单走单独逻辑
if (checkParkingOrders(orderInfoReqs)) { if (checkParkingOrders(JSONObject.parseObject(body.getContent(), OrderInfoReqs.class))) {
revertParkingOrders(body); revertParkingOrders(body);
}else{ }else{
revert(body); revert(body);
......
...@@ -40,6 +40,7 @@ import cn.freemud.redis.RedisCache; ...@@ -40,6 +40,7 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.request.wechat.dto.SignMessageBuilder; import cn.freemud.request.wechat.dto.SignMessageBuilder;
import cn.freemud.service.impl.OrderCommonService; import cn.freemud.service.impl.OrderCommonService;
import cn.freemud.utils.*; import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -2317,7 +2318,8 @@ public class OrderAdapter { ...@@ -2317,7 +2318,8 @@ public class OrderAdapter {
return createOrderProductDemoDto; return createOrderProductDemoDto;
} }
public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) { // public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest(); CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId()); createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName()); createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
...@@ -2329,6 +2331,7 @@ public class OrderAdapter { ...@@ -2329,6 +2331,7 @@ public class OrderAdapter {
} else { } else {
createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice()); createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice());
} }
// createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice());
createOrderProductDemoDto.setSalePrice(cartGoodsDetailDto.getOriginalPrice()); createOrderProductDemoDto.setSalePrice(cartGoodsDetailDto.getOriginalPrice());
createOrderProductDemoDto.setTotalDiscountAmount(cartGoodsDetailDto.getTotalDiscountAmount() == null ? 0 : cartGoodsDetailDto.getTotalDiscountAmount().longValue()); createOrderProductDemoDto.setTotalDiscountAmount(cartGoodsDetailDto.getTotalDiscountAmount() == null ? 0 : cartGoodsDetailDto.getTotalDiscountAmount().longValue());
createOrderProductDemoDto.setNumber(cartGoodsDetailDto.getQty()); createOrderProductDemoDto.setNumber(cartGoodsDetailDto.getQty());
...@@ -3551,4 +3554,10 @@ public class OrderAdapter { ...@@ -3551,4 +3554,10 @@ public class OrderAdapter {
} }
return payChannelName; return payChannelName;
} }
public DeleteOrderDto convent2DeleteOrderDto(String oId) {
DeleteOrderDto deleteOrderDto = new DeleteOrderDto();
deleteOrderDto.setOrderId(oId);
return deleteOrderDto;
}
} }
...@@ -219,6 +219,15 @@ public class OrderController { ...@@ -219,6 +219,15 @@ public class OrderController {
} }
/** /**
* 取消支付删除订单
*/
@ApiAnnotation(logMessage = "deleteOrderById")
@PostMapping("/deleteOrderById")
public BaseResponse deleteOrderById(@Validated @LogParams @RequestBody DeleteOrderVo deleteOrderVo) {
return orderservice.deleteOrderById(deleteOrderVo);
}
/**
* 用户申请退款 * 用户申请退款
*/ */
@ApiAnnotation(logMessage = "refund") @ApiAnnotation(logMessage = "refund")
......
...@@ -54,7 +54,7 @@ public interface Orderservice { ...@@ -54,7 +54,7 @@ public interface Orderservice {
* @param oid 订单ID * @param oid 订单ID
* @return * @return
*/ */
BaseResponse queryOrderById(Integer operation,String sessionId, String oid, String partnerId,String channel); BaseResponse queryOrderById(Integer operation, String sessionId, String oid, String partnerId, String channel);
/** /**
* 支付取消删除订单 * 支付取消删除订单
...@@ -62,6 +62,11 @@ public interface Orderservice { ...@@ -62,6 +62,11 @@ public interface Orderservice {
BaseResponse deleteOrder(DeleteOrderVo deleteOrderVo); BaseResponse deleteOrder(DeleteOrderVo deleteOrderVo);
/** /**
* 支付取消删除订单
*/
BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo);
/**
* 订单申请退款 * 订单申请退款
*/ */
BaseResponse orderRefund(OrderRefundVo orderRefundVo); BaseResponse orderRefund(OrderRefundVo orderRefundVo);
......
...@@ -1476,6 +1476,44 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1476,6 +1476,44 @@ public class OrderServiceImpl implements Orderservice {
} }
@Override @Override
public BaseResponse deleteOrderById(DeleteOrderVo deleteOrderVo) {
if (StringUtils.isBlank(deleteOrderVo.getOid())) {
return ResponseUtil.error(ResponseResult.PARAMETER_MISSING.getCode(), "oid不能为空");
}
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(deleteOrderVo.getOid());
baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
String string = JSONObject.toJSONString(queryOrderByIdResponse);
JSONObject jsonObject = JSONObject.parseObject(string);
QueryOrderByIdResponseDto responseDto = jsonObject.toJavaObject(QueryOrderByIdResponseDto.class);
if (!RESPONSE_SUCCESS_CODE.equals(responseDto.getErrcode()) || responseDto.getData() == null) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR);
}
OrderBean orderBean = responseDto.getData();
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
}
if (!OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR.getCode(), "订单状态不允许删除");
}
DeleteOrderDto deleteOrderDto = orderAdapter.convent2DeleteOrderDto(deleteOrderVo.getOid());
//
DeleteOrderRequest var1 = new DeleteOrderRequest();
var1.setOrderId(deleteOrderDto.getOrderId());
var1.setTrackingNo(LogTreadLocal.getTrackingNo());
var1.setOperator("未支付删除");
BaseOrderResponse baseOrderResponse = orderCenterSdkService.deleteOrder(var1);
if (!RESPONSE_SUCCESS_CODE.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(ResponseResult.ORDER_DELETE_ERROR);
}
// TODO: 2019/9/10 删除订单通知
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return ResponseUtil.success();
}
@Override
public BaseResponse orderRefund(OrderRefundVo orderRefundVo) { public BaseResponse orderRefund(OrderRefundVo orderRefundVo) {
if (StringUtils.isEmpty(orderRefundVo.getReason())) { if (StringUtils.isEmpty(orderRefundVo.getReason())) {
orderRefundVo.setReason("退款"); orderRefundVo.setReason("退款");
......
...@@ -20,4 +20,10 @@ ...@@ -20,4 +20,10 @@
| 1.4.35-SNAPSHOT | 麦咖啡| 谌会阳 |2020-08-08 | 1.4.35-SNAPSHOT | 麦咖啡| 谌会阳 |2020-08-08
| 1.4.36-SNAPSHOT | 修复queryRelatedOrderByCode反序列化报错| 肖家炜 |2020-08-25 | 1.4.36-SNAPSHOT | 修复queryRelatedOrderByCode反序列化报错| 肖家炜 |2020-08-25
| 1.4.37-SNAPSHOT | 麦咖啡汇集回调,调用基础服务方法 | 徐康 | 2020-09-02 | | 1.4.37-SNAPSHOT | 麦咖啡汇集回调,调用基础服务方法 | 徐康 | 2020-09-02 |
| 1.4.38-SNAPSHOT | 麦咖啡加料 | 徐康 | 2020-09-28 | | 1.4.38-SNAPSHOT | 麦咖啡加料 | 徐康 | 2020-09-28 |
\ No newline at end of file | 1.3.11.RELEASE | 新增常量类转化 | 张志恒 | 2020-08-04 |
| 1.3.12.RELEASE | 加料商品 | 梁崇福 | 2020-08-24 |
| 1.3.13.RELEASE | 麦咖啡 | 徐康 | 2020-09-07 |
| 1.3.14.RELEASE | 修复查询订单时transId为null的问题 | 肖家炜 | 2020-09-08 |
| 1.3.15.RELEASE | 停车场订单撤单 | 张志恒 | 2020-09-28 |
| 1.3.16.RELEASE | 麦咖啡多规格 | 徐康 | 2020-10-09 |
...@@ -497,7 +497,10 @@ public class ShoppingCartConvertAdapter { ...@@ -497,7 +497,10 @@ public class ShoppingCartConvertAdapter {
} }
ValidateShopProductType productType = new ValidateShopProductType(); ValidateShopProductType productType = new ValidateShopProductType();
productType.setSpuId(cartGoods.getSpuId()); productType.setSpuId(cartGoods.getSpuId());
productType.setSkuId(ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType()) ? cartGoods.getSkuId() : cartGoods.getSpuId()); // 多规格商品券
productType.setSkuId((ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.SKU_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType()))
? cartGoods.getSkuId() : cartGoods.getSpuId());
// 应产品要求 // 应产品要求
// 普通商品,取商品的finalePrice(普通商品售价);套餐商品,取originalPrice(套餐价格) // 普通商品,取商品的finalePrice(普通商品售价);套餐商品,取originalPrice(套餐价格)
productType.setPrice(cartGoods.getFinalPrice() == null ? 0 : cartGoods.getFinalPrice().intValue()); productType.setPrice(cartGoods.getFinalPrice() == null ? 0 : cartGoods.getFinalPrice().intValue());
...@@ -695,7 +698,7 @@ public class ShoppingCartConvertAdapter { ...@@ -695,7 +698,7 @@ public class ShoppingCartConvertAdapter {
comboxGoods.setTax(isComboxGoods ? productComboType.getTax() : groupDetailType.getTax()); comboxGoods.setTax(isComboxGoods ? productComboType.getTax() : groupDetailType.getTax());
comboxGoods.setTaxId(isComboxGoods ? productComboType.getTaxId() : groupDetailType.getTaxId()); comboxGoods.setTaxId(isComboxGoods ? productComboType.getTaxId() : groupDetailType.getTaxId());
//套餐内商品加料 // TODO: 2020/10/22 套餐内可选商品加料,暂无
if(CollectionUtils.isNotEmpty(comboxGoods.getProductMaterialList())){ if(CollectionUtils.isNotEmpty(comboxGoods.getProductMaterialList())){
List<com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods> productMaterialList = new ArrayList<>(); List<com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods> productMaterialList = new ArrayList<>();
com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods materialGoods = new com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods(); com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods materialGoods = new com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods();
...@@ -727,7 +730,10 @@ public class ShoppingCartConvertAdapter { ...@@ -727,7 +730,10 @@ public class ShoppingCartConvertAdapter {
} }
//提取加料信息 //提取加料信息
List<String> materialSpu = new ArrayList<>(); List<String> materialSpu = new ArrayList<>();
List<ProductBeanDTO.ProductGroupType.GroupDetailType> groupDetail = spuProduct.getAdditionalGroupList().get(0).getGroupDetail(); List<ProductBeanDTO.ProductGroupType.GroupDetailType> groupDetail = new ArrayList<>();
for (ProductBeanDTO.ProductGroupType productGroupType : spuProduct.getAdditionalGroupList()){
groupDetail.addAll(productGroupType.getGroupDetail());
}
HashMap<String, ProductBeanDTO.ProductGroupType.GroupDetailType> materialHash = new HashMap<>(); HashMap<String, ProductBeanDTO.ProductGroupType.GroupDetailType> materialHash = new HashMap<>();
for (ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail) { for (ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail) {
materialHash.put(groupDetailType.getProductId(), groupDetailType); materialHash.put(groupDetailType.getProductId(), groupDetailType);
...@@ -755,6 +761,7 @@ public class ShoppingCartConvertAdapter { ...@@ -755,6 +761,7 @@ public class ShoppingCartConvertAdapter {
//原行单价*数量 //原行单价*数量
material.setOriginalAmount(detail.getProductFinalPrice().longValue() * cartGoods.getQty()); material.setOriginalAmount(detail.getProductFinalPrice().longValue() * cartGoods.getQty());
material.setOriginalPrice(detail.getProductFinalPrice().longValue()); material.setOriginalPrice(detail.getProductFinalPrice().longValue());
material.setKeyWord(materialGoods.getKeyWord());
materialGoodsList.add(material); materialGoodsList.add(material);
materialAmount += detail.getProductFinalPrice().longValue() * cartGoods.getQty(); materialAmount += detail.getProductFinalPrice().longValue() * cartGoods.getQty();
originalMaterAmount += detail.getProductFinalPrice().longValue() * cartGoods.getQty(); originalMaterAmount += detail.getProductFinalPrice().longValue() * cartGoods.getQty();
...@@ -907,28 +914,25 @@ public class ShoppingCartConvertAdapter { ...@@ -907,28 +914,25 @@ public class ShoppingCartConvertAdapter {
//套餐内商品加料 //套餐内商品加料
if(CollectionUtils.isNotEmpty(comboxGoods.getProductMaterialList())){ if(CollectionUtils.isNotEmpty(comboxGoods.getProductMaterialList())){
if (CollectionUtils.isNotEmpty(productBeanDTO.getAdditionalGroupList())) { if (CollectionUtils.isNotEmpty(productBeanDTO.getAdditionalGroupList())) {
List<ProductBeanDTO.ProductGroupType.GroupDetailType> groupDetail = productBeanDTO.getAdditionalGroupList().get(0).getGroupDetail(); List<ProductBeanDTO.ProductGroupType.GroupDetailType> groupDetail = new ArrayList<>();
ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType1 = null; for (ProductBeanDTO.ProductGroupType productGroupType : productBeanDTO.getAdditionalGroupList()){
for (com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods productMaterialList :comboxGoods.getProductMaterialList()){ groupDetail.addAll(productGroupType.getGroupDetail());
}
List<com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods> productMaterialList = new ArrayList<>();
for (com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods productMaterial :comboxGoods.getProductMaterialList()){
for (ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail){ for (ProductBeanDTO.ProductGroupType.GroupDetailType groupDetailType : groupDetail){
if(groupDetailType.getProductId().equals(productMaterialList.getSpuId())){ if(groupDetailType.getProductId().equals(productMaterial.getSpuId()) && productMaterial.getAmount() == null){
groupDetailType1 = groupDetailType; productMaterial.setSpuId(groupDetailType.getProductId());
break; productMaterial.setAmount(groupDetailType.getProductPrice().longValue());
productMaterial.setFinalPrice(groupDetailType.getProductFinalPrice().longValue());
productMaterial.setOriginalAmount(groupDetailType.getProductPrice().longValue());
productMaterial.setOriginalPrice(groupDetailType.getProductPrice().longValue());
productMaterial.setSpuName(groupDetailType.getProductName());
productMaterial.setKeyWord(productMaterial.getKeyWord());
productMaterialList.add(productMaterial);
} }
} }
} }
if(groupDetailType1 == null){
return;
}
List<com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods> productMaterialList = new ArrayList<>();
com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods materialGoods = new com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods.MaterialGoods();
materialGoods.setSpuId(groupDetailType1.getProductId());
materialGoods.setAmount(groupDetailType1.getProductPrice().longValue());
materialGoods.setFinalPrice(groupDetailType1.getProductFinalPrice().longValue());
materialGoods.setOriginalAmount(groupDetailType1.getProductPrice().longValue());
materialGoods.setOriginalPrice(groupDetailType1.getProductPrice().longValue());
materialGoods.setSpuName(groupDetailType1.getProductName());
productMaterialList.add(materialGoods);
comboxGoods.setProductMaterialList(productMaterialList); comboxGoods.setProductMaterialList(productMaterialList);
} }
} }
......
...@@ -157,10 +157,14 @@ public class ActivityCalculationDiscountRequestDto { ...@@ -157,10 +157,14 @@ public class ActivityCalculationDiscountRequestDto {
*/ */
private Integer goodsQuantity; private Integer goodsQuantity;
/** /**
* 加料 * 加料
*/ */
private Long originalPrice; private Long originalPrice;
/** /**
* 加料现价
*/
private Integer nowPrice;
/**
* 1 :小料、2:可选搭配 * 1 :小料、2:可选搭配
*/ */
private int type; private int type;
......
...@@ -206,6 +206,10 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -206,6 +206,10 @@ public class ActivityCalculationDiscountResponseDto {
*/ */
private String artNo; private String artNo;
/**
* 小料节点
*/
private List<GoodsMaterial> smallMaterial;
@Data @Data
public static class GoodsDiscount { public static class GoodsDiscount {
...@@ -240,6 +244,38 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -240,6 +244,38 @@ public class ActivityCalculationDiscountResponseDto {
*/ */
private Integer actualGoodsNumber; private Integer actualGoodsNumber;
} }
@Data
public static class GoodsMaterial{
/**
* 子商品类型:1-小料;2-可选商品
*/
private Integer type;
/**
* 小料商品ID
*/
private String goodsId;
/**
* 小料数量
*/
private Integer goodsQuantity;
/**
* 商品原价(单位:分)
*/
private Integer originalPrice;
/**
* 商品现价(单位:分)
*/
private Integer nowPrice;
/**
* 分摊到商品上的优惠总金额
*/
private Integer discountAmount;
/**
* 商品实付金额
*/
private Integer realAmount;
}
} }
@Data @Data
......
package cn.freemud.entities.dto; package cn.freemud.entities.dto;
import cn.freemud.entities.vo.CartGoods;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class CheckSpqInfoResponseDto { public class CheckSpqInfoResponseDto {
private String spuId; private String spuId;
...@@ -26,4 +29,7 @@ public class CheckSpqInfoResponseDto { ...@@ -26,4 +29,7 @@ public class CheckSpqInfoResponseDto {
private String couponCode; private String couponCode;
private Long price; private Long price;
private String picture; private String picture;
private String defaultSpecId;
private String defaultSpecName;
private List<CartGoods.CartGoodsExtra> extras;
} }
...@@ -301,6 +301,8 @@ public class ShoppingCartGoodsDto { ...@@ -301,6 +301,8 @@ public class ShoppingCartGoodsDto {
* 商品行优惠总金额=数量*单个商品优惠金额 * 商品行优惠总金额=数量*单个商品优惠金额
*/ */
private Integer totalDiscountAmount; private Integer totalDiscountAmount;
private String keyWord;
/** /**
* 当前商品享受的促销活动 * 当前商品享受的促销活动
*/ */
......
...@@ -376,6 +376,9 @@ public class CartGoods { ...@@ -376,6 +376,9 @@ public class CartGoods {
if (CollectionUtils.isNotEmpty(goods.getSpecialExtra())) { if (CollectionUtils.isNotEmpty(goods.getSpecialExtra())) {
goods.getSpecialExtra().stream().sorted(Comparator.comparing(SpecialExtra::getAttributeId)).forEach(e -> originalString.append(e.getAttributeId())); goods.getSpecialExtra().stream().sorted(Comparator.comparing(SpecialExtra::getAttributeId)).forEach(e -> originalString.append(e.getAttributeId()));
} }
if (CollectionUtils.isNotEmpty(goods.getProductMaterialList())) {
goods.getProductMaterialList().stream().sorted(Comparator.comparing(MaterialGoods::getSpuId)).forEach(e -> originalString.append(e.getSpuId()));
}
} }
} }
if (CollectionUtils.isNotEmpty(productGroupList)) { if (CollectionUtils.isNotEmpty(productGroupList)) {
...@@ -404,6 +407,9 @@ public class CartGoods { ...@@ -404,6 +407,9 @@ public class CartGoods {
if (CollectionUtils.isNotEmpty(goods.getSpecialExtra())) { if (CollectionUtils.isNotEmpty(goods.getSpecialExtra())) {
goods.getSpecialExtra().stream().sorted(Comparator.comparing(SpecialExtra::getAttributeId)).forEach(e -> currentString.append(e.getAttributeId())); goods.getSpecialExtra().stream().sorted(Comparator.comparing(SpecialExtra::getAttributeId)).forEach(e -> currentString.append(e.getAttributeId()));
} }
if (CollectionUtils.isNotEmpty(goods.getProductMaterialList())) {
goods.getProductMaterialList().stream().sorted(Comparator.comparing(MaterialGoods::getSpuId)).forEach(e -> currentString.append(e.getSpuId()));
}
} }
} }
if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) { if (CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) {
...@@ -467,6 +473,10 @@ public class CartGoods { ...@@ -467,6 +473,10 @@ public class CartGoods {
*/ */
private String spuId; private String spuId;
/** /**
* 加料组id(对应入机键位)
*/
private String groupId;
/**
* 加料名称 * 加料名称
*/ */
private String spuName; private String spuName;
...@@ -486,5 +496,10 @@ public class CartGoods { ...@@ -486,5 +496,10 @@ public class CartGoods {
* 购物车一行商品的现价*数量 * 购物车一行商品的现价*数量
*/ */
private Long amount; private Long amount;
/**
* 麦咖啡入机键位
*/
private String keyWord;
} }
} }
...@@ -45,4 +45,7 @@ public class GetProductsVo { ...@@ -45,4 +45,7 @@ public class GetProductsVo {
* 分类名称 * 分类名称
*/ */
private String categoryName; private String categoryName;
private String defaultSpecId;
private String defaultSpecName;
private List<CartGoods.CartGoodsExtra> extra;
} }
\ No newline at end of file
...@@ -20,4 +20,8 @@ public class MaterialRequestVo { ...@@ -20,4 +20,8 @@ public class MaterialRequestVo {
* 加料商品ID * 加料商品ID
*/ */
private String spuId; private String spuId;
/**
* 加料商品组ID
*/
private String groupId;
} }
...@@ -126,7 +126,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -126,7 +126,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
} }
/** /**
* 运费卡券 * 运费券code
*/ */
private String freightCouponCode; private String freightCouponCode;
......
...@@ -60,6 +60,9 @@ public enum ResponseResult { ...@@ -60,6 +60,9 @@ public enum ResponseResult {
STORE_NOT_ENABLE_COLLECT_GOODS("43011", "门店不支持到店"), STORE_NOT_ENABLE_COLLECT_GOODS("43011", "门店不支持到店"),
STORE_MALL_NOT_FOUND("43012", "商城门店不存在"), STORE_MALL_NOT_FOUND("43012", "商城门店不存在"),
STORE_DELIVERY_AMOUNT_ERROR("43013", "配送费错误"), STORE_DELIVERY_AMOUNT_ERROR("43013", "配送费错误"),
//麦咖啡专用提示
CART_STORE_CLOSE("43014","您选择的【$storeName】门店已关闭,请选择其他门店。"),
CART_STORE_REST("43015","您选择的【$storeName】门店已打烊,请选择其他门店。"),
/** /**
* 购物车状态码 * 购物车状态码
...@@ -88,11 +91,15 @@ public enum ResponseResult { ...@@ -88,11 +91,15 @@ public enum ResponseResult {
SHOPPING_CART_COUPON_USED("44021", "优惠券已加入餐盘"), SHOPPING_CART_COUPON_USED("44021", "优惠券已加入餐盘"),
SHOPPING_CART_GOODS_COUPON_CAN_NOT_USE("44022", "已加入同样优惠券,第二张暂不可用"), SHOPPING_CART_GOODS_COUPON_CAN_NOT_USE("44022", "已加入同样优惠券,第二张暂不可用"),
SHOPPING_CART_LIMIT_ADD("44025", "加购数量超过限制"),
SHOPPING_CART_GOODS_CHECK_ERROR("44023", "当前餐盘中没有可用券的饮品"),
SHOPPING_CART_PRODUCT_CAN_NOT_USE("44023", "商品不可用"), SHOPPING_CART_PRODUCT_CAN_NOT_USE("44023", "商品不可用"),
SHOPPING_CART_COUPON_CAN_NOT_USE("44024", "商品券不可用"), SHOPPING_CART_COUPON_CAN_NOT_USE("44024", "商品券不可用"),
SHOPPING_CART_HG_COUPON_NOT_EXIST("44027", "换购券不存在"),
SHOPPING_CART_LIMIT_ADD("44025", "加购数量超过限制"),
// SHOPPING_CART_GOODS_CHECK_ERROR("44023", "当前餐盘中没有可用券的饮品"),
SHOPPING_CART_GOODS_CHECK_ERROR("44028", "当前餐盘中没有可用券的饮品"),
// SHOPPING_CART_PRODUCT_CAN_NOT_USE("44023", "商品不可用"),
// SHOPPING_CART_COUPON_CAN_NOT_USE("44024", "商品券不可用"),
/** /**
* 订单状态码 * 订单状态码
*/ */
......
...@@ -149,7 +149,7 @@ public interface ShoppingCartNewService { ...@@ -149,7 +149,7 @@ public interface ShoppingCartNewService {
CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class); CouponService couponService = SDKCommonBaseContextWare.getBean(CouponService.class);
CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto, goodsId); CheckSpqInfoResponseDto checkSpqInfoResponseDto = couponService.checkSpqInfo(checkSpqInfoRequestDto, goodsId);
if (checkSpqInfoResponseDto == null) { if (checkSpqInfoResponseDto == null) {
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST); throw new ServiceException(ResponseResult.SHOPPING_CART_HG_COUPON_NOT_EXIST);
} }
productIds.add(Long.parseLong(checkSpqInfoResponseDto.getSkuId())); productIds.add(Long.parseLong(checkSpqInfoResponseDto.getSkuId()));
spuId2 = checkSpqInfoResponseDto.getSkuId(); spuId2 = checkSpqInfoResponseDto.getSkuId();
......
...@@ -213,7 +213,7 @@ public class AssortmentSdkService { ...@@ -213,7 +213,7 @@ public class AssortmentSdkService {
checkCartRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); checkCartRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
checkCartRequest.setMenuType(BusinessTypeEnum.getByType(menuType).getCode()); checkCartRequest.setMenuType(BusinessTypeEnum.getByType(menuType).getCode());
BaseResponse<CheckCartRequest> baseResponse ; BaseResponse<CheckCartRequest> baseResponse ;
baseResponse= shoppingCartService.checkAllCartGoodsForMCoffee(checkCartRequest); baseResponse= shoppingCartService.checkAllCartGoodsNew(checkCartRequest);
if (baseResponse == null) { if (baseResponse == null) {
return null; return null;
} }
......
...@@ -91,6 +91,9 @@ public class CouponPromotionService implements IPromotionService { ...@@ -91,6 +91,9 @@ public class CouponPromotionService implements IPromotionService {
cartGoods.setQty(1); cartGoods.setQty(1);
cartGoods.setCouponCode(checkSpqInfoResponseDto.getCouponCode()); cartGoods.setCouponCode(checkSpqInfoResponseDto.getCouponCode());
cartGoods.setSpuName(checkSpqInfoResponseDto.getSpuName()); cartGoods.setSpuName(checkSpqInfoResponseDto.getSpuName());
cartGoods.setSpecProductId(checkSpqInfoResponseDto.getDefaultSpecId());
cartGoods.setSubName(checkSpqInfoResponseDto.getDefaultSpecName());
cartGoods.setExtra(checkSpqInfoResponseDto.getExtras());
if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) { if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods discountGoods = calculationDiscountResult.getGoods() ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods discountGoods = calculationDiscountResult.getGoods()
.stream() .stream()
...@@ -102,8 +105,8 @@ public class CouponPromotionService implements IPromotionService { ...@@ -102,8 +105,8 @@ public class CouponPromotionService implements IPromotionService {
} else { } else {
cartGoods.setAmount(checkSpqInfoResponseDto.getPrice()); cartGoods.setAmount(checkSpqInfoResponseDto.getPrice());
} }
cartGoods.setOriginalAmount(checkSpqInfoResponseDto.getPrice());
} }
cartGoods.setOriginalAmount(checkSpqInfoResponseDto.getPrice());
} }
} }
} }
......
...@@ -732,7 +732,7 @@ public class CouponServiceImpl implements CouponService { ...@@ -732,7 +732,7 @@ public class CouponServiceImpl implements CouponService {
} }
} }
if (CollectionUtils.isNotEmpty(couPonstoreIds) && !couPonstoreIds.contains(storeId)) { if (CollectionUtils.isNotEmpty(couPonstoreIds) && !couPonstoreIds.contains(storeId)) {
// return null; return null;
} }
...@@ -757,6 +757,9 @@ public class CouponServiceImpl implements CouponService { ...@@ -757,6 +757,9 @@ public class CouponServiceImpl implements CouponService {
dto.setSkuId(productsVo.getSkuId()); dto.setSkuId(productsVo.getSkuId());
dto.setSkuName(StringUtils.isNotBlank(productsVo.getSkuName()) ? productsVo.getSkuName() : productsVo.getSpuName()); dto.setSkuName(StringUtils.isNotBlank(productsVo.getSkuName()) ? productsVo.getSkuName() : productsVo.getSpuName());
dto.setPicture(productsVo.getSpuPicture()); dto.setPicture(productsVo.getSpuPicture());
dto.setDefaultSpecName(productsVo.getDefaultSpecName());
dto.setDefaultSpecId(productsVo.getDefaultSpecId());
dto.setExtras(productsVo.getExtra());
log.info("dto***" + dto); log.info("dto***" + dto);
return dto; return dto;
} }
......
...@@ -18,6 +18,7 @@ import cn.freemud.base.entity.BaseResponse; ...@@ -18,6 +18,7 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean; import cn.freemud.entities.dto.GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.GetProductsVo; import cn.freemud.entities.vo.GetProductsVo;
import cn.freemud.enums.ProductInfoType; import cn.freemud.enums.ProductInfoType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
...@@ -32,6 +33,7 @@ import com.google.common.collect.Lists; ...@@ -32,6 +33,7 @@ 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 org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -201,7 +203,26 @@ public class ItemServiceImpl implements ItemService { ...@@ -201,7 +203,26 @@ public class ItemServiceImpl implements ItemService {
String picture = CollectionUtils.isNotEmpty(product.getProductPictureList()) String picture = CollectionUtils.isNotEmpty(product.getProductPictureList())
? product.getProductPictureList().get(0).getUrl() : product.getPicture(); ? product.getProductPictureList().get(0).getUrl() : product.getPicture();
getProductsVo.setSpuPicture(picture); getProductsVo.setSpuPicture(picture);
getProductsVo.setStatus(product.getStatus()); //getProductsVo.setStatus(product.getStatus());
if (CollectionUtils.isNotEmpty(product.getProductAttributeGroupList())
&& CollectionUtils.isNotEmpty(product.getProductAttributeGroupList().get(0).getAttributeValues())) {
List<CartGoods.CartGoodsExtra> extras = new ArrayList<>();
List<String> specId = new ArrayList<>();
List<String> specName = new ArrayList<>();
for (ProductListDto.DataBean.ProductAttributeGroupListBean bean : product.getProductAttributeGroupList()) {
for (ProductListDto.DataBean.ProductAttributeGroupListBean.AttributeValueBean attr : bean.getAttributeValues()) {
CartGoods.CartGoodsExtra extra = new CartGoods.CartGoodsExtra();
extra.setAttributeId(attr.getAttributeId());
extra.setAttributeName(attr.getAttributeValue());
specName.add(attr.getAttributeValue());
specId.add(attr.getAttributeId());
break;
}
}
getProductsVo.setExtra(extras);
getProductsVo.setDefaultSpecName(StringUtils.join(specName, "/"));
getProductsVo.setDefaultSpecId(StringUtils.join(specId, "/"));
}
resultMap.put(skuProductBean.getSkuId(), getProductsVo); resultMap.put(skuProductBean.getSkuId(), getProductsVo);
} }
}); });
......
...@@ -160,7 +160,7 @@ public class SetMealServiceImpl implements IPromotionService { ...@@ -160,7 +160,7 @@ public class SetMealServiceImpl implements IPromotionService {
return number - cartGoods.getQty() < 0 ? "该商品限" + number + "份优惠 超出按照原价计算哦" : ""; return number - cartGoods.getQty() < 0 ? "该商品限" + number + "份优惠 超出按照原价计算哦" : "";
} else { } else {
cartGoods.setAmount((cartGoods.getFinalPrice() + productGroupAmount) * cartGoods.getQty()); cartGoods.setAmount((cartGoods.getFinalPrice() + productGroupAmount) * cartGoods.getQty());
return "该商品限" + goodsMap.get(cartGoods.getGoodsId()).getDiscounts().get(0).getActualGoodsNumber() + "份优惠 超出按照原价计算哦"; return "";
} }
} }
} }
...@@ -248,6 +248,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -248,6 +248,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
//校验券是否有效 //校验券是否有效
if (StringUtils.isNotBlank(skuId)) { if (StringUtils.isNotBlank(skuId)) {
spuId2 = validCoupon(partnerId, storeId, spuId, productIds, BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode(), skuId); spuId2 = validCoupon(partnerId, storeId, spuId, productIds, BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode(), skuId);
cartGoods.setGoodsId(spuId);
} else { } else {
spuId2 = validCoupon(partnerId, storeId, spuId, productIds, BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode()); spuId2 = validCoupon(partnerId, storeId, spuId, productIds, BusinessTypeEnum.getByType(addShoppingCartGoodsRequestVo.getMenuType()).getCode());
} }
...@@ -286,9 +287,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -286,9 +287,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
// 获取优惠信息 // 获取优惠信息
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult
=getCalculationDiscountResult(menuType,partnerId,storeId,userId,appId,userLoginInfoDto.getWxAppid(),orderType,assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList,new ArrayList(),new ArrayList<>(),null,deliveryAmount); = getCalculationDiscountResult(menuType, partnerId, storeId, userId, appId, userLoginInfoDto.getWxAppid(), orderType, assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList, new ArrayList(), new ArrayList<>(), null, deliveryAmount);
if (calculationDiscountResult != null && CollectionUtils.isNotEmpty(calculationDiscountResult.getSendGoods())) {
sendGoodsQtyCheck(productsCount,appId,partnerId, userId, storeId,tableNumber, oldCartGoodsList,shoppingCartBaseService,calculationDiscountResult.getSendGoods()); sendGoodsQtyCheck(productsCount, appId, partnerId, userId, storeId, tableNumber, oldCartGoodsList, shoppingCartBaseService, calculationDiscountResult.getSendGoods());
}
// 当商品数量被设为0时 // 当商品数量被设为0时
if (Objects.equals(cartGoods.getQty(), 0)) { if (Objects.equals(cartGoods.getQty(), 0)) {
assortmentSdkService.updateGoodsQtyBySdk(partnerId, userId, storeId, cartGoods.getCartGoodsUid(), 0, "", shoppingCartBaseService); assortmentSdkService.updateGoodsQtyBySdk(partnerId, userId, storeId, cartGoods.getCartGoodsUid(), 0, "", shoppingCartBaseService);
...@@ -778,7 +780,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -778,7 +780,12 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (checkSpqInfoResponseDto == null) { if (checkSpqInfoResponseDto == null) {
cartGoodsList.remove(i); cartGoodsList.remove(i);
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, null, null, this.shoppingCartBaseService); assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, null, null, this.shoppingCartBaseService);
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST); if (GoodsTypeEnum.HG_COUPON_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_HG_COUPON_NOT_EXIST);
} else {
throw new ServiceException(ResponseResult.SHOPPING_CART_COUPON_NOT_EXIST);
}
} }
validCouponMap.put(spqId, checkSpqInfoResponseDto); validCouponMap.put(spqId, checkSpqInfoResponseDto);
cartGoods.setName(checkSpqInfoResponseDto.getCouponName()); cartGoods.setName(checkSpqInfoResponseDto.getCouponName());
......
...@@ -76,6 +76,8 @@ public class CalculationServiceImpl { ...@@ -76,6 +76,8 @@ public class CalculationServiceImpl {
private SetMealCalculation setMealCalculation; private SetMealCalculation setMealCalculation;
@Autowired @Autowired
private MaterialCalculation materialCalculation;
@Autowired
private ShoppingCartConvertAdapter shoppingCartConvertAdapter; private ShoppingCartConvertAdapter shoppingCartConvertAdapter;
/** /**
...@@ -106,6 +108,8 @@ public class CalculationServiceImpl { ...@@ -106,6 +108,8 @@ public class CalculationServiceImpl {
//套餐 //套餐
setMealCalculation.updateShoppingCartGoodsDiscount(calculationDiscount,cartGoodsList,shoppingCartGoodsResponseVo); setMealCalculation.updateShoppingCartGoodsDiscount(calculationDiscount,cartGoodsList,shoppingCartGoodsResponseVo);
//加料
materialCalculation.updateShoppingCartGoodsApportion(calculationDiscount,cartGoodsList);
return calculationDiscount; return calculationDiscount;
} }
...@@ -420,7 +424,8 @@ public class CalculationServiceImpl { ...@@ -420,7 +424,8 @@ public class CalculationServiceImpl {
material.setType(1); material.setType(1);
material.setGoodsId(materialGoods.getSpuId()); material.setGoodsId(materialGoods.getSpuId());
material.setGoodsQuantity(cartGoods.getQty()); material.setGoodsQuantity(cartGoods.getQty());
material.setOriginalPrice(materialGoods.getFinalPrice()); material.setOriginalPrice(materialGoods.getOriginalPrice());
material.setNowPrice(materialGoods.getFinalPrice().intValue());
materials.add(material); materials.add(material);
} }
} }
......
...@@ -182,7 +182,9 @@ public class CouponDiscountCalculation { ...@@ -182,7 +182,9 @@ public class CouponDiscountCalculation {
} }
//商品券键位编号为空 //商品券键位编号为空
if(StringUtils.isBlank(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo())){ if(StringUtils.isBlank(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo())){
throw new ServiceException(ResponseResult.SHOPPING_CART_SEAT_EMPTY); //直接抛出异常导致同一个 普通商品 和万能券商品 校验有问题,故促销未返回,默认为空
// throw new ServiceException(ResponseResult.SHOPPING_CART_SEAT_EMPTY);
cartGoods.setCustomerCode("");
} }
cartGoods.setCustomerCode(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo()); cartGoods.setCustomerCode(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
} }
......
package cn.freemud.service.impl.mcoffee.entity;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: MCoffeeAddGoodsRequestVo
* @Package cn.freemud.service.impl.mcoffee.entity
* @Description:
* @author: ping1.wu
* @date: 2020/8/8 21:04
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class MCoffeeProductIdsVo {
private String spuId;
private String skuId;
}
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