admin
2019-03-13 69bee82b81626b82b7f39f0e459e4f56b1699b51
fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java
@@ -22,23 +22,25 @@
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper;
import com.yeshi.fanli.dao.mybatis.AlipayAccountValidNormalHistoryMapper;
import com.yeshi.fanli.dao.mybatis.BindingAccountMapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
import com.yeshi.fanli.dao.user.BindingAccountDao;
import com.yeshi.fanli.entity.bus.user.AccountDetails;
import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.exception.AlipayAccountException;
import com.yeshi.fanli.exception.AlipayTransferException;
import com.yeshi.fanli.exception.BindingAccountException;
import com.yeshi.fanli.exception.money.UserMoneyDetailException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.BindingAccountService;
import com.yeshi.fanli.service.inter.user.UserNotificationService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import net.sf.json.JSONObject;
@@ -53,10 +55,12 @@
   private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper;
   @Resource
   private UserInfoMapper userInfoMapper;
   @Resource
   private AccountDetailsMapper accountDetailsMapper;
   @Resource
   private UserNotificationService userNotificationService;
   @Resource
   private UserMoneyDetailMapper userMoneyDetailMapper;
   public List<BindingAccount> getBindingAccountByUid(long uid) {
      return bindingAccountDao.list("from BindingAccount ba where ba.userInfo.id=?", new Serializable[] { uid });
@@ -168,10 +172,18 @@
      history.setName(name);
      history.setUid(uid);
      alipayAccountValidNormalHistoryMapper.insertSelective(history);
      // 资金记录 站内信
      AccountDetails accountDetails = AccountDetailsFactory.create("-" + money.toString(),
            AccountDetailsFactory.VALID_ALIPAY_ACCOUNT, null, null, new UserInfo(uid));
      accountDetailsMapper.insertSelective(accountDetails);
      // 新版资金
      try {
         UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractAccountValid(history, money);
         userMoneyDetailMapper.insert(userMoneyDetail);
      } catch (UserMoneyDetailException e) {
         try {
            LogHelper.errorDetailInfo(e);
         } catch (Exception e1) {
            e1.printStackTrace();
         }
      }
      userNotificationService.alipayAccountValidRight(uid, money, account);
   }
@@ -254,7 +266,7 @@
         caLatest.setTimeInMillis(latest.getCreateTime().getTime());
         Calendar nowLatest = Calendar.getInstance();
         if (caLatest.get(Calendar.MONTH) == nowLatest.get(Calendar.MONTH))// 上次更改和现在是同一个月
            throw new BindingAccountException(2, "本月支付宝绑定次数超限");
            throw new BindingAccountException(2, "每月仅可修改1次提现账号,请下月再试吧。");
      }
      return true;
   }