Browse Source

[拼团][修改][待支付]

release_toaliyun_real
gongbiao 7 years ago
parent
commit
2d8d7828a2
3 changed files with 14 additions and 3 deletions
  1. +11
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +1
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java

+ 11
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java View File

@@ -1,9 +1,11 @@
package com.iformall.schedule;

import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxOrder;
import com.iformall.enums.*;
import com.iformall.mapper.WxAppinfoMapper;
import com.iformall.mapper.WxCouponMapper;
import com.iformall.mapper.WxOrderGroupMapper;
import com.iformall.mapper.WxOrderMapper;
import com.iformall.service.WxOrderGroupService;
@@ -47,6 +49,9 @@ public class OrderExpiringSchedule {
@Autowired
WxRefundOrderService wxRefundOrderService;

@Autowired
WxCouponMapper wxCouponMapper;

@Scheduled(cron = "0 */5 * * * *?") // 每5分钟检查一次
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void orderExpireSchedule() {
@@ -130,10 +135,15 @@ public class OrderExpiringSchedule {

@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void orderExpired(WxOrder order) {
Integer status = EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode();
WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(order.getProductId());
if (wxCoupon.getType().equals(EnumCouponType.COUPON_GROUP.getCode())) {
status = EnumOrderStatus.ORDER_STATUS_COOPERATING_BREAK.getCode();
}
WxOrder updateOrder = new WxOrder();
updateOrder.setId(order.getId());
updateOrder.setUpdateDate(new Date());
updateOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode());
updateOrder.setOrderStatus(status);
wxOrderMapper.updateByPrimaryKeySelective(updateOrder);

// 库存退回


+ 2
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java View File

@@ -377,6 +377,8 @@ public enum ErrorCode{
ORDER_GROUP_COOPERATING_FAILD(28001, "参团失败"),
ORDER_GROUP_COOPERATING_FINISHED(28002, "拼团人数已满"),
ORDER_GROUP_COOPERATING_ATTEND(28003, "您已参与拼团"),
ORDER_GROUP_COOPERATING_UNPAID(28004, "您有未支付的拼团订单"),

;

private int code;


+ 1
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java View File

@@ -370,11 +370,10 @@ public class WxOrderServiceImpl implements WxOrderService {
WxOrder order = new WxOrder();
order.setOrderGroupId(group.getId());
order.setCUserId(user.getId());
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING.getCode());
int count = wxOrderMapper.selectCount(order);
if (count > 0) {
logger.error("重复的拼团>>>" + orderGroupId);
throw new MallinkException(ErrorCode.ORDER_IS_FAIL);
throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_UNPAID);
}
}



Loading…
Cancel
Save