Commit 18df9159 by ping.wu

Merge branches 'feature/20210719_会员价改造查促销_wuping' and 'master' of…

Merge branches 'feature/20210719_会员价改造查促销_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group

# Conflicts:
#	order-application-service/src/main/java/cn/freemud/service/thirdparty/StoreClient.java
#	shopping-cart-application-service/src/main/java/cn/freemud/demo/manager/promotion/KgdPromotionServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/thirdparty/CalculationClient.java
parents b0136e47 cba22188
......@@ -2871,15 +2871,15 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_320.getCode().equals(activityType)) {
return OldOrderAccountType.MEMBER_PRICE_DISCOUNT;
}
if (ActivityTypeEnum.TYPE_27.getCode().equals(activityType)) {
return OldOrderAccountType.MEMBER_PRICE_DISCOUNT;
}
if (ActivityTypeEnum.TYPE_23.getCode().equals(activityType)) {
return OldOrderAccountType.SUPER_PURCHASE;
}
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)) {
return OldOrderAccountType.GATHER_SPOT;
}
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)) {
return OldOrderAccountType.GATHER_SPOT;
}
if (ActivityTypeEnum.TYPE_22.getCode().equals(activityType)) {
return OldOrderAccountType.SINGLE_PRODUCT_REDUCTION;
}
......
......@@ -25,6 +25,7 @@ public enum ActivityTypeEnum {
TYPE_2(2, "单品特价"),
TYPE_21(21, "单品折扣"),
TYPE_22(22, "单品立减"),
TYPE_27(27, "会员价优惠"),
/**
* 优惠券
*/
......
......@@ -15,7 +15,8 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.ActivityService;
import cn.freemud.service.thirdparty.CalculationClient;
import cn.freemud.service.thirdparty.ActivityClient;
//import cn.freemud.service.thirdparty.CalculationClient;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil;
......@@ -25,8 +26,11 @@ import org.springframework.stereotype.Service;
@Service("KgdPromotionService")
public class KgdPromotionServiceImpl implements PromotionService{
// @Autowired
// private CalculationClient calculationClient;
@Autowired
private CalculationClient calculationClient;
private ActivityClient activityClient;
@Autowired
private ActivityService activityService;
......@@ -43,7 +47,7 @@ public class KgdPromotionServiceImpl implements PromotionService{
CalculationSharingDiscountRequestDto shareDiscountRequestDto = promotionBO2DTOAdapter.convert2CalculationSharingDiscountRequestDto(getCalculationDiscountBO);
CalculationSharingDiscountResponseDto calculationSharingDiscountResponseDto = null;
try {
calculationSharingDiscountResponseDto = calculationClient.calculationSharingDiscount(shareDiscountRequestDto);
calculationSharingDiscountResponseDto = activityClient.calculationSharingDiscount(shareDiscountRequestDto);
}
catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONNoFeatures(calculationSharingDiscountResponseDto), e);
......
......@@ -28,6 +28,7 @@ public enum ActivityTypeEnum {
TYPE_21(21, "单品折扣"),
TYPE_22(22, "单品立减"),
TYPE_23(23, "超值加购"),
TYPE_27(27, "促销会员价"),
/**
* 优惠券
*/
......
......@@ -27,7 +27,8 @@ public enum ShoppingCartPromotionEnum {
MEMBER_DISCOUNT(11, "memberDiscountService"),
Material(12, "MaterialPromotionService"),
// 集点活动类
GATHER_SPOT(13, "gatherSpotPromotionService");
GATHER_SPOT(13, "gatherSpotPromotionService"),
MEMBER_DISCOUNT_NEw(27, "memberDiscountService");
private Integer type;
private String msgType;
......
......@@ -76,4 +76,36 @@ public class MemberDiscountServiceImpl implements IPromotionService {
return result;
}
public void updateShoppingCartGoodsDiscountNew(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
//获取每个商品的会员价优惠单价
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getApportionGoods())) {
return ;
}
Map<String,Long> result=new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (!CollectionUtils.isEmpty(apportionGood.getApportionDetails())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : apportionGood.getApportionDetails()) {
if (apportionDetail.getActivityType().equals(ActivityTypeEnum.TYPE_27.getCode())) {
result.putIfAbsent(apportionGood.getGoodsId(),apportionDetail.getActivityApportionAmount());
}
}
}
}
if (result.size()==0){
return;
}
for (CartGoods cartGoods : cartGoodsList) {
//优惠单价
Long discountPrice = result.get(cartGoods.getGoodsId());
//老促销计算价格接口套餐价购物车内部计算价格,已在套餐实现类计算好价格,这里无需再扣减
if (discountPrice!=null && discountPrice>0 && CollectionUtils.isEmpty(cartGoods.getProductComboList())
&& CollectionUtils.isEmpty(cartGoods.getProductGroupList())){
cartGoods.setAmount(cartGoods.getAmount()-discountPrice*cartGoods.getQty());
}
}
}
}
......@@ -1777,10 +1777,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
BuyAndGiftsPromotionService buyAndGiftsPromotionService = (BuyAndGiftsPromotionService) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.BUY_GIFTS);
buyAndGiftsPromotionService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
//会员价
//商品会员价
MemberDiscountServiceImpl memberDiscountService = (MemberDiscountServiceImpl) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.MEMBER_DISCOUNT);
memberDiscountService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
//促销会员价
MemberDiscountServiceImpl memberDiscountServiceNew=(MemberDiscountServiceImpl) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.MEMBER_DISCOUNT_NEw);
memberDiscountServiceNew.updateShoppingCartGoodsDiscountNew(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
/**
* 满额减配送费 优选活动 再配送券
*/
......
......@@ -21,7 +21,8 @@ import cn.freemud.service.CouponService;
import cn.freemud.service.active.ActiveFactory;
import cn.freemud.service.active.ActiveService;
import cn.freemud.service.impl.AssortmentSdkService;
import cn.freemud.service.thirdparty.CalculationClient;
import cn.freemud.service.thirdparty.ActivityClient;
//import cn.freemud.service.thirdparty.CalculationClient;
import cn.freemud.utils.PropertyConvertUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog;
......@@ -59,12 +60,18 @@ public class CalculationSharingDiscountService {
private ShoppingCartBaseServiceImpl shoppingCartBaseService;
@Autowired
private CommonService commonService;
// @Autowired
// private CalculationClient calculationClient;
@Autowired
private CalculationClient calculationClient;
private ActivityClient activityClient;
@Autowired
private ActiveFactory activeFactory;
public CalculationSharingDiscountService() {
}
// 新算价
public CalculationSharingDiscountResponseDto.CalculationDiscountResult getCalculationSharingDiscountResult(String menuType
......@@ -194,7 +201,7 @@ public class CalculationSharingDiscountService {
ActiveService activeService = activeFactory.getBuildChooseGoodsService(partnerId);
activeService.buildChooseGoodsService(calculationSharingDiscountRequestDto,shoppingCartInfoRequestVo == null ? null : shoppingCartInfoRequestVo.getChooseGoods());
try {
sharingDiscountResponseDto = calculationClient.calculationSharingDiscount(calculationSharingDiscountRequestDto);
sharingDiscountResponseDto = activityClient.calculationSharingDiscount(calculationSharingDiscountRequestDto);
}
catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONString(calculationSharingDiscountRequestDto), e);
......
......@@ -17,6 +17,8 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -64,4 +66,12 @@ public interface ActivityClient {
@PostMapping("/calculation/discount/sharing")
@IgnoreFeignLogAnnotation(logMessage = "calculationDiscountSharing",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MSG)
ActivityCalculationDiscountResponseDto calculationDiscountSharing(ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto);
/**
* 促销新的算价对接
*/
@PostMapping("/promotioncenter/calculateservice/discount/sharing")
//@IgnoreFeignLogAnnotation(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MEG)
CalculationSharingDiscountResponseDto calculationSharingDiscount(CalculationSharingDiscountRequestDto shareDiscountRequestDto);
}
package cn.freemud.service.thirdparty;
import cn.freemud.annotations.IgnoreFeignLogAnnotation;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(name = "promotion-service", url = "${saas.activityclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface CalculationClient {
// TODO: 21-3-31 和 ActivityClient 待合并
/**
* 促销新的算价对接
*/
@PostMapping("/promotioncenter/calculateservice/discount/sharing")
@IgnoreFeignLogAnnotation(logMessage = "calculationSharingDiscount",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MEG)
CalculationSharingDiscountResponseDto calculationSharingDiscount(CalculationSharingDiscountRequestDto shareDiscountRequestDto);
}
//package cn.freemud.service.thirdparty;
//
//import cn.freemud.annotations.IgnoreFeignLogAnnotation;
//import cn.freemud.constant.ResponseCodeConstant;
//import cn.freemud.constant.ResponseCodeKeyConstant;
//import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
//import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
//import org.springframework.cloud.openfeign.FeignClient;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//
//@FeignClient(name = "promotion-service", url = "${saas.activityclient.feign.url}")
//@RequestMapping(produces = {"application/json;charset=UTF-8"})
//public interface CalculationClient {
//
//
// // TODO: 21-3-31 和 ActivityClient 待合并
// /**
// * 促销新的算价对接
// */
// @PostMapping("/promotioncenter/calculateservice/discount/sharing")
// //@IgnoreFeignLogAnnotation(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MEG)
// CalculationSharingDiscountResponseDto calculationSharingDiscount(CalculationSharingDiscountRequestDto shareDiscountRequestDto);
//}
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