|
|
@@ -4,37 +4,35 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ruoyi.base.revenue.domain.vo.RevenueSharingConfigVo;
|
|
|
import com.ruoyi.base.revenue.service.IRevenueSharingConfigService;
|
|
|
import com.ruoyi.business.domain.Business;
|
|
|
-import com.ruoyi.business.domain.bo.BusinessBalanceRecordBo;
|
|
|
-import com.ruoyi.business.domain.vo.BusinessLogisticsConfigVo;
|
|
|
-import com.ruoyi.business.enums.BusinessBillType;
|
|
|
-import com.ruoyi.business.enums.BusinessSourceType;
|
|
|
-import com.ruoyi.business.exception.BusinessExceptionEnum;
|
|
|
import com.ruoyi.business.service.IBusinessService;
|
|
|
+import com.ruoyi.common.core.domain.PageQuery;
|
|
|
+import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.BeanCopyUtils;
|
|
|
import com.ruoyi.common.utils.MathUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
-import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
-import com.ruoyi.common.core.domain.PageQuery;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.ruoyi.newwxpay.config.NewWxPayProperties;
|
|
|
import com.ruoyi.newwxpay.pay.PayNotifyResult;
|
|
|
+import com.ruoyi.onlineorder.OnLineOrderProperties;
|
|
|
+import com.ruoyi.onlineorder.domain.OnlineOrder;
|
|
|
import com.ruoyi.onlineorder.domain.bo.CreateOnlineOrderBo;
|
|
|
+import com.ruoyi.onlineorder.domain.bo.OnlineOrderBo;
|
|
|
+import com.ruoyi.onlineorder.domain.vo.OnlineOrderVo;
|
|
|
import com.ruoyi.onlineorder.domain.vo.PayOnlineOrderVo;
|
|
|
+import com.ruoyi.onlineorder.enums.OnlineOrderCancelType;
|
|
|
import com.ruoyi.onlineorder.enums.OnlineOrderStatus;
|
|
|
import com.ruoyi.onlineorder.enums.OnlinePayStatus;
|
|
|
+import com.ruoyi.onlineorder.exception.OnlineOrderExceptionEnum;
|
|
|
+import com.ruoyi.onlineorder.mapper.OnlineOrderMapper;
|
|
|
+import com.ruoyi.onlineorder.service.IOnlineOrderService;
|
|
|
import com.ruoyi.shop.business.domain.bo.UserBusinessChangeIntegralBo;
|
|
|
import com.ruoyi.shop.business.service.IUserBusinessRoleService;
|
|
|
-import com.ruoyi.shop.order.domain.ShopOrder;
|
|
|
-import com.ruoyi.shop.order.domain.ShopOrderDetail;
|
|
|
-import com.ruoyi.shop.order.enums.PaymentStatus;
|
|
|
-import com.ruoyi.shop.order.enums.ShippingMethod;
|
|
|
-import com.ruoyi.shop.order.enums.TransactionStatus;
|
|
|
import com.ruoyi.subsidy.domain.SubsidyMode;
|
|
|
import com.ruoyi.subsidy.service.ISubsidyModeService;
|
|
|
import com.ruoyi.subsidy.service.ISubsidyQueueService;
|
|
|
@@ -46,20 +44,14 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.ruoyi.onlineorder.domain.bo.OnlineOrderBo;
|
|
|
-import com.ruoyi.onlineorder.domain.vo.OnlineOrderVo;
|
|
|
-import com.ruoyi.onlineorder.domain.OnlineOrder;
|
|
|
-import com.ruoyi.onlineorder.mapper.OnlineOrderMapper;
|
|
|
-import com.ruoyi.onlineorder.service.IOnlineOrderService;
|
|
|
-import com.ruoyi.onlineorder.exception.OnlineOrderExceptionEnum;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.Collection;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.Collection;
|
|
|
|
|
|
/**
|
|
|
* 在线订单Service业务层处理
|
|
|
@@ -89,7 +81,8 @@ public class OnlineOrderServiceImpl implements IOnlineOrderService {
|
|
|
@Resource
|
|
|
private IRevenueSharingConfigService iRevenueSharingConfigService;
|
|
|
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private OnLineOrderProperties onLineOrderProperties;
|
|
|
/**
|
|
|
* 查询在线订单分页
|
|
|
*
|
|
|
@@ -248,7 +241,7 @@ public class OnlineOrderServiceImpl implements IOnlineOrderService {
|
|
|
onlineOrder.setOrderAmount(bo.getOrderAmount());
|
|
|
onlineOrder.setPayType(bo.getPayType());
|
|
|
onlineOrder.setPayAmount(bo.getOrderAmount());
|
|
|
- onlineOrder.init();
|
|
|
+ onlineOrder.init(onLineOrderProperties.getPayExpireMinute());
|
|
|
this.baseMapper.insert(onlineOrder);
|
|
|
|
|
|
|
|
|
@@ -275,6 +268,34 @@ public class OnlineOrderServiceImpl implements IOnlineOrderService {
|
|
|
return this.baseMapper.payAmountTotal(userId, startTime, endTime);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 支付超时取消订单
|
|
|
+ * @param orderId 订单ID
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void payExpire(Long orderId) {
|
|
|
+ OnlineOrder onlineOrder = loadById(orderId, true);
|
|
|
+ if (OnlinePayStatus.PAYED.equals(onlineOrder.getPayStatus())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ onlineOrder.setCancelType(OnlineOrderCancelType.PAY_TIMEOUT_CANCEL);
|
|
|
+ onlineOrder.setCancelTime(new Date());
|
|
|
+ onlineOrder.setCancelReason("支付超时取消");
|
|
|
+ this.baseMapper.updateById(onlineOrder);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void endOrder(Long orderId) {
|
|
|
+ OnlineOrder onlineOrder = loadById(orderId, true);
|
|
|
+ if(onlineOrder.getEnd())
|
|
|
+ {
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ onlineOrder.setEnd(true);
|
|
|
+ this.baseMapper.updateById(onlineOrder);
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public OnlineOrder orderPayCallback(PayNotifyResult notifyResult) {
|
|
|
@@ -317,6 +338,7 @@ public class OnlineOrderServiceImpl implements IOnlineOrderService {
|
|
|
order.setPayStatus(OnlinePayStatus.PAY_FAIL);
|
|
|
}
|
|
|
order.setTransactionId(transactionId);
|
|
|
+ order.setLastEndTime(DateUtil.offsetDay(DateUtil.endOfDay(new Date()), onLineOrderProperties.getEndOrderDay()));
|
|
|
this.baseMapper.updateById(order);
|
|
|
if (!OnlinePayStatus.PAYED.equals(order.getPayStatus())) {
|
|
|
return null;
|