喻健
2018-11-16 ae19c301864428b67af14d6cb7f0a3fe25bd2c6f
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -45,6 +45,7 @@
import com.yeshi.fanli.exception.TaoBaoWeiQuanException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderItemServcie;
import com.yeshi.fanli.service.inter.order.OrderProcessService;
import com.yeshi.fanli.service.inter.order.OrderService;
@@ -128,6 +129,9 @@
   @Resource
   private RedisManager redisManager;
   @Resource
   private LostOrderService lostOrderService;
   @Override
   public void processOrder(Map<String, List<TaoBaoOrder>> orders) {
      List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
@@ -163,6 +167,7 @@
   /**
    * 利用redis的原子性将订单号锁住,不让其他处理
    *
    * @param orderId
    */
   private void redisLockOrder(String orderId) {
@@ -172,6 +177,7 @@
   /**
    * 订单解锁
    *
    * @param orderId
    */
   private void redisUnlockOrder(String orderId) {
@@ -181,6 +187,7 @@
   /**
    * 订单是否被锁住了
    *
    * @param orderId
    * @return
    */
@@ -202,12 +209,16 @@
         try {
            String orderId = its.next();
            // 处理红包与子红包
//            if (isRedisLockOrder(orderId))
//               continue;
//            redisLockOrder(orderId);
            // if (isRedisLockOrder(orderId))
            // continue;
            // redisLockOrder(orderId);
            processShopingFanliOrder(orderId, orders.get(orderId));
//            redisUnlockOrder(orderId);
            // redisUnlockOrder(orderId);
            // 出错了就不处理该订单了,需要定期检查
            // 更改丢失订单的状态
            lostOrderService.processSuceess(orderId);
         } catch (HongBaoException e1) {
            e1.printStackTrace();
         } catch (OrderItemException e2) {