package com.cmsz.ws.impl; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import com.cmsz.dao.UserInfoDaoSupport; import com.cmsz.vo.ResultVO; import com.cmsz.vo.UserInfoVO; import com.cmsz.ws.UserService; import com.hp.cmsz.entity.UserInfo; import com.hp.cmsz.repository.RoleInfoDao; import com.hp.cmsz.repository.UserInfoDao; import com.hp.cmsz.repository.UserRoleInfoDao; import com.hp.cmsz.service.authoritymanage.AuthorityManageService; public class UserServiceImpl implements UserService { private static Logger logger = LoggerFactory .getLogger(UserServiceImpl.class); public SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /* * @Autowired private UserInfoDao userInfoDao; * * @Autowired // 自动加载 private UserRoleInfoDao userRoleInfoDao; * * @Autowired private RoleInfoDao roleInfoDao; * * @Autowired // 自动加载 private AuthorityManageService authorityManageService; */ /** * 新增用户 */ public ResultVO addUserInfo(UserInfoVO vo) { logger.info("--Begin to add user---------"); ResultVO resultVO = new ResultVO(); UserInfoDaoSupport userInfoDao = new UserInfoDaoSupport(); String descript = ""; if (vo.getLoginUser() == null || vo.getLoginUser().equals("")) { descript = "登录帐号不能为空"; } else if (vo.getPassword() == null || vo.getPassword().equals("")) { descript = "用户密码不能为空"; } else if (vo.getDepartmentCode() == null || vo.getDepartmentCode().equals("")) { descript = "部门编码不能为空"; } else if (vo.getWorkCode() == null || vo.getWorkCode().equals("")) { descript = "工作组编号不能为空"; } else { try { List<UserInfoVO> userInfos = userInfoDao.findByUserName(vo .getLoginUser()); if (userInfos != null && userInfos.size() > 0) { logger.info("--List size is:" + userInfos.size()); descript = "登录帐号已存在"; } else { userInfoDao.createUser(vo); userInfoDao.closeAll(); /* * UserInfo newUserInfo = new UserInfo(); * newUserInfo.setUserName(vo.getLoginUser()); * SimpleDateFormat formatDate = new * SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date =new * Date(); newUserInfo.setCreateTime(new * Timestamp(formatDate * .parse(formatDate.format(date)).getTime())); * newUserInfo.setModifyTime(new * Timestamp(formatDate.parse(formatDate * .format(date)).getTime())); * newUserInfo.setUserDescription(vo.getNote()); * newUserInfo. * setDepartmentId(Long.valueOf(vo.getDepartmentCode())); * newUserInfo.setPassword(vo.getPassword()); * newUserInfo.setStaffname(vo.getStaffName()); * newUserInfo.setFlag(vo.getFlag()); * newUserInfo.setValidLength(vo.getValidLength()); * newUserInfo.setExpireDate(vo.getExpireDate()); * newUserInfo.setLogLock(vo.getLogLock()); * userInfoDao.save(newUserInfo);//添加用户 * * //添加用户对应的角色信息 String []roles = null; if * (vo.getWorkCode().indexOf(",") !=-1 ) { roles = * vo.getWorkCode().split("\\,"); } else { roles[0] = * vo.getWorkCode(); } for (int i = 0; i < roles.length; * i++) { UserRoleInfo ur = new UserRoleInfo(); * ur.setUserId(newUserInfo.getUserId()); RoleInfo roleInfo * = roleInfoDao.findByRoleType(roles[i]); * ur.setRoleId(roleInfo.getRoleId()); * userRoleInfoDao.save(ur); } */ } } catch (SQLException e) { descript = "添加用户失败"; e.printStackTrace(); try { userInfoDao.rollback(); userInfoDao.closeAll(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } if ("".equals(descript)) resultVO.setResult("0"); else resultVO.setResult("1"); resultVO.setResultDesc(descript); return resultVO; } /** * 删除用户 */ public ResultVO delUserInfo(String loginUser) { logger.info("开始删除用户----------"); ResultVO resultVO = new ResultVO(); String descript = ""; if (loginUser.equals("") || loginUser == null) { descript = "用户帐号不能为空"; } else { UserInfoDaoSupport userInfoDao = new UserInfoDaoSupport(); try { userInfoDao.delUserInfo(loginUser); userInfoDao.closeAll(); /* * UserInfo userInfo = userInfoDao.findByUserName(loginUser); * authorityManageService.deleteUserInfoByUserId(userInfo * .getUserId()); * authorityManageService.deleteUserRoleInfoByUserId(userInfo * .getUserId()); */ } catch (SQLException e) { descript = "删除用户失败"; e.printStackTrace(); try { userInfoDao.rollback(); userInfoDao.closeAll(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } if ("".equals(descript)) resultVO.setResult("0"); else resultVO.setResult("1"); resultVO.setResultDesc(descript); return resultVO; } /** * 更新用户 */ public ResultVO modifyUserInfo(UserInfoVO vo) { logger.info("开始修改用户信息----------"); ResultVO resultVO = new ResultVO(); UserInfoDaoSupport userInfoDao = new UserInfoDaoSupport(); String descript = ""; if (vo.getLoginUser() == null || vo.getLoginUser().equals("")) { descript = "登录帐号不能为空"; } else { try { List<UserInfoVO> userInfoVOs = userInfoDao.findByUserName(vo .getLoginUser()); if (userInfoVOs == null || userInfoVOs.size() == 0) { descript = "要更新的用户不存在"; } else { for (UserInfoVO userInfoVO : userInfoVOs) { userInfoDao.modifyUserInfo(userInfoVO); } userInfoDao.closeAll(); /* * userInfo.setUserName(vo.getLoginUser()); SimpleDateFormat * formatDate = new SimpleDateFormat( * "yyyy-MM-dd hh:mm:ss"); Date date = new Date(); * userInfo.setModifyTime(new Timestamp(formatDate.parse( * formatDate.format(date)).getTime())); * userInfo.setUserDescription(vo.getNote()); * userInfo.setDepartmentId(Long.valueOf(vo * .getDepartmentCode())); * userInfo.setPassword(vo.getPassword()); * userInfo.setStaffname(vo.getStaffName()); * userInfo.setFlag(vo.getFlag()); * userInfo.setValidLength(vo.getValidLength()); * userInfo.setExpireDate(vo.getExpireDate()); * userInfo.setLogLock(vo.getLogLock()); * userInfoDao.save(userInfo); * * authorityManageService.deleteUserRoleInfoByUserId(userInfo * .getUserId()); String[] roles = null; if * (vo.getWorkCode().indexOf(",") != -1) { roles = * vo.getWorkCode().split("\\,"); } else { roles[0] = * vo.getWorkCode(); } for (int i = 0; i < roles.length; * i++) { UserRoleInfo ur = new UserRoleInfo(); * ur.setUserId(userInfo.getUserId()); RoleInfo roleInfo = * roleInfoDao .findByRoleType(roles[i]); * ur.setRoleId(roleInfo.getRoleId()); * userRoleInfoDao.save(ur); } */ } } catch (SQLException e) { descript = "用户信息更新失败"; e.printStackTrace(); try { userInfoDao.rollback(); userInfoDao.closeAll(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } if ("".equals(descript)) resultVO.setResult("0"); else resultVO.setResult("1"); resultVO.setResultDesc(descript); return resultVO; } /** * 修改密码 */ public ResultVO modifyUserPassword(String loginUser, String oldPassword, String newPassword) { logger.info("开始更新用户密码----------"); ResultVO resultVO = new ResultVO(); String descript = ""; if (loginUser.equals("") || loginUser == null) { descript = "登录帐号不能为空"; } else if (newPassword.equals("") || newPassword == null) { descript = "新密码不能为空"; } else { UserInfoDaoSupport userInfoDao = new UserInfoDaoSupport(); try { userInfoDao.modifyUserPassword(loginUser, oldPassword, newPassword); userInfoDao.closeAll(); } catch (SQLException e) { descript = "修改密码失败"; e.printStackTrace(); try { userInfoDao.rollback(); userInfoDao.closeAll(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } /* * UserInfo userInfo = userInfoDao.findByUserName(loginUser); if * (userInfo == null) { descript = "登录帐号不存在"; } else { * authorityManageService.modifyUserPassword(loginUser, oldPassword, * newPassword); } */ } if ("".equals(descript)) resultVO.setResult("0"); else resultVO.setResult("1"); resultVO.setResultDesc(descript); return resultVO; } /** * 查询用户 */ public List<UserInfoVO> queryUserInfo(String loginUser) { // logger.info("Begin to run---------------"); List<UserInfoVO> userList = new ArrayList<UserInfoVO>(); UserInfoDaoSupport userInfoDao = new UserInfoDaoSupport(); try { userList = userInfoDao.findByUserName(loginUser); userInfoDao.closeAll(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } // userList.add(userInfoVO); // List<UserInfo> userInfoList = new ArrayList<UserInfo>(); /* * userInfoList=authorityManageService.getAllUserInfo(); * * if ("".equals(loginUser)|| loginUser == null) { * logger.info("--lginUser is null"); //userInfoList = (List<UserInfo>) * userInfoDao.findAll(); * userInfoList=authorityManageService.getAllUserInfo(); * * } else { //userInfoList = (List<UserInfo>) * userInfoDao.findByUserName(loginUser); * logger.info("--llginUser is not null"); UserInfo * userInfo=authorityManageService.getUserInfoByUserName(loginUser); * userInfoList.add(userInfo); } */ /* * for (int i = 0; i < userInfoList.size(); i++) { UserInfoVO vo = new * UserInfoVO(); * vo.setDepartmentCode(String.valueOf(userInfoList.get(i). * getDepartmentId())); * vo.setExpireDate(userInfoList.get(i).getExpireDate()); * vo.setFlag(userInfoList.get(i).getFlag()); * vo.setLoginUser(userInfoList.get(i).getUserName()); * vo.setLogLock(userInfoList.get(i).getLogLock()); * vo.setNote(userInfoList.get(i).getUserDescription()); * vo.setPassword(userInfoList.get(i).getPassword()); * vo.setStaffName(userInfoList.get(i).getStaffname()); * vo.setValidLength(userInfoList.get(i).getValidLength()); * List<UserRoleInfo> userRoleInfoList = * authorityManageService.getUserRoleInfoByUserId * (userInfoList.get(i).getUserId()); List<String> roleTypeList = new * ArrayList<String>(); */ /* * for (int t = 0; t < userRoleInfoList.size(); t++) { String roleType = * authorityManageService * ..findByRoleId(userRoleInfoList.get(t).getRoleId()).getRoleType(); * roleTypeList.add(roleType); } String roleTypeListStr = * CommonUtil.toString(roleTypeList, ","); * vo.setWorkCode(roleTypeListStr); */ // userList.add(vo); // } return userList; } public Date getFormatDate(String date) { if (date == null || "".equals(date)) { return null; } try { return sdf.parse(date); } catch (ParseException e) { logger.error("日起转换错误:" + e.getMessage()); return null; } } public String getFormatDate(Date date) { if (date == null) return ""; return sdf.format(date); } }