Commit 81da0104 by xiaoer.li

Merge remote-tracking branch 'origin/develop' into develop

parents bb8b2412 bd3a3b08
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<version>1.4.22-SNAPSHOT</version> <version>1.4.32-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -76,4 +76,5 @@ ...@@ -76,4 +76,5 @@
| 2.0.0-SNAPSHOT| 增加payChannel | 李小二 | 2020-06-28 | | 2.0.0-SNAPSHOT| 增加payChannel | 李小二 | 2020-06-28 |
| 2.0.3-SNAPSHOT| 围餐使用积分抵扣金额赋值问题 | 谌会阳 | 2020-07-20 | | 2.0.3-SNAPSHOT| 围餐使用积分抵扣金额赋值问题 | 谌会阳 | 2020-07-20 |
| 2.0.6-SNAPSHOT| 升级sdk版本| 李小二 | 2020-07-20 | | 2.0.6-SNAPSHOT| 升级sdk版本| 李小二 | 2020-07-20 |
| 2.0.7-SNAPSHOT| 围餐添加支付渠道字段 | 谌会阳 | 2020-07-23 | | 2.0.7-SNAPSHOT| 围餐添加支付渠道字段 | 谌会阳 | 2020-07-23 |
\ No newline at end of file | 2.0.8-SNAPSHOT| 加料商品 | 梁崇福 | 2020-07-27 |
\ No newline at end of file
...@@ -742,6 +742,10 @@ public class OrderSdkAdapter { ...@@ -742,6 +742,10 @@ public class OrderSdkAdapter {
List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream() List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId())) .filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId()))
.collect(Collectors.toList()); .collect(Collectors.toList());
List<OrderItemResp> materailProductItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isNotBlank(item.getParentProductId()) && ObjectUtils.equals(ProductTypeEnum.MATERAIL_PRODUCT.getCode(), item.getProductType()))
.collect(Collectors.toList());
for (OrderItemResp orderItem : parentOrderItemList) { for (OrderItemResp orderItem : parentOrderItemList) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = getOldOrderProduct(orderSettlementResps, orderItem); QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = getOldOrderProduct(orderSettlementResps, orderItem);
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) { if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) {
...@@ -753,6 +757,15 @@ public class OrderSdkAdapter { ...@@ -753,6 +757,15 @@ public class OrderSdkAdapter {
} }
productList.add(productBean); productList.add(productBean);
} }
for (OrderItemResp metarail : materailProductItemList){
// 获取加料商品列表
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = productList.stream().filter(item -> item.getProductId().equals(metarail.getParentProductId())).findFirst().get();
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> meterailProduct = productBean.getMeterailProduct();
if (CollectionUtils.isEmpty(meterailProduct)){
productBean.setMeterailProduct(new ArrayList<>());
}
productBean.getMeterailProduct().add(getOldOrderProduct(orderSettlementResps, metarail));
}
return productList; return productList;
} }
......
...@@ -549,6 +549,11 @@ public class QueryOrdersResponse { ...@@ -549,6 +549,11 @@ public class QueryOrdersResponse {
*/ */
public List<ProductBean> comboProduct; public List<ProductBean> comboProduct;
/**
* 套餐子商品
*/
public List<ProductBean> meterailProduct;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class ProductDiscount { public static class ProductDiscount {
......
...@@ -143,12 +143,19 @@ public class OrderAdapter { ...@@ -143,12 +143,19 @@ public class OrderAdapter {
// 根据购物车商品信息获取优惠信息 // 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0; int orderAccountIndex = 0;
// TODO 取出加料信息
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) { for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
Integer qty = cartGoodsDetailDto.getQty(); Integer qty = cartGoodsDetailDto.getQty();
if (qty > 0) { if (qty > 0) {
CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto); CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto);
createOrderProductDto.setIgnoreProductPrice(1); createOrderProductDto.setIgnoreProductPrice(1);
products.add(createOrderProductDto); products.add(createOrderProductDto);
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getMaterailList())) {
cartGoodsDetailDto.getMaterailList().stream().forEach(p -> {
CreateOrderProductRequest orderProductDto = convent2OrderProductByMaterail(cartGoodsDetailDto, p);
products.add(orderProductDto);
});
}
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) { if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos())); createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
} }
...@@ -251,6 +258,21 @@ public class OrderAdapter { ...@@ -251,6 +258,21 @@ public class OrderAdapter {
return createOrderDto; return createOrderDto;
} }
private CreateOrderProductRequest convent2OrderProductByMaterail(ShoppingCartGoodsDto.CartGoodsDetailDto goodsDetail, ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsMaterail materail) {
CreateOrderProductRequest createOrderProductRequest = new CreateOrderProductRequest();
createOrderProductRequest.setParentProductId(goodsDetail.getSpuId());
createOrderProductRequest.setProductId(materail.getMaterailId());
createOrderProductRequest.setProductName(materail.getMaterailName());
createOrderProductRequest.setPrice(materail.getOriginalPrice());
createOrderProductRequest.setSalePrice(materail.getOriginalPrice());
// TODO 优惠数量问题
createOrderProductRequest.setTotalDiscountAmount(materail.getDiscountAmount());
createOrderProductRequest.setNumber(materail.getQty());
// TODO 加料商品类型问题, 默认为2
createOrderProductRequest.setProductType(materail.getType());
return createOrderProductRequest;
}
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto, OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) { String appId) {
......
...@@ -46,7 +46,8 @@ public class PromotionAdapter { ...@@ -46,7 +46,8 @@ public class PromotionAdapter {
}else { }else {
discountPrice += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType()) discountPrice += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_2.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_2.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_11.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), d.getActivityType())
).mapToLong(t -> t.getActivityApportionAmount() * apportionGoods.getGoodsQuantity()).sum() * orderProductBean.getNumber() / goodsTotalQty; ).mapToLong(t -> t.getActivityApportionAmount() * apportionGoods.getGoodsQuantity()).sum() * orderProductBean.getNumber() / goodsTotalQty;
} }
} }
...@@ -68,7 +69,8 @@ public class PromotionAdapter { ...@@ -68,7 +69,8 @@ public class PromotionAdapter {
}else { }else {
totalDiscountAmount += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType()) totalDiscountAmount += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_104.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), d.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_11.getCode(), d.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), d.getActivityType())
).mapToLong(t -> t.getActivityApportionAmount() * apportionGoods.getGoodsQuantity()).sum(); ).mapToLong(t -> t.getActivityApportionAmount() * apportionGoods.getGoodsQuantity()).sum();
} }
} }
...@@ -167,7 +169,8 @@ public class PromotionAdapter { ...@@ -167,7 +169,8 @@ public class PromotionAdapter {
}else { }else {
apportionDetails = apportionGoods.getApportionDetails().stream().filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode()) apportionDetails = apportionGoods.getApportionDetails().stream().filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode())
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), detail.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), detail.getActivityType())).collect(Collectors.toList()); && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_12.getCode(), detail.getActivityType()) && ObjectUtils.notEqual(ActivityTypeEnum.TYPE_11.getCode(), detail.getActivityType())
&& ObjectUtils.notEqual(ActivityTypeEnum.TYPE_3.getCode(), detail.getActivityType())).collect(Collectors.toList());
} }
for (CalculationApportionDetailDto detail : apportionDetails) { for (CalculationApportionDetailDto detail : apportionDetails) {
List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList()); List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList());
......
...@@ -41,7 +41,7 @@ public class DeliveryController { ...@@ -41,7 +41,7 @@ public class DeliveryController {
@ApiOperation(value = "配送回调", notes = "配送回调", produces = "application/json") @ApiOperation(value = "配送回调", notes = "配送回调", produces = "application/json")
@PostMapping("/delivery/callbackUrl") @PostMapping("/delivery/callbackUrl")
public BaseResponse callbackUrl(@Valid @LogParams @RequestBody CallbackUrlRequestDto request) { public BaseResponse callbackUrl(@Valid @LogParams @RequestBody CallbackUrlRequestDto request) {
return deliveryService.callbackUrl(request); return deliveryService. callbackUrl(request);
} }
@ApiAnnotation(logMessage = "商城配送回调") @ApiAnnotation(logMessage = "商城配送回调")
......
...@@ -212,6 +212,8 @@ public class ShoppingCartGoodsDto { ...@@ -212,6 +212,8 @@ public class ShoppingCartGoodsDto {
*/ */
private List<CartGoodsDetailDto> comboProducts; private List<CartGoodsDetailDto> comboProducts;
private List<CartGoodsMaterail> materailList;
@Data @Data
public final static class CartGoodsExtra { public final static class CartGoodsExtra {
/** /**
...@@ -224,6 +226,41 @@ public class ShoppingCartGoodsDto { ...@@ -224,6 +226,41 @@ public class ShoppingCartGoodsDto {
private String attributeName; private String attributeName;
} }
@Data
public final static class CartGoodsMaterail {
/**
* 加料Id
*/
private String materailId;
/**
* 加料名称
*/
private String materailName;
/**
* 加料数量
*/
private Integer qty;
/**
* 加料原始价格
*/
private Long originalPrice;
/**
* 加料优惠价格
*/
private Long discountAmount;
/**
* 加料实际价格
*/
private Long actualPrice;
/**
* 商品类型
*/
private Integer type;
}
/** /**
* 获取extras attributeNames * 获取extras attributeNames
*/ */
......
...@@ -124,5 +124,9 @@ public class PreviewOrderInfoVo { ...@@ -124,5 +124,9 @@ public class PreviewOrderInfoVo {
* svc卡支付描述 * svc卡支付描述
*/ */
private String svcDiscountDesc; private String svcDiscountDesc;
/**
* 订单创建时间
*/
private String createOrderTime;
} }
...@@ -62,6 +62,7 @@ import com.google.common.collect.ImmutableMap; ...@@ -62,6 +62,7 @@ import com.google.common.collect.ImmutableMap;
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.time.FastDateFormat;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -118,6 +119,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -118,6 +119,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
private final Integer RESPONSE_SUCCESS_CODE = 100; private final Integer RESPONSE_SUCCESS_CODE = 100;
private final String SESSION_KEY = "sessionKey"; private final String SESSION_KEY = "sessionKey";
private static FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
@Override @Override
public BaseResponse createReserveOrder(CreateOrderVo createOrderVo) { public BaseResponse createReserveOrder(CreateOrderVo createOrderVo) {
...@@ -399,6 +401,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -399,6 +401,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
//下单成功,保存下单版本号 //下单成功,保存下单版本号
Integer orderUpdateVer = mealCacheManager.getIncrementOrderUpdateVersion(assortmentCustomerInfoVo.getPartnerId(),assortmentCustomerInfoVo.getStoreId(),assortmentCustomerInfoVo.getTableNumber()); Integer orderUpdateVer = mealCacheManager.getIncrementOrderUpdateVersion(assortmentCustomerInfoVo.getPartnerId(),assortmentCustomerInfoVo.getStoreId(),assortmentCustomerInfoVo.getTableNumber());
previewOrderInfoVo.setOrderUpdateVer(orderUpdateVer); previewOrderInfoVo.setOrderUpdateVer(orderUpdateVer);
previewOrderInfoVo.setCreateOrderTime(dateFormat.format(new Date(queryOrderByIdResponse.getData().getGmtCreate())));
//本次版本不考虑优惠券的使用 //本次版本不考虑优惠券的使用
return ResponseUtil.success(previewOrderInfoVo); return ResponseUtil.success(previewOrderInfoVo);
} }
......
...@@ -155,6 +155,7 @@ public class OrderCommonService { ...@@ -155,6 +155,7 @@ public class OrderCommonService {
}else if(orderBean.getAmount() > 0 && StringUtils.isNotEmpty(cardCode)){ }else if(orderBean.getAmount() > 0 && StringUtils.isNotEmpty(cardCode)){
//svc卡支付 //svc卡支付
orderPayResponse = orderService.svcPay(cardCode, orderBean, paymentRequest, orderBean.getOid(), LogThreadLocal.getTrackingNo()); orderPayResponse = orderService.svcPay(cardCode, orderBean, paymentRequest, orderBean.getOid(), LogThreadLocal.getTrackingNo());
orderExtInfoDto.setPrePayTransId(orderPayResponse.getPayTransId());
}else if(orderBean.getAmount() < 0){ }else if(orderBean.getAmount() < 0){
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR); throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
}else{ }else{
......
...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j @Slf4j
@RequestMapping("/order") @RequestMapping("/order")
@RestController @RestController
@Validated @Validated
public class DeliveryOrderController { public class DeliveryOrderController {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>1.4.31-SNAPSHOT</version> <version>1.4.32-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<dependencies> <dependencies>
......
...@@ -44,7 +44,8 @@ ...@@ -44,7 +44,8 @@
| 1.3.9.RELEASE | 增加支付渠道编号 | 李小二 | 2020-07-08 | | 1.3.9.RELEASE | 增加支付渠道编号 | 李小二 | 2020-07-08 |
| 1.3.10.RELEASE | OrderExtInfoDto新增parkingAreaName | wuping | 2020-07-13 | | 1.3.10.RELEASE | OrderExtInfoDto新增parkingAreaName | wuping | 2020-07-13 |
| 1.3.14-SNAPSHOT | es综合查询新增appId查询条件 | wuping | 2020-06-30 | | 1.3.14-SNAPSHOT | es综合查询新增appId查询条件 | wuping | 2020-06-30 |
|1.4.31-SNAPSHOT | 增加手动录单,和完成订单接口 |张虹旺| 2020-07-18 |1.4.31-SNAPSHOT | 增加手动录单,和完成订单接口 |张虹旺| 2020-07-18|
|1.4.32-SNAPSHOT | 商品加料 |梁崇福| 2020-07-27 |
| 1.1.9.RELEASE | 满额减配送费RELEASE | dingkai | 2020-03-26 | | 1.1.9.RELEASE | 满额减配送费RELEASE | dingkai | 2020-03-26 |
| 1.2.0.RELEASE | 新增订单商品汇总下载接口 | 侯书虎 | 2020-04-07 | | 1.2.0.RELEASE | 新增订单商品汇总下载接口 | 侯书虎 | 2020-04-07 |
| 1.2.1.RELEASE | oms接单 | 侯书虎 | 2020-04-13 | | 1.2.1.RELEASE | oms接单 | 侯书虎 | 2020-04-13 |
......
...@@ -15,6 +15,7 @@ public enum ProductTypeEnum { ...@@ -15,6 +15,7 @@ public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"), GENERAL_PRODUCT(1,"普通商品"),
MATERAIL_PRODUCT(2,"加料商品"),
GROUP_PRODUCT(3,"组合商品"), GROUP_PRODUCT(3,"组合商品"),
SETMEAL_PRODUCT(6,"套餐商品"), SETMEAL_PRODUCT(6,"套餐商品"),
SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"), SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"),
......
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