package com.xzx.gc.order.runner;
|
|
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.OrderEnum;
|
import com.xzx.gc.common.constant.RedisKeyConstant;
|
import com.xzx.gc.common.constant.SysConfigConstant;
|
import com.xzx.gc.common.utils.BusinessUtil;
|
import com.xzx.gc.common.utils.RedisUtil;
|
import com.xzx.gc.entity.ConfigInfo;
|
import com.xzx.gc.entity.OrderInfo;
|
import com.xzx.gc.order.service.ConfigService;
|
import com.xzx.gc.order.service.OrderService;
|
import com.xzx.gc.order.service.WeightItemPriceService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.core.annotation.Order;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
|
/**
|
*/
|
@Component
|
@Order(1)
|
@Slf4j
|
public class SystemInfoRunner implements CommandLineRunner {
|
|
@Autowired
|
private BusinessUtil businessUtil;
|
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@Autowired
|
private OrderService orderService;
|
|
|
@Autowired
|
private ConfigService configService;
|
|
@Autowired
|
private WeightItemPriceService weightItemPriceService;
|
|
@Override
|
public void run(String... args) {
|
log.debug(businessUtil.repeatService("订单服务启动完成"));
|
|
//修复取消的订单的redis键
|
ConfigInfo configInfo = configService.findByCode(SysConfigConstant.ORDER_CANCEL_REDIS_SWITCH);
|
if(Constants.OPEN_FLAG.equals(configInfo.getConfigValue())) {
|
List<OrderInfo> byOrderStatus = orderService.findByOrderStatus(OrderEnum.取消.getValue());
|
|
for (OrderInfo orderStatus : byOrderStatus) {
|
String orderId = orderStatus.getOrderId();
|
redisUtil.remove(RedisKeyConstant.ORDER_CANCEL + orderId);
|
log.debug("删除无效的redis键:{}", RedisKeyConstant.ORDER_CANCEL + orderId);
|
}
|
configInfo.setConfigValue(Constants.CLOSE_FLAG);
|
configService.update(configInfo);
|
}
|
|
//执行提成
|
configInfo = configService.findByCode(SysConfigConstant.SETTLE_MONEY_REDIS_SWITCH);
|
if(Constants.OPEN_FLAG.equals(configInfo.getConfigValue())) {
|
weightItemPriceService.updateSettleMoneyForRule();
|
configInfo.setConfigValue(Constants.CLOSE_FLAG);
|
configService.update(configInfo);
|
}
|
|
}
|
|
}
|