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 ...@@ -50,6 +50,16 @@ public class CollageOrderDto
private String currentUserId; private String currentUserId;
/** /**
* 拼单当前用户昵称
*/
private String nickName;
/**
* 拼单当前用户头像
*/
private String photoUrl;
/**
* 购物车行ids * 购物车行ids
*/ */
private List<String> cartLines; private List<String> cartLines;
......
package com.freemud.sdk.api.assortment.shoppingcart.service; package com.freemud.sdk.api.assortment.shoppingcart.service;
import cn.freemud.base.entity.BaseResponse; 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.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto; import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
...@@ -60,6 +61,11 @@ public interface CollageOrderBaseService { ...@@ -60,6 +61,11 @@ public interface CollageOrderBaseService {
BaseResponse<Boolean> isLockedCollageOrder(CollageOrderDto collageOrderDto); BaseResponse<Boolean> isLockedCollageOrder(CollageOrderDto collageOrderDto);
/** /**
* 获取加购人状态
*/
BaseResponse<List<CollageMemberState>> getCollageMemberState(CollageOrderDto collageOrderDto);
/**
* 判断门店下的拼单是否存在该会员 * 判断门店下的拼单是否存在该会员
*/ */
BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto); BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto);
......
...@@ -6,6 +6,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapte ...@@ -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.CollageLockStatus;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderConstant; 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.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.CollageOrder;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto; import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
import com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService; import com.freemud.sdk.api.assortment.shoppingcart.service.CollageOrderBaseService;
...@@ -98,7 +99,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -98,7 +99,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
this.initCollageMember(collageMemberHashKey, collageOrderDto.getCurrentUserId()); this.initCollageMember(collageMemberHashKey, collageOrderDto.getCurrentUserId());
// 设置拼单发起人加购状态 // 设置拼单发起人加购状态
String collageMemberStateHashKey = this.genCollageMemberStateHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId()); 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()); String collageStoreMemberKey = this.genCollageMemerHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId());
this.putCollageStoreMember(collageStoreMemberKey, collageOrderDto.getCreateCollageUserId(), this.getCollageBashHashExpireSeconds(collageBaseHashKey)); this.putCollageStoreMember(collageStoreMemberKey, collageOrderDto.getCreateCollageUserId(), this.getCollageBashHashExpireSeconds(collageBaseHashKey));
...@@ -183,6 +184,17 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -183,6 +184,17 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
@Override @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){ public BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto){
String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId()); String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId());
Boolean states = (Boolean)redisTemplate.boundHashOps(key).get(collageOrderDto.getCurrentUserId()); Boolean states = (Boolean)redisTemplate.boundHashOps(key).get(collageOrderDto.getCurrentUserId());
...@@ -381,14 +393,28 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -381,14 +393,28 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
/** /**
* 拼单创建加购人状态初始化 * 拼单创建加购人状态初始化
* @param collageMemberStateHashKey * @param collageMemberStateHashKey
* @param currentUserId * @param collageOrderDto
*/ */
private void initCollageMemberState(String collageMemberStateHashKey, String currentUserId) { private void initCollageMemberState(String collageMemberStateHashKey, CollageOrderDto collageOrderDto) {
redisTemplate.boundHashOps(collageMemberStateHashKey).put(currentUserId, false); 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); redisTemplate.boundHashOps(collageMemberStateHashKey).expire(1, TimeUnit.HOURS);
} }
/** /**
* 获取加购人状态信息
* @param collageMemberStateHashKey
* @return
*/
private List<CollageMemberState> getCollageMemberStateHash(String collageMemberStateHashKey) {
return redisTemplate.boundHashOps(collageMemberStateHashKey).values();
}
/**
* 构建拼单购物车缓存key * 构建拼单购物车缓存key
* @param partnerId * @param partnerId
* @param storeId * @param storeId
......
...@@ -12,9 +12,12 @@ ...@@ -12,9 +12,12 @@
*/ */
package cn.freemud.entities.vo; package cn.freemud.entities.vo;
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.CollageOrder;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class CollageOrderResponseVo { public class CollageOrderResponseVo {
/** /**
...@@ -27,5 +30,8 @@ public class CollageOrderResponseVo { ...@@ -27,5 +30,8 @@ public class CollageOrderResponseVo {
*/ */
private Boolean locked; private Boolean locked;
// 拼单参与人信息 /**
* 拼单参与人信息
*/
private List<CollageMemberState> collageMemberStateList;
} }
...@@ -69,7 +69,9 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -69,7 +69,9 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderResponseVo.setOrder(collageOrder); collageOrderResponseVo.setOrder(collageOrder);
// 订单锁定状态 // 订单锁定状态
collageOrderResponseVo.setLocked(this.collageOrderBaseService.isLockedCollageOrder(collageOrderDto).getResult()); collageOrderResponseVo.setLocked(this.collageOrderBaseService.isLockedCollageOrder(collageOrderDto).getResult());
// TODO 订单参与人列表信息 // 订单参与人列表信息 参与人昵称头像等信息放入加购人状态锁redis对象中 userId : MemberState
collageOrderResponseVo.setCollageMemberStateList(this.collageOrderBaseService.getCollageMemberState(collageOrderDto).getResult());
return ResponseUtil.success(collageOrderResponseVo); return ResponseUtil.success(collageOrderResponseVo);
} }
...@@ -83,8 +85,11 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -83,8 +85,11 @@ public class CollageOrderServiceImpl implements CollageOrderService {
public BaseResponse createCollageOrder(CollageOrderRequestVo request) { public BaseResponse createCollageOrder(CollageOrderRequestVo request) {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request); CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 根据sessionId查询对应登录用户信息 // 根据sessionId查询对应登录用户信息
collageOrderDto.setCreateCollageUserId(this.getUserIdBySessionId(request.getSessionId())); CustomerInfoVo userInfo = this.getUserInfo(request.getSessionId());
collageOrderDto.setCurrentUserId(collageOrderDto.getCreateCollageUserId()); collageOrderDto.setCreateCollageUserId(userInfo.getMemberId());
collageOrderDto.setCurrentUserId(userInfo.getMemberId());
collageOrderDto.setNickName(userInfo.getNickName());
collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl());
// 创建拼单订单基础缓存信息 // 创建拼单订单基础缓存信息
BaseResponse<CollageOrder> createCollageOrderResponse = this.collageOrderBaseService.createCollageOrder(collageOrderDto); BaseResponse<CollageOrder> createCollageOrderResponse = this.collageOrderBaseService.createCollageOrder(collageOrderDto);
...@@ -149,13 +154,22 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -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 * @param collageOrderDto
* @return * @return
*/ */
private Boolean isCollageOrderExist(CollageOrderDto collageOrderDto) { 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