zhuguifei
2026-03-10 58402bd5e762361363a0f7d7907153c77dbb819f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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();
        }
    }
    
}