Commit 81da0104 by xiaoer.li

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

parents bb8b2412 bd3a3b08
......@@ -38,7 +38,7 @@
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId>
<version>1.4.22-SNAPSHOT</version>
<version>1.4.32-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -77,3 +77,4 @@
| 2.0.3-SNAPSHOT| 围餐使用积分抵扣金额赋值问题 | 谌会阳 | 2020-07-20 |
| 2.0.6-SNAPSHOT| 升级sdk版本| 李小二 | 2020-07-20 |
| 2.0.7-SNAPSHOT| 围餐添加支付渠道字段 | 谌会阳 | 2020-07-23 |
| 2.0.8-SNAPSHOT| 加料商品 | 梁崇福 | 2020-07-27 |
\ No newline at end of file
......@@ -742,6 +742,10 @@ public class OrderSdkAdapter {
List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId()))
.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) {
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())) {
......@@ -753,6 +757,15 @@ public class OrderSdkAdapter {
}
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;
}
......
......@@ -549,6 +549,11 @@ public class QueryOrdersResponse {
*/
public List<ProductBean> comboProduct;
/**
* 套餐子商品
*/
public List<ProductBean> meterailProduct;
@NoArgsConstructor
@Data
public static class ProductDiscount {
......
......@@ -143,12 +143,19 @@ public class OrderAdapter {
// 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0;
// TODO 取出加料信息
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
Integer qty = cartGoodsDetailDto.getQty();
if (qty > 0) {
CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto);
createOrderProductDto.setIgnoreProductPrice(1);
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())) {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
}
......@@ -251,6 +258,21 @@ public class OrderAdapter {
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,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) {
......
......@@ -46,7 +46,8 @@ public class PromotionAdapter {
}else {
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_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;
}
}
......@@ -68,7 +69,8 @@ public class PromotionAdapter {
}else {
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_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();
}
}
......@@ -167,7 +169,8 @@ public class PromotionAdapter {
}else {
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())
&& 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) {
List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList());
......
......@@ -41,7 +41,7 @@ public class DeliveryController {
@ApiOperation(value = "配送回调", notes = "配送回调", produces = "application/json")
@PostMapping("/delivery/callbackUrl")
public BaseResponse callbackUrl(@Valid @LogParams @RequestBody CallbackUrlRequestDto request) {
return deliveryService.callbackUrl(request);
return deliveryService. callbackUrl(request);
}
@ApiAnnotation(logMessage = "商城配送回调")
......
......@@ -212,6 +212,8 @@ public class ShoppingCartGoodsDto {
*/
private List<CartGoodsDetailDto> comboProducts;
private List<CartGoodsMaterail> materailList;
@Data
public final static class CartGoodsExtra {
/**
......@@ -224,6 +226,41 @@ public class ShoppingCartGoodsDto {
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
*/
......
......@@ -124,5 +124,9 @@ public class PreviewOrderInfoVo {
* svc卡支付描述
*/
private String svcDiscountDesc;
/**
* 订单创建时间
*/
private String createOrderTime;
}
......@@ -62,6 +62,7 @@ import com.google.common.collect.ImmutableMap;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.FastDateFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
......@@ -118,6 +119,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
private final Integer RESPONSE_SUCCESS_CODE = 100;
private final String SESSION_KEY = "sessionKey";
private static FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
@Override
public BaseResponse createReserveOrder(CreateOrderVo createOrderVo) {
......@@ -399,6 +401,7 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
//下单成功,保存下单版本号
Integer orderUpdateVer = mealCacheManager.getIncrementOrderUpdateVersion(assortmentCustomerInfoVo.getPartnerId(),assortmentCustomerInfoVo.getStoreId(),assortmentCustomerInfoVo.getTableNumber());
previewOrderInfoVo.setOrderUpdateVer(orderUpdateVer);
previewOrderInfoVo.setCreateOrderTime(dateFormat.format(new Date(queryOrderByIdResponse.getData().getGmtCreate())));
//本次版本不考虑优惠券的使用
return ResponseUtil.success(previewOrderInfoVo);
}
......
......@@ -155,6 +155,7 @@ public class OrderCommonService {
}else if(orderBean.getAmount() > 0 && StringUtils.isNotEmpty(cardCode)){
//svc卡支付
orderPayResponse = orderService.svcPay(cardCode, orderBean, paymentRequest, orderBean.getOid(), LogThreadLocal.getTrackingNo());
orderExtInfoDto.setPrePayTransId(orderPayResponse.getPayTransId());
}else if(orderBean.getAmount() < 0){
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
}else{
......
......@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j
@RequestMapping("/order")
@RestController
@Validated
public class DeliveryOrderController {
......
......@@ -8,7 +8,7 @@
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<version>1.4.31-SNAPSHOT</version>
<version>1.4.32-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId>
<dependencies>
......
......@@ -44,7 +44,8 @@
| 1.3.9.RELEASE | 增加支付渠道编号 | 李小二 | 2020-07-08 |
| 1.3.10.RELEASE | OrderExtInfoDto新增parkingAreaName | wuping | 2020-07-13 |
| 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.2.0.RELEASE | 新增订单商品汇总下载接口 | 侯书虎 | 2020-04-07 |
| 1.2.1.RELEASE | oms接单 | 侯书虎 | 2020-04-13 |
......
......@@ -15,6 +15,7 @@ public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"),
MATERAIL_PRODUCT(2,"加料商品"),
GROUP_PRODUCT(3,"组合商品"),
SETMEAL_PRODUCT(6,"套餐商品"),
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