Commit 72bd31d0 by 缪晖

Merge branch 'feature/20201208_collageOrder_miaohui' into 'qa'

Feature/20201208 collage order miaohui

See merge request !81
parents b2762699 22559790
...@@ -11,6 +11,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CollagePartnerMember; ...@@ -11,6 +11,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CollagePartnerMember;
import com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService;
import com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil; import com.freemud.sdk.api.assortment.shoppingcart.util.CartResponseUtil;
import com.freemud.sdk.api.assortment.shoppingcart.util.DateTimeUtils; import com.freemud.sdk.api.assortment.shoppingcart.util.DateTimeUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
...@@ -58,15 +59,18 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -58,15 +59,18 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/ */
@Override @Override
public BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto) { public BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto) {
CollageOrder collageOrder = null;
try { try {
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key // 仅支持两种查询场景
String collageBaseHashKey = this.genCollageBaseHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId()); // 1、createCollageUserId存在,则只根据当前三要素查询,若无直接返回不存在
if (StringUtils.isNotBlank(collageOrderDto.getCreateCollageUserId())) {
// 查询Redis缓存中拼单订单基础信息 // 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
CollageOrder collageOrder = this.getCollageBaseHash(collageBaseHashKey); String collageBaseHashKey = this.genCollageBaseHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
// 查询Redis缓存中拼单订单基础信息
// 若按发起人维度查询不到,则按参与人维度查询 collageOrder = this.getCollageBaseHash(collageBaseHashKey);
if (ObjectUtils.isEmpty(collageOrder)) { }
// 2、createCollageUserId不存在,则只从当前商户拼单参与人信息列表中查询并返回,若商户级别拼单不存在,则提示拼单不存在
else {
String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId()); String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId());
CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCurrentUserId()); CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCurrentUserId());
...@@ -79,16 +83,13 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -79,16 +83,13 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST); return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
} else { } else {
// 从商户拼单参与人列表中获取信息再次查询拼单信息 // 从商户拼单参与人列表中获取信息再次查询拼单信息
collageBaseHashKey = this.genCollageBaseHashKey(collagePartnerMember.getPartnerId(), collagePartnerMember.getStoreId(), collagePartnerMember.getCreateCollageUserId()); String collageBaseHashKey = this.genCollageBaseHashKey(collagePartnerMember.getPartnerId(), collagePartnerMember.getStoreId(), collagePartnerMember.getCreateCollageUserId());
collageOrder = this.getCollageBaseHash(collageBaseHashKey); collageOrder = this.getCollageBaseHash(collageBaseHashKey);
// 若拼单订单信息依然不存在,则返回错误提示【拼单订单信息不存在】,由前端根据场景处理(静默、提示拼单已取消)
if (ObjectUtils.isEmpty(collageOrder)) {
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
} }
} }
if (ObjectUtils.isEmpty(collageOrder)) {
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
// 若拼单订单信息存在,则构造订单拼单对象并返回成功提示 // 若拼单订单信息存在,则构造订单拼单对象并返回成功提示
return CartResponseUtil.success(collageOrder); return CartResponseUtil.success(collageOrder);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -384,9 +384,13 @@ public class ShoppingCartConvertAdapter { ...@@ -384,9 +384,13 @@ public class ShoppingCartConvertAdapter {
cartGoods.setCreateTimeMili(cartGood.getCreateTimeMili()); cartGoods.setCreateTimeMili(cartGood.getCreateTimeMili());
cartGoods.setSkuName(cartGood.getSkuName()); cartGoods.setSkuName(cartGood.getSkuName());
cartGoods.setSkuName(cartGood.getSkuName()); cartGoods.setSkuName(cartGood.getSkuName());
cartGood.setClassificationId(cartGood.getClassificationId()); cartGoods.setClassificationId(cartGood.getClassificationId());
cartGood.setClassificationName(cartGood.getClassificationName()); cartGoods.setClassificationName(cartGood.getClassificationName());
cartGoods.setActivityType(ActivityTypeEnum.TYPE_61.getCode()); cartGoods.setActivityType(ActivityTypeEnum.TYPE_61.getCode());
cartGoods.setUserId(cartGood.getUserId());
cartGoods.setUserName(cartGood.getUserName());
cartGoods.setOpenId(cartGood.getOpenId());
cartGoods.setPhotoUrl(cartGood.getPhotoUrl());
return cartGoods; return cartGoods;
} }
......
...@@ -24,9 +24,6 @@ public class CollageOrderRequestVo { ...@@ -24,9 +24,6 @@ public class CollageOrderRequestVo {
@NotEmpty(message = "sessionId不能为空") @NotEmpty(message = "sessionId不能为空")
private String sessionId; private String sessionId;
@ApiModelProperty(value = "当前操作人用户ID")
private String currentUserId;
@ApiModelProperty(value = "拼单创建人用户ID") @ApiModelProperty(value = "拼单创建人用户ID")
private String createCollageUserId; private String createCollageUserId;
......
...@@ -58,18 +58,19 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -58,18 +58,19 @@ public class CollageOrderServiceImpl implements CollageOrderService {
@Override @Override
public BaseResponse queryCollageOrder(CollageOrderRequestVo request) { public BaseResponse queryCollageOrder(CollageOrderRequestVo request) {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request); CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息 CustomerInfoVo userInfo = this.getUserInfo(request.getSessionId());
String currentUserId = StringUtils.isNotBlank(request.getCurrentUserId()) ? request.getCurrentUserId() : this.getUserIdBySessionId(request.getSessionId()); String currentUserId = userInfo.getMemberId();
// 当前登录人userId
collageOrderDto.setCurrentUserId(currentUserId); collageOrderDto.setCurrentUserId(currentUserId);
// 若拼单发起人ID为空,则默认按当前用户查询 // 若拼单发起人ID为空,则默认按当前用户查询
if (StringUtils.isEmpty(request.getCreateCollageUserId())) {
collageOrderDto.setCreateCollageUserId(currentUserId);
}
BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto); BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto);
CollageOrder collageOrder = queryCollageOrderResponse.getResult(); CollageOrder collageOrder = queryCollageOrderResponse.getResult();
// SDK查询订单返回非成功code或返回结果订单信息为空时,返回前端异常信息 if (null == collageOrder) {
Optional.ofNullable(queryCollageOrderResponse).filter(resp -> (ResponseResult.SUCCESS.getCode().equals(resp.getCode()) && !ObjectUtils.isEmpty(collageOrder))).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); return ResponseUtil.error(ResponseResult.COLLAGE_NOT_EXIST);
}
// 现在改为同时可查询自己发起以及参与的拼单所以查询到拼单信息后,后续查询需要使用拼单hash的三要素信息继续查询 // 现在改为同时可查询自己发起以及参与的拼单所以查询到拼单信息后,后续查询需要使用拼单hash的三要素信息继续查询
collageOrderDto.setPartnerId(collageOrder.getPartnerId()); collageOrderDto.setPartnerId(collageOrder.getPartnerId());
......
...@@ -720,6 +720,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -720,6 +720,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
*/ */
private void updatePackPrice(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ShoppingCartGoodsDto shoppingCartGoodsDto) { private void updatePackPrice(ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ShoppingCartGoodsDto shoppingCartGoodsDto) {
if (shoppingCartGoodsResponseVo != null && shoppingCartGoodsResponseVo.getProducts() != null && shoppingCartGoodsDto != null && shoppingCartGoodsDto.getProducts() != null) { if (shoppingCartGoodsResponseVo != null && shoppingCartGoodsResponseVo.getProducts() != null && shoppingCartGoodsDto != null && shoppingCartGoodsDto.getProducts() != null) {
if (shoppingCartGoodsResponseVo.getNewPackAmount() == null || shoppingCartGoodsResponseVo.getNewPackAmount() == 0) {
// 当整单包装费为0时,不计算购物车行包装费
return;
}
shoppingCartGoodsResponseVo.getProducts().stream().forEach(product -> { shoppingCartGoodsResponseVo.getProducts().stream().forEach(product -> {
shoppingCartGoodsDto.getProducts().stream().forEach(goods -> { shoppingCartGoodsDto.getProducts().stream().forEach(goods -> {
if (goods.getCartGoodsUid().equals(product.getCartGoodsUid())) { if (goods.getCartGoodsUid().equals(product.getCartGoodsUid())) {
......
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