Administrator
2020-02-23 388be9f734f5b80c348bcc956726c206002e832a
fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java
@@ -9,8 +9,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.AlipayAccountValidNormalHistoryMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDebtMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDebtReturnHistoryMapper;
import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.money.UserMoneyDebt;
import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum;
@@ -20,13 +22,14 @@
import com.yeshi.fanli.exception.money.UserMoneyDebtException;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService;
import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserMoneyService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@Service
@@ -56,6 +59,9 @@
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper;
   @Override
   public void addUserMoneyDebt(UserMoneyDebt debt) throws UserMoneyDebtException {
      if (debt == null)
@@ -76,7 +82,7 @@
         UserMoneyDebt old = userMoneyDebtMapper.selectByUidAndTypeAndSourceId(debt.getUid(), debt.getType(),
               debt.getSourceId());
         if (old != null) {
            throw new UserMoneyDebtException(3, "对应维权已经存在");
            throw new UserMoneyDebtException(3, "对应售后已经存在");
         }
         userMoneyDebtMapper.insertSelective(debt);
      }
@@ -88,7 +94,7 @@
      return userMoneyDebtMapper.selectByTypeAndSourceId(type, sourceId);
   }
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   @Override
   public void repayDebt(UserMoneyDebt debt, BigDecimal money) throws UserMoneyDebtException {
      if (debt == null || debt.getId() == null)
@@ -145,8 +151,8 @@
            }
            // 新版通知
            userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), money,
                  userInfoService.getBalance(uid));
            userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(),
                  Constant.SOURCE_TYPE_TAOBAO, money, userInfoService.getBalance(uid));
            break;
         case HongBaoV2.TYPE_SHARE_GOODS:
@@ -158,7 +164,7 @@
               userMoneyService.subUserMoney(uid, money, userMoneyDetail);
               userMoneyMsgNotificationService.shareOrderWeiQuan(debt.getUid(), weiQuanDrawBack.getOrderId(),
                     money, userInfoService.getBalance(uid));
                     Constant.SOURCE_TYPE_TAOBAO, money, userInfoService.getBalance(uid));
            } catch (UserMoneyDetailException e) {
               throw new UserMoneyDebtException(12, "插入资金详情出错");
@@ -179,14 +185,29 @@
            }
            // 新版通知
            userMoneyMsgNotificationService.inviteOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), money,
                  userInfoService.getBalance(uid));
            userMoneyMsgNotificationService.inviteOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(),
                  Constant.SOURCE_TYPE_TAOBAO, money, userInfoService.getBalance(uid));
            break;
         }
      } else if (debt.getType() == UserMoneyDebtTypeEnum.extractVerify) {// 提现验证
         // 新版资金记录
         AlipayAccountValidNormalHistory aliPayAccountHistory = alipayAccountValidNormalHistoryMapper
               .selectByPrimaryKey(debt.getSourceId());
         if (aliPayAccountHistory == null)
            return;
         try {
            UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractAccountValid(aliPayAccountHistory,
                  money);
            userMoneyService.subUserMoney(aliPayAccountHistory.getUid(), money, userMoneyDetail);
         } catch (UserMoneyDetailException e) {
            throw new UserMoneyDebtException(12, "插入资金详情出错");
         }
         userMoneyMsgNotificationService.alipayAccountValid(aliPayAccountHistory);
      }
   }
   @Transactional
   @Transactional(rollbackFor=Exception.class)
   @Override
   public void repayDebt(Long uid) {
      // 查询是否有欠债
@@ -209,4 +230,12 @@
      }
   }
   @Override
   public boolean isHaveDebtToRepay(Long uid) {
      List<UserMoneyDebt> debtList = userMoneyDebtMapper.listByUidWithHasLeftMoney(uid, 0, 1);
      if (debtList != null && debtList.size() > 0)
         return true;
      return false;
   }
}