Commit 31ded084 by 刘鹏飞

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

# Conflicts:
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
parents d53c4189 5ff2597f
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.2.15-SNAPSHOT</version> <version>2.2.16-SNAPSHOT</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -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.7.1-SNAPSHOT</version> <version>1.7.2-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -2870,6 +2870,9 @@ public class OrderSdkAdapter { ...@@ -2870,6 +2870,9 @@ public class OrderSdkAdapter {
//if (product.getStapleFood()!=null && product.getStapleFood()>0) { //if (product.getStapleFood()!=null && product.getStapleFood()>0) {
// extInfo.setStapleFood(1); // extInfo.setStapleFood(1);
//} //}
extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid());
extInfo.setCartGoodsUid(product.getCartGoodsUid());
// todo 订单行扩展字段商品组 // todo 订单行扩展字段商品组
extInfo.setProductGroupList(product.getProductGroupList()); extInfo.setProductGroupList(product.getProductGroupList());
......
...@@ -203,4 +203,14 @@ public class CreateOrderProductRequest extends BaseConfig { ...@@ -203,4 +203,14 @@ public class CreateOrderProductRequest extends BaseConfig {
* 加购人包装费 * 加购人包装费
*/ */
private Long packPrice; private Long packPrice;
/**
* 购物车行uid
*/
private String cartGoodsUid;
/**
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String originalGoodsUid;
} }
...@@ -72,4 +72,14 @@ public class OrderProductAddInfoDto extends BaseConfig { ...@@ -72,4 +72,14 @@ public class OrderProductAddInfoDto extends BaseConfig {
private String taxId; private String taxId;
private List<OrderSpecialExtraAttrRequest> specialAttrs; private List<OrderSpecialExtraAttrRequest> specialAttrs;
/**
* 购物车行uid
*/
private String cartGoodsUid;
/**
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String originalGoodsUid;
} }
...@@ -603,6 +603,16 @@ public class QueryOrdersResponse { ...@@ -603,6 +603,16 @@ public class QueryOrdersResponse {
*/ */
public List<ProductBean> materialProduct; public List<ProductBean> materialProduct;
/**
* 购物车行uid
*/
private String cartGoodsUid;
/**
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String originalGoodsUid;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class ProductDiscount { public static class ProductDiscount {
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.2.15-SNAPSHOT</version> <version>2.2.16-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -2059,6 +2059,11 @@ public class OrderAdapter { ...@@ -2059,6 +2059,11 @@ public class OrderAdapter {
} }
productVo.setInventedParentActivitiesVo(inventedParentActivityVos); productVo.setInventedParentActivitiesVo(inventedParentActivityVos);
} }
// 购物车行id
productVo.setCid(orderProductAddInfoDto.getCartGoodsUid());
// 购物车行父id
productVo.setOcid(orderProductAddInfoDto.getOriginalGoodsUid());
} }
productVo.setOriginalPrice(productBean.getPrice()); productVo.setOriginalPrice(productBean.getPrice());
productVo.setFinalPrice(productBean.getSalePrice()); productVo.setFinalPrice(productBean.getSalePrice());
...@@ -2412,6 +2417,9 @@ public class OrderAdapter { ...@@ -2412,6 +2417,9 @@ public class OrderAdapter {
createOrderProductDemoDto.setNickName(cartGoodsDetailDto.getUserName()); createOrderProductDemoDto.setNickName(cartGoodsDetailDto.getUserName());
createOrderProductDemoDto.setPhotoUrl(cartGoodsDetailDto.getPhotoUrl()); createOrderProductDemoDto.setPhotoUrl(cartGoodsDetailDto.getPhotoUrl());
createOrderProductDemoDto.setPackPrice(cartGoodsDetailDto.getPackPrice()); createOrderProductDemoDto.setPackPrice(cartGoodsDetailDto.getPackPrice());
createOrderProductDemoDto.setCartGoodsUid(cartGoodsDetailDto.getCartGoodsUid());
createOrderProductDemoDto.setOriginalGoodsUid(cartGoodsDetailDto.getOriginalGoodsUid());
return createOrderProductDemoDto; return createOrderProductDemoDto;
} }
......
...@@ -274,6 +274,12 @@ public class ShoppingCartGoodsDto { ...@@ -274,6 +274,12 @@ public class ShoppingCartGoodsDto {
private List<CartGoodsDetailDto> materialList; private List<CartGoodsDetailDto> materialList;
/**
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String originalGoodsUid;
@Data @Data
public final static class CartGoodsExtra { public final static class CartGoodsExtra {
/** /**
......
...@@ -181,4 +181,14 @@ public class ProductVo { ...@@ -181,4 +181,14 @@ public class ProductVo {
private List<ProductVo> setMaterialProducts; private List<ProductVo> setMaterialProducts;
/**
* 购物车行uid
*/
private String cid;
/**
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String ocid;
} }
...@@ -58,6 +58,8 @@ import cn.freemud.interceptor.ServiceException; ...@@ -58,6 +58,8 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.*; import cn.freemud.service.*;
import cn.freemud.service.order.OrderRelationFactory;
import cn.freemud.service.order.OrderRelationService;
import cn.freemud.service.thirdparty.*; import cn.freemud.service.thirdparty.*;
import cn.freemud.utils.*; import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -296,6 +298,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -296,6 +298,9 @@ public class OrderServiceImpl implements Orderservice {
private String partnerId; private String partnerId;
@Autowired @Autowired
private SvcComPayClient svcComPayClient; private SvcComPayClient svcComPayClient;
@Autowired
private OrderRelationFactory orderRelationFactory;
@Override @Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) { public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
String trackingNo = LogTreadLocal.getTrackingNo(); String trackingNo = LogTreadLocal.getTrackingNo();
...@@ -1420,7 +1425,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1420,7 +1425,7 @@ public class OrderServiceImpl implements Orderservice {
} }
buildQueryOrderResponseVo(queryOrderResponseVo,response); buildQueryOrderResponseVo(queryOrderResponseVo,response,partnerId);
return ResponseUtil.success(queryOrderResponseVo); return ResponseUtil.success(queryOrderResponseVo);
} }
...@@ -3558,23 +3563,15 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3558,23 +3563,15 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response) { public void buildQueryOrderResponseVo(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response,String partnerId) {
List<QueryOrderResponseVo.chooseGood> chooseGoods = new ArrayList<>();
List<OrderSendCouponResp> orderSendCouponRespList = response.getData().getOrderSendCouponRespList(); if(null == response || response.getData() == null || !ObjectUtils.equals(response.getErrcode(),RESPONSE_SUCCESS_CODE) ){
ApiLog.info("订单详情查询,返回值错误,QueryOrderByIdResponse",response);
if(orderSendCouponRespList == null || orderSendCouponRespList.isEmpty()){
return; return;
} }
orderSendCouponRespList.forEach(orderSendCouponResp -> { OrderRelationService orderRelationService = orderRelationFactory.getQueryOrdrBuildService(partnerId);
QueryOrderResponseVo.chooseGood chooseGood = new QueryOrderResponseVo.chooseGood(); orderRelationService.queryOrdrBuild(queryOrderResponseVo,response);
chooseGood.setGoodsName(orderSendCouponResp.getGoodsName());
chooseGoods.add(chooseGood);
});
queryOrderResponseVo.setChooseGoods(chooseGoods);
} }
} }
...@@ -20,4 +20,11 @@ public interface OrderRelationFactory { ...@@ -20,4 +20,11 @@ public interface OrderRelationFactory {
*/ */
OrderRelationService getCreateOrderTimeCheckService(String partnerId); OrderRelationService getCreateOrderTimeCheckService(String partnerId);
/**
* 获取订单查询出参构建实现类
* @param partnerId
* @return
*/
OrderRelationService getQueryOrdrBuildService(String partnerId);
} }
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
package cn.freemud.service.order; package cn.freemud.service.order;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryOrderResponseVo;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
public interface OrderRelationService { public interface OrderRelationService {
...@@ -23,4 +25,10 @@ public interface OrderRelationService { ...@@ -23,4 +25,10 @@ public interface OrderRelationService {
*/ */
void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo); void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo);
/**
* 创建订单的时间检查
* @param
*/
void queryOrdrBuild(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response);
} }
...@@ -15,21 +15,27 @@ package cn.freemud.service.order.impl; ...@@ -15,21 +15,27 @@ package cn.freemud.service.order.impl;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.order.BusinessDate; import cn.freemud.entities.dto.order.BusinessDate;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.ProductVo;
import cn.freemud.entities.vo.QueryOrderResponseVo;
import cn.freemud.enums.CreateOrderType; import cn.freemud.enums.CreateOrderType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.impl.CheckOrder; import cn.freemud.service.impl.CheckOrder;
import cn.freemud.service.order.OrderRelationService; import cn.freemud.service.order.OrderRelationService;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSendCouponResp;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
import io.swagger.models.auth.In;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
@Service("cocoOrderRelationService") @Service("cocoOrderRelationService")
public class CocoOrderRelationServiceImpl implements OrderRelationService { public class CocoOrderRelationServiceImpl implements OrderRelationService {
...@@ -78,4 +84,51 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService { ...@@ -78,4 +84,51 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService {
} }
} }
@Override
public void queryOrdrBuild(QueryOrderResponseVo queryOrderResponseVo,QueryOrderByIdResponse response) {
List<QueryOrderResponseVo.chooseGood> chooseGoods = new ArrayList<>();
List<OrderSendCouponResp> orderSendCouponRespList = response.getData().getOrderSendCouponRespList();
if(orderSendCouponRespList != null && !orderSendCouponRespList.isEmpty()){
orderSendCouponRespList.forEach(orderSendCouponResp -> {
QueryOrderResponseVo.chooseGood chooseGood = new QueryOrderResponseVo.chooseGood();
chooseGood.setGoodsName(orderSendCouponResp.getGoodsName());
chooseGoods.add(chooseGood);
});
queryOrderResponseVo.setChooseGoods(chooseGoods);
}
// 赠品合并到主商品
List<ProductVo> products = queryOrderResponseVo.getProducts();
// 有购物车行id的是主
List<ProductVo> masterProducts = products.stream().filter(product ->
!StringUtils.isEmpty(product.getCid())).collect(Collectors.toList());
// 没有购物车行id的是赠品
Map<String, Integer> giftMap = new HashMap<>();
List<ProductVo> giftProducts = products.stream().filter(product ->
StringUtils.isEmpty(product.getCid())).collect(Collectors.toList());
if(giftProducts != null && !giftProducts.isEmpty()){
giftProducts.forEach(giftProduct ->{
giftMap.put(giftProduct.getOcid(),giftProduct.getQty());
});
}
if(null != masterProducts && !masterProducts.isEmpty()){
masterProducts.forEach(product -> {
Integer giftQty = product.getQty();
if(giftQty == 0){
return;
}
product.setQty(product.getQty() + giftQty);
});
}
queryOrderResponseVo.setProducts(masterProducts);
}
} }
...@@ -54,4 +54,13 @@ public class OrderRelationFactoryImpl implements OrderRelationFactory { ...@@ -54,4 +54,13 @@ public class OrderRelationFactoryImpl implements OrderRelationFactory {
} }
} }
@Override
public OrderRelationService getQueryOrdrBuildService(String partnerId) {
if(cocoPartnerId.contains(partnerId)){
return cocoOrderRelationService;
}else{
return PlatformOrderRelationServiceImpl;
}
}
} }
...@@ -13,8 +13,10 @@ ...@@ -13,8 +13,10 @@
package cn.freemud.service.order.impl; package cn.freemud.service.order.impl;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryOrderResponseVo;
import cn.freemud.service.order.OrderRelationService; import cn.freemud.service.order.OrderRelationService;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service("platformOrderRelationServiceImpl") @Service("platformOrderRelationServiceImpl")
...@@ -24,4 +26,9 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService { ...@@ -24,4 +26,9 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService {
@Override @Override
public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) { public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) {
} }
@Override
public void queryOrdrBuild(QueryOrderResponseVo queryOrderResponseVo, QueryOrderByIdResponse response) {
}
} }
...@@ -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.7.1-SNAPSHOT</version> <version>1.7.2-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<dependencies> <dependencies>
......
...@@ -39,4 +39,5 @@ ...@@ -39,4 +39,5 @@
| 1.6.8-SNAPSHOT | coco | 梁崇福 | 2020-11-29 | | 1.6.8-SNAPSHOT | coco | 梁崇福 | 2020-11-29 |
| 1.6.9-SNAPSHOT | 拼单 | 缪晖 | 2020-11-30 | | 1.6.9-SNAPSHOT | 拼单 | 缪晖 | 2020-11-30 |
| 1.7.0-SNAPSHOT | 买一赠一寄件 | 刘鹏飞 | 2020-12-1 | | 1.7.0-SNAPSHOT | 买一赠一寄件 | 刘鹏飞 | 2020-12-1 |
| 1.7.1-SNAPSHOT | 拼单 | 缪晖 | 2020-12-02 | | 1.7.1-SNAPSHOT | 拼单 | 缪晖 | 2020-12-02 |
\ No newline at end of file | 1.7.2-SNAPSHOT | coco订单详情赠品合并 | 刘鹏飞 | 2020-12-3 |
\ No newline at end of file
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