admin
2019-03-22 31c87f9868f01facd0c360ab49e3970beca9988d
fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java
@@ -1,6 +1,5 @@
package com.yeshi.fanli.service.impl.user;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
@@ -9,11 +8,6 @@
import javax.annotation.Resource;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -26,7 +20,6 @@
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.AlipayAccountValidNormalHistory;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -46,61 +39,46 @@
@Service
public class BindingAccountServiceImpl implements BindingAccountService {
   @Resource
   private BindingAccountDao bindingAccountDao;
   @Resource
   private BindingAccountMapper bindingAccountMapper;
   @Resource
   private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper;
   @Resource
   private UserInfoMapper userInfoMapper;
   @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 });
      return bindingAccountMapper.selectByUid(uid);
   }
   public void addBindingAccount(BindingAccount addAccount) throws BindingAccountException {
      List<BindingAccount> list = bindingAccountDao.list(
            "from BindingAccount ba where ba.userInfo.id=? and ba.type=?",
            new Serializable[] { addAccount.getUserInfo().getId(), addAccount.getType() });
      if (list == null || list.size() == 0) {
         bindingAccountDao.save(addAccount);
      BindingAccount account = bindingAccountMapper.selectByUidAndType(addAccount.getUserInfo().getId(),
            addAccount.getType());
      if (account == null) {
         bindingAccountMapper.insertSelective(addAccount);
      } else {
         throw new BindingAccountException(Constant.BA_EXIST);
      }
   }
   public Integer deleteBindingAccount(final BindingAccount account) {
      return (Integer) bindingAccountDao.excute(new HibernateCallback() {
         public Integer doInHibernate(Session session) throws HibernateException {
            Transaction transaction = session.beginTransaction();
            Query delete = session.createQuery("delete BindingAccount ba where ba.userInfo.id=? and ba.type=?");
            delete.setLong(0, account.getUserInfo().getId());
            delete.setInteger(1, account.getType());
            int update = delete.executeUpdate();
            transaction.commit();
            return update;
         }
      });
   @Transactional
   public Integer deleteBindingAccount(BindingAccount account) {
      BindingAccount oldAccount = bindingAccountMapper.selectByUidAndType(account.getUserInfo().getId(),
            account.getType());
      if (oldAccount != null)
         bindingAccountMapper.deleteByPrimaryKey(oldAccount.getId());
      return 1;
   }
   public BindingAccount getBindingAccountByUidAndType(long uid, int type) {
      List<BindingAccount> list = bindingAccountDao
            .list("from BindingAccount ba where ba.userInfo.id=? and ba.type=?", new Serializable[] { uid, type });
      if (list != null && list.size() != 0) {
         return list.get(0);
      }
      return null;
      BindingAccount account = bindingAccountMapper.selectByUidAndType(uid, type);
      return account;
   }
   @Override
@@ -113,11 +91,11 @@
         bindingAccount.setName(name);
         bindingAccount.setType(BindingAccount.TYPE_ALIPAY);
         bindingAccount.setUserInfo(new UserInfo(uid));
         bindingAccountDao.create(bindingAccount);
         bindingAccountMapper.insertSelective(bindingAccount);
      } else {
         bindingAccount.setName(name);
         bindingAccount.setAccount(account);
         bindingAccountDao.update(bindingAccount);
         bindingAccountMapper.updateByPrimaryKeySelective(bindingAccount);
      }
      return bindingAccount;
   }