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 { ...@@ -2871,15 +2871,15 @@ public class OrderAdapter {
if (ActivityTypeEnum.TYPE_320.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_320.getCode().equals(activityType)) {
return OldOrderAccountType.MEMBER_PRICE_DISCOUNT; return OldOrderAccountType.MEMBER_PRICE_DISCOUNT;
} }
if (ActivityTypeEnum.TYPE_27.getCode().equals(activityType)) {
return OldOrderAccountType.MEMBER_PRICE_DISCOUNT;
}
if (ActivityTypeEnum.TYPE_23.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_23.getCode().equals(activityType)) {
return OldOrderAccountType.SUPER_PURCHASE; return OldOrderAccountType.SUPER_PURCHASE;
} }
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)) {
return OldOrderAccountType.GATHER_SPOT; return OldOrderAccountType.GATHER_SPOT;
} }
if (ActivityTypeEnum.TYPE_221.getCode().equals(activityType)) {
return OldOrderAccountType.GATHER_SPOT;
}
if (ActivityTypeEnum.TYPE_22.getCode().equals(activityType)) { if (ActivityTypeEnum.TYPE_22.getCode().equals(activityType)) {
return OldOrderAccountType.SINGLE_PRODUCT_REDUCTION; return OldOrderAccountType.SINGLE_PRODUCT_REDUCTION;
} }
......
...@@ -25,6 +25,7 @@ public enum ActivityTypeEnum { ...@@ -25,6 +25,7 @@ public enum ActivityTypeEnum {
TYPE_2(2, "单品特价"), TYPE_2(2, "单品特价"),
TYPE_21(21, "单品折扣"), TYPE_21(21, "单品折扣"),
TYPE_22(22, "单品立减"), TYPE_22(22, "单品立减"),
TYPE_27(27, "会员价优惠"),
/** /**
* 优惠券 * 优惠券
*/ */
......
...@@ -15,7 +15,8 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; ...@@ -15,7 +15,8 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.ActivityService; 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.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil; import com.freemud.sdk.api.assortment.shoppingcart.util.ShoppingSdkLogUtil;
...@@ -25,8 +26,11 @@ import org.springframework.stereotype.Service; ...@@ -25,8 +26,11 @@ import org.springframework.stereotype.Service;
@Service("KgdPromotionService") @Service("KgdPromotionService")
public class KgdPromotionServiceImpl implements PromotionService{ public class KgdPromotionServiceImpl implements PromotionService{
// @Autowired
// private CalculationClient calculationClient;
@Autowired @Autowired
private CalculationClient calculationClient; private ActivityClient activityClient;
@Autowired @Autowired
private ActivityService activityService; private ActivityService activityService;
...@@ -43,7 +47,7 @@ public class KgdPromotionServiceImpl implements PromotionService{ ...@@ -43,7 +47,7 @@ public class KgdPromotionServiceImpl implements PromotionService{
CalculationSharingDiscountRequestDto shareDiscountRequestDto = promotionBO2DTOAdapter.convert2CalculationSharingDiscountRequestDto(getCalculationDiscountBO); CalculationSharingDiscountRequestDto shareDiscountRequestDto = promotionBO2DTOAdapter.convert2CalculationSharingDiscountRequestDto(getCalculationDiscountBO);
CalculationSharingDiscountResponseDto calculationSharingDiscountResponseDto = null; CalculationSharingDiscountResponseDto calculationSharingDiscountResponseDto = null;
try { try {
calculationSharingDiscountResponseDto = calculationClient.calculationSharingDiscount(shareDiscountRequestDto); calculationSharingDiscountResponseDto = activityClient.calculationSharingDiscount(shareDiscountRequestDto);
} }
catch (Exception e) { catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONNoFeatures(calculationSharingDiscountResponseDto), e); ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONNoFeatures(calculationSharingDiscountResponseDto), e);
......
...@@ -28,6 +28,7 @@ public enum ActivityTypeEnum { ...@@ -28,6 +28,7 @@ public enum ActivityTypeEnum {
TYPE_21(21, "单品折扣"), TYPE_21(21, "单品折扣"),
TYPE_22(22, "单品立减"), TYPE_22(22, "单品立减"),
TYPE_23(23, "超值加购"), TYPE_23(23, "超值加购"),
TYPE_27(27, "促销会员价"),
/** /**
* 优惠券 * 优惠券
*/ */
......
...@@ -27,7 +27,8 @@ public enum ShoppingCartPromotionEnum { ...@@ -27,7 +27,8 @@ public enum ShoppingCartPromotionEnum {
MEMBER_DISCOUNT(11, "memberDiscountService"), MEMBER_DISCOUNT(11, "memberDiscountService"),
Material(12, "MaterialPromotionService"), Material(12, "MaterialPromotionService"),
// 集点活动类 // 集点活动类
GATHER_SPOT(13, "gatherSpotPromotionService"); GATHER_SPOT(13, "gatherSpotPromotionService"),
MEMBER_DISCOUNT_NEw(27, "memberDiscountService");
private Integer type; private Integer type;
private String msgType; private String msgType;
......
...@@ -76,4 +76,36 @@ public class MemberDiscountServiceImpl implements IPromotionService { ...@@ -76,4 +76,36 @@ public class MemberDiscountServiceImpl implements IPromotionService {
return result; 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 { ...@@ -1777,10 +1777,14 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
BuyAndGiftsPromotionService buyAndGiftsPromotionService = (BuyAndGiftsPromotionService) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.BUY_GIFTS); BuyAndGiftsPromotionService buyAndGiftsPromotionService = (BuyAndGiftsPromotionService) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.BUY_GIFTS);
buyAndGiftsPromotionService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo); buyAndGiftsPromotionService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo);
//会员价 //商品会员价
MemberDiscountServiceImpl memberDiscountService = (MemberDiscountServiceImpl) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.MEMBER_DISCOUNT); MemberDiscountServiceImpl memberDiscountService = (MemberDiscountServiceImpl) PromotionFactory.getPromotionService(ShoppingCartPromotionEnum.MEMBER_DISCOUNT);
memberDiscountService.updateShoppingCartGoodsDiscount(couponPromotionVO, activityQueryDto, calculationDiscountResult, cartGoodsList, shoppingCartGoodsResponseVo, userLoginInfoDto, shoppingCartInfoRequestVo); 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; ...@@ -21,7 +21,8 @@ import cn.freemud.service.CouponService;
import cn.freemud.service.active.ActiveFactory; import cn.freemud.service.active.ActiveFactory;
import cn.freemud.service.active.ActiveService; import cn.freemud.service.active.ActiveService;
import cn.freemud.service.impl.AssortmentSdkService; 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 cn.freemud.utils.PropertyConvertUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
...@@ -59,12 +60,18 @@ public class CalculationSharingDiscountService { ...@@ -59,12 +60,18 @@ public class CalculationSharingDiscountService {
private ShoppingCartBaseServiceImpl shoppingCartBaseService; private ShoppingCartBaseServiceImpl shoppingCartBaseService;
@Autowired @Autowired
private CommonService commonService; private CommonService commonService;
// @Autowired
// private CalculationClient calculationClient;
@Autowired @Autowired
private CalculationClient calculationClient; private ActivityClient activityClient;
@Autowired @Autowired
private ActiveFactory activeFactory; private ActiveFactory activeFactory;
public CalculationSharingDiscountService() {
}
// 新算价 // 新算价
public CalculationSharingDiscountResponseDto.CalculationDiscountResult getCalculationSharingDiscountResult(String menuType public CalculationSharingDiscountResponseDto.CalculationDiscountResult getCalculationSharingDiscountResult(String menuType
...@@ -194,7 +201,7 @@ public class CalculationSharingDiscountService { ...@@ -194,7 +201,7 @@ public class CalculationSharingDiscountService {
ActiveService activeService = activeFactory.getBuildChooseGoodsService(partnerId); ActiveService activeService = activeFactory.getBuildChooseGoodsService(partnerId);
activeService.buildChooseGoodsService(calculationSharingDiscountRequestDto,shoppingCartInfoRequestVo == null ? null : shoppingCartInfoRequestVo.getChooseGoods()); activeService.buildChooseGoodsService(calculationSharingDiscountRequestDto,shoppingCartInfoRequestVo == null ? null : shoppingCartInfoRequestVo.getChooseGoods());
try { try {
sharingDiscountResponseDto = calculationClient.calculationSharingDiscount(calculationSharingDiscountRequestDto); sharingDiscountResponseDto = activityClient.calculationSharingDiscount(calculationSharingDiscountRequestDto);
} }
catch (Exception e) { catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONString(calculationSharingDiscountRequestDto), e); ErrorLog.errorConvertJson(this.getClass(), JsonUtil.toJSONString(calculationSharingDiscountRequestDto), e);
......
...@@ -17,6 +17,8 @@ import cn.freemud.constant.ResponseCodeConstant; ...@@ -17,6 +17,8 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ResponseCodeKeyConstant; import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto; 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.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -64,4 +66,12 @@ public interface ActivityClient { ...@@ -64,4 +66,12 @@ public interface ActivityClient {
@PostMapping("/calculation/discount/sharing") @PostMapping("/calculation/discount/sharing")
@IgnoreFeignLogAnnotation(logMessage = "calculationDiscountSharing",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MSG) @IgnoreFeignLogAnnotation(logMessage = "calculationDiscountSharing",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MSG)
ActivityCalculationDiscountResponseDto calculationDiscountSharing(ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto); 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; //package cn.freemud.service.thirdparty;
//
import cn.freemud.annotations.IgnoreFeignLogAnnotation; //import cn.freemud.annotations.IgnoreFeignLogAnnotation;
import cn.freemud.constant.ResponseCodeConstant; //import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ResponseCodeKeyConstant; //import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto; //import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; //import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import org.springframework.cloud.openfeign.FeignClient; //import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
//
@FeignClient(name = "promotion-service", url = "${saas.activityclient.feign.url}") //@FeignClient(name = "promotion-service", url = "${saas.activityclient.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"}) //@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface CalculationClient { //public interface CalculationClient {
//
//
// TODO: 21-3-31 和 ActivityClient 待合并 // // TODO: 21-3-31 和 ActivityClient 待合并
/** // /**
* 促销新的算价对接 // * 促销新的算价对接
*/ // */
@PostMapping("/promotioncenter/calculateservice/discount/sharing") // @PostMapping("/promotioncenter/calculateservice/discount/sharing")
@IgnoreFeignLogAnnotation(logMessage = "calculationSharingDiscount",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MEG) // //@IgnoreFeignLogAnnotation(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MEG)
CalculationSharingDiscountResponseDto calculationSharingDiscount(CalculationSharingDiscountRequestDto shareDiscountRequestDto); // 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