Commit 1c51a7bb by 缪晖

拼单查询接口调整

parent 6421e937
...@@ -26,6 +26,13 @@ public interface CollageOrderBaseService { ...@@ -26,6 +26,13 @@ public interface CollageOrderBaseService {
BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto); BaseResponse<CollageOrder> queryCollageOrder(CollageOrderDto collageOrderDto);
/** /**
* 仅查询CreateCollageUserId创建的拼单
* @param collageOrderDto
* @return
*/
BaseResponse<CollageOrder> queryCollageOrderByCreateCollageUserId(CollageOrderDto collageOrderDto);
/**
* 创建拼单订单 * 创建拼单订单
* @param collageOrderDto * @param collageOrderDto
* @return * @return
......
...@@ -64,10 +64,14 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -64,10 +64,14 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
// 若按发起人维度查询不到,则按参与人维度查询 // 若按发起人维度查询不到,则按参与人维度查询
if (ObjectUtils.isEmpty(collageOrder)) { if (ObjectUtils.isEmpty(collageOrder)) {
String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId()); String collagePartnerMemberHashKey = this.genCollagePartnerMemberHashKey(collageOrderDto.getPartnerId());
CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCreateCollageUserId()); CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberHashKey, collageOrderDto.getCurrentUserId());
// 若商户拼单参与人列表信息不存在或已过期 // 若商户拼单参与人列表信息不存在或已过期
if (collagePartnerMember == null || collagePartnerMember.getExpire() < System.currentTimeMillis()) { if (null == collagePartnerMember || collagePartnerMember.getExpire() < System.currentTimeMillis()) {
if (null != collagePartnerMember) {
// 门店下拼单参与人列表数据过期清理
this.deleteCollagePartnerMember(collagePartnerMemberHashKey, new String[]{collageOrderDto.getCurrentUserId()});
}
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST); return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
} else { } else {
// 从商户拼单参与人列表中获取信息再次查询拼单信息 // 从商户拼单参与人列表中获取信息再次查询拼单信息
...@@ -90,6 +94,32 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -90,6 +94,32 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
/** /**
* 仅查询CreateCollageUserId创建的拼单
* @param collageOrderDto
* @return
*/
@Override
public BaseResponse<CollageOrder> queryCollageOrderByCreateCollageUserId(CollageOrderDto collageOrderDto) {
try {
// 通过商户ID、门店ID、用户ID组装拼单订单Redis缓存基本信息Key
String collageBaseHashKey = this.genCollageBaseHashKey(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId());
// 查询Redis缓存中拼单订单基础信息
CollageOrder collageOrder = this.getCollageBaseHash(collageBaseHashKey);
if (ObjectUtils.isEmpty(collageOrder)) {
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
// 若拼单订单信息存在,则构造订单拼单对象并返回成功提示
return CartResponseUtil.success(collageOrder);
} catch (Exception e) {
ErrorLog.printErrorLog("获取拼单订单基础信息异常", "CollageOrderBaseServiceImpl/queryCollageOrderByCreateCollageUserId", this.collageOrderRequest(collageOrderDto), e);
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_NOT_EXIST);
}
}
/**
* 创建拼单订单 * 创建拼单订单
* @param collageOrderDto * @param collageOrderDto
* @return * @return
...@@ -276,10 +306,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -276,10 +306,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
public BaseResponse judgeMemberAddOneCollage(CollageOrderDto collageOrderDto){ public BaseResponse judgeMemberAddOneCollage(CollageOrderDto collageOrderDto){
String key = genCollageMemberHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId(),collageOrderDto.getCreateCollageUserId()); String key = genCollageMemberHashKey(collageOrderDto.getPartnerId(),collageOrderDto.getStoreId(),collageOrderDto.getCreateCollageUserId());
Boolean judge = redisTemplate.boundHashOps(key).hasKey(collageOrderDto.getCurrentUserId()); Boolean judge = redisTemplate.boundHashOps(key).hasKey(collageOrderDto.getCurrentUserId());
if(judge){ return judge ? CartResponseUtil.success() : CartResponseUtil.error("当前用户未参与拼单");
CartResponseUtil.success();
}
return CartResponseUtil.error("");
} }
@Override @Override
......
package cn.freemud.service;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-11-28 15:12
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@EnableDiscoveryClient
@EnableFeignClients
@EnableAutoConfiguration
@Slf4j
public class GroupBuyTest {
@Autowired
private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Test
public void accessToken() {
String partnerId = "1864";
String appId = "wxb78fb7c6218cb52c";
GetAuthorizerRequestDto getAuthorizerRequestDto = new GetAuthorizerRequestDto();
getAuthorizerRequestDto.setPartnerId(partnerId);
getAuthorizerRequestDto.setAuthorizerAppid(appId);
GetTokenResponseDto getTokenResponseDto = ecologyAdminApplicationClient.getAuthorizerAccessToken(getAuthorizerRequestDto);
log.info(getTokenResponseDto.toString());
}
@Test
public void groupBuy() {
}
}
...@@ -56,9 +56,10 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -56,9 +56,10 @@ public class CollageOrderServiceImpl implements CollageOrderService {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request); CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息 // 查询时需传入拼单创建人的userId,若上送字段为空时,默认查询当前登录人自己的拼单信息
String currentUserId = this.getUserIdBySessionId(request.getSessionId()); String currentUserId = this.getUserIdBySessionId(request.getSessionId());
collageOrderDto.setCurrentUserId(currentUserId);
// 若拼单发起人ID为空,则默认按当前用户查询
if (StringUtils.isEmpty(request.getCreateCollageUserId())) { if (StringUtils.isEmpty(request.getCreateCollageUserId())) {
collageOrderDto.setCreateCollageUserId(currentUserId); collageOrderDto.setCreateCollageUserId(currentUserId);
collageOrderDto.setCurrentUserId(currentUserId);
} }
BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto); BaseResponse<CollageOrder> queryCollageOrderResponse = this.collageOrderBaseService.queryCollageOrder(collageOrderDto);
CollageOrder collageOrder = queryCollageOrderResponse.getResult(); CollageOrder collageOrder = queryCollageOrderResponse.getResult();
...@@ -229,7 +230,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -229,7 +230,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
* @param collageOrderDto * @param collageOrderDto
*/ */
private void checkCollageOrderOwner(CollageOrderDto collageOrderDto) { private void checkCollageOrderOwner(CollageOrderDto collageOrderDto) {
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
// 若当前操作人并非拼单邀请人时,返回错误提示 当前用户不是拼单发起人,无法操作 // 若当前操作人并非拼单邀请人时,返回错误提示 当前用户不是拼单发起人,无法操作
...@@ -257,7 +258,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -257,7 +258,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl()); collageOrderDto.setPhotoUrl(userInfo.getPhotoUrl());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
...@@ -303,18 +304,12 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -303,18 +304,12 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId()); collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
// 拼单发起人不能退出只能取消 // 拼单发起人不能退出拼单
// 直接使用当前的用户查询拼单,如果能查询到,则当前用户就是拼单发起人 if(collageOrder.getCreateCollageUserId().equals(currentUserInfoVo.getMemberId())){
CollageOrderDto collageOrderCheckDto = CollageOrderDto.builder()
.partnerId(request.getPartnerId())
.storeId(request.getShopId())
.createCollageUserId(currentUserInfoVo.getMemberId()).build();
CollageOrder collageOrderCheck = this.collageOrderBaseService.queryCollageOrder(collageOrderCheckDto).getResult();
if(null != collageOrderCheck){
throw new ServiceException(ResponseResult.COLLAGE_CREATE_NOT_OUT_OF); throw new ServiceException(ResponseResult.COLLAGE_CREATE_NOT_OUT_OF);
} }
...@@ -354,7 +349,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -354,7 +349,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId()); collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId());
// 校验拼单是否存在 // 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult(); CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrderByCreateCollageUserId(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示 // 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST)); Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
......
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