Commit fe353c5d by 刘鹏飞

针对用户选好了的状态修改

parent f0f26b45
...@@ -66,11 +66,6 @@ public interface CollageOrderBaseService { ...@@ -66,11 +66,6 @@ public interface CollageOrderBaseService {
BaseResponse<List<CollageMemberState>> getCollageMemberState(CollageOrderDto collageOrderDto); BaseResponse<List<CollageMemberState>> getCollageMemberState(CollageOrderDto collageOrderDto);
/** /**
* 判断门店下的拼单是否存在该会员
*/
BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto);
/**
* 设置用户的点餐位信息 * 设置用户的点餐位信息
* @param collageOrderDto * @param collageOrderDto
* @return * @return
......
...@@ -349,28 +349,6 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService { ...@@ -349,28 +349,6 @@ public class CollageCartBaseServiceImpl implements ShoppingCartBaseService {
} }
/** /**
* 获取拼单用户选好的状态
* @param partnerId
* @param storeId
* @param userId
* @return
*/
public Boolean getCollageMemStateHashKey(String partnerId, String storeId, String userId,String currentUserId) {
try {
String collageMemberHashKey = genCollageMemberStateHashKey(partnerId, storeId, userId);
return redisCache.hashGet(collageMemberHashKey,currentUserId);
} catch (Exception e) {
Map<String,String> request = new HashMap<>();
request.put("partnerId",partnerId);
request.put("storeId",storeId);
request.put("userId",userId);
request.put("currentUserId",currentUserId);
ErrorLog.printErrorLog("获取拼单用户选好的状态异常", "CollageCartBaseServiceImpl/getCollageMemStateHashKey", request, e);
return null;
}
}
/**
* 更新拼单人员缓存购物车行 * 更新拼单人员缓存购物车行
* @param cartGoodsUids * @param cartGoodsUids
* @param partnerId * @param partnerId
......
...@@ -195,16 +195,6 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -195,16 +195,6 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
@Override @Override
public BaseResponse judgeMemberAddStates(CollageOrderDto collageOrderDto){
String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId());
Boolean states = (Boolean)redisTemplate.boundHashOps(key).get(collageOrderDto.getCurrentUserId());
if(states){
return CartResponseUtil.error("用户已经参加其他的拼单");
}
return CartResponseUtil.success();
}
@Override
public BaseResponse setCollageMember(CollageOrderDto collageOrderDto){ public BaseResponse setCollageMember(CollageOrderDto collageOrderDto){
String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId()); String key = genCollageMemerHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId());
redisTemplate.boundHashOps(key).put(collageOrderDto.getCurrentUserId(),new ArrayList<>()); redisTemplate.boundHashOps(key).put(collageOrderDto.getCurrentUserId(),new ArrayList<>());
...@@ -405,7 +395,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -405,7 +395,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param collageMemberStateHashKey * @param collageMemberStateHashKey
* @param collageOrderDto * @param collageOrderDto
*/ */
private void initCollageMemberState(String collageMemberStateHashKey, CollageOrderDto collageOrderDto) { public void initCollageMemberState(String collageMemberStateHashKey, CollageOrderDto collageOrderDto) {
CollageMemberState collageMemberState = new CollageMemberState(); CollageMemberState collageMemberState = new CollageMemberState();
collageMemberState.setUserId(collageOrderDto.getCurrentUserId()); collageMemberState.setUserId(collageOrderDto.getCurrentUserId());
collageMemberState.setNickName(collageOrderDto.getNickName()); collageMemberState.setNickName(collageOrderDto.getNickName());
...@@ -475,7 +465,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -475,7 +465,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param userId * @param userId
* @return * @return
*/ */
private String genCollageMemberStateHashKey(String partnerId, String storeId, String userId) { public String genCollageMemberStateHashKey(String partnerId, String storeId, String userId) {
return MessageFormat.format(RedisKeyConstant.COLLAGE_MEMBER_STATE_KEY, partnerId, storeId, userId); return MessageFormat.format(RedisKeyConstant.COLLAGE_MEMBER_STATE_KEY, partnerId, storeId, userId);
} }
......
...@@ -205,16 +205,20 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -205,16 +205,20 @@ public class CollageOrderServiceImpl implements CollageOrderService {
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
// 判断当前登陆用户是否参加过当前店铺其他的拼团 // 判断当前登陆用户是否参加过当前店铺其他的拼团
// 因为一个用户在一个店铺下只能参加一个拼单,所以通过判断用户在店铺下的拼单状态来确认 // 因为一个用户在一个店铺下只能参加一个拼单,所以通过判断用户在店铺下的拼单结束时间确认
BaseResponse judgeMem = collageOrderBaseService.judgeMemberAddStates(collageOrderDto); Boolean flag = collageOrderBaseService.isInCollageStoreMemberList(collageOrderDto);
if(!ResponseResult.SUCCESS.getCode().equals(judgeMem.getCode())){ if(flag){
throw new ServiceException(ResponseResult.COLLAGE_MEMBER_ALREADY_ADD); throw new ServiceException(ResponseResult.COLLAGE_MEMBER_ALREADY_ADD);
} }
// 设置用户的点餐位 // 设置用户的点餐位
collageOrderBaseService.setCollageMember(collageOrderDto); collageOrderBaseService.setCollageMember(collageOrderDto);
// 设置用户在该店铺的拼单状态 // 设置参加拼团人员信息
String collageMemberStateHashKey = collageOrderBaseService.genCollageMemberStateHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
collageOrderBaseService.initCollageMemberState(collageMemberStateHashKey, collageOrderDto);
// 设置用户在该店铺的拼单结束时间
collageOrderBaseService.setCollageMemberAddStates(collageOrderDto,Boolean.TRUE); collageOrderBaseService.setCollageMemberAddStates(collageOrderDto,Boolean.TRUE);
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -276,7 +280,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -276,7 +280,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
// 删除用户选好了状态 // 删除用户选好了状态
collageOrderBaseService.cleanMemberStates(collageOrderDto); collageOrderBaseService.cleanMemberStates(collageOrderDto);
// 设置用户在该店铺的拼单状态 // 删除用户在该店铺的拼单结束时间
collageOrderBaseService.setCollageMemberAddStates(collageOrderDto,Boolean.FALSE); collageOrderBaseService.setCollageMemberAddStates(collageOrderDto,Boolean.FALSE);
return ResponseUtil.success(); return ResponseUtil.success();
......
...@@ -35,6 +35,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto; ...@@ -35,6 +35,7 @@ import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageOrderDto;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum; import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest; import com.freemud.sdk.api.assortment.shoppingcart.request.CheckCartRequest;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.CollageCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.CollageCartBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.CollageOrderBaseServiceImpl;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -97,6 +98,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -97,6 +98,10 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
@Autowired @Autowired
private ProductService productService; private ProductService productService;
@Autowired
private CollageOrderBaseServiceImpl collageOrderBaseService;
@Override @Override
...@@ -805,8 +810,14 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -805,8 +810,14 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
// 校验用户选好了状态 // 校验用户选好了状态
// 只有用户不是选好了状态的时候才能更改购物车 // 只有用户不是选好了状态的时候才能更改购物车
Boolean memberState = collageCartBaseService.getCollageMemStateHashKey(partnerId, storeId, crateUserId,currentUserId); CollageOrderDto collageOrderDto = CollageOrderDto.builder()
if(memberState != null && memberState){ .sessionId("")
.createCollageUserId(crateUserId)
.partnerId(partnerId)
.storeId(storeId)
.build();
Boolean flag = collageOrderBaseService.isInCollageStoreMemberList(collageOrderDto);
if(flag){
throw new ServiceException(ResponseResult.COLLAGE_ALREADY_CHOOSE); throw new ServiceException(ResponseResult.COLLAGE_ALREADY_CHOOSE);
} }
...@@ -995,6 +1006,19 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp ...@@ -995,6 +1006,19 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST); throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST);
} }
// 校验用户选好了状态
// 只有用户不是选好了状态的时候才能更改购物车
CollageOrderDto collageOrderDto = CollageOrderDto.builder()
.sessionId("")
.createCollageUserId(crateUserId)
.partnerId(partnerId)
.storeId(storeId)
.build();
Boolean flag = collageOrderBaseService.isInCollageStoreMemberList(collageOrderDto);
if(flag){
throw new ServiceException(ResponseResult.COLLAGE_ALREADY_CHOOSE);
}
// 购物车版本加锁 // 购物车版本加锁
dolock(partnerId, storeId, crateUserId,shoppingCartCollageClearRequestVo.getCarVer()); dolock(partnerId, storeId, crateUserId,shoppingCartCollageClearRequestVo.getCarVer());
List<CartGoods> cartGoodsList = new ArrayList<>(); List<CartGoods> cartGoodsList = new ArrayList<>();
......
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