package cn.me.fdfs.service.impl;
import cn.me.fdfs.service.BaseService;
import cn.me.fdfs.service.UserService;
import cn.me.fdfs.vo.User;
import cn.me.fdfs.vo.WarningUser;
import org.csource.common.MyException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: wanglt
* Date: 12-8-31 WarningServiceImpl
* Time: 上午9:44
* To change this template use File | Settings | File Templates.
*/
@Service
public class UserServiceImpl extends BaseService implements UserService {
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<User> userlist(String username) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<User> users = new ArrayList<User>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from User as u ");
if(username!=null&&username!=""){
queryString.append("where u.name like '%"+username+"%'");
}
Query query = session.createQuery(queryString.toString());
users = query.list();
return users;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void updateOrSaveUser(User user) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
Session session = getSession();
session.saveOrUpdate(user);
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public User findById(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
User u=new User();
Session session = getSession();
u= (User) session.get(WarningUser.class,id);
return u;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void delUser(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
User u=new User();
u.setId(id);
Session session = getSession();
session.delete(u);
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public boolean login(String name, String password) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<User> users = new ArrayList<User>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from User as u where u.name=:name and u.psword=:password");
Query query = session.createQuery(queryString.toString());
users = query.setParameter("name",name)
.setParameter("password",password)
.list();
boolean res=false;
if(!users.isEmpty()){
res=true;
}
return res;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public User findByName(String name) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
User user = null;
List<User> users = new ArrayList<User>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from User as u where u.name=:name ");
Query query = session.createQuery(queryString.toString());
users = query.setParameter("name",name)
.list();
if(!users.isEmpty()){
user=users.get(0);
}
return user;
}
}