| 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);  | 
|         }  | 
|   | 
|     }  | 
|   | 
| }  |