Commit 773ff967 by 缪晖

拼单订单新增状态及订单编号回传机制

parent 9b003526
...@@ -34,6 +34,8 @@ public class CollageOrderSdkAdapter { ...@@ -34,6 +34,8 @@ public class CollageOrderSdkAdapter {
map.put(CollageOrderCacheFields.STORE_NAME.getKey(), String.valueOf(collageOrder.getStoreName())); map.put(CollageOrderCacheFields.STORE_NAME.getKey(), String.valueOf(collageOrder.getStoreName()));
map.put(CollageOrderCacheFields.CREATE_TIME.getKey(), String.valueOf(collageOrder.getCreateTime())); map.put(CollageOrderCacheFields.CREATE_TIME.getKey(), String.valueOf(collageOrder.getCreateTime()));
map.put(CollageOrderCacheFields.EXPIRE_TIME.getKey(), String.valueOf(collageOrder.getExpireTime())); map.put(CollageOrderCacheFields.EXPIRE_TIME.getKey(), String.valueOf(collageOrder.getExpireTime()));
map.put(CollageOrderCacheFields.STATUS.getKey(), String.valueOf(collageOrder.getStatus()));
map.put(CollageOrderCacheFields.ORDER_CODE.getKey(), String.valueOf(collageOrder.getOrderCode()));
} }
return map; return map;
} }
...@@ -49,6 +51,8 @@ public class CollageOrderSdkAdapter { ...@@ -49,6 +51,8 @@ public class CollageOrderSdkAdapter {
.storeName(String.valueOf(map.get(CollageOrderCacheFields.STORE_NAME.getKey()))) .storeName(String.valueOf(map.get(CollageOrderCacheFields.STORE_NAME.getKey())))
.createTime(Long.parseLong(map.get(CollageOrderCacheFields.CREATE_TIME.getKey()))) .createTime(Long.parseLong(map.get(CollageOrderCacheFields.CREATE_TIME.getKey())))
.expireTime(Long.parseLong(map.get(CollageOrderCacheFields.EXPIRE_TIME.getKey()))) .expireTime(Long.parseLong(map.get(CollageOrderCacheFields.EXPIRE_TIME.getKey())))
.status(Integer.parseInt(map.get(CollageOrderCacheFields.STATUS.getKey())))
.orderCode(String.valueOf(map.get(CollageOrderCacheFields.ORDER_CODE.getKey())))
.build(); .build();
} }
...@@ -60,6 +64,8 @@ public class CollageOrderSdkAdapter { ...@@ -60,6 +64,8 @@ public class CollageOrderSdkAdapter {
.storeId(collageOrderDto.getStoreId()) .storeId(collageOrderDto.getStoreId())
.storeName(collageOrderDto.getStoreName()) .storeName(collageOrderDto.getStoreName())
.createCollageUserId(collageOrderDto.getCreateCollageUserId()) .createCollageUserId(collageOrderDto.getCreateCollageUserId())
.status(collageOrderDto.getStatus())
.orderCode(collageOrderDto.getOrderCode())
.build(); .build();
} }
} }
...@@ -27,6 +27,8 @@ public enum CollageOrderCacheFields { ...@@ -27,6 +27,8 @@ public enum CollageOrderCacheFields {
,STORE_NAME(5, "storeName", new TypeReference<String>(){}.getType(), "") ,STORE_NAME(5, "storeName", new TypeReference<String>(){}.getType(), "")
,CREATE_TIME(6, "createTime", new TypeReference<Long>(){}.getType(), 0L) ,CREATE_TIME(6, "createTime", new TypeReference<Long>(){}.getType(), 0L)
,EXPIRE_TIME(7, "expireTime", new TypeReference<Long>(){}.getType(), 0L) ,EXPIRE_TIME(7, "expireTime", new TypeReference<Long>(){}.getType(), 0L)
,STATUS(8, "status", new TypeReference<Integer>(){}.getType(), 0)
,ORDER_CODE(9, "orderCode", new TypeReference<String>(){}.getType(), "")
; ;
private Integer index; private Integer index;
......
...@@ -11,7 +11,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.constant; ...@@ -11,7 +11,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.constant;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/ */
public class CollageOrderConstant { public class CollageOrderConstant {
public final static String COLLAGE_ORDER_FAILED = "订单操作失败"; public final static String COLLAGE_ORDER_FAILED = "拼单订单操作失败";
public final static String COLLAGE_ORDER_NOT_EXIST = "拼单订单信息不存在"; public final static String COLLAGE_ORDER_NOT_EXIST = "拼单订单信息不存在";
public final static String COLLAGE_ORDER_ALREADY_EXIST = "当前用户存在进行中的拼单订单"; public final static String COLLAGE_ORDER_ALREADY_EXIST = "当前用户存在进行中的拼单订单";
} }
package com.freemud.sdk.api.assortment.shoppingcart.constant;
public enum CollageOrderStatus {
SHOPPING(0, "拼单中"),
COMPLETE(1, "已完成"),
CANCEL(2, "已取消");
private Integer value;
private String desc;
CollageOrderStatus(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -56,4 +56,14 @@ public class CollageOrder ...@@ -56,4 +56,14 @@ public class CollageOrder
* 过期时间 * 过期时间
*/ */
private Long expireTime; private Long expireTime;
/**
* 拼单的订单编号(调用创单接口后回写更新)
*/
private String orderCode;
/**
* 拼单状态 0 拼单中;1 已完成;2 已取消
*/
private Integer status;
} }
...@@ -78,4 +78,14 @@ public class CollageOrderDto ...@@ -78,4 +78,14 @@ public class CollageOrderDto
* 购物车行ids * 购物车行ids
*/ */
private List<String> cartLines; private List<String> cartLines;
/**
* 拼单状态
*/
private Integer status;
/**
* 订单编号
*/
private String orderCode;
} }
...@@ -40,6 +40,13 @@ public interface CollageOrderBaseService { ...@@ -40,6 +40,13 @@ public interface CollageOrderBaseService {
BaseResponse<CollageOrder> createCollageOrder(CollageOrderDto collageOrderDto); BaseResponse<CollageOrder> createCollageOrder(CollageOrderDto collageOrderDto);
/** /**
* 更新拼单订单
* @param collageOrderDto
* @return
*/
BaseResponse<CollageOrder> updateCollageOrder(CollageOrderDto collageOrderDto);
/**
* 清除拼单订单Redis缓存 * 清除拼单订单Redis缓存
* @param collageOrderDto * @param collageOrderDto
* @return * @return
......
...@@ -3,10 +3,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.service.impl; ...@@ -3,10 +3,7 @@ package com.freemud.sdk.api.assortment.shoppingcart.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapter; import com.freemud.sdk.api.assortment.shoppingcart.adapter.CollageOrderSdkAdapter;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageLockStatus; import com.freemud.sdk.api.assortment.shoppingcart.constant.*;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType;
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.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;
...@@ -140,6 +137,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -140,6 +137,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
collageOrder.setCollageId(UUID.randomUUID().toString()); collageOrder.setCollageId(UUID.randomUUID().toString());
collageOrder.setCreateTime(DateTimeUtils.currentTimeMillis()); collageOrder.setCreateTime(DateTimeUtils.currentTimeMillis());
collageOrder.setExpireTime(DateTimeUtils.currentTimeMillis(60 * 60L)); collageOrder.setExpireTime(DateTimeUtils.currentTimeMillis(60 * 60L));
collageOrder.setStatus(CollageOrderStatus.SHOPPING.getValue());
// 创建缓存数据 // 创建缓存数据
this.putCollageBaseHash(collageBaseHashKey, collageOrder); this.putCollageBaseHash(collageBaseHashKey, collageOrder);
...@@ -165,6 +163,57 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -165,6 +163,57 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
/** /**
* 更新拼单状态
* @param collageOrderDto
* @return
*/
@Override
public BaseResponse<CollageOrder> updateCollageOrder(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);
}
// 拼单状态
if (null != collageOrderDto.getStatus()) {
collageOrder.setStatus(collageOrderDto.getStatus());
}
// 拼单生产的订单编号
if (null != collageOrderDto.getOrderCode()) {
collageOrder.setOrderCode(collageOrderDto.getOrderCode());
}
// 获取当前拼单剩余缓存时间
long expireSeconds = this.getCollageBashHashExpireSeconds(collageBaseHashKey);
// 若状态更新为已完成 则将失效时间改为5分钟
if (CollageOrderStatus.COMPLETE.getValue().equals(collageOrderDto.getStatus())) {
expireSeconds = 5 * 60L;
} else if (CollageOrderStatus.CANCEL.getValue().equals(collageOrderDto.getStatus())) {
expireSeconds = 1 * 60L;
}
// 更新拼单基础信息
this.putCollageBaseHash(collageBaseHashKey, collageOrder, expireSeconds);
// 若状态修改为已完成 则失效时间修改为5分钟
this.updateCollageOrderExpire(collageOrderDto.getPartnerId(), collageOrderDto.getStoreId(), collageOrderDto.getCreateCollageUserId(), expireSeconds);
return CartResponseUtil.success();
} catch (Exception e) {
ErrorLog.printErrorLog("更新拼单状态异常", "CollageOrderBaseServiceImpl/updateCollageOrderStatus", this.collageOrderRequest(collageOrderDto), e);
}
return CartResponseUtil.error(CollageOrderConstant.COLLAGE_ORDER_FAILED);
}
/**
* 清除拼单缓存 * 清除拼单缓存
* @param collageOrderDto * @param collageOrderDto
* @return * @return
...@@ -397,8 +446,12 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -397,8 +446,12 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param collageOrder * @param collageOrder
*/ */
private void putCollageBaseHash(String collageBaseHashKey, CollageOrder collageOrder) throws Exception { private void putCollageBaseHash(String collageBaseHashKey, CollageOrder collageOrder) throws Exception {
this.putCollageBaseHash(collageBaseHashKey, collageOrder, 60 * 60L);
}
private void putCollageBaseHash(String collageBaseHashKey, CollageOrder collageOrder, Long expireSeconds) throws Exception {
redisTemplate.boundHashOps(collageBaseHashKey).putAll(this.collageOrderSdkAdapter.toRedisMap(collageOrder)); redisTemplate.boundHashOps(collageBaseHashKey).putAll(this.collageOrderSdkAdapter.toRedisMap(collageOrder));
redisTemplate.boundHashOps(collageBaseHashKey).expire(1L, TimeUnit.HOURS); redisTemplate.boundHashOps(collageBaseHashKey).expire(expireSeconds == null ? 60 * 60L : expireSeconds, TimeUnit.SECONDS);
} }
/** /**
...@@ -407,8 +460,8 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -407,8 +460,8 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/ */
private void deleteCollageBaseHash(CollageOrder collageOrder) throws Exception { private void deleteCollageBaseHash(CollageOrder collageOrder) throws Exception {
// 删除商品门店拼单客户列表中该拼单订单下参与人 // 删除商品门店拼单客户列表中该拼单订单下参与人
String collagePartnerMemberKey = this.genCollagePartnerMemberHashKey(collageOrder.getPartnerId());
Set<String> collageMember = this.collageCartBaseService.getCollageMember(collageOrder.getPartnerId(), collageOrder.getStoreId(), collageOrder.getCreateCollageUserId()); Set<String> collageMember = this.collageCartBaseService.getCollageMember(collageOrder.getPartnerId(), collageOrder.getStoreId(), collageOrder.getCreateCollageUserId());
String collagePartnerMemberKey = this.genCollagePartnerMemberHashKey(collageOrder.getPartnerId());
this.deleteCollagePartnerMember(collagePartnerMemberKey, collageMember.toArray()); this.deleteCollagePartnerMember(collagePartnerMemberKey, collageMember.toArray());
// 删除拼单订单相关缓存 // 删除拼单订单相关缓存
...@@ -423,6 +476,33 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -423,6 +476,33 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
} }
/** /**
* 更新整个拼单所有key的expire
* @param partnerId
* @param storeId
* @param createCollageUserId
* @param expireSeconds
*/
private void updateCollageOrderExpire(String partnerId, String storeId, String createCollageUserId, Long expireSeconds) {
if (expireSeconds == null) return;
redisTemplate.expire(this.genCollageBaseHashKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
redisTemplate.expire(this.genCollageMemberHashKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
redisTemplate.expire(this.genCollageCarHashKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
redisTemplate.expire(this.genCollageCarVerKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
redisTemplate.expire(this.genCollageLockKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
redisTemplate.expire(this.genCollageMemberStateHashKey(partnerId, storeId, createCollageUserId), expireSeconds, TimeUnit.SECONDS);
String collagePartnerMemberKey = this.genCollagePartnerMemberHashKey(partnerId);
Set<String> collageMember = this.collageCartBaseService.getCollageMember(partnerId, storeId, createCollageUserId);
if (null != collageMember) {
for (String userId : collageMember) {
CollagePartnerMember collagePartnerMember = this.getCollagePartnerMember(collagePartnerMemberKey, userId);
collagePartnerMember.setExpire(System.currentTimeMillis() + expireSeconds * 1000);
this.putCollagePartnerMember(collagePartnerMemberKey, userId, collagePartnerMember);
}
}
}
/**
* 拼单订单锁设定 * 拼单订单锁设定
* @param collageLockKey * @param collageLockKey
* @param status * @param status
...@@ -446,7 +526,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -446,7 +526,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
* @param collagePartnerMemberKey * @param collagePartnerMemberKey
* @param userId * @param userId
*/ */
private void putCollagePartnerMember(String collagePartnerMemberKey, String userId, CollagePartnerMember collagePartnerMember) throws Exception { private void putCollagePartnerMember(String collagePartnerMemberKey, String userId, CollagePartnerMember collagePartnerMember) {
redisTemplate.boundHashOps(collagePartnerMemberKey).put(userId, collagePartnerMember); redisTemplate.boundHashOps(collagePartnerMemberKey).put(userId, collagePartnerMember);
} }
...@@ -505,7 +585,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -505,7 +585,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
*/ */
private void initCollageMember(String collageMemberHashKey, String currentUserId) { private void initCollageMember(String collageMemberHashKey, String currentUserId) {
redisTemplate.boundHashOps(collageMemberHashKey).put(currentUserId, Collections.EMPTY_LIST); redisTemplate.boundHashOps(collageMemberHashKey).put(currentUserId, Collections.EMPTY_LIST);
redisTemplate.boundHashOps(collageMemberHashKey).expire(1, TimeUnit.HOURS); redisTemplate.boundHashOps(collageMemberHashKey).expire(60 * 60L, TimeUnit.SECONDS);
} }
/** /**
...@@ -522,7 +602,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService { ...@@ -522,7 +602,7 @@ public class CollageOrderBaseServiceImpl implements CollageOrderBaseService {
collageMemberState.setPhotoUrl(collageOrderDto.getPhotoUrl()); collageMemberState.setPhotoUrl(collageOrderDto.getPhotoUrl());
collageMemberState.setState(CollageMemberStateType.SHOPPING.getValue()); collageMemberState.setState(CollageMemberStateType.SHOPPING.getValue());
redisTemplate.boundHashOps(collageMemberStateHashKey).put(collageOrderDto.getCurrentUserId(), collageMemberState); redisTemplate.boundHashOps(collageMemberStateHashKey).put(collageOrderDto.getCurrentUserId(), collageMemberState);
redisTemplate.boundHashOps(collageMemberStateHashKey).expire(1, TimeUnit.HOURS); redisTemplate.boundHashOps(collageMemberStateHashKey).expire(60 * 60L, TimeUnit.SECONDS);
} }
/** /**
......
package cn.freemud.entities.dto.shoppingCart;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0.0
* @Description:
* @author: hui.miao
* @date: 2020-12-01 15:11
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class UpdateCollageOrderDto {
/**
* 用户sessionId
*/
private String sessionId;
/**
* 拼单邀请者用户ID
*/
private String createCollageUserId;
/**
* 商户ID
*/
private String partnerId;
/**
* 门店ID
*/
private String shopId;
/**
* 拼单状态
*/
private Integer status;
/**
* 订单编号
*/
private String orderCode;
}
...@@ -16,11 +16,14 @@ package cn.freemud.service.impl; ...@@ -16,11 +16,14 @@ package cn.freemud.service.impl;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.LogTreadLocal; import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.wechat.*; import cn.freemud.entities.dto.wechat.*;
import cn.freemud.entities.vo.CreateOrderResponseVo;
import cn.freemud.entities.vo.QueryOrderVo; import cn.freemud.entities.vo.QueryOrderVo;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.inteceptor.CommonServiceException; import cn.freemud.inteceptor.CommonServiceException;
import cn.freemud.service.thirdparty.EcologyAdminApplicationClient; import cn.freemud.service.thirdparty.EcologyAdminApplicationClient;
import cn.freemud.service.thirdparty.ShoppingCartClient;
import cn.freemud.service.thirdparty.WeChatClient; import cn.freemud.service.thirdparty.WeChatClient;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
...@@ -61,6 +64,8 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -61,6 +64,8 @@ public class CollageOrderServiceImpl implements CollageOrderService {
private EcologyAdminApplicationClient ecologyAdminApplicationClient; private EcologyAdminApplicationClient ecologyAdminApplicationClient;
@Autowired @Autowired
private WeChatClient weChatClient; private WeChatClient weChatClient;
@Autowired
private ShoppingCartClient shoppingCartClient;
/** /**
* 创建拼单订单 * 创建拼单订单
...@@ -69,7 +74,26 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -69,7 +74,26 @@ public class CollageOrderServiceImpl implements CollageOrderService {
public BaseResponse create(CreateOrderVo createOrderVo) { public BaseResponse create(CreateOrderVo createOrderVo) {
// 标记订单类型-4 拼单 // 标记订单类型-4 拼单
createOrderVo.setMarketingType(OrderMarketType.COLLAGE.getIndex()); createOrderVo.setMarketingType(OrderMarketType.COLLAGE.getIndex());
return this.orderService.createOrderNew(createOrderVo);
BaseResponse orderCreateResponse = this.orderService.createOrderNew(createOrderVo);
/*
Object result = orderCreateResponse.getResult();
if (null != result) {
String oid = null;
if (result instanceof CreateOrderOperateDto && null != ((CreateOrderOperateDto) result).getProductOrderBean()) {
oid = ((CreateOrderOperateDto) result).getProductOrderBean().getOid();
} else if (result instanceof CreateOrderResponseVo) {
oid = ((CreateOrderResponseVo) result).getOid();
}
if (null != oid) {
}
}
*/
return orderCreateResponse;
} }
/** /**
......
...@@ -44,6 +44,7 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup; ...@@ -44,6 +44,7 @@ import cn.freemud.entities.dto.product.ProductAttributeGroup;
import cn.freemud.entities.dto.product.ProductGroup; import cn.freemud.entities.dto.product.ProductGroup;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto; import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.shoppingCart.UpdateCollageOrderDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -451,6 +452,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -451,6 +452,7 @@ public class OrderServiceImpl implements Orderservice {
// TODO 订单序号替换取餐码显示 // TODO 订单序号替换取餐码显示
takeCode = payAccessResponse.getData().getTakeCode(); takeCode = payAccessResponse.getData().getTakeCode();
daySeq = payAccessResponse.getData().getDaySeq(); daySeq = payAccessResponse.getData().getDaySeq();
//TODO 清空购物车 //TODO 清空购物车
NewShoppingCartClearDto newShoppingCartClearDto = new NewShoppingCartClearDto(); NewShoppingCartClearDto newShoppingCartClearDto = new NewShoppingCartClearDto();
newShoppingCartClearDto.setPartnerId(partnerId); newShoppingCartClearDto.setPartnerId(partnerId);
...@@ -460,7 +462,16 @@ public class OrderServiceImpl implements Orderservice { ...@@ -460,7 +462,16 @@ public class OrderServiceImpl implements Orderservice {
newShoppingCartClearDto.setSessionId(sessionId); newShoppingCartClearDto.setSessionId(sessionId);
newShoppingCartClearDto.setOperationType(1); newShoppingCartClearDto.setOperationType(1);
shoppingCartClient.clearShoppingCart(newShoppingCartClearDto); shoppingCartClient.clearShoppingCart(newShoppingCartClearDto);
shoppingCartClient.clearCollageOrder(newShoppingCartClearDto);
// 清空拼单购物车
UpdateCollageOrderDto updateCollageOrderDto = new UpdateCollageOrderDto();
updateCollageOrderDto.setSessionId(StringUtils.isBlank(sessionId) ? oid : sessionId);
updateCollageOrderDto.setPartnerId(partnerId);
updateCollageOrderDto.setShopId(storeId);
updateCollageOrderDto.setCreateCollageUserId(userId);
updateCollageOrderDto.setOrderCode(oid);
updateCollageOrderDto.setStatus(1);
shoppingCartClient.updateCollageOrder(updateCollageOrderDto);
if (StringUtils.isNotBlank(daySeq) && orderExtInfoDto != null && !OrderType.TAKE_OUT.getCode().equals(orderBean.getType())) { if (StringUtils.isNotBlank(daySeq) && orderExtInfoDto != null && !OrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
String storeAddress = StringUtils.isNotBlank(orderBean.getAddress()) ? orderBean.getAddress() : ""; String storeAddress = StringUtils.isNotBlank(orderBean.getAddress()) ? orderBean.getAddress() : "";
......
...@@ -17,6 +17,7 @@ import cn.freemud.entities.dto.*; ...@@ -17,6 +17,7 @@ import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto; import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto; import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.shoppingCart.UpdateCollageOrderDto;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -101,4 +102,10 @@ public interface ShoppingCartClient { ...@@ -101,4 +102,10 @@ public interface ShoppingCartClient {
@PostMapping(value = "/collage/clearOrder?lang=zh_CN") @PostMapping(value = "/collage/clearOrder?lang=zh_CN")
BaseResponse clearCollageOrder(@RequestBody NewShoppingCartClearDto newShoppingCartClearDto); BaseResponse clearCollageOrder(@RequestBody NewShoppingCartClearDto newShoppingCartClearDto);
/**
* 更新拼单订单信息
*/
@PostMapping(value = "/collage/updateOrder?lang=zh_CN")
BaseResponse updateCollageOrder(@RequestBody UpdateCollageOrderDto updateCollageOrderDto);
} }
...@@ -22,6 +22,8 @@ public class CollageOrderAdapter { ...@@ -22,6 +22,8 @@ public class CollageOrderAdapter {
.createCollageUserId(request.getCreateCollageUserId()) .createCollageUserId(request.getCreateCollageUserId())
.partnerId(request.getPartnerId()) .partnerId(request.getPartnerId())
.storeId(request.getShopId()) .storeId(request.getShopId())
.status(request.getStatus())
.orderCode(request.getOrderCode())
.build(); .build();
} }
} }
...@@ -74,6 +74,14 @@ public class CollageOrderController { ...@@ -74,6 +74,14 @@ public class CollageOrderController {
return collageOrderService.clearCollageOrder(request); return collageOrderService.clearCollageOrder(request);
} }
@ApiOperation(value = "更新拼单订单", notes = "根据商户ID、门店ID、当前登录用户sessionId更新相关拼单信息")
@ApiImplicitParam(value = "请求", required = true, dataType = "CollageOrderRequestVo", name = "CollageOrderRequestVo")
@ApiAnnotation(logMessage = "updateOrder")
@PostMapping(value = "/updateOrder")
public BaseResponse updateCollageOrder(@Validated @LogParams @RequestBody CollageOrderRequestVo request) {
return collageOrderService.updateCollageOrder(request);
}
@ApiOperation(value = "锁定拼单订单", notes = "根据商户ID、门店ID、当前登录用户sessionId锁定拼单订单") @ApiOperation(value = "锁定拼单订单", notes = "根据商户ID、门店ID、当前登录用户sessionId锁定拼单订单")
@ApiImplicitParam(value = "请求", required = true, dataType = "CollageOrderRequestVo", name = "CollageOrderRequestVo") @ApiImplicitParam(value = "请求", required = true, dataType = "CollageOrderRequestVo", name = "CollageOrderRequestVo")
@ApiAnnotation(logMessage = "lockOrder") @ApiAnnotation(logMessage = "lockOrder")
......
...@@ -37,4 +37,10 @@ public class CollageOrderRequestVo { ...@@ -37,4 +37,10 @@ public class CollageOrderRequestVo {
@ApiModelProperty(value = "门店ID", required = true) @ApiModelProperty(value = "门店ID", required = true)
@NotEmpty(message = "门店ID 不能为空") @NotEmpty(message = "门店ID 不能为空")
private String shopId; private String shopId;
@ApiModelProperty(value = "订单状态", required = true)
private Integer status;
@ApiModelProperty(value = "订单编号", required = true)
private String orderCode;
} }
...@@ -45,6 +45,13 @@ public interface CollageOrderService { ...@@ -45,6 +45,13 @@ public interface CollageOrderService {
BaseResponse clearCollageOrder(CollageOrderRequestVo request); BaseResponse clearCollageOrder(CollageOrderRequestVo request);
/** /**
* 更新拼单订单
* @param request
* @return
*/
BaseResponse updateCollageOrder(CollageOrderRequestVo request);
/**
* 锁定拼单订单 * 锁定拼单订单
* @param request * @param request
* @return * @return
......
...@@ -11,6 +11,7 @@ import cn.freemud.service.CollageOrderService; ...@@ -11,6 +11,7 @@ import cn.freemud.service.CollageOrderService;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType; import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageMemberStateType;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CollageOrderStatus;
import com.freemud.sdk.api.assortment.shoppingcart.domain.CollageMemberState; 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;
...@@ -157,6 +158,18 @@ public class CollageOrderServiceImpl implements CollageOrderService { ...@@ -157,6 +158,18 @@ public class CollageOrderServiceImpl implements CollageOrderService {
} }
/** /**
* 更新拼单订单
* @param request
* @return
*/
@Override
public BaseResponse updateCollageOrder(CollageOrderRequestVo request) {
CollageOrderDto collageOrderDto = this.collageOrderAdapter.convert2CollageOrderDto(request);
// 由于存在支付成功回调场景,直接操作不校验当前登录人员
return this.collageOrderBaseService.updateCollageOrder(collageOrderDto);
}
/**
* 锁定拼单订单 * 锁定拼单订单
* @param request * @param request
* @return * @return
......
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