yujian
2019-06-12 c007868c62c7da5c9ce1bf0e77d9e5f8619826e4
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -17,21 +17,26 @@
import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper;
import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper;
import com.yeshi.fanli.dao.mybatis.order.CommonOrderTradeIdMapMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.order.CommonOrderGoods;
import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
@@ -78,6 +83,12 @@
   @Resource
   private HongBaoV2Service hongBaoV2Service;
   @Resource
   private CommonOrderTradeIdMapMapper commonOrderTradeIdMapMapper;
   @Resource
   private CommonGoodsService commonGoodsService;
   // 奖励订单图片
   public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
@@ -597,7 +608,15 @@
                  taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId());
               } catch (TaobaoGoodsDownException e) {
                  e.printStackTrace();
                  taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
                  LogHelper.errorDetailInfo(e, "AUCTIONID:" + taoBaoOrder.getAuctionId(), "");
                  try {
                     taoBaoGoods = TaoBaoUtil.getSimpleGoodsBrief(taoBaoOrder.getAuctionId());
                  } catch (Exception e1) {
                     CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(
                           taoBaoOrder.getAuctionId(), Constant.SOURCE_TYPE_TAOBAO);
                     if (commonGoods != null)
                        taoBaoGoods = TaoBaoUtil.convert(commonGoods);
                  }
               }
               if (taoBaoGoods != null) {
                  goods = CommonOrderGoodsFactory.create(taoBaoGoods);
@@ -613,6 +632,10 @@
            commonOrder.setStateWholeOrder(wholeOrderState);
            commonOrderMapper.insertSelective(commonOrder);
            // 插入映射,保证交易ID的完整性
            commonOrderTradeIdMapMapper.insertSelective(new CommonOrderTradeIdMap(commonOrder.getId(),
                  commonOrder.getTradeId(), new Date(), commonOrder.getSourceType()));
            commonOrderList.add(commonOrder);
            continue;
         } else {// 修改
@@ -622,19 +645,25 @@
               continue;
            }
            CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
            CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
            updateCommonOrder.seteIncome(newCommonOrder.geteIncome());
            updateCommonOrder.setEstimate(newCommonOrder.getEstimate());
            updateCommonOrder.setPayment(newCommonOrder.getPayment());
            updateCommonOrder.setSettlement(newCommonOrder.getSettlement());
            updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime());
            updateCommonOrder.setState(newCommonOrder.getState());
            updateCommonOrder.setStateWholeOrder(wholeOrderState);
            updateCommonOrder.setUpdateTime(new Date());
            updateCommonOrder.setTradeId(newCommonOrder.getTradeId());
            commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder);
            commonOrderList.add(commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId()));
            continue;
            // 交易ID一致才修改
            if (commonOrder.getTradeId() != null
                  && commonOrder.getTradeId().equalsIgnoreCase(newCommonOrder.getTradeId())) {
               CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
               updateCommonOrder.seteIncome(newCommonOrder.geteIncome());
               updateCommonOrder.setEstimate(newCommonOrder.getEstimate());
               updateCommonOrder.setPayment(newCommonOrder.getPayment());
               updateCommonOrder.setSettlement(newCommonOrder.getSettlement());
               updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime());
               updateCommonOrder.setState(newCommonOrder.getState());
               updateCommonOrder.setStateWholeOrder(wholeOrderState);
               updateCommonOrder.setUpdateTime(new Date());
               updateCommonOrder.setTradeId(newCommonOrder.getTradeId());
               commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder);
               commonOrderList.add(commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId()));
            } else
               commonOrderList.add(commonOrder);
         }
      }
      return commonOrderList;