Commit 8db4bdbd by dingkai

Merge branch 'feature/1.9.13-mall-20200219-dingkai' into develop

# Conflicts:
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/BaseCreateOrderRequest.java
#	assortment-shoppingcart-sdk/src/main/java/com/freemud/sdk/api/assortment/shoppingcart/adapter/ShoppingCartAdapter.java
#	order-application-service/src/main/java/cn/freemud/controller/OrderController.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/CreateOrderVo.java
#	order-application-service/src/main/java/cn/freemud/entities/vo/ShoppingCartInfoRequestVo.java
#	order-application-service/src/main/java/cn/freemud/enums/OrderSourceType.java
#	order-application-service/src/main/java/cn/freemud/service/impl/MallOrderServiceImpl.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMallServiceImpl.java
parents 783f826e 3dd37957
......@@ -139,7 +139,6 @@ public class BaseCreateOrderRequest extends BaseConfig {
*/
public ActivityUpdateStockRequest activityUpdateStockRequest;
private OrderClientType orderClientType;
/**
* 省
......
......@@ -42,7 +42,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>productcenter-sdk</artifactId>
<version>2.7.4.RELEASE</version>
<version>2.7.5-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -310,6 +310,7 @@ public class ShoppingCartAdapter {
cartGoods.setAmount(newOrigOriginalPrice * cartGoods.getQty());
//咨询商品服务,套餐售价取originalPrice
cartGoods.setFinalPrice(isSetMealProduct ? spuProduct.getOriginalPrice() : isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice());
cartGoods.setWeight(spuProduct.getWeight());
cartGoods.setUnit(spuProduct.getUnit());
cartGoods.setWeightType(CommonsConstant.WEIGHT_PRODUCT.equals(spuProduct.getWeightType()));
} catch (Exception ex) {
......@@ -401,6 +402,7 @@ public class ShoppingCartAdapter {
comboxGoods.setFinalPrice(finalPrice);
comboxGoods.setWeightType(isComboxGoods? CommonsConstant.WEIGHT_PRODUCT.equals(productComboType.getWeightType()):CommonsConstant.WEIGHT_PRODUCT.equals(groupDetailType.getWeightType()));
comboxGoods.setUnit(isComboxGoods?productComboType.getUnit():groupDetailType.getUnit());
comboxGoods.setWeight(isComboxGoods ? productComboType.getWeight() : groupDetailType.getWeight());
}
private Map<String, String> getAttributes(CartGoods cartGoods, List<CartGoods.CartGoodsExtra> extra, List<ProductBeanDTO.ProductAttributeGroupListBean> attributeGroupListBeanList, List<String> invalidGoodsIdList) {
......
......@@ -2,12 +2,11 @@ package cn.freemud.adapter;
import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.SubtractStockVO;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.OrderAccountType;
import cn.freemud.enums.OrderSourceType;
import cn.freemud.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
......@@ -130,7 +129,7 @@ public class MallOrderAdapter {
createOrderDto.setPayType(QueryPayType.ONLINE_PAY);
createOrderDto.setSource(OrderSourceType.SAASMALL.getCode());
createOrderDto.setSourceName(OrderSourceType.SAASMALL.getDesc());
createOrderDto.setOrderClientType(OrderClientType.SAASMALL);
createOrderDto.setOrderClient(OrderClientType.SAASMALL);
createOrderDto.setRemark(remark);
createOrderDto.setGmtExpect(null);
BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo();
......@@ -141,6 +140,7 @@ public class MallOrderAdapter {
createOrderDto.setProvince(userDeliveryInfoDto.getReceiveProvince());
createOrderDto.setCity(userDeliveryInfoDto.getReceiveCity());
createOrderDto.setRegion(userDeliveryInfoDto.getReceiveRegion());
createOrderDto.setMenuType(BusinessTypeEnum.SAAS_MALL.getName());
return createOrderDto;
}
......
......@@ -23,7 +23,6 @@ import cn.freemud.service.OrderAdapterService;
import cn.freemud.service.Orderservice;
import cn.freemud.service.impl.MallOrderServiceImpl;
import cn.freemud.utils.ResponseUtil;
import cn.freemud.utils.ResponseUtil;
import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.ApiOperation;
......@@ -203,15 +202,6 @@ public class OrderController {
}
/**
* 订单确认完成
*/
@ApiAnnotation(logMessage = "affirm")
@PostMapping("/affirm")
public BaseResponse orderAffirm(@LogParams @Valid @RequestBody OrderAffirmRequestVO request) {
return mallOrderService.orderAffirm(request);
}
/**
* 查询30分钟未支付的优惠券订单
*/
@ApiAnnotation(logMessage = "queryOrderWithCoupon")
......@@ -221,4 +211,13 @@ public class OrderController {
return ResponseUtil.success();
}
/**
* 订单确认完成
*/
@ApiAnnotation(logMessage = "affirm")
@PostMapping("/affirm")
public BaseResponse orderAffirm(@Validated @LogParams @RequestBody OrderAffirmRequestVO request) {
return mallOrderService.orderAffirm(request);
}
}
......@@ -30,9 +30,10 @@ public enum OrderSourceType {
SAAS("saas", "saas 点餐"),
SAASMALL("saasmall", "微商城"),
ALIPAY("alipay", "支付宝小程序点餐"),
ALIPAY("alipay", "支付宝小程序点餐");
SAASMALL("saasmall", "微商城"),
;
private String code;
......
......@@ -12,63 +12,134 @@
*/
package cn.freemud.service.impl;
import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.UserLoginInfoDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo;
import cn.freemud.enums.BusinessTypeEnum;
import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.delivery.ThirdDeliveryServiceImpl;
import cn.freemud.service.thirdparty.ShoppingCartClient;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
public class CheckMallOrder {
@Autowired
private ShoppingCartClient shoppingCartClient;
@Autowired
private CheckOrder checkOrder;
// 缓存取用户数据用
private ThirdDeliveryServiceImpl thirdDeliveryService;
@Autowired
private UserServiceImpl userService;
private AssortmentCustomerInfoManager customerInfoManager;
@Autowired
private ThirdDeliveryServiceImpl thirdDeliveryService;
private StoreCenterService storeCenterService;
/**
* 下单会员相关校验
*/
public UserLoginInfoDto checkOrderByMember(CreateOrderVo createOrderVo, String trackingNo) {
public AssortmentCustomerInfoVo checkOrderByMember(CreateOrderVo createOrderVo) {
// 通过sessionId查询缓存中会员id
UserLoginInfoDto userLoginInfoDto = userService.getUserLoginInfoBySessionId(createOrderVo.getSessionId());
String sessionId = createOrderVo.getSessionId();
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
createOrderVo.setUserId(userLoginInfoDto.getMemberId());
return userLoginInfoDto;
}
/**
* 查询门店信息
*/
public StoreResponse getStoreInfo(String partnerId, String shopId, String trackingNo) {
// 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, shopId,null);
return storeCenterService.getStoreInfo(storeInfoRequest, trackingNo);
}
/**
* 下单门店相关校验
*/
public StoreResponse.BizVO checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) {
return checkOrder.checkOrderByStore(createOrderVo, trackingNo);
String partnerId = createOrderVo.getPartnerId();
String shopId = createOrderVo.getShopId();
// 获取门店信息
StoreResponse storeResponse = getStoreInfo(partnerId, shopId, trackingNo);
if (storeResponse == null || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1) {
throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
}
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) {
throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
}
//设置营业开始和结束时间
String businessHourStr = storeResponseDto.getBusinessHoursDay().replace("-", ",").replace("_", ",");
String[] businessHours = businessHourStr.split(",");
if (businessHours.length != 2) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
Date date = new Date();
String startDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[0] + ":00";
Date startDateTime = DateUtil.convert2Date(startDateTimeStr, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
String endDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[1] + ":00";
SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date endDateTime;
try {
endDateTime = hhmmss.parse(endDateTimeStr);
} catch (ParseException e) {
throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR);
}
storeResponseDto.setBusinessHoursDayStartTime(startDateTime);
storeResponseDto.setBusinessHoursDayEndTime(endDateTime);
// 校验门店是否打烊,打烊了则不让操作
if (storeResponseDto.getBusinessHoursDayStartTime() == null
|| storeResponseDto.getBusinessHoursDayEndTime() == null) {
throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
}
// 桌号不为空,查数据库重新设置桌号
/*if (StringUtils.isNotBlank(createOrderVo.getTableNumber())) {
createOrderVo.setTableNumber(getTableNumber(partnerId, shopId, createOrderVo.getTableNumber()));
}*/
createOrderVo.setStoreName(storeResponseDto.getStoreName());
createOrderVo.setStoreAddress(storeResponseDto.getAddress());
createOrderVo.setThirdShopId(storeResponseDto.getThirdPartCode());
return storeResponseDto;
}
/**
* 下单配送相关校验
*/
public void checkOrderByDelivery(CreateOrderVo createOrderVo, UserLoginInfoDto userLoginInfoDto,
public void checkOrderByDelivery(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto,
StoreResponse.BizVO storeResponseDto,Long totalAmount, String trackingNo) {
StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId());
//订单金额小于起送费提示
......@@ -90,6 +161,7 @@ public class CheckMallOrder {
.flag(CouponFlag.NO.getCode())
.useCustomerScore(createOrderVo.getUseCustomerScore())
.channelType(OrderChannelType.SAASMALL.getCode())
.menuType(BusinessTypeEnum.SAAS_MALL.getName())
.build();
// 通过购物车获取优惠信息
GetShoppingCartGoodsApportionDto requestDto = new GetShoppingCartGoodsApportionDto();
......
......@@ -11,6 +11,10 @@ import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.PayAccessResponse;
import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail;
import cn.freemud.entities.dto.product.ProductAttributeGroup;
import cn.freemud.entities.dto.product.ProductGroup;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
......@@ -29,6 +33,7 @@ import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.constant.ResponseResultEnum;
......@@ -51,11 +56,13 @@ import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*;
import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.freemud.sdk.api.assortment.order.vo.ProductGroupVo;
import com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest;
import com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse;
import com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse;
import com.freemud.sdk.api.assortment.payment.service.StandardPaymentService;
import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import org.apache.commons.collections4.CollectionUtils;
......@@ -127,7 +134,7 @@ public class MallOrderServiceImpl implements MallOrderService {
String trackingNo = LogThreadLocal.getTrackingNo();
// 查询用户信息、校验svc卡,余额购物车校验
UserLoginInfoDto userLoginInfoDto = checkMallOrder.checkOrderByMember(createOrderVo, trackingNo);
AssortmentCustomerInfoVo userLoginInfoDto = checkMallOrder.checkOrderByMember(createOrderVo);
// 设置门店id为商城的虚拟门店id
this.change2BindMallShopId(createOrderVo, userLoginInfoDto.getWxAppId());
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
......@@ -215,7 +222,7 @@ public class MallOrderServiceImpl implements MallOrderService {
createOrderVo.setShopId(shopId);
}
private OrderExtInfoDTO getExtInfo(UserLoginInfoDto userLoginInfoDto, StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) {
private OrderExtInfoDTO getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) {
String sessionId = createOrderVo.getSessionId();
String version = createOrderVo.getVersion();
......@@ -227,7 +234,7 @@ public class MallOrderServiceImpl implements MallOrderService {
return orderExtInfoDto;
}
private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, UserLoginInfoDto userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) {
private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
//创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> {
......@@ -294,14 +301,14 @@ public class MallOrderServiceImpl implements MallOrderService {
}
private PaymentRequest orderBodyConvertToPaymentBody(UserLoginInfoDto userLoginInfoDto, String partnerId) {
private PaymentRequest orderBodyConvertToPaymentBody(AssortmentCustomerInfoVo userLoginInfoDto, String partnerId) {
String wxAppId = userLoginInfoDto.getWxAppId();
//设置支付信息
PaymentRequest paymentRequest = new PaymentRequest();
paymentRequest.setOpenId(userLoginInfoDto.getOpenId());
paymentRequest.setWxAppId(wxAppId);
AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(partnerId, wxAppId);
paymentRequest.setPrincipalName(wxApp.getPrincipalName());
paymentRequest.setPrincipalName(StringUtils.defaultString(wxApp.getPrincipalName(), "上海非码网络科技有限公司"));
paymentRequest.setReverseNotifyiDcUrl(reverseNotifyiDcUrl);
return paymentRequest;
}
......@@ -506,24 +513,46 @@ public class MallOrderServiceImpl implements MallOrderService {
* @return
*/
private BaseCreateOrderRequest getProductCustomerCode(BaseCreateOrderRequest createOrderDto) {
List<String> pids = new ArrayList<>();
List<String> spuIds = new ArrayList<>();
for (CreateOrderProductRequest productDto : createOrderDto.getProducts()) {
pids.add(productDto.getSpecification());
spuIds.add(productDto.getProductId());
}
Map<String, GetProductsVo> products = itemService.getSpuProducts(pids, createOrderDto.getCompanyId(), createOrderDto.getShopId(),"saasmall");
Map<String, GetProductsVo> products = itemService.getSpuProducts(spuIds, createOrderDto.getCompanyId(), createOrderDto.getShopId(),createOrderDto.getMenuType());
if (products.isEmpty()) {
return createOrderDto;
}
for (String pid : pids) {
for (CreateOrderProductRequest productDto : createOrderDto.getProducts()) {
if (pid.equals(productDto.getSpecification())) {
if (products.get(pid) != null) {
productDto.setCustomerCode(products.get(pid).getCustomerCode());
productDto.setProductCode(products.get(pid).getProductCode());
for (CreateOrderProductRequest productDto : createOrderDto.getProducts()) {
String skuId = productDto.getSpecification();
if (products.get(skuId) != null) {
productDto.setCustomerCode(products.get(skuId).getCustomerCode());
productDto.setProductCode(products.get(skuId).getProductCode());
productDto.setThirdProductSpecId(products.get(productDto.getSpecification()).getThirdProductSpecId());
productDto.setThirdProductPropertyId(getThirdPropertyId(products.get(productDto.getSpecification()).getProductAttributeGroupList(),productDto.getAddInfo()));
// todo 商品组信息
setProductGroupInfo(products.get(skuId).getProductGroupList(), productDto);
} else {
productDto.setCustomerCode("");
productDto.setProductCode("");
LogUtil.error("getProducts_exception", JSONObject.toJSONString(skuId), JSONObject.toJSONString(products), null);
}
//套餐子商品
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());
comboProduct.setThirdProductSpecId(products.get(comboSkuId).getThirdProductSpecId());
comboProduct.setThirdProductPropertyId(getThirdPropertyId(products.get(comboSkuId).getProductAttributeGroupList(),comboProduct.getAddInfo()));
// todo 套餐商品的商品组信息
setProductGroupInfo(products.get(comboSkuId).getProductGroupList(), comboProduct);
} else {
productDto.setCustomerCode("");
productDto.setProductCode("");
LogUtil.error("getProducts_exception", JSONObject.toJSONString(pids), JSONObject.toJSONString(products));
comboProduct.setCustomerCode("");
comboProduct.setProductCode("");
LogUtil.error("getProducts_exception", JSONObject.toJSONString(skuId), JSONObject.toJSONString(products), null);
}
}
}
......@@ -684,4 +713,55 @@ public class MallOrderServiceImpl implements MallOrderService {
return null;
}
/**
* 设置商品组信息
* @param productGroupList
* @param product
*/
private void setProductGroupInfo(List<ProductGroup> productGroupList, CreateOrderProductRequest product) {
if (CollectionUtils.isEmpty(productGroupList)) return;
List<com.freemud.sdk.api.assortment.order.vo.ProductGroupVo> targetGroupList = Lists.newArrayList();
for (ProductGroup productGroup : productGroupList) {
for (GroupDetail groupDetail : productGroup.getGroupDetail()) {
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo productGroupVo = ProductGroupVo.builder()
.groupId(groupDetail.getGroupId()).groupName(productGroup.getName())
.thirdGroupId(productGroup.getGroupCode()).build();
if (!targetGroupList.contains(productGroupVo)) {
targetGroupList.add(productGroupVo);
}
}
}
product.setProductGroupList(targetGroupList);
}
private String getThirdPropertyId(List<ProductAttributeGroup> productAttributeGroups, String addInfo) {
String thirdProductPropertyId = "";
if(StringUtils.isBlank(addInfo) || CollectionUtils.isEmpty(productAttributeGroups) ){
return thirdProductPropertyId;
}
JSONObject jsonObject = JSONObject.parseObject(addInfo);
String attributeNames = (String)jsonObject.get("attributeNames");
List<String> list = new ArrayList<>();
String[] split = attributeNames.split("/");
List<AttributeValue> attributeValues = new ArrayList<>();
for (ProductAttributeGroup attributeGroup : productAttributeGroups){
attributeValues.addAll(attributeGroup.getAttributeValues());
}
for (int i= 0;i<split.length;i++){
for (AttributeValue attributeValue : attributeValues){
if(attributeValue.getAttributeValue().equals(split[i])){
list.add(attributeValue.getCustomerCode());
break;
}
}
}
if (CollectionUtils.isNotEmpty(list)) {
thirdProductPropertyId = StringUtils.join(list, ",");
}
return thirdProductPropertyId;
}
}
......@@ -212,11 +212,11 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
private ActivityApplicationClient activityApplicationClient;
@Autowired
private MallOrderServiceImpl mallOrderService;
@Autowired
private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager;
@Autowired
private PaymentNewClient paymentNewClient;
@Autowired
private MallOrderServiceImpl mallOrderService;
......@@ -2173,21 +2173,6 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 历史判断围餐是从userLoginInfoDto判断iappid的。
* 商城订单从前端传channelType区分,
* 默认点餐
*/
private String getQueryOrderChannelType(QueryOrderVo queryOrderVo, AssortmentCustomerInfoVo userLoginInfoDto) {
String channelType = OrderChannelType.SAAS.getCode();
if(IappIdType.WC_XCX.getCode().equals(userLoginInfoDto.getIappId())) {
channelType = OrderChannelType.IWC.getCode();
} else if(OrderChannelType.SAASMALL.getCode().equals(queryOrderVo.getChannelType())) {
channelType = OrderChannelType.SAASMALL.getCode();
}
return channelType;
}
/**
* 下单支付
*/
private BaseResponse createOrderAndPay(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
......@@ -2395,4 +2380,19 @@ public class OrderServiceImpl implements Orderservice {
}
/**
* 历史判断围餐是从userLoginInfoDto判断iappid的。
* 商城订单从前端传channelType区分,
* 默认点餐
*/
private String getQueryOrderChannelType(QueryOrderVo queryOrderVo, AssortmentCustomerInfoVo userLoginInfoDto) {
String channelType = OrderChannelType.SAAS.getCode();
if(IappIdType.WC_XCX.getCode().equals(userLoginInfoDto.getIappId())) {
channelType = OrderChannelType.IWC.getCode();
} else if(OrderChannelType.SAASMALL.getCode().equals(queryOrderVo.getChannelType())) {
channelType = OrderChannelType.SAASMALL.getCode();
}
return channelType;
}
}
......@@ -35,7 +35,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>productcenter-sdk</artifactId>
<version>2.7.4.RELEASE</version>
<version>2.7.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -232,7 +232,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
//查询商品信息
List<String> pids = new ArrayList<>();
pids.add(cartGoods.getGoodsId());
Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId,"saasmall");
Map<String, GetProductsVo> products = itemService.getProducts(pids, partnerId, storeId,BusinessTypeEnum.SAAS_MALL.getName());
GetProductsVo getProductsVo = products.get(cartGoods.getGoodsId());
// 商品没有库存限制
......@@ -240,7 +240,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
return;
}
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas");
requestDto.setChannel(BusinessTypeEnum.SAAS_MALL.getCode());
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
requestDto.setProductIds(Collections.singletonList(Long.parseLong(cartGoods.getGoodsId())));
......@@ -591,7 +591,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
private void queryManyGoodsStocks(AddShoppingCartGoodsRequestVo addShoppingCartGoodsRequestVo, List<Long> productIds
, List<ProductBeanDTO> productBeanListSpuClass, String skuId) {
GetProductStockRequestDto requestDto = new GetProductStockRequestDto();
requestDto.setChannel("saas");
requestDto.setChannel(BusinessTypeEnum.SAAS_MALL.getCode());
requestDto.setPartnerId(addShoppingCartGoodsRequestVo.getPartnerId());
requestDto.setStoreId(addShoppingCartGoodsRequestVo.getShopId());
requestDto.setProductIds(productIds);
......
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