Commit 1c83c06a by 缪晖

拼单创建加购人信息初始化修改

parent f652f48c
package com.freemud.sdk.api.assortment.shoppingcart.domain;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-10-12 10:25
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class CollageMemberState {
private String userId;
private String nickName;
private String photoUrl;
private Boolean state;
}
......@@ -50,6 +50,16 @@ public class CollageOrderDto
private String currentUserId;
/**
* 拼单当前用户昵称
*/
private String nickName;
/**
* 拼单当前用户头像
*/
private String photoUrl;
/**
* 购物车行ids
*/
private List<String> cartLines;
......
package com.freemud.sdk.api.assortment.shoppingcart.service;
import cn.freemud.base.entity.BaseResponse;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
......@@ -60,6 +61,11 @@ public interface CollageOrderBaseService {
BaseResponse<Boolean> isLockedCollageOrder(CollageOrderDto collageOrderDto);
/**
* 获取加购人状态
*/
BaseResponse<List<CollageMemberState>> getCollageMemberState(CollageOrderDto collageOrderDto);
/**
* 判断门店下的拼单是否存在该会员
*/
BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto);
......
......@@ -6,6 +6,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapte
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageLockStatus;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderConstant;
import com.freemud.sdk.api.assortment.shoppingcart.constant.RedisKeyConstant;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
import com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService;
......@@ -98,7 +99,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
this.initCollageMember(collageMemberHashKey, collageOrderDto.getCurrentUserId());
// 设置拼单发起人加购状态
String collageMemberStateHashKey = this.genCollageMemberStateHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
this.initCollageMemberState(collageMemberStateHashKey, collageOrderDto.getCurrentUserId());
this.initCollageMemberState(collageMemberStateHashKey, collageOrderDto);
// 将拼单发起人加入门店拼单客户列表
String collageStoreMemberKey = this.genCollageMemerHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId());
this.putCollageStoreMember(collageStoreMemberKey, collageOrderDto.getCreateCollageUserId(), this.getCollageBashHashExpireSeconds(collageBaseHashKey));
......@@ -183,6 +184,17 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
}
@Override
public BaseResponse<List<CollageMemberState>> getCollageMemberState(CollageOrderDto collageOrderDto) {
try {
String collageMemberStateKey = this.genCollageMemberStateHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
return CartResponseUtil.success(this.getCollageMemberStateHash(collageMemberStateKey));
} catch (Exception e) {
ErrorLog.printErrorLog("获取拼单用户状态异常", "CollageOrderBaseServiceImpl/getCollageMemberState", this.collageOrderRequest(collageOrderDto), e);
return CartResponseUtil.success(Collections.EMPTY_LIST);
}
}
@Override
public BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto){
String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId());
Boolean states = (Boolean)redisTemplate.boundHashOps(key).get(collageOrderDto.getCurrentUserId());
......@@ -381,14 +393,28 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
/**
* 拼单创建加购人状态初始化
* @param collageMemberStateHashKey
* @param currentUserId
* @param collageOrderDto
*/
private void initCollageMemberState(String collageMemberStateHashKey, String currentUserId) {
redisTemplate.boundHashOps(collageMemberStateHashKey).put(currentUserId, false);
private void initCollageMemberState(String collageMemberStateHashKey, CollageOrderDto collageOrderDto) {
CollageMemberState collageMemberState = new CollageMemberState();
collageMemberState.setUserId(collageOrderDto.getCurrentUserId());
collageMemberState.setNickName(collageOrderDto.getNickName());
collageMemberState.setPhotoUrl(collageOrderDto.getPhotoUrl());
collageMemberState.setState(false);
redisTemplate.boundHashOps(collageMemberStateHashKey).put(collageOrderDto.getCurrentUserId(), collageMemberState);
redisTemplate.boundHashOps(collageMemberStateHashKey).expire(1, TimeUnit.HOURS);
}
/**
* 获取加购人状态信息
* @param collageMemberStateHashKey
* @return
*/
private List<CollageMemberState> getCollageMemberStateHash(String collageMemberStateHashKey) {
return redisTemplate.boundHashOps(collageMemberStateHashKey).values();
}
/**
* 构建拼单购物车缓存key
* @param partnerId
* @param storeId
......
......@@ -12,9 +12,12 @@
*/
package cn.freemud.entities.vo;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrder;
import lombok.Data;
import java.util.List;
@Data
public class CollageOrderResponseVo {
/**
......@@ -27,5 +30,8 @@ public class CollageOrderResponseVo {
*/
private Boolean locked;
// 拼单参与人信息
/**
* 拼单参与人信息
*/
private List<CollageMemberState> collageMemberStateList;
}
......@@ -69,7 +69,9 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderResponseVo.setOrder(collageOrder);
// 订单锁定状态
collageOrderResponseVo.setLocked(this.collageOrderBaseService.isLockedCollageOrder(collageOrderDto).getResult());
// TODO 订单参与人列表信息
// 订单参与人列表信息 参与人昵称头像等信息放入加购人状态锁redis对象中 userId : MemberState
collageOrderResponseVo.setCollageMemberStateList(this.collageOrderBaseService.getCollageMemberState(collageOrderDto).getResult());
return ResponseUtil.success(collageOrderResponseVo);
}
......@@ -83,8 +85,11 @@ public class CollageOrderServiceImpl implements CollageOrderService {
public BaseResponse createCollageOrder(CollageOrderRequestVo request) {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 根据sessionId查询对应登录用户信息
collageOrderDto.setCreateCollageUserId(this.getUserIdBySessionId(request.getSessionId()));
collageOrderDto.setCurrentUserId(collageOrderDto.getCreateCollageUserId());
CustomerInfoVo userInfo = this.getUserInfo(request.getSessionId());
collageOrderDto.setCreateCollageUserId(userInfo.getMemberId());
collageOrderDto.setCurrentUserId(userInfo.getMemberId());
collageOrderDto.setNickName(userInfo.getNickName());
collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl());
// 创建拼单订单基础缓存信息
BaseResponse<CollageOrder> createCollageOrderResponse = this.collageOrderBaseService.createCollageOrder(collageOrderDto);
......@@ -149,13 +154,22 @@ public class CollageOrderServiceImpl implements CollageOrderService {
}
/**
* 根据sessionId查询登录用户的userId
* @param sessionId
* @return
*/
private CustomerInfoVo getUserInfo(String sessionId) {
return this.shoppingCartCollageService.getCustomerInfoVo(sessionId);
}
/**
* 查询当前拼单订单基础信息是否存在
* @param collageOrderDto
* @return
*/
private Boolean isCollageOrderExist(CollageOrderDto collageOrderDto) {
// 查询当前拼单订单基础信息是否存在
return ObjectUtils.isEmpty(this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult()) ? false : true;
return !ObjectUtils.isEmpty(this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult());
}
/**
......
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