Просмотр исходного кода

更新退款bug

release_toaliyun_real
xiaohanzi 6 лет назад
Родитель
Сommit
19f0aec810
3 измененных файлов: 26 добавлений и 27 удалений
  1. +19
    -21
      mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java
  2. +3
    -2
      mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java
  3. +4
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java

+ 19
- 21
mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java Просмотреть файл

@@ -13,6 +13,7 @@ import com.iformall.service.WxRefundOrderService;
import com.iformall.utils.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -51,11 +52,13 @@ public class CouponOrderExpiringSchedule {
// @Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void couponOrderExpiringSchedule() {

CouponOrderExpiringSchedule proxy = (CouponOrderExpiringSchedule) AopContext.currentProxy();
List<WxCouponOrder> list = wxCouponOrderMapper.findExpiredFreeCouponOrderByValidDate();
list.stream().forEach(co -> {
// 券过期,更改状态及库存退回
try {
couponOrderExpire(co, true);
proxy.couponOrderExpire(co, true);
} catch (Exception e) {
logger.error(e.getMessage());
}
@@ -64,31 +67,25 @@ public class CouponOrderExpiringSchedule {

}

@Scheduled(cron = "0 5 0 * * ?") // 每天凌晨00:05
@Scheduled(cron = "0 0/2 * * * ?") // 每天凌晨00:05
// @Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void couponOrderRefundSchedule() {

List<WxCouponOrder> list = wxCouponOrderMapper.findExpiredCouponOrderByValidDate();
CouponOrderExpiringSchedule proxy = (CouponOrderExpiringSchedule) AopContext.currentProxy();
list.stream().forEach(co -> {
// 券过期,更改状态及库存退回
try {
couponOrderExpire(co, false);
} catch (Exception e) {
logger.error(e.getMessage());
}

// 退款
try {
couponOrderExpireRefund(co, true);
} catch (Exception e) {
logger.error(e.getMessage());
}

refund(co,proxy);
});
}


@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void refund(WxCouponOrder order,CouponOrderExpiringSchedule proxy) {
// 券过期,更改状态及库存退回
proxy.couponOrderExpire(order, false);
// 退款
proxy.couponOrderExpireRefund(order, true);
}

@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void couponOrderExpire(WxCouponOrder co, boolean bStockBack) {
@@ -112,13 +109,14 @@ public class CouponOrderExpiringSchedule {
}
}

private void couponOrderExpireRefund(WxCouponOrder co, boolean bStockBack) {
public void couponOrderExpireRefund(WxCouponOrder co, boolean bStockBack) {
// 非储值卡, 可以退款
if(!co.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())
&& !co.getAutoRefund().equals(EnumCouponAutoRefund.UNSUPPORTED.getCode())) {
WxAppinfo appinfo = new WxAppinfo();
appinfo.updateTenantInfo(co);
appinfo.setType(EnumAppType.B.getCode());
//appinfo.setType(EnumAppType.B.getCode());
appinfo.setType(EnumAppType.C.getCode());
appinfo = wxAppinfoMapper.findList(appinfo).get(0);

Date limitDate = DateUtils.getTimeAfterDays(360, co.getCreateDate());


+ 3
- 2
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java Просмотреть файл

@@ -148,8 +148,7 @@ public class OrderExpiringSchedule {
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try {
proxy.orderGroupExpired((WxOrder) o,false);
//wxOrderService.stockBack(order);
//proxy.returnMoney((WxOrder) o);
proxy.returnMoney((WxOrder) o);
} catch (Exception e) {
logger.error("拼团过期退款失败" + e.getMessage());
}
@@ -170,6 +169,7 @@ public class OrderExpiringSchedule {
order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_FAILD.getCode());
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try {
proxy.orderGroupExpired((WxOrder) o,true);
proxy.returnMoney((WxOrder) o);
} catch (Exception e) {
logger.error("参团失败退款失败" + e.getMessage());
@@ -181,6 +181,7 @@ public class OrderExpiringSchedule {
wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> {
try {
proxy.orderGroupExpired((WxOrder) o,false);
proxy.returnMoney((WxOrder) o);
} catch (Exception e) {
logger.error("参团失败退款失败" + e.getMessage());
}


+ 4
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java Просмотреть файл

@@ -449,10 +449,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService {
logger.error("证书路径为空");
throw new MallinkException(ErrorCode.CERT_PATH_NOT_FOUND.getCode(), "证书路径为空,请联系商城管理员");
}
if (!Utility.isFileExist(payAccount.getCertPath())) {
logger.error("证书文件不存在");
throw new MallinkException(ErrorCode.CERT_PATH_NOT_FOUND.getCode(), "证书文件不存在,请联系商城管理员");
}
// if (!Utility.isFileExist(payAccount.getCertPath())) {
// logger.error("证书文件不存在");
// throw new MallinkException(ErrorCode.CERT_PATH_NOT_FOUND.getCode(), "证书文件不存在,请联系商城管理员");
// }
// check 是否有退款订单
List<WxRefundOrder> refundList = wxRefundOrderMapper.findList(record);
if (refundList.size() > 0) {


Загрузка…
Отмена
Сохранить