admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.dao.mybatis.order.OrderRepairHistoryMapper;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.money.ExtractCheckCompensate;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
@@ -48,18 +49,18 @@
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.OrderRepairHistoryService;
import com.yeshi.fanli.service.inter.order.OrderRepairService;
import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.service.inter.push.PushInfoService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
@@ -69,7 +70,7 @@
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -147,7 +148,7 @@
   @Resource
   private ExtractCheckCompensateMapper extractCheckCompensateMapper;
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void repairOrder(String orderId) throws Exception {
      // 比较CommonOrder与TaoBaoOrder的预估收益
@@ -289,7 +290,7 @@
         wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO;
      for (TaoBaoOrder taoBaoOrder : taoBaoOrderList) {
         CommonOrder commonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
         CommonOrder commonOrder = CommonOrderFactory.create(taoBaoOrder);
         commonOrder.setStateWholeOrder(wholeOrderState);
         commonOrder.setCommonOrderGoods(getCommonOrderGoods(taoBaoOrder.getAuctionId()));
         commonOrder.setUserInfo(new UserInfo(mainUid));
@@ -391,10 +392,10 @@
   }
   // 修改订单信息
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   private void updateOrderInfo(TaoBaoOrder taoBaoOrder, Long commonOrderId) throws Exception {
      HongBaoOrder hongBaoOrder = hongBaoOrderService.selectDetailByCommonOrderId(commonOrderId);
      CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder);
      CommonOrder newCommonOrder = CommonOrderFactory.create(taoBaoOrder);
      List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper
            .listByGoodsIdAndGoodsType(taoBaoOrder.getAuctionId() + "", newCommonOrder.getSourceType());
      CommonOrderGoods cog = null;
@@ -432,7 +433,8 @@
      CommonOrder commonOrder = commonOrderService.selectByPrimaryKey(newCommonOrder.getId());
      if (hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_ZIGOU) {
         BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime());
         BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
               commonOrder.getCreateTime().getTime());
         // 免单处理
         boolean mianDan = false;
         List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO,
@@ -442,7 +444,8 @@
            if (commonOrder.getState() == CommonOrder.STATE_JS)
               payMent = commonOrder.getSettlement();
            if (payMent.compareTo(new BigDecimal(10)) < 0) {
               mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),commonOrder.getOrderNo());
               mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),
                     commonOrder.getOrderNo());
            }
         }
@@ -519,7 +522,8 @@
            }
      } else if (hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) {
         BigDecimal fanliRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime());
         BigDecimal fanliRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
               commonOrder.getCreateTime().getTime());
         List<ShareGoodsActivityOrder> list = shareGoodsActivityOrderService
               .listByOrderIdAndUid(commonOrder.getUserInfo().getId(), commonOrder.getOrderNo());
         if (list != null && list.size() > 0) {
@@ -598,7 +602,7 @@
      }
   }
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   public void addOrder(CommonOrder commonOrder, int type, Long firstUid, Long secondUid) throws Exception {
      // 增加commonOrder
      commonOrder.setCreateTime(commonOrder.getThirdCreateTime());
@@ -637,7 +641,8 @@
      // 添加红包
      if (type == HongBaoV2.TYPE_ZIGOU) {// 获取自购的返利比例
         BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime());
         BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
               commonOrder.getCreateTime().getTime());
         // 查询是否有免单计划
         BigDecimal mianDanMoney = null;
         if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK) {
@@ -813,7 +818,8 @@
         if (commonOrder.getState() == CommonOrder.STATE_SX || commonOrder.getState() == CommonOrder.STATE_WQ)
            return;
         // 分享赚
         BigDecimal shareRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime());
         BigDecimal shareRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
               commonOrder.getCreateTime().getTime());
         HongBaoV2 hongBao = new HongBaoV2();
         hongBao.setBeizhu("2019年7月批量修改");
@@ -960,7 +966,7 @@
      return orderInfoMap.get(orderId);
   }
   @Transactional
   @Transactional(rollbackFor = Exception.class)
   @Override
   public void repireFirstAndSecondLevel(String orderId) throws Exception {
      repireFirstShare(orderId);
@@ -1318,7 +1324,7 @@
            // 加资金
            userMoneyService.addUserMoney(uid, money, detail);
            pushMsg(uid, "关于近期订单与资金异常的排查与修复结果通知",
                  "尊敬的用户,经仔细核对您账户中的订单,发现您账户中有未统计或错误统计的订单,我们已经为您补齐资金,对应资金已经存入您的账户余额中,敬请查收注查收。感谢信任,返利券App终将成为您最信任的购物省钱助手。");
                  "尊敬的用户,经仔细核对您账户中的订单,发现您账户中有未统计或错误统计的订单,我们已经为您补齐资金,对应资金已经存入您的账户余额中,敬请查收注查收。感谢信任,板栗快省App终将成为您最信任的购物省钱助手。");
            userMoneyMsgNotificationService.systemEqualize(uid, "订单统计异常修复", money, userInfoService.getBalance(uid));
         } catch (UserMoneyDetailException e) {
            e.printStackTrace();
@@ -1326,7 +1332,7 @@
      } else {// 资金需要减少,不要扣钱
         pushMsg(uid, "关于近期订单与资金异常的排查与修复结果通知",
               "尊敬的用户,经仔细核对您账户中的订单,发现您账户中有错误统计的订单,我们已经为您恢复正常,所涉及订单多统计出来的资金,不会被扣除,即您账户中的资金将保持不变,已提现的资金,也不会收回,敬请知晓。感谢信任,返利券App终将成为您最信任的购物省钱助手。");
               "尊敬的用户,经仔细核对您账户中的订单,发现您账户中有错误统计的订单,我们已经为您恢复正常,所涉及订单多统计出来的资金,不会被扣除,即您账户中的资金将保持不变,已提现的资金,也不会收回,敬请知晓。感谢信任,板栗快省App终将成为您最信任的购物省钱助手。");
         // userMoneyMsgNotificationService.systemEqualize(uid, "订单统计异常修复",
         // money, userInfoService.getBalance(uid));
         // 加入提现审核异常保护中