admin
2019-03-12 efba42a325e1cf71c1d0f7a6ac46a0141c23443a
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -17,7 +17,6 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
@@ -32,7 +31,6 @@
import com.yeshi.fanli.dao.mybatis.order.OrderMapper;
import com.yeshi.fanli.dao.mybatis.share.PidUserMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
import com.yeshi.fanli.entity.bus.user.AccountDetails;
import com.yeshi.fanli.entity.bus.user.HongBao;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.Order;
@@ -70,11 +68,11 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserNotificationService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@Service
@@ -109,9 +107,6 @@
   @Resource
   private HongBaoManageMapper hongBaoManageMapper;
   @Resource
   private AccountDetailsMapper accountDetailsMapper;
   @Resource
   private AccountMessageMapper accountMessageMapper;
@@ -166,6 +161,9 @@
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
   @Resource
   private UserSystemCouponService userSystemCouponService;
   @Override
   public void processOrder(Map<String, List<TaoBaoOrder>> orders) {
@@ -287,7 +285,16 @@
         Iterator<String> its = orders.keySet().iterator();
         while (its.hasNext()) {
            String orderId = its.next();
            processShareGoodsOrderNew(orderId, orders.get(orderId));
            try {
               processShareGoodsOrderNew(orderId, orders.get(orderId));
            } catch (Exception e) {
               try {
                  LogHelper.errorDetailInfo(e, "processShareGoodsOrderNew出错", "订单号:" + orderId);
               } catch (Exception e1) {
                  e1.printStackTrace();
               }
            }
         }
      }
   }
@@ -473,31 +480,27 @@
         // 将自己添加到用户
         Long uid = its.next();
         BigDecimal money = userMoney.get(uid);
         userInfoMapper.addHongBaoByUid(uid, money);
         AccountDetails accountDetails = AccountDetailsFactory.create("+" + money, AccountDetailsFactory.FANLI, null,
               null, new UserInfo(uid));
         accountDetailsMapper.insertSelective(accountDetails);
         UserMoneyDetail userMoneyDetail = null;
         // 插入新版资金明细
         try {
            UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createFanLi(uid,
                  hongBaoOrder.getCommonOrder().getOrderNo(), hongBaoOrder.getCommonOrder().getSourceType(), null,
                  money);
            userMoneyDetail.setId(accountDetails.getId());
            userMoneyDetailMapper.insert(userMoneyDetail);
            userMoneyDetail = UserMoneyDetailFactory.createFanLi(uid, hongBaoOrder.getCommonOrder().getOrderNo(),
                  hongBaoOrder.getCommonOrder().getSourceType(), null, money);
         } catch (UserMoneyDetailException e1) {
            try {
               LogHelper.errorDetailInfo(e1);
               LogHelper.errorDetailInfo(e1, "订单号:" + hongBaoOrder.getCommonOrder().getOrderNo(), "");
            } catch (Exception e2) {
               e2.printStackTrace();
            }
         }
         userMoneyDetailMapper.insert(userMoneyDetail);
         // 添加资金明细与红包的映射关系
         for (HongBaoV2 v2 : userHongBao.get(uid)) {
            accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), accountDetails.getId());
            accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId());
         }
         // 增加用户资金
         userInfoMapper.addHongBaoByUid(uid, money);
         // 站内信+推送
         UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
@@ -515,7 +518,12 @@
         // 新版通知
         userMoneyMsgNotificationService.fanliOrderReceived(uid, hongBaoOrder.getCommonOrder().getOrderNo(),
               userGoodsCount.get(uid), money, user.getMyHongBao());
      }
      // 通知免单到账
      try {
         userSystemCouponService.updateStateByArrivalAccount(hongBaoOrder.getCommonOrder().getOrderNo());
      } catch (Exception e) {
         e.printStackTrace();
      }
      // 维权扣款(2018-08-05后开始实行)
@@ -694,10 +702,6 @@
      // 邀请赚到账
      if (invitemoney.compareTo(new BigDecimal(0)) > 0) {
         userInfoMapper.addHongBaoByUid(uid, invitemoney);
         // 添加记录
         AccountDetails accountDetails = AccountDetailsFactory.create("+" + invitemoney,
               AccountDetailsFactory.TICHENG, null, null, new UserInfo(uid));
         accountDetailsMapper.insertSelective(accountDetails);
         // 添加新版详情记录
         try {
@@ -718,8 +722,9 @@
            UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, (int) validCount,
                  (int) weiQuanCount, (int) invalidCount, invitemoney, new Date());
            userMoneyDetail.setId(accountDetails.getId());
            userMoneyDetailMapper.insert(userMoneyDetail);
            // 添加到红包返利记录集合
            accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, userMoneyDetail.getId());
         } catch (UserMoneyDetailException e) {
            try {
               LogHelper.errorDetailInfo(e);
@@ -727,11 +732,6 @@
               e1.printStackTrace();
            }
         }
         // 记录返利红包与资金详情的对应关系
         // 添加到红包返利记录集合
         accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, accountDetails.getId());
         // 发送推送
         try {
@@ -798,11 +798,6 @@
      if (sharemoney.compareTo(new BigDecimal(0)) > 0) {
         userInfoMapper.addHongBaoByUid(uid, sharemoney);
         // 添加记录
         AccountDetails accountDetails = AccountDetailsFactory.create("+" + sharemoney,
               AccountDetailsFactory.SHARE_GOODS, null, null, new UserInfo(uid));
         accountDetailsMapper.insertSelective(accountDetails);
         // 添加新版详情记录
         try {
            // 计算本月的有效订单,失效订单,维权订单
@@ -823,8 +818,9 @@
            UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, (int) validCount,
                  (int) weiQuanCount, (int) invalidCount, sharemoney, new Date());
            userMoneyDetail.setId(accountDetails.getId());
            userMoneyDetailMapper.insert(userMoneyDetail);
            // 添加到红包返利记录集合
            accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, userMoneyDetail.getId());
         } catch (UserMoneyDetailException e) {
            try {
               LogHelper.errorDetailInfo(e);
@@ -832,10 +828,6 @@
               e1.printStackTrace();
            }
         }
         // 记录返利红包与资金详情的对应关系
         // 添加到红包返利记录集合
         accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(hbIdList, accountDetails.getId());
         // 发送推送
         try {
@@ -953,7 +945,7 @@
            hongBaoV2Service.addHongBao(commonOrderList, HongBaoV2.TYPE_ZIGOU);
         } catch (CommonOrderException e) {
            try {
               LogHelper.errorDetailInfo(e, null, "订单号:" + orderId);
               LogHelper.errorDetailInfo(e, "addTaoBaoOrder或addHongBao出错", "订单号:" + orderId);
            } catch (Exception e1) {
               e1.printStackTrace();
            }