package com.shlanbao.tzsc.pms.sys.user.service.impl;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import com.shlanbao.tzsc.base.model.SessionInfo;
|
import com.shlanbao.tzsc.utils.tools.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.shlanbao.tzsc.base.dao.SysUserDaoI;
|
import com.shlanbao.tzsc.base.mapping.SysModelPermis;
|
import com.shlanbao.tzsc.base.mapping.SysUser;
|
import com.shlanbao.tzsc.base.model.DataGrid;
|
import com.shlanbao.tzsc.base.model.PageParams;
|
import com.shlanbao.tzsc.base.service.BaseService;
|
import com.shlanbao.tzsc.pms.sys.user.beans.UserBean;
|
import com.shlanbao.tzsc.pms.sys.user.service.UserServiceI;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 用户管理业务实现类
|
* @author Leejean
|
* @create 2014年9月16日上午10:43:37
|
*/
|
@Service
|
public class UserServiceImpl extends BaseService implements UserServiceI{
|
@Autowired
|
private SysUserDaoI sysUserDao;
|
@Autowired
|
private HttpServletRequest request;
|
public UserBean getSysUserById(String id) throws Exception {
|
return BeanConvertor.copyProperties(sysUserDao.findById(SysUser.class, id), UserBean.class);
|
}
|
@Override
|
public UserBean login(UserBean user) throws Exception{
|
if(user!=null){
|
Object obj=sysUserDao.unique(
|
"from SysUser u where u.del=0 and u.enable=1 and ((u.loginName=? and u.pwd=?) or (u.eno=? and u.pwd=?))",
|
user.getLoginName(),
|
MD5Util.SHA256(user.getPwd()),
|
user.getLoginName(),
|
MD5Util.SHA256(user.getPwd()));
|
return obj==null?null:BeanConvertor.copyProperties(obj, UserBean.class);
|
}
|
return null;
|
}
|
|
@Override
|
public DataGrid querySysUser(UserBean userBean, PageParams pageParams) throws Exception{
|
String hql="from SysUser o where o.del=0";//1 deleted data is not visible
|
String params="";
|
if(StringUtil.notNull(userBean.getName())){
|
params+=" and (o.name like '%"+userBean.getName()+"%' or o.loginName like '%"+userBean.getName()+"%' or o.eno like '%"+userBean.getName()+"%')";
|
}
|
if(StringUtil.notNull(userBean.getGender())){
|
params+=" and o.gender ='"+userBean.getGender()+"'";
|
}
|
List<SysUser> rows=sysUserDao.queryByPage(hql.concat(params), pageParams);
|
hql="select count(*) from SysUser o where o.del=0";
|
try {
|
List<UserBean> beans = BeanConvertor.copyList(rows, UserBean.class);
|
for(int i=0;i<rows.size();i++){
|
beans.get(i).setCreateUserName(rows.get(i).getCreateUserName());
|
beans.get(i).setCreateDatetime(DateUtil.formatDateToString(rows.get(i).getCreateDatetime(),"yyyy-MM-dd HH:mm:ss"));
|
beans.get(i).setUpdateUserName(rows.get(i).getUpdateUserName());
|
beans.get(i).setModifyDatetime(DateUtil.formatDateToString(rows.get(i).getModifyDatetime(),"yyyy-MM-dd HH:mm:ss"));
|
}
|
long total=sysUserDao.queryTotal(hql.concat(params));
|
return new DataGrid(beans, total);
|
} catch (Exception e) {
|
log.error("POVO转换异常", e);
|
}
|
return null;
|
}
|
|
@Override
|
public void editPwd(String id, String pwd) {
|
SysUser user = sysUserDao.findById(SysUser.class, id);
|
user.setModifyDatetime(new Date());
|
user.setPwd(MD5Util.SHA256(pwd));
|
}
|
|
@LogAnno(operateType = "新建用户")
|
@Override
|
public void addSysUser(UserBean userBean) throws Exception {
|
SysUser sysUser=BeanConvertor.copyProperties(userBean, SysUser.class);
|
sysUser.setCreateDatetime(new Date());
|
sysUser.setModifyDatetime(new Date());
|
sysUser.setDel(0L);
|
sysUser.setEnable(1L);
|
sysUser.setPwd(MD5Util.SHA256("123456"));//default the password is 123456, when the project release ,use md5
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
sysUser.setCreateUserName(sessionInfo.getUser().getName());
|
sysUser.setUpdateUserName(sessionInfo.getUser().getName());
|
sysUserDao.save(sysUser);
|
}
|
|
@LogAnno(operateType = "修改用户")
|
@Override
|
public void editSysUser(UserBean userBean) throws Exception {
|
SysUser sysUser=sysUserDao.findById(SysUser.class, userBean.getId());
|
BeanConvertor.copyProperties(userBean, sysUser);
|
sysUser.setModifyDatetime(new Date());
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
sysUser.setUpdateUserName(sessionInfo.getUser().getName());
|
}
|
|
@LogAnno(operateType = "删除用户")
|
@Override
|
public void deleteSysUser(String id) throws Exception{
|
sysUserDao.findById(SysUser.class,id).setDel(1L);
|
}
|
|
@LogAnno(operateType = "批量删除用户")
|
@Override
|
public void batchDeleteSysUser(String ids) throws Exception {
|
for (String id : StringUtil.splitToStringList(ids, ",")) {
|
this.deleteSysUser(id);
|
}
|
}
|
@Override
|
public void batchInsert(List<UserBean> users) throws Exception {
|
try {
|
sysUserDao.batchInsert(users,SysUser.class);
|
} catch (Exception e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
|
}
|