package com.lst.lc.dao.impl;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import com.lst.lc.dao.LetterDao;
import com.lst.lc.entities.Letter;
import com.lst.lc.entities.LetterId;
@Repository("letterDao")
public class LetterDaoImpl extends BaseDao implements LetterDao {
@Override
public void add(Letter letter) {
save(letter);
getSession().flush();
}
@Override
public void updateState(int fromUid, int toUid, String date, int State) {
String hql = "update Letter as letter set letter.state = ? where letter.id.fromUid = ? and letter.id.toUid = ? and letter.id.time = ?";
Query query = query(hql).setInteger(0, State).setInteger(1, fromUid).setInteger(2, toUid).setString(3, date);
query.executeUpdate();
}
@Override
public List<Letter> getAll(int uid) {
String hql = "from Letter as letter where letter.id.toUid = ? order by letter.id.time desc";
Query query = query(hql).setInteger(0, uid);
return query.list();
}
@Override
public int getUnRead(int uid) {
String hql = "from Letter as letter where letter.id.toUid = ? and letter.state = 0 order by letter.id.time desc";
Query query = query(hql).setInteger(0, uid);
return query.list().size();
}
}