Commit 39919b8c by ping.wu

购买虚拟商品校验门店菜单

parent 39baff7a
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: GetProductInfoDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: liming.guo
* @date: 2018/5/16 19:52
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.dto.product;
import lombok.Data;
import java.util.List;
@Data
public class GetValidateProductInfoDto {
/**
* 商户ID
*/
private String partnerId;
/**
* 门店ID
*/
private String storeId;
/**
* 根据spu或者sku查询所有商品信息
*/
private List<String> productIds;
/**
* 查询指定spu下面的制定sku信息
*/
private List<ProductInfo> productInfoList;
/**
* 门店商品渠道 saas(开个店自提)、saasdelivery(开个店外卖)、saasmall(微商城)、wc(围餐)、mtwm(美团外卖)、jdwm(京东外卖)、fmwd(非码微店)、eleme(饿了么外卖)、ebwm(饿百外卖)
*/
private String channel;
@Data
public static class ProductInfo {
/**
* 商品spu
*/
private String spuId;
/**
* 商品sku
*/
private List<String> skuIds;
}
}
......@@ -84,147 +84,4 @@ public class ProductInfo {
//用于标识虚拟商品是否限制购买数量,0-否、1-是
private Integer isLimitNumProduct;
// @NoArgsConstructor
// @Data
// public static class SkuProductBean {
// private String customerCode;
// private String productCode;
// private Long finalPrice;
// private Long originalPrice;
// private String productName;
// private Integer productType;
// private Integer sequence;
// private String skuCode;
// private String skuId;
//
// private Integer status;
// //以下两个字段 1.5.4新加
// private Integer stockLimit;
// private Integer stockQty;
// //sku商品包装费 1.5.4新加
// private Long packPrice ;
// private List<SkuSpecValue> skuSpecValues;
//
// @NoArgsConstructor
// @Data
// public static class SkuSpecValue {
// private String productId;
// private Integer sequence;
// private String specCustomerCode;
// private String specId;
// private String specName;
// private String specValue;
// private String specValueCustomerCode;
// private String specValueId;
// }
// }
//
// @NoArgsConstructor
// @Data
// public static class SpecificationGroupBean {
// private String partnerId;
// private Integer sequence;
// private String specId;
// private String specName;
// private List<GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean.SpecificationGroupBean.SpecValueVo> specValueVos;
//
// @NoArgsConstructor
// @Data
// public static class SpecValueVo {
// private Integer sequence;
// private String specId;
// private String specValue;
// private String specValueId;
// }
// }
//
// @NoArgsConstructor
// @Data
// public static class ProductLabelNameListBean {
// private String id;
// private String name;
// private String partnerId;
// List<?> productList;
// private String storeId;
// private String type;
// }
//
// @NoArgsConstructor
// @Data
// public static class ProductAttributeGroupListBean {
// /**
// * attributeName : 加料
// * attributeType : 1
// * attributeValues : [{"attributeValue":"","id":0,"price":0,"sequence":0,"status":0}]
// */
//
// /**
// * 属性名称
// */
// private String attributeName;
// /**
// * 属性类型
// */
// private Integer attributeType;
// /**
// * 第三方商品属性编号
// */
// private String customerCode;
// /**
// * 属性详细信息
// */
// private List<GetMenuResponseDto.DataBean.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean.ProductAttributeGroupListBean.AttributeValueBean> attributeValues;
//
// @NoArgsConstructor
// @Data
// public static class AttributeValueBean {
// /**
// * attributeValue :
// * id : 0
// * price : 0
// * sequence : 0
// * status : 0
// */
// /**
// * 属性值
// */
// private String attributeId;
//
// private String attributeValue;
// /**
// * 属性ID
// */
// private Long id;
// /**
// *
// */
// private Long price;
// private Integer sequence;
// private Integer status;
// /**
// * 第三方商品属性值编号
// */
// private String customerCode;
// }
// }
//
// @NoArgsConstructor
// @Data
// public static class ProductPictureListBean {
// /**
// * pictureId : 107901339444445753
// * productId : 107901318808470072
// * sequence : 0
// * type : default
// * url : http://ojcpa0rpt.bkt.clouddn.com/xianfengfruit_DishPool_default_30b5f0ca-399a-4be3-9063-12a3d2622a38_1513952518.jpg
// */
//
// private String pictureId;
// private String productId;
// private String sequence;
// private String type;
// private String url;
// }
}
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ProductInfosDto
* @Package cn.freemud.entities.dto
* @Description:
* @author: liming.guo
* @date: 2018/5/28 21:11
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.dto.product;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@NoArgsConstructor
@Data
public class ValidateProductInfosDto {
private DataBean data;
private Integer errcode;
private Integer code;
private String errmsg;
@NoArgsConstructor
@Data
public static class DataBean {
private Integer count;
private List<ProductData> failureList;
private List<ProductData> successList;
}
@NoArgsConstructor
@Data
public static class ProductData {
private ProductInfo productType;
}
}
\ No newline at end of file
......@@ -9,6 +9,8 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.Active;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.product.GetValidateProductInfoDto;
import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import cn.freemud.entities.vo.NgsSellCouponCreateOrderVo;
import cn.freemud.entities.vo.PaysuccessNoticeMessage;
......@@ -196,40 +198,6 @@ public class SellCouponOrderServiceImpl {
}
}
// GetProductInfoRequest request = new GetProductInfoRequest();
// request.setChannel(requestVo.getMenuType());
// request.setPartnerId(partnerId);
// request.setProductInfoType(2);
// request.setShopId(storeId);
// request.setProductIds(Lists.newArrayList(requestVo.getSkuId()));
// //获取商品(里面的活动)
// com.freemud.application.sdk.api.base.BaseResponse<GetProductInfosResponse> productInfosByIds = menuService.getProductInfosByIds(request, trackingNo);
// if(!SUCCESS.equals(productInfosByIds.getCode()) || productInfosByIds.getData() == null || CollectionUtils.isEmpty(productInfosByIds.getData().getProducts())){
// return ResponseUtil.error(ResponseResultEnum.GET_PRODUCT_INFOS_ERROR.getCode(),ResponseResultEnum.GET_PRODUCT_INFOS_ERROR.getMessage());
// }
// List<GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean.ProductBindingCouponType> productBindingCoupons = productInfosByIds.getData().getProducts().get(0).getProductBindingCouponTypes();
// if(CollectionUtils.isEmpty(productBindingCoupons)){
// return ResponseUtil.error(ResponseResult.STORE_ITEM_CHECK_INVAILD);
// }
//
// List<String> activityCodes = new ArrayList<>();
// for (GetMenuCategoryInfoResponse.RootNodeBean.ChildrenBeanFirst.ChildrenBeanSecond.ProductBean.ProductBindingCouponType productBindingCouponType : productBindingCoupons){
// activityCodes.add(productBindingCouponType.getActivityCode());
// }
//
// List<ActiveDetailVO> activeDetailVOS = batchQueryActivityInfo(partnerId, activityCodes, trackingNo);
// if(CollectionUtils.isEmpty(activeDetailVOS) || activityCodes.size() != activeDetailVOS.size()){
// return ResponseUtil.error(ResponseResult.STORE_ITEM_CHECK_INVAILD);
// }
// Date now = new Date();
// for (ActiveDetailVO activeDetailVO : activeDetailVOS){
// if(activeDetailVO.getEffectiveEndTime() != null && activeDetailVO.getEffectiveEndTime().before(now)){
// return ResponseUtil.error(ResponseResult.COUPON_INVAILD);
// }
// }
//卖券订单biztype默认传入6
BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode());
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
......@@ -330,12 +298,28 @@ public class SellCouponOrderServiceImpl {
String partnerId,
String storeId,
String skuId,String cardCode) {
//校验虚拟商品是否在门店菜单
GetValidateProductInfoDto getProductInfoDto = new GetValidateProductInfoDto();
getProductInfoDto.setPartnerId(partnerId);
getProductInfoDto.setStoreId(storeId);
getProductInfoDto.setChannel(menuType);
List<String> productIds = new ArrayList<>();
productIds.add(skuId);
getProductInfoDto.setProductIds(productIds);
ValidateProductInfosDto productInfosDto = storeItemClient.validateShopContainProduct(getProductInfoDto);
if (!Objects.equals(productInfosDto.getErrcode(), Integer.valueOf(ResponseResult.SUCCESS.getCode()))
|| productInfosDto.getData() ==null
|| CollectionUtils.isEmpty(productInfosDto.getData().getSuccessList())){
return ResponseUtil.error(ResponseResult.STORE_ITEM_CHECK_VAILD_ERROR);
}
GetProductInfoRequest request = new GetProductInfoRequest();
request.setChannel(menuType);
request.setPartnerId(partnerId);
request.setProductInfoType(2);
request.setShopId(storeId);
request.setProductIds(Lists.newArrayList(skuId));
request.setProductIds(productIds);
//获取商品(里面的活动)
com.freemud.application.sdk.api.base.BaseResponse<GetProductInfosResponse> productInfosByIds = menuService.getProductInfosByIds(request, trackingNo);
if (!ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(productInfosByIds.getCode()) || productInfosByIds.getData() == null || CollectionUtils.isEmpty(productInfosByIds.getData().getProducts())) {
......
......@@ -14,6 +14,8 @@ package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.ShopBaseResponseDto;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.product.GetValidateProductInfoDto;
import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -63,4 +65,11 @@ public interface StoreItemClient {
@PostMapping(value = "/Shop/ListDishwareProduct", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
ShopBaseResponseDto<List<ProductListDto.DataBean>> findDishWareProductList(@RequestBody GetShopDishWareProductDto request);
/**
* 校验商品在当前门店是否可售
*/
@PostMapping("/Shop/validateShopContainProduct")
ValidateProductInfosDto validateShopContainProduct(@RequestBody GetValidateProductInfoDto getProductInfoDto);
}
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