package com.yeshi.fanli.service.impl.user;
|
|
import java.io.Serializable;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.hibernate.HibernateException;
|
import org.hibernate.Query;
|
import org.hibernate.Session;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.dao.user.PassWordErrorRecordDao;
|
import com.yeshi.fanli.entity.bus.user.PassWordErrorRecord;
|
import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService;
|
|
@Service
|
public class PassWordErrorRecordServiceImpl implements
|
PassWordErrorRecordService {
|
|
@Resource
|
public PassWordErrorRecordDao passWordErrorRecordDao;
|
|
public PassWordErrorRecord getRecord(long uid) {
|
|
List<PassWordErrorRecord> list = passWordErrorRecordDao.list("from PassWordErrorRecord r where r.userInfo.id = ?", new Serializable[]{uid});
|
|
if(list.size() > 0){
|
return list.get(0);
|
}
|
|
return new PassWordErrorRecord();
|
}
|
|
public int setRecord(final PassWordErrorRecord record) {
|
return (Integer) passWordErrorRecordDao.excute(new HibernateCallback() {
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
session.getTransaction().begin();
|
try {
|
int count = record.getCount();
|
record.setCount(++count);
|
session.saveOrUpdate(record);
|
session.flush();
|
session.getTransaction().commit();
|
} catch (Exception e) {
|
e.printStackTrace();
|
session.getTransaction().rollback();
|
return record.getCount()-1;
|
}
|
return record.getCount();
|
}
|
});
|
}
|
|
public void saveOrUpdate(final PassWordErrorRecord record) {
|
passWordErrorRecordDao.excute(new HibernateCallback() {
|
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
try {
|
session.getTransaction().begin();
|
session.saveOrUpdate(record);
|
session.getTransaction().commit();
|
} catch (Exception e) {
|
e.printStackTrace();
|
session.getTransaction().rollback();
|
}
|
return null;
|
}
|
});
|
|
}
|
|
@Transactional
|
public void deleteRecord(final long uid) {
|
passWordErrorRecordDao.excute(new HibernateCallback() {
|
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
Query q = session.createQuery("delete from PassWordErrorRecord p where p.userInfo.id = ? ");
|
q.setParameter(0, uid);
|
q.executeUpdate();
|
return null;
|
}
|
});
|
}
|
|
@Override
|
public void deletePasswordErrorRecord() {
|
passWordErrorRecordDao.excute(new HibernateCallback() {
|
|
public Object doInHibernate(Session session)
|
throws HibernateException {
|
Query q = session.createQuery("DELETE FROM PassWordErrorRecord");
|
q.executeUpdate();
|
return null;
|
}
|
});
|
}
|
|
}
|