Commit 557f26b1 by 刘鹏飞

添加移除拼单人员接口

parent 83227f53
...@@ -105,4 +105,12 @@ public class CollageOrderController { ...@@ -105,4 +105,12 @@ public class CollageOrderController {
public BaseResponse outOfOrder(@Validated @LogParams @RequestBody CollageOrderRequestVo request) { public BaseResponse outOfOrder(@Validated @LogParams @RequestBody CollageOrderRequestVo request) {
return collageOrderService.outOfOrder(request); return collageOrderService.outOfOrder(request);
} }
@ApiOperation(value = "移除拼单人员", notes = "移除拼单人员")
@ApiImplicitParam(value = "请求", required = true, dataType = "CollageOrderRequestVo", name = "CollageOrderRequestVo")
@ApiAnnotation(logMessage = "removeMember")
@PostMapping(value = "/removeMember")
public BaseResponse removeMember(@Validated @LogParams @RequestBody CollageOrderRequestVo request) {
return collageOrderService.removeMember(request);
}
} }
...@@ -149,13 +149,19 @@ public enum ResponseResult { ...@@ -149,13 +149,19 @@ public enum ResponseResult {
COLLAGE_MEMBER_ALREADY_ADD("49008", "用户已经加入其他的拼单"), COLLAGE_MEMBER_ALREADY_ADD("49008", "用户已经加入其他的拼单"),
COLLAGE_CREATE_NOT_OUT_OF("49009", "拼单发起人不能退出拼单,请取消"), COLLAGE_CREATE_NOT_OUT_OF("49009", "拼单发起人不能退出拼单,请取消"),
COLLAGE_MEMBER_NOT_ADD("49010", "用户未参加拼单,请确认"), COLLAGE_MEMBER_NOT_ADD("49010", "用户未参加拼单,请确认"),
COLLAGE_MEMBER_NOT_CREATE("49011", "只有拼单发起者才能移除拼单人员,请确认"),
/** /**
* 微信卡券 * 微信卡券
*/ */
WEICHAT_SHOP_NOTSUPPORT("48001", "当前门店不可用"), WEICHAT_SHOP_NOTSUPPORT("48001", "当前门店不可用"),
WEICHAT_NOT_PRODUCTCARD("48002", "不是商品券不用加入购物车"), WEICHAT_NOT_PRODUCTCARD("48002", "不是商品券不用加入购物车"),
WEICHAT_PRODUCT_NOEXIST("48003", "商品不存在"); WEICHAT_PRODUCT_NOEXIST("48003", "商品不存在"),
/**
* 拼单
*/
COLLAGE_REMOVE_MEMBER_ERROR("49001", "当前门店不可用");
private String code; private String code;
......
...@@ -71,4 +71,11 @@ public interface CollageOrderService { ...@@ -71,4 +71,11 @@ public interface CollageOrderService {
* @return * @return
*/ */
BaseResponse outOfOrder(CollageOrderRequestVo request); BaseResponse outOfOrder(CollageOrderRequestVo request);
/**
* 移除拼单人员
* @param request
* @return
*/
BaseResponse removeMember(CollageOrderRequestVo request);
} }
...@@ -277,7 +277,7 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -277,7 +277,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
.createCollageUserId(currentUserInfoVo.getMemberId()).build(); .createCollageUserId(currentUserInfoVo.getMemberId()).build();
CollageOrder collageOrderCheck = this.collageOrderBaseService.queryCollageOrder(collageOrderCheckDto).getResult(); CollageOrder collageOrderCheck = this.collageOrderBaseService.queryCollageOrder(collageOrderCheckDto).getResult();
if(null != collageOrderCheck){ if(null != collageOrderCheck){
throw new ServiceException(ResponseResult.COLLAGE_NOT_EXIST); throw new ServiceException(ResponseResult.COLLAGE_CREATE_NOT_OUT_OF);
} }
// 非邀请人检查是否参加了该邀请人的订单 // 非邀请人检查是否参加了该邀请人的订单
...@@ -286,7 +286,59 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -286,7 +286,59 @@ public class CollageOrderServiceImpl implements CollageOrderService {
throw new ServiceException(ResponseResult.COLLAGE_MEMBER_NOT_ADD); throw new ServiceException(ResponseResult.COLLAGE_MEMBER_NOT_ADD);
} }
try {
this.removeMemberData(collageOrderDto);
} catch (Exception e) {
ResponseUtil.error(ResponseResult.COLLAGE_REMOVE_MEMBER_ERROR);
}
return ResponseUtil.success();
}
@Override
public BaseResponse removeMember(CollageOrderRequestVo request) {
// 获取当前登陆用户信息
CustomerInfoVo currentUserInfoVo = this.shoppingCartCollageService.getCustomerInfoVo(request.getSessionId());
// 当前用户必须登陆
if (StringUtils.isEmpty(currentUserInfoVo.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
// 只有拼单发起者才能移除拼单人员
if(!currentUserInfoVo.getMemberId().equals(request.getCreateCollageUserId())){
throw new ServiceException(ResponseResult.COLLAGE_MEMBER_NOT_CREATE);
}
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 设置当前登陆用户
collageOrderDto.setCurrentUserId(currentUserInfoVo.getMemberId());
// 设置拼单发起人
collageOrderDto.setCreateCollageUserId(request.getCreateCollageUserId());
// 校验拼单是否存在
CollageOrder collageOrder = this.collageOrderBaseService.queryCollageOrder(collageOrderDto).getResult();
// 拼单订单信息不存在时,返回错误提示
Optional.ofNullable(collageOrder).orElseThrow(() -> new ServiceException(ResponseResult.COLLAGE_NOT_EXIST));
try {
this.removeMemberData(collageOrderDto);
} catch (Exception e) {
ResponseUtil.error(ResponseResult.COLLAGE_REMOVE_MEMBER_ERROR);
}
return ResponseUtil.success();
}
/**
* 移除拼单人员的相关数据
* @param collageOrderDto
* @throws Exception
*/
private void removeMemberData(CollageOrderDto collageOrderDto) throws Exception {
List<String> cartLineIds = collageOrderBaseService.getMemCarLine(collageOrderDto); List<String> cartLineIds = collageOrderBaseService.getMemCarLine(collageOrderDto);
// 删除用户购物车行数据 // 删除用户购物车行数据
if(cartLineIds != null && !cartLineIds.isEmpty()){ if(cartLineIds != null && !cartLineIds.isEmpty()){
collageOrderDto.setCartLines(cartLineIds); collageOrderDto.setCartLines(cartLineIds);
...@@ -301,9 +353,8 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -301,9 +353,8 @@ public class CollageOrderServiceImpl implements CollageOrderService {
// 删除用户在该店铺的拼单结束时间 // 删除用户在该店铺的拼单结束时间
collageOrderBaseService.cleanCollageMemberAddTime(collageOrderDto); collageOrderBaseService.cleanCollageMemberAddTime(collageOrderDto);
return ResponseUtil.success();
} }
} }
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