设备订单防止重复提交
This commit is contained in:
parent
7f7068e782
commit
4ac2f8bfcc
|
|
@ -159,6 +159,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService
|
||||||
AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId());
|
AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId());
|
||||||
accInfoService.checkAccStatus(accInfoVO);
|
accInfoService.checkAccStatus(accInfoVO);
|
||||||
List<OrderInfo> canteenOrderInfoList = new OrderInfo().of(orderAddParam);
|
List<OrderInfo> canteenOrderInfoList = new OrderInfo().of(orderAddParam);
|
||||||
|
checkDeviceOrderExisting(canteenOrderInfoList);
|
||||||
checkOrdersTotalAmount(canteenOrderInfoList, orderAddParam.getRealAmount());
|
checkOrdersTotalAmount(canteenOrderInfoList, orderAddParam.getRealAmount());
|
||||||
List<OrderInfo> orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList);
|
List<OrderInfo> orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList);
|
||||||
try {
|
try {
|
||||||
|
|
@ -184,6 +185,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService
|
||||||
AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId());
|
AccInfoDetailsVO accInfoVO = this.accInfoService.queryAccInfoByUserId(orderAddParam.getUserId());
|
||||||
accInfoService.checkAccStatus(accInfoVO);
|
accInfoService.checkAccStatus(accInfoVO);
|
||||||
List<OrderInfo> canteenOrderInfoList = new ShopOrderAddParam().of(orderAddParam);
|
List<OrderInfo> canteenOrderInfoList = new ShopOrderAddParam().of(orderAddParam);
|
||||||
|
checkDeviceOrderExisting(canteenOrderInfoList);
|
||||||
List<OrderInfo> orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList);
|
List<OrderInfo> orderInfoList = orderBusiness.orderPlaceHandler(canteenOrderInfoList);
|
||||||
try {
|
try {
|
||||||
AccRedisUtils.lockUpdateAccWalletBalance(orderAddParam.getUserId());
|
AccRedisUtils.lockUpdateAccWalletBalance(orderAddParam.getUserId());
|
||||||
|
|
@ -197,6 +199,18 @@ public class OrderInfoServiceImpl implements IOrderInfoService
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkDeviceOrderExisting(List<OrderInfo> orderInfoList) {
|
||||||
|
if(CollUtil.isEmpty(orderInfoList)) {
|
||||||
|
throw new ServiceException("订单不能为空");
|
||||||
|
}
|
||||||
|
for (OrderInfo orderInfo : orderInfoList) {
|
||||||
|
OrderInfo orderInfoByOrderId = orderInfoMapper.selectOrderInfoByDeviceOrderId(orderInfo.getDeviceOrderId());
|
||||||
|
if(Objects.nonNull(orderInfoByOrderId)) {
|
||||||
|
throw new ServiceException("该设备订单已存在");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void pay(Long orderId) {
|
public void pay(Long orderId) {
|
||||||
if(Objects.isNull(orderId) || orderId <= 0) {
|
if(Objects.isNull(orderId) || orderId <= 0) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue