Commit 8ddc1a88 by chongfu.liang

Merge branch 'feature/1.9.27-小助手更改调用逻辑' into develop

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	assortment-shoppingcart-sdk/pom.xml
#	assortment-shoppingcart-sdk/readme.md
#	order-application-service/pom.xml
#	order-management/pom.xml
#	ordercenter-sdk/pom.xml
#	ordercenter-sdk/readme.md
#	shopping-cart-application-service/pom.xml
parents ccffbc7f f8c4f701
......@@ -181,4 +181,7 @@ public class InterfaceAddressConstant {
* 新增结算信息
*/
public static final String CREATE_SETTLEMENT="order/v2/createSettlement";
//小助手营业额统计
public static final String QUERY_ORDER_STATISTICS = "order/v2/queryOrderStatistics";
}
package com.freemud.application.sdk.api.ordercenter.response.orderInfo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class OrderStatisticsResp {
private Long todayOrderCount;
private BigDecimal todayTotalAmount;
private BigDecimal yesterdayTotalAmount;
private Long yesterdayOrderCount;
private BigDecimal todayEachOrderPrice;
private BigDecimal yesterdayEachOrderPrice;
}
......@@ -13,6 +13,7 @@ import com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp;
import com.freemud.application.sdk.api.ordercenter.response.OrderItemStatisticsResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderStatisticsResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.util.RequestThirdPartyUtils;
import lombok.extern.slf4j.Slf4j;
......@@ -141,6 +142,18 @@ public class OrderDownLoadSdkService {
return baseDownLoadResponse;
}
/**
* 小助手营业额统计查询
*/
public BaseDownLoadResponse<OrderStatisticsResp> queryOrderStatistics(OrderConditionsReq request, String trackingNo) {
long begin = System.currentTimeMillis();
BaseDownLoadResponse<OrderStatisticsResp> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexDownLoad(restTemplate, InterfaceAddressConstant.QUERY_ORDER_STATISTICS,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<BaseDownLoadResponse<OrderStatisticsResp>>() {
});
ThirdPartyLog.infoConvertJson(begin, System.currentTimeMillis(), InterfaceAddressConstant.QUERY_ORDER_BY_CONDITIONS, request, responseMini(responseDTO));
return responseHandle(responseDTO);
}
private <T> BaseDownLoadResponse<T> responseHandle(BaseDownLoadResponse<T> responseDTO) {
BaseDownLoadResponse baseDownLoadResponse = new BaseDownLoadResponse();
if (responseDTO == null) {
......@@ -171,4 +184,7 @@ public class OrderDownLoadSdkService {
request.setTrackingNo(trackingNo);
return request;
}
}
......@@ -48,6 +48,8 @@ public class ShoppingCartConvertAdapter {
cartGoodsDetailDto.setSkuName(product.getSkuName());
cartGoodsDetailDto.setPicture(getProductsVo != null ? getProductsVo.getSpuPicture() : "");
cartGoodsDetailDto.setActivityType(ActivityTypeEnum.TYPE_81.getCode());
cartGoodsDetailDto.setClassificationId(getProductsVo.getCategory());
cartGoodsDetailDto.setClassificationName(getProductsVo.getCategoryName());
List<ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsExtra> cartGoodsExtraList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(product.getAttributes())) {
for (CreateOrderVo.PremiumExchangeActivity.Product.Attribute attribute : product.getAttributes()) {
......@@ -323,6 +325,8 @@ public class ShoppingCartConvertAdapter {
cartGoods.setCreateTimeMili(cartGood.getCreateTimeMili());
cartGoods.setSkuName(cartGood.getSkuName());
cartGoods.setSkuName(cartGood.getSkuName());
cartGood.setClassificationId(cartGood.getClassificationId());
cartGood.setClassificationName(cartGood.getClassificationName());
cartGoods.setActivityType(ActivityTypeEnum.TYPE_61.getCode());
return cartGoods;
}
......
......@@ -88,6 +88,8 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods.setUnit(product.getUnit());
cartGoods.setWeight(product.getWeight());
cartGoods.setQty(sendGoods.getSendNumber());
cartGoods.setClassificationId(product.getCategory());
cartGoods.setClassificationName(product.getCategoryName());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGoods.setNodeId(sendActivity.getActivityCode());
cartGoodsList.add(cartGoods);
......
......@@ -221,6 +221,8 @@ public class BuySendPromotionService implements IPromotionService {
}
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity.SendGoods sendGoods = sendGoodsMap.get(cartGood.getSpuId());
CartGoods cartGoods = shoppingCartConvertAdapter.convent2CartGoods(cartGood, sendGoods.getNowPrice());
cartGoods.setClassificationId(cartGood.getClassificationId());
cartGoods.setClassificationName(cartGood.getClassificationName());
cartGoods.setQty(sendGoods.getSendNumber() > 0 ? sendGoods.getSendNumber() : SEND_NUMBER);
newCartGoodsList.add(cartGoods);
......
......@@ -9,16 +9,19 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest;
import cn.freemud.entities.dto.user.GetUserScoreUserDetailResponse;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.service.IPromotionService;
import cn.freemud.service.thirdparty.CustomScoreClient;
import cn.freemud.utils.LogUtil;
import com.freemud.application.sdk.api.constant.FMStatusCode;
import com.freemud.application.sdk.api.log.ErrorLog;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
/**
......@@ -66,15 +69,28 @@ public class CustomerScoreService implements IPromotionService {
customerScoreVo.setReduceAmount(getValue(userScoreUseDetail.getResult().getReduceAmount()));
customerScoreVo.setReducePriceLimit(getValue(userScoreUseDetail.getResult().getReducePriceLimit()));
customerScoreVo.setOverlayOffers(userScoreUseDetail.getResult().getOverlayOffers());
customerScoreVo.setScoreReduceState(getValue(userScoreUseDetail.getResult().getScoreState()));
// 是否可优惠同享{0所有订单均可抵扣,1仅限原价订单才可抵扣(享受了促销活动、或使用了优惠券,不能进行积分抵扣
if (getValue(userScoreUseDetail.getResult().getOverlayOffers()) == 0) {
customerScoreVo.setScoreReduceState(getValue(userScoreUseDetail.getResult().getScoreState()));
} else {
if (StringUtils.isNotBlank(shoppingCartInfoRequestVo.getCouponCode()) || (calculationDiscountResult != null && calculationDiscountResult.getTotalDiscountAmount().intValue() > 0)) {
//积分抵扣开关禁用
customerScoreVo.setScoreReduceState(5);
userScoreUseDetail.getResult().setScoreState(5);
discountAmount = 0;
if (StringUtils.isNotBlank(shoppingCartInfoRequestVo.getCouponCode()) || (calculationDiscountResult != null && calculationDiscountResult.getTotalDiscountAmount().intValue() > 0)
|| (calculationDiscountResult != null && !CollectionUtils.isEmpty(calculationDiscountResult.getDiscounts()))) {
int type81 = 0;
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount discount : calculationDiscountResult.getDiscounts()) {
if (ActivityTypeEnum.TYPE_81.getCode().equals(discount.getType())) {
type81 = 1;
break;
}
}
//积分抵扣开关禁用 过滤换购
if (type81 == 0 || (type81 == 1 && !CollectionUtils.isEmpty(shoppingCartInfoRequestVo.getSendGoods()))
|| (type81 == 1 && calculationDiscountResult.getDiscounts().size() > 1)) {
customerScoreVo.setScoreReduceState(5);
userScoreUseDetail.getResult().setScoreState(5);
discountAmount = 0;
customerScoreVo.setReduceAmount(0);
}
}
}
......
......@@ -1561,9 +1561,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (CollectionUtils.isEmpty(allCartGoodsList)) {
qty = cartGoods.getQty();
} else {
qty = cartGoods.getQty();
for (CartGoods goods : allCartGoodsList) {
if (goods.getSkuId().equals(cartGoods.getSkuId()) && goods.getSpuId().equals(cartGoods.getSpuId())) {
qty = qty + cartGoods.getQty();
qty += goods.getQty();
}
}
}
......
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