Commit 3273bf01 by 刘鹏飞

拼单购物车增加购物车版本查询

parent 25b83ccd
...@@ -97,4 +97,13 @@ public class ShoppingCartCollageController { ...@@ -97,4 +97,13 @@ public class ShoppingCartCollageController {
return SDKCommonBaseContextWare.getBean(ShoppingCartCollageServiceImpl.class).getShoppingCartGoods(shoppingCartInfoRequestVo, getShoppingCartGoodsApportionRequestVo.getPremiumExchangeActivity()); return SDKCommonBaseContextWare.getBean(ShoppingCartCollageServiceImpl.class).getShoppingCartGoods(shoppingCartInfoRequestVo, getShoppingCartGoodsApportionRequestVo.getPremiumExchangeActivity());
} }
/**
* 查询购物车版本号
*/
@ApiAnnotation(logMessage = "queryCarVer")
@PostMapping(value = "/queryCarVer")
public BaseResponse queryCarVer(@Validated @LogParams @RequestBody CollageShoppingCartVerRequestVo request) {
return SDKCommonBaseContextWare.getBean(ShoppingCartCollageServiceImpl.class).queryCarVer(request);
}
} }
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: ShoppingCartInfoRequestVo
* @Package cn.freemud.entities.vo
* @Description:
* @author: ping.wu
* @date: 2018/5/21 21:03
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package cn.freemud.entities.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class CollageShoppingCartVerRequestVo extends BaseRequestVo {
@NotEmpty(message = "sessionId不能为空")
private String sessionId;
/**
* 拼单发起人userId(拼单)
*/
@NotEmpty(message = "拼单发起人不能为空")
private String createCollageUserId;
/**
* 门店
*/
@NotEmpty(message = "门店不能为空")
private String storeId;
}
package cn.freemud.service; package cn.freemud.service;
import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ShoppingCartConstant; import cn.freemud.entities.vo.CollageShoppingCartVerRequestVo;
import cn.freemud.entities.dto.*; import cn.freemud.entities.vo.ShoppingCartCollageClearRequestVo;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
...@@ -42,4 +25,11 @@ public interface ShoppingCartCollageService { ...@@ -42,4 +25,11 @@ public interface ShoppingCartCollageService {
*/ */
BaseResponse clearPartCarGoods(ShoppingCartCollageClearRequestVo shoppingCartCollageClearRequestVo); BaseResponse clearPartCarGoods(ShoppingCartCollageClearRequestVo shoppingCartCollageClearRequestVo);
/**
* 查询购物车版本号
* @param request
* @return
*/
BaseResponse queryCarVer(CollageShoppingCartVerRequestVo request);
} }
...@@ -454,7 +454,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -454,7 +454,9 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 在原价、现价、折扣价上增加第一次使用会员卡的费用 // 在原价、现价、折扣价上增加第一次使用会员卡的费用
this.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo); this.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
// 设置购物车版本号 // 设置购物车版本号
shoppingCartGoodsResponseVo.setCarVer(collageCartBaseService.incrementCartVersion(partnerId, storeId, crateUserId)); String collageCartVerKey = collageCartBaseService.genCollageCarVerKey(partnerId, storeId, crateUserId);
Integer cartVersion = collageCartBaseService.getCartVersion(collageCartVerKey);
shoppingCartGoodsResponseVo.setCarVer(cartVersion);
// 根据人员分类购物车 // 根据人员分类购物车
ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId); ShoppingCartCollageResponseVo shoppingCartCollageResponseVo = splitByUser(shoppingCartGoodsResponseVo,crateUserId,partnerId,storeId);
...@@ -1077,4 +1079,44 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -1077,4 +1079,44 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
return ResponseUtil.success(shoppingCartCollageResponseVo); return ResponseUtil.success(shoppingCartCollageResponseVo);
} }
@Override
public BaseResponse queryCarVer(CollageShoppingCartVerRequestVo request) {
if (StringUtils.isEmpty(request.getShopId())){
throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
}
// 获取用户信息
CustomerInfoVo currentUserInfoVo = getCustomerInfoVo(request.getSessionId());
// 当前用户必须登陆
if (null == currentUserInfoVo || StringUtils.isEmpty(currentUserInfoVo.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
String partnerId = request.getPartnerId();
String storeId = request.getShopId();
// 获取拼单发起人id
String crateUserId = request.getCreateCollageUserId();
// 拼单发起人id不能为空
// 拼单购物相关的redis的key都需要拼单发起人id,所以这个值是不能为空的
if (StringUtils.isEmpty(crateUserId)){
throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST);
}
// 获取不到拼单的基础信息,抛出异常
// 拼单的有效时间为1小时,当获取不到拼单的基础信息时,认为这个拼单没有发起、已经失效、已经结束
Map<String, String> collageBase = collageCartBaseService.getCollageBase(partnerId,storeId,crateUserId);
if(collageBase == null || collageBase.isEmpty()){
throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST);
}
// 构建拼单购物车版本号缓存key
String collageCartVerKey = collageCartBaseService.genCollageCarVerKey(partnerId, storeId, crateUserId);
Integer cartVersion = collageCartBaseService.getCartVersion(collageCartVerKey);
return ResponseUtil.success(cartVersion);
}
} }
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