Commit f9f4ed09 by ping.wu

Merge branches 'feature/20211103_取消支付冲正库存幂等_wuping' and 'master' of…

Merge branches 'feature/20211103_取消支付冲正库存幂等_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderQueueService.java
parents 03ea65d5 7e4d1eb0
...@@ -33,5 +33,8 @@ public class ProductInfosDto { ...@@ -33,5 +33,8 @@ public class ProductInfosDto {
private Integer count; private Integer count;
private List<ProductInfo> products; private List<ProductInfo> products;
//传给pos的商品编号类型(0传三方编号给pos,1传货号给pos,默认传三方编号
private Integer toPosProductIdType;
} }
} }
\ No newline at end of file
...@@ -17,7 +17,7 @@ import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse; ...@@ -17,7 +17,7 @@ import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
public interface OrderBusinessService { public interface OrderBusinessService {
PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest); PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest);
Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request); // Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request);
CreateOrderResponse createOrderFlow(CreateOrderRequest createOrderRequest); CreateOrderResponse createOrderFlow(CreateOrderRequest createOrderRequest);
......
...@@ -112,7 +112,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -112,7 +112,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
request.setMealCodeRule(confirmOrderRequest.getMealCodeRule()); request.setMealCodeRule(confirmOrderRequest.getMealCodeRule());
request.setPickUpGoodsNo(confirmOrderRequest.getPickUpGoodsNo()); request.setPickUpGoodsNo(confirmOrderRequest.getPickUpGoodsNo());
// 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置 // 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置
request.setTimeout(getPaySuccessTimeout(confirmOrderRequest, request)); request.setTimeout(this.getPaySuccessTimeout(confirmOrderRequest, request));
if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) { if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) {
List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>(); List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>();
...@@ -176,7 +176,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -176,7 +176,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return orderSdkAdapter.convent2PayAccessResponse(response); return orderSdkAdapter.convent2PayAccessResponse(response);
} }
@Override
public Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request) { public Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request) {
// 合阔pos 商户未接单退款超时时间 // 合阔pos 商户未接单退款超时时间
if (confirmOrderRequest.getNotAutomaticTwistTime() != null) { if (confirmOrderRequest.getNotAutomaticTwistTime() != null) {
......
...@@ -59,10 +59,18 @@ public class ItemServiceImpl implements ItemService{ ...@@ -59,10 +59,18 @@ public class ItemServiceImpl implements ItemService{
ProductInfosDto productInfosDto = storeItemClient.listProductInfos(getProductInfoDto); ProductInfosDto productInfosDto = storeItemClient.listProductInfos(getProductInfoDto);
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(productInfosDto.getErrcode()) && productInfosDto.getData() != null if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(productInfosDto.getErrcode()) && productInfosDto.getData() != null
&& CollectionUtils.isNotEmpty(productInfosDto.getData().getProducts())) { && CollectionUtils.isNotEmpty(productInfosDto.getData().getProducts())) {
//1传货号给当三方商品编号给pos
boolean toPosCustomerCode = productInfosDto.getData().getToPosProductIdType() != null && productInfosDto.getData().getToPosProductIdType() == 1;
productInfosDto.getData().getProducts().forEach(productBean -> { productInfosDto.getData().getProducts().forEach(productBean -> {
GetProductsVo spuProductsVo = new GetProductsVo(); GetProductsVo spuProductsVo = new GetProductsVo();
spuProductsVo.setCustomerCode(productBean.getCustomerCode()); //保存货号到三方商品编号字段
spuProductsVo.setProductCode(productBean.getProductCode()); if(toPosCustomerCode){
spuProductsVo.setCustomerCode(productBean.getProductCode());
spuProductsVo.setProductCode(productBean.getCustomerCode());
}else {
spuProductsVo.setCustomerCode(productBean.getCustomerCode());
spuProductsVo.setProductCode(productBean.getProductCode());
}
List<AttributeValue> attributeValues = new ArrayList<>(); List<AttributeValue> attributeValues = new ArrayList<>();
//第三方商品属性信息 //第三方商品属性信息
if (CollectionUtils.isNotEmpty(productBean.getProductAttributeGroupList())) { if (CollectionUtils.isNotEmpty(productBean.getProductAttributeGroupList())) {
...@@ -83,9 +91,9 @@ public class ItemServiceImpl implements ItemService{ ...@@ -83,9 +91,9 @@ public class ItemServiceImpl implements ItemService{
resultMap.put(productBean.getPid(), spuProductsVo); resultMap.put(productBean.getPid(), spuProductsVo);
//多规格商品 //多规格商品
saveSkuProductsThirdInfo(productBean,productBean.getProductAttributeGroupList(),resultMap); saveSkuProductsThirdInfo(productBean,productBean.getProductAttributeGroupList(),resultMap,toPosCustomerCode);
//套餐商品内子商品 //套餐商品内子商品
saveComboProductsThirdInfo(productBean,resultMap); saveComboProductsThirdInfo(productBean,resultMap,toPosCustomerCode);
}); });
} }
return resultMap; return resultMap;
...@@ -95,12 +103,19 @@ public class ItemServiceImpl implements ItemService{ ...@@ -95,12 +103,19 @@ public class ItemServiceImpl implements ItemService{
/** /**
* 多规格商品保存第三方信息 * 多规格商品保存第三方信息
*/ */
private void saveSkuProductsThirdInfo(ProductInfo productBean,List<ProductAttributeGroup> productAttributeGroupList,Map<String, GetProductsVo> resultMap){ private void saveSkuProductsThirdInfo(ProductInfo productBean,List<ProductAttributeGroup> productAttributeGroupList,
Map<String, GetProductsVo> resultMap, boolean toPosCustomerCode){
if (CollectionUtils.isNotEmpty(productBean.getSkuList())) { if (CollectionUtils.isNotEmpty(productBean.getSkuList())) {
for (SkuProduct skuProductBean : productBean.getSkuList()) { for (SkuProduct skuProductBean : productBean.getSkuList()) {
GetProductsVo skuProductsVo = new GetProductsVo(); GetProductsVo skuProductsVo = new GetProductsVo();
skuProductsVo.setCustomerCode(skuProductBean.getCustomerCode()); //保存货号到三方商品编号字段
skuProductsVo.setProductCode(skuProductBean.getProductCode()); if(toPosCustomerCode){
skuProductsVo.setCustomerCode(skuProductBean.getProductCode());
skuProductsVo.setProductCode(skuProductBean.getCustomerCode());
}else {
skuProductsVo.setCustomerCode(skuProductBean.getCustomerCode());
skuProductsVo.setProductCode(skuProductBean.getProductCode());
}
//第三方商品规格值id //第三方商品规格值id
if (CollectionUtils.isNotEmpty(skuProductBean.getSkuSpecValues())) { if (CollectionUtils.isNotEmpty(skuProductBean.getSkuSpecValues())) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
...@@ -124,15 +139,21 @@ public class ItemServiceImpl implements ItemService{ ...@@ -124,15 +139,21 @@ public class ItemServiceImpl implements ItemService{
/** /**
* 套餐商品保存第三方信息 * 套餐商品保存第三方信息
*/ */
private void saveComboProductsThirdInfo(ProductInfo productBean,Map<String, GetProductsVo> resultMap){ private void saveComboProductsThirdInfo(ProductInfo productBean,Map<String, GetProductsVo> resultMap,boolean toPosCustomerCode){
GetProductsVo spuProductsVo = resultMap.get(productBean.getPid()); GetProductsVo spuProductsVo = resultMap.get(productBean.getPid());
List<Integer> stapleFood = Arrays.asList(0,1); List<Integer> stapleFood = Arrays.asList(0,1);
//套餐固定商品 //套餐固定商品
if (CollectionUtils.isNotEmpty(productBean.getProductComboList())) { if (CollectionUtils.isNotEmpty(productBean.getProductComboList())) {
for (ProductComboListDto productComboListDto : productBean.getProductComboList()) { for (ProductComboListDto productComboListDto : productBean.getProductComboList()) {
GetProductsVo comboProductsVo = new GetProductsVo(); GetProductsVo comboProductsVo = new GetProductsVo();
comboProductsVo.setCustomerCode(productComboListDto.getCustomerCode()); //保存货号到三方商品编号字段
comboProductsVo.setProductCode(productComboListDto.getProductCode()); if(toPosCustomerCode){
comboProductsVo.setCustomerCode(productComboListDto.getProductCode());
comboProductsVo.setProductCode(productComboListDto.getCustomerCode());
}else {
comboProductsVo.setCustomerCode(productComboListDto.getCustomerCode());
comboProductsVo.setProductCode(productComboListDto.getProductCode());
}
if (productComboListDto.getIsStaple()!=null && stapleFood.contains(productComboListDto.getIsStaple())) { if (productComboListDto.getIsStaple()!=null && stapleFood.contains(productComboListDto.getIsStaple())) {
comboProductsVo.setStapleFood(productComboListDto.getIsStaple()); comboProductsVo.setStapleFood(productComboListDto.getIsStaple());
} else { } else {
...@@ -170,8 +191,15 @@ public class ItemServiceImpl implements ItemService{ ...@@ -170,8 +191,15 @@ public class ItemServiceImpl implements ItemService{
for(GroupDetail groupDetailBean : group.getGroupDetail()){ for(GroupDetail groupDetailBean : group.getGroupDetail()){
//多规格获取sku信息 //多规格获取sku信息
GetProductsVo groupProductsVo = new GetProductsVo(); GetProductsVo groupProductsVo = new GetProductsVo();
groupProductsVo.setCustomerCode(groupDetailBean.getCustomerCode());
groupProductsVo.setProductCode(groupDetailBean.getProductCode()); //保存货号到三方商品编号字段
if(toPosCustomerCode){
groupProductsVo.setCustomerCode(groupDetailBean.getProductCode());
groupProductsVo.setProductCode(groupDetailBean.getCustomerCode());
}else {
groupProductsVo.setCustomerCode(groupDetailBean.getCustomerCode());
groupProductsVo.setProductCode(groupDetailBean.getProductCode());
}
//第三方商品属性信息 //第三方商品属性信息
groupProductsVo.setProductAttributeGroupList(groupDetailBean.getProductAttributeGroupList()); groupProductsVo.setProductAttributeGroupList(groupDetailBean.getProductAttributeGroupList());
......
...@@ -85,7 +85,7 @@ public class OrderQueueService { ...@@ -85,7 +85,7 @@ public class OrderQueueService {
String redisKey = RedisKeyConstant.KGD_PAYMENT_CANCEL_OID + oid ; String redisKey = RedisKeyConstant.KGD_PAYMENT_CANCEL_OID + oid ;
//取消支付订单缓存 //取消支付订单缓存
// redisCache.save(redisKey, true, 180L, TimeUnit.MINUTES); redisCache.save(redisKey, true, 120L, TimeUnit.MINUTES);
} }
......
...@@ -2475,7 +2475,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2475,7 +2475,6 @@ public class OrderServiceImpl implements Orderservice {
if (CollectionUtils.isNotEmpty(productDto.getComboProduct())) { if (CollectionUtils.isNotEmpty(productDto.getComboProduct())) {
for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()) { for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()) {
String comboSkuId = comboProduct.getSpecification(); String comboSkuId = comboProduct.getSpecification();
System.out.println(comboSkuId);
if (products.get(comboSkuId) != null) { if (products.get(comboSkuId) != null) {
comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode()); comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode());
comboProduct.setProductCode(products.get(comboSkuId).getProductCode()); comboProduct.setProductCode(products.get(comboSkuId).getProductCode());
......
...@@ -968,7 +968,6 @@ public class PayServiceImpl { ...@@ -968,7 +968,6 @@ public class PayServiceImpl {
UpdateOrderReq updateOrderReq = new UpdateOrderReq(); UpdateOrderReq updateOrderReq = new UpdateOrderReq();
updateOrderReq.setOrderCode(orderEditRequest.getOrderId()); updateOrderReq.setOrderCode(orderEditRequest.getOrderId());
updateOrderReq.setExtInfo(orderEditRequest.getExtInfo()); updateOrderReq.setExtInfo(orderEditRequest.getExtInfo());
updateOrderReq.setOrderClient(OrderClientType.SAAS.getIndex());
updateOrderReq.setOrderPayItem(orderEditRequest.getOrderPayItem()); updateOrderReq.setOrderPayItem(orderEditRequest.getOrderPayItem());
updateOrderReq.setPayChannel(orderEditRequest.getPayChannel()); updateOrderReq.setPayChannel(orderEditRequest.getPayChannel());
updateOrderReq.setPayChannelName(orderEditRequest.getPayChannelName()); updateOrderReq.setPayChannelName(orderEditRequest.getPayChannelName());
......
...@@ -200,6 +200,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -200,6 +200,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Value("${saas.cart.sharing}") @Value("${saas.cart.sharing}")
private String sharing; private String sharing;
@Value("${saas.cart.sharing.new}")
private String newSharing;
@Value("${saas.cart.new.shopping.cart}") @Value("${saas.cart.new.shopping.cart}")
private String newShoppingCart; private String newShoppingCart;
...@@ -2708,33 +2711,33 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2708,33 +2711,33 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
* *
* @param partnerId * @param partnerId
* @param storeId * @param storeId
* @return * @return 返回是否是新算价
*/ */
public boolean grayPush(String partnerId, String storeId, String version) { public boolean grayPush(String partnerId, String storeId, String version) {
if (StringUtils.isBlank(sharing)) return false; if (StringUtils.isBlank(newSharing)) return true;
CalculateCenter center = JSON.parseObject(sharing, CalculateCenter.class); CalculateCenter center = JSON.parseObject(newSharing, CalculateCenter.class);
Boolean enable = false; Boolean enable = true;
if (!center.getEnable()) return false; // if (!center.getEnable()) return false;
switch (center.getType()) { switch (center.getType()) {
case 2: case 2:
enable = true; enable = true;
break; break;
case 1: { case 1: {
//商户+门店级别 //商户+门店级别(新算价)
String real = partnerId.concat(storeId); String partnerId_storeId= partnerId.concat(storeId);
if (Arrays.asList(center.getGrayList().split(",")).contains(real)) { if (Arrays.asList(center.getGrayList().split(",")).contains(partnerId_storeId)) {
enable = true; enable = true;
} }
//商户级别 //商户级别(老算价)
else if (Arrays.asList(center.getGrayList().split(",")).contains(partnerId)) { else if (Arrays.asList(center.getGrayList().split(",")).contains(partnerId)) {
enable = true; enable = false;
} }
} }
} }
if (center.getEnable() && enable) { // if (center.getEnable() && enable) {
enable = true; // enable = true;
} // }
return enable; return enable;
} }
......
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