package com.zteits.sys.dao.impl; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.apache.commons.collections4.CollectionUtils; import com.clouds.common.utils.MD5Utils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.dto.sys.param.QuerySysOpByorgIdsReq; import com.zteits.clouds.api.dto.sys.param.SysOpDeleteRequest; import com.zteits.clouds.api.dto.sys.param.SysOpForPageRequest; import com.zteits.clouds.api.dto.sys.param.SysOpQueryMenuRequest; import com.zteits.clouds.api.dto.sys.param.SysOpQueryRequest; import com.zteits.clouds.api.dto.sys.param.SysOpRoleSaveOrModfiyRequest; import com.zteits.clouds.api.dto.sys.param.SysOpSaveOrModfiyRequest; import com.zteits.clouds.api.dto.sys.param.SysOpUpdatePasswordRequest; import com.zteits.clouds.api.dto.sys.param.UpdateSysOpOrgIdRequest; import com.zteits.sys.biz.SysOpServiceImpl; import com.zteits.sys.dao.SysOpDao; import com.zteits.sys.domain.SysOp; import com.zteits.sys.domain.SysRes; import com.zteits.sys.mapper.SysOpMapper; import com.zteits.sys.mapper.smapper.SysOpOrgSmapper; import com.zteits.sys.mapper.smapper.SysOpRoleSmapper; import com.zteits.sys.mapper.smapper.SysOpSmapper; /** * 系统用户dao接口实现类.
* * Copyright: Copyright (c) 2017 zteits * * @ClassName: UserDao.java * @Description: * @version: v1.0.0 * @author: wangfs * @date: 2017年4月21日 下午5:47:27 * Modification History: * Date Author Version Description *---------------------------------------------------------* * 2017年4月21日 wangfs v1.0.0 创建 */ @Component public class SysOpDaoImpl implements SysOpDao { private static final Logger logger = LoggerFactory.getLogger(SysOpDaoImpl.class); @Autowired private SysOpSmapper sysOpSmapper; @Autowired private SysOpMapper sysOpMapper; /** * 用户角色关系smapper.
*/ @Autowired private SysOpRoleSmapper sysOpRoleSmapper; @Autowired private SysOpOrgSmapper sysOpOrgSmapper; @Override public List querySysOpByIds(List opIds, Integer dataStatus, String sysCode) throws Exception { return sysOpSmapper.querySysOpByIds(opIds, dataStatus, sysCode); } @Override public SysOp querySysOp(SysOpQueryRequest sysOpQueryRequest) throws Exception { SysOp sysOp = new SysOp(); BeanUtils.copyProperties(sysOpQueryRequest, sysOp); return sysOpSmapper.querySysOp(sysOp); } @Override public PageInfo queryUserForPage(SysOp sysOp,Integer pageSize,Integer pageNum) throws Exception { // 1.设置分页信息 PageHelper.startPage(pageNum,pageSize); //2.查询数据 List list = sysOpSmapper.querySysOpForList(sysOp); return (list != null && list.size() >0) ? new PageInfo(list):new PageInfo(new ArrayList()); } @Transactional @Override public Boolean deleteSysOp(SysOp sysOp) throws Exception { int updateCount = sysOpSmapper.updateByPrimaryKeySelective(sysOp); return updateCount >0 ? true :false; } @Transactional @Override public Boolean saveSysOp(SysOp sysOp) throws Exception { int saveCount = sysOpSmapper.saveSysOp(sysOp); return saveCount >0 ? true :false; } @Transactional @Override public Boolean modfiySysOp(SysOp sysOp) throws Exception { int updateCount = sysOpSmapper.updateByPrimaryKeySelective(sysOp); return updateCount >0 ? true :false; } /** * 保存/修改用户与角色关系.
* 保存修改处理逻辑: * 1.先删除掉用户角色关系. * 2.然后全量保存.
* @param SysOpRoleSaveOrModfiyRequest * @return */ @Transactional @Override public Boolean saveOrModfiySysOpAndSysRoleRelation(SysOpRoleSaveOrModfiyRequest sysOpRoleSaveOrModfiyRequest) throws Exception { int insertCount = 1; logger.info("--begin通过操作员id删除用户角色关系,入参={}",sysOpRoleSaveOrModfiyRequest.getSysOpId()); //1.通过操作员id + sysCode删除用户角色关系 int deleteCount = sysOpRoleSmapper.deleteSysOpRoleByOpId(sysOpRoleSaveOrModfiyRequest.getSysOpId()); logger.info("--end通过操作员id删除用户角色关系,结果={} 条.",deleteCount ); logger.info("--begin插入用户角色关系信息..."); if(sysOpRoleSaveOrModfiyRequest.getSysRoleIdList() != null && sysOpRoleSaveOrModfiyRequest.getSysRoleIdList().size() >0){ //2.插入用户角色关系 insertCount = sysOpRoleSmapper.batchSaveSysOpRole(sysOpRoleSaveOrModfiyRequest.getSysCode(), sysOpRoleSaveOrModfiyRequest.getSysOpId(), sysOpRoleSaveOrModfiyRequest.getSysRoleIdList(),sysOpRoleSaveOrModfiyRequest.getCreateEmpid(), sysOpRoleSaveOrModfiyRequest.getCreateDate(),sysOpRoleSaveOrModfiyRequest.getModfiyEmpid(), sysOpRoleSaveOrModfiyRequest.getModfiyDate()); } logger.info("--end插入用户角色关系信息...成功插入{}条.",insertCount); return insertCount > 0 ? true :false; } /** * 通过操作员Id查询菜单.
* 步骤: * 1.通过操作员id 查询职能list.
* 2.通过职能listId 查询菜单.
* @param sysOpQueryMenuRequest * @return * @throws Exception */ @Override public List queryMenuBySysOpId(SysOpQueryMenuRequest sysOpQueryMenuRequest) throws Exception { List resList = new ArrayList(); //1.通过操作员id 查询职能list List jobfuncIdList = sysOpSmapper.querySysJobfuncBySysOpId(sysOpQueryMenuRequest.getSysOpId()); if(CollectionUtils.isNotEmpty(jobfuncIdList)){ //2.通过职能listId 查询菜单 resList = sysOpSmapper.queryMenuByJobIdList(jobfuncIdList); } return resList; } /** * 添加用户与角色关系.
* * @param sysOpRoleSaveOrModfiyRequest * @return */ @Transactional @Override public Boolean insertSysOpAndSysRoleRelation(SysOpRoleSaveOrModfiyRequest sysOpRoleSaveOrModfiyRequest) throws Exception { int insertCount = 0; //插入用户角色关系 insertCount = sysOpRoleSmapper.batchSaveSysOpRole(sysOpRoleSaveOrModfiyRequest.getSysCode(), sysOpRoleSaveOrModfiyRequest.getSysOpId(), sysOpRoleSaveOrModfiyRequest.getSysRoleIdList(),sysOpRoleSaveOrModfiyRequest.getCreateEmpid(), sysOpRoleSaveOrModfiyRequest.getCreateDate(),sysOpRoleSaveOrModfiyRequest.getModfiyEmpid(), sysOpRoleSaveOrModfiyRequest.getModfiyDate()); return insertCount > 0 ? true :false; } @Transactional @Override public Boolean modfiySysOpPassword(SysOpUpdatePasswordRequest request) { SysOp sysOp = new SysOp(); BeanUtils.copyProperties(request, sysOp); sysOp.setLoginPassword(MD5Utils.enMD5(request.getLoginPassword())); // 更新密码最后修改时间 sysOp.setLastPasswordUpdateTime(new Date()); int updateCount = sysOpMapper.updateByPrimaryKeySelective(sysOp); return updateCount >0 ? true :false; } @Override public SysOp loginCodeIsUsed(String loginCode) throws Exception { return sysOpSmapper.loginCodeIsUsed(loginCode); } @Override public Boolean updateSysOpOrgIdByOpId(UpdateSysOpOrgIdRequest updateSysOpOrgIdRequest) { SysOp sysOp = new SysOp(); sysOp.setId(updateSysOpOrgIdRequest.getOpId()); sysOp.setOrgId(updateSysOpOrgIdRequest.getOrgId()); int updateCount = sysOpMapper.updateByPrimaryKeySelective(sysOp); return updateCount > 0 ? true : false; } /** * 通过组织ids查询用户信息 * @param request * @return * 2018年4月9日 wangfs.
*/ @Override public List querySysOpByorgIds(List orgIds) { return sysOpSmapper.querySysOpByorgIds(orgIds); } }