Commit d5c32ce8 by yu.sun

sunyu::update::update about query couponName by coupnCode save to redis

parent 3c091dcb
......@@ -297,6 +297,18 @@
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
</dependency>
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>order-management</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.freemud</groupId>
<artifactId>order-application-service</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......
......@@ -17,6 +17,11 @@ import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest;
import cn.freemud.management.entities.dto.request.order.MCCafeCouponVo;
import cn.freemud.management.entities.dto.response.coupon.McdNetBatchQueryResponse;
import cn.freemud.management.enums.CouponReqTypeEnum;
import cn.freemud.management.enums.MCCafeChannelEnum;
import cn.freemud.service.ActivityService;
import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService;
......@@ -28,9 +33,11 @@ import cn.freemud.service.impl.mcoffee.entity.MCoffeeAddGoodsRequestVo;
import cn.freemud.service.impl.mcoffee.entity.MCoffeeCardAddVo;
import cn.freemud.service.impl.mcoffee.entity.SwitchShoppingCartRequestVo;
import cn.freemud.service.impl.mcoffee.entity.*;
import cn.freemud.service.mccafe.CouponClientService;
import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.utils.BeanUtil;
import cn.freemud.service.thirdparty.ProductClient;
import cn.freemud.utils.LogUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -43,7 +50,6 @@ import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemR
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.QueryByCodeResponse;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CartResponseConstant;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
......@@ -56,7 +62,6 @@ import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
......@@ -108,6 +113,8 @@ public class ShoppingCartMCoffeeServiceImpl {
private OrderSdkService orderSdkService;
@Autowired
private StoreCenterService storeCenterService;
@Autowired
private CouponClientService couponClientService;
@Autowired
private ProductClient productClient;
......@@ -160,6 +167,7 @@ public class ShoppingCartMCoffeeServiceImpl {
spuId2 = vo.getSkuId();
goodsId = vo.getSkuId();
}
productIds.add(Long.parseLong(goodsId));
// 获取添加商品的详细信息
List<ProductBeanDTO> productBeanListSpuClass = assortmentSdkService.getProductsInfoSdk(partnerId, storeId, Collections.singletonList(spuId2), menuType, this.shoppingCartBaseService);
......@@ -179,6 +187,12 @@ public class ShoppingCartMCoffeeServiceImpl {
addCartGoods.setSpuName(addShoppingCartGoodsRequestVo.getGroupName());
addCartGoods.setName(addShoppingCartGoodsRequestVo.getGroupName());
}
//根据券号获取券名称
String couponName = "";
if (StringUtils.isNotEmpty(couponCode)){
couponName = getCouponNameByCode(couponCode,userId,sessionId);
addCartGoods.setCouponName(couponName);
}
// 如果购物车中有商品券,则当前添加的商品是特价商品时,需要提示“已选商品券,与其他优惠商品不同享,商品将恢复原价”
boolean haveCouponProduct = oldCartGoodsList.parallelStream().anyMatch(k -> k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX));
......@@ -1700,4 +1714,42 @@ public class ShoppingCartMCoffeeServiceImpl {
}
return requestVo;
}
private String getCouponNameByCode(String couponCode,String userId,String sessionId){
String couponName = "";
//加购的时候根据券号查询券名称,存入cartGood
if (StringUtils.isNotEmpty(couponCode)){
List<MCCafeCouponVo> mcCafeCouponVos = new ArrayList<>();
MCCafeCouponVo mcCafeCouponVo = new MCCafeCouponVo(couponCode);
mcCafeCouponVos.add(mcCafeCouponVo);
CustomerInfoVo userLoginInfoDto = null;
if (StringUtils.isEmpty(userId)) {
userLoginInfoDto = getCustomerInfoVo(sessionId);
}
MCCafeCouponRequest mcCafeCouponRequest = MCCafeCouponRequest.builder()
.ver(88)
.reqtype(88)
.partnerId(Integer.valueOf(userLoginInfoDto.getPartnerId()))
.store_id(userLoginInfoDto.getStoreId())
.station_id("1")
.operator_id(userId)
.channel(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel())? MCCafeChannelEnum.MOCOFFEE_ZFB.getName():MCCafeChannelEnum.MOCOFFEE_WX.getName())
.couponlist(mcCafeCouponVos)
.sign("skip")
.build();
McdNetBatchQueryResponse mcdNetBatchQueryResponse = couponClientService.batchQuery(mcCafeCouponRequest);
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(mcdNetBatchQueryResponse.getStatusCode())
&& CollectionUtils.isNotEmpty(mcdNetBatchQueryResponse.getCouponlist())) {
for (McdNetBatchQueryResponse.Coupon coupon : mcdNetBatchQueryResponse.getCouponlist()) {
if(!ResponseCodeConstant.RESPONSE_SUCCESS.equals(coupon.getStatusCode())) {
if(coupon.getCodeInfo() != null) {
couponName = coupon.getCodeInfo().getAct_name();
}
}
}
}
}
return couponName;
}
}
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