Commit 46860524 by ping.wu

Merge branches 'master' and 'pre' of…

Merge branches 'master' and 'pre' of http://gitlab.freemud.com/order-group-application/order-group into pre
parents 71ded5b1 f9f4ed09
......@@ -3,6 +3,7 @@ package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.SellCouponCreateOrderVo;
import cn.freemud.entities.vo.SellCouponSvcConfigVo;
import cn.freemud.service.impl.SellCouponOrderServiceImpl;
import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
......@@ -43,6 +44,15 @@ public class CreateOrderController {
}
/**
* 卖券订单创建查询是否支持储值卡 (临时方案,后续)
*/
@ApiAnnotation(logMessage = "svcConfig")
@PostMapping("/sellCouponOrder/svcConfig")
public BaseResponse svcConfig(@Validated @LogParams @RequestBody SellCouponSvcConfigVo requestVo) {
return sellCouponOrderService.svcConfig(requestVo);
}
/**
* 农工商卖券订单创建
*/
@ApiAnnotation(logMessage = "sellCouponOrderCreate")
......
......@@ -33,5 +33,8 @@ public class ProductInfosDto {
private Integer count;
private List<ProductInfo> products;
//传给pos的商品编号类型(0传三方编号给pos,1传货号给pos,默认传三方编号
private Integer toPosProductIdType;
}
}
\ No newline at end of file
package cn.freemud.entities.vo;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
@Data
public class SellCouponSvcConfigVo {
@NotEmpty(message = "sessionId 不能为空")
private String sessionId;
}
package cn.freemud.entities.vo;
import lombok.Data;
@Data
public class SvcConfigResponse {
private boolean svcPay;
public SvcConfigResponse() {
}
public SvcConfigResponse(boolean svcPay) {
this.svcPay = svcPay;
}
}
......@@ -202,6 +202,7 @@ public enum ResponseResult {
* 支付
*/
PAY_BACKEND_CONFIG_ERROR("58003", "支付交易异常","Abnormal payment transaction"),
PAY_SVC_CONFIG_ERROR("58004", "不支持储值卡支付",""),
/**
* 优惠券活动
*/
......
......@@ -17,7 +17,7 @@ import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
public interface OrderBusinessService {
PayAccessResponse payAccess(ConfirmOrderRequest confirmOrderRequest);
Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request);
// Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request);
CreateOrderResponse createOrderFlow(CreateOrderRequest createOrderRequest);
......
......@@ -112,7 +112,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
request.setMealCodeRule(confirmOrderRequest.getMealCodeRule());
request.setPickUpGoodsNo(confirmOrderRequest.getPickUpGoodsNo());
// 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置
request.setTimeout(getPaySuccessTimeout(confirmOrderRequest, request));
request.setTimeout(this.getPaySuccessTimeout(confirmOrderRequest, request));
if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) {
List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>();
......@@ -176,7 +176,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return orderSdkAdapter.convent2PayAccessResponse(response);
}
@Override
public Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest, PaySuccessReq request) {
// 合阔pos 商户未接单退款超时时间
if (confirmOrderRequest.getNotAutomaticTwistTime() != null) {
......
......@@ -59,10 +59,18 @@ public class ItemServiceImpl implements ItemService{
ProductInfosDto productInfosDto = storeItemClient.listProductInfos(getProductInfoDto);
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(productInfosDto.getErrcode()) && productInfosDto.getData() != null
&& CollectionUtils.isNotEmpty(productInfosDto.getData().getProducts())) {
//1传货号给当三方商品编号给pos
boolean toPosCustomerCode = productInfosDto.getData().getToPosProductIdType() != null && productInfosDto.getData().getToPosProductIdType() == 1;
productInfosDto.getData().getProducts().forEach(productBean -> {
GetProductsVo spuProductsVo = new GetProductsVo();
//保存货号到三方商品编号字段
if(toPosCustomerCode){
spuProductsVo.setCustomerCode(productBean.getProductCode());
spuProductsVo.setProductCode(productBean.getCustomerCode());
}else {
spuProductsVo.setCustomerCode(productBean.getCustomerCode());
spuProductsVo.setProductCode(productBean.getProductCode());
}
List<AttributeValue> attributeValues = new ArrayList<>();
//第三方商品属性信息
if (CollectionUtils.isNotEmpty(productBean.getProductAttributeGroupList())) {
......@@ -83,9 +91,9 @@ public class ItemServiceImpl implements ItemService{
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;
......@@ -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())) {
for (SkuProduct skuProductBean : productBean.getSkuList()) {
GetProductsVo skuProductsVo = new GetProductsVo();
//保存货号到三方商品编号字段
if(toPosCustomerCode){
skuProductsVo.setCustomerCode(skuProductBean.getProductCode());
skuProductsVo.setProductCode(skuProductBean.getCustomerCode());
}else {
skuProductsVo.setCustomerCode(skuProductBean.getCustomerCode());
skuProductsVo.setProductCode(skuProductBean.getProductCode());
}
//第三方商品规格值id
if (CollectionUtils.isNotEmpty(skuProductBean.getSkuSpecValues())) {
List<String> list = new ArrayList<>();
......@@ -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());
List<Integer> stapleFood = Arrays.asList(0,1);
//套餐固定商品
if (CollectionUtils.isNotEmpty(productBean.getProductComboList())) {
for (ProductComboListDto productComboListDto : productBean.getProductComboList()) {
GetProductsVo comboProductsVo = new GetProductsVo();
//保存货号到三方商品编号字段
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())) {
comboProductsVo.setStapleFood(productComboListDto.getIsStaple());
} else {
......@@ -170,8 +191,15 @@ public class ItemServiceImpl implements ItemService{
for(GroupDetail groupDetailBean : group.getGroupDetail()){
//多规格获取sku信息
GetProductsVo groupProductsVo = new GetProductsVo();
//保存货号到三方商品编号字段
if(toPosCustomerCode){
groupProductsVo.setCustomerCode(groupDetailBean.getProductCode());
groupProductsVo.setProductCode(groupDetailBean.getCustomerCode());
}else {
groupProductsVo.setCustomerCode(groupDetailBean.getCustomerCode());
groupProductsVo.setProductCode(groupDetailBean.getProductCode());
}
//第三方商品属性信息
groupProductsVo.setProductAttributeGroupList(groupDetailBean.getProductAttributeGroupList());
......
......@@ -85,7 +85,7 @@ public class OrderQueueService {
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 {
if (CollectionUtils.isNotEmpty(productDto.getComboProduct())) {
for (CreateOrderProductRequest comboProduct : productDto.getComboProduct()) {
String comboSkuId = comboProduct.getSpecification();
System.out.println(comboSkuId);
if (products.get(comboSkuId) != null) {
comboProduct.setCustomerCode(products.get(comboSkuId).getCustomerCode());
comboProduct.setProductCode(products.get(comboSkuId).getProductCode());
......
......@@ -968,7 +968,6 @@ public class PayServiceImpl {
UpdateOrderReq updateOrderReq = new UpdateOrderReq();
updateOrderReq.setOrderCode(orderEditRequest.getOrderId());
updateOrderReq.setExtInfo(orderEditRequest.getExtInfo());
updateOrderReq.setOrderClient(OrderClientType.SAAS.getIndex());
updateOrderReq.setOrderPayItem(orderEditRequest.getOrderPayItem());
updateOrderReq.setPayChannel(orderEditRequest.getPayChannel());
updateOrderReq.setPayChannelName(orderEditRequest.getPayChannelName());
......
......@@ -16,10 +16,7 @@ import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
import cn.freemud.entities.vo.SellCouponCreateOrderVo;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.enums.integralproduct.IntegralProductStatusEnum;
import cn.freemud.interceptor.ServiceException;
......@@ -152,6 +149,9 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
private List<String> buyProductOncePartnerIds;
@Value("#{'${virtual.product.svc.pay.partnerId:}'.split(',')}")
private List<String> virtualProductSvcPayPartnerId;
private final String SUCCESS = "100";
private final String ngsCouponProductId = "76161384";
......@@ -276,6 +276,21 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
}
/**
* 获取用户所在的商户是否支持储值卡买券
*
* @param requestVo
* @return
*/
public BaseResponse svcConfig(SellCouponSvcConfigVo requestVo) {
// 查询用户信息
AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.checkOrderByMemberNew(requestVo.getSessionId());
if (CollectionUtils.isNotEmpty(virtualProductSvcPayPartnerId) && !virtualProductSvcPayPartnerId.contains(userLoginInfoDto.getPartnerId())) {
return ResponseUtil.success(new SvcConfigResponse(false));
}
return ResponseUtil.success(new SvcConfigResponse(true));
}
/**
* 卖券订单创建
*/
public BaseResponse createOrder(SellCouponCreateOrderVo requestVo){
......@@ -287,6 +302,9 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
String partnerId = userLoginInfoDto.getPartnerId();
String storeId = requestVo.getShopId();
String userId = userLoginInfoDto.getMemberId();
if (StringUtils.isNotBlank(requestVo.getCardCode()) && CollectionUtils.isNotEmpty(virtualProductSvcPayPartnerId) && !virtualProductSvcPayPartnerId.contains(partnerId)) {
return ResponseUtil.error(ResponseResult.PAY_SVC_CONFIG_ERROR);
}
//查询门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, storeId,null);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo);
......
......@@ -201,6 +201,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Value("${saas.cart.sharing}")
private String sharing;
@Value("${saas.cart.sharing.new}")
private String newSharing;
@Value("${saas.cart.new.shopping.cart}")
private String newShoppingCart;
......@@ -2754,33 +2757,33 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
*
* @param partnerId
* @param storeId
* @return
* @return 返回是否是新算价
*/
public boolean grayPush(String partnerId, String storeId, String version) {
if (StringUtils.isBlank(sharing)) return false;
CalculateCenter center = JSON.parseObject(sharing, CalculateCenter.class);
Boolean enable = false;
if (!center.getEnable()) return false;
if (StringUtils.isBlank(newSharing)) return true;
CalculateCenter center = JSON.parseObject(newSharing, CalculateCenter.class);
Boolean enable = true;
// if (!center.getEnable()) return false;
switch (center.getType()) {
case 2:
enable = true;
break;
case 1: {
//商户+门店级别
String real = partnerId.concat(storeId);
if (Arrays.asList(center.getGrayList().split(",")).contains(real)) {
//商户+门店级别(新算价)
String partnerId_storeId= partnerId.concat(storeId);
if (Arrays.asList(center.getGrayList().split(",")).contains(partnerId_storeId)) {
enable = true;
}
//商户级别
//商户级别(老算价)
else if (Arrays.asList(center.getGrayList().split(",")).contains(partnerId)) {
enable = true;
}
enable = false;
}
}
if (center.getEnable() && enable) {
enable = true;
}
// if (center.getEnable() && enable) {
// enable = true;
// }
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