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.springframework.util.CollectionUtils; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.dto.sys.param.OrgByOrgLevelRequest; import com.zteits.clouds.api.dto.sys.param.SysOpOrgSaveOrModifyRequest; import com.zteits.clouds.api.dto.sys.param.SysOrgPageQueryRequest; import com.zteits.clouds.api.dto.sys.param.SysOrgSaveRequest; import com.zteits.sys.dao.SysOrgDao; import com.zteits.sys.domain.SysOp; import com.zteits.sys.domain.SysOrg; import com.zteits.sys.mapper.SysOrgMapper; import com.zteits.sys.mapper.smapper.SysOpOrgSmapper; import com.zteits.sys.mapper.smapper.SysOrgSmapper; /** * * * Copyright: Copyright (c) 2017 zteits * * @ClassName: SysOrgDaoImpl.java * @Description: * @version: v1.0.0 * @author: langlw * @date: 2017年5月10日 下午1:59:08 * Modification History: * Date Author Version Description *---------------------------------------------------------* * 2017年5月10日 langlw v1.0.0 创建 */ @Component public class SysOrgDaoImpl implements SysOrgDao { private static final Logger logger = LoggerFactory.getLogger(SysOrgDaoImpl.class); @Autowired private SysOrgMapper sysOrgMapper; @Autowired private SysOrgSmapper sysOrgSmapper; @Autowired private SysOpOrgSmapper sysOpOrgSmapper; @Override public List querySysOrgByParentId(Long parentId) { return sysOrgSmapper.querySysOrgByParentId(parentId); } @Override public PageInfo queryPageSysOrgForList(SysOrgPageQueryRequest request) { SysOrg sysOrg=new SysOrg(); BeanUtils.copyProperties(request, sysOrg); sysOrg.setSysCode(request.getSysCode()); // 1.设置分页信息 PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); //2.查询数据 List list=sysOrgSmapper.queryPageSysOrgForList(sysOrg); return new PageInfo(list); } @Override public List queryBatchSysOrgById(List ids, Integer dataStatus, String sysCode) { return sysOrgSmapper.queryBatchSysOrgById(ids, dataStatus, sysCode); } /** * 保存/修改用户与组织关系.
* 保存修改处理逻辑: * 1.先删除掉用户组织关系主键不为空的关系. * 2.然后全量保存.
* @param SysOpOrgSaveOrModifyRequest * @return */ @Transactional @Override public Boolean saveOrModifySysOpAndSysOrgRelation(SysOpOrgSaveOrModifyRequest sysOpOrgSaveOrModifyRequest) throws Exception { int insertCount = 1; logger.info(" --begin通过操作员id + sysCode删除用户组织关系"); //1.通过操作员id + sysCode删除用户角色关系 int deleteCount = sysOpOrgSmapper.deleteSysOpOrgByOpId(sysOpOrgSaveOrModifyRequest.getSysOpId()); logger.info(" --end通过操作员id + sysCode删除用户组织关系,删除条数={}条。",deleteCount); logger.info(" --begin插入用户组织关系.."); if(!CollectionUtils.isEmpty(sysOpOrgSaveOrModifyRequest.getSysOrgIdList())){ //2.插入用户组织关系 insertCount = sysOpOrgSmapper.batchSaveSysOpOrg(sysOpOrgSaveOrModifyRequest.getSysCode(), sysOpOrgSaveOrModifyRequest.getSysOpId(), sysOpOrgSaveOrModifyRequest.getSysOrgIdList(),sysOpOrgSaveOrModifyRequest.getCreateEmpid(), sysOpOrgSaveOrModifyRequest.getCreateDate(),sysOpOrgSaveOrModifyRequest.getModfiyEmpid(), sysOpOrgSaveOrModifyRequest.getModfiyDate()); } logger.info(" --end插入用户组织关系,插入条数={}条。",insertCount); return insertCount > 0 ? true :false; } /** * 添加用户与组织关系.
* * @param SysOpOrgSaveOrModifyRequest * @return */ @Transactional @Override public Boolean insertSysOpAndSysOrgRelation(SysOpOrgSaveOrModifyRequest sysOpOrgSaveOrModifyRequest) throws Exception { int insertCount = 0; //插入用户角色关系 insertCount = sysOpOrgSmapper.batchSaveSysOpOrg(sysOpOrgSaveOrModifyRequest.getSysCode(), sysOpOrgSaveOrModifyRequest.getSysOpId(), sysOpOrgSaveOrModifyRequest.getSysOrgIdList(),sysOpOrgSaveOrModifyRequest.getCreateEmpid(), sysOpOrgSaveOrModifyRequest.getCreateDate(),sysOpOrgSaveOrModifyRequest.getModfiyEmpid(), sysOpOrgSaveOrModifyRequest.getModfiyDate()); return insertCount > 0 ? true :false; } @Override public SysOrg getSysOrgById(Long id) { return sysOrgMapper.selectByPrimaryKey(id); } @Transactional @Override public Boolean deleteSysOrgByIds(List ids) { if(CollectionUtils.isEmpty(ids)){ return true; } //1、先删除用户与组织关系表数据 sysOpOrgSmapper.deleteSysOpOrgByOrgIds(ids); //2、逻辑删除组织信息 int count = 0; count=sysOrgSmapper.deleteBatchForLogicByPrimaryKey(ids); return count> 0 ? true :false; } @Transactional @Override public Long saveSysOrg(SysOrgSaveRequest request) { SysOrg sysOrg = new SysOrg(); BeanUtils.copyProperties(request, sysOrg); sysOrg.setCreateDate(new Date()); sysOrg.setCreateEmpid(request.getEmpid()); sysOrg.setModfiyEmpid(request.getEmpid()); sysOrg.setModfiyDate(new Date()); sysOrg.setSysCode(request.getSysCode()); sysOrg.setSortNum(request.getSortNum()); sysOrgMapper.insertSelective(sysOrg); logger.info(""+JSONObject.toJSONString(sysOrg)); return sysOrg.getId(); } @Transactional @Override public Boolean updateSysOrgById(SysOrg sysOrg) { return sysOrgMapper.updateByPrimaryKeySelective(sysOrg)>0; } @Override public List queryOpIdsByOrgId(List orgIds, Integer dataState, String sysCode) { return sysOpOrgSmapper.queryOpIdsByorgIds(orgIds, dataState, sysCode); } @Override public PageInfo queryOpByorgIdForPage(Long orgId, Integer pageSize, Integer pageNum,String sysCode) { // 1.设置分页信息 PageHelper.startPage(pageNum,pageSize); //2.查询数据 List list = sysOpOrgSmapper.queryOpByorgIdForPage(orgId, sysCode); return (list != null && list.size() >0) ? new PageInfo(list):new PageInfo(new ArrayList()); } @Override public Integer updateSysOrgSortNumOfSaveOrUpdate(Long id, Long parentOrgId, int sortNum, int oldSortNum) { return sysOrgSmapper.updateSysOrgSortNumOfSaveOrUpdate(id, parentOrgId, sortNum, oldSortNum); } @Override public Integer updateSysOrgSortNumOfDelete(Long id) { return sysOrgSmapper.updateSysOrgSortNumOfDelete(id); } @Override public List queryOrgByOrgLevel(OrgByOrgLevelRequest orgByOrgLevelRequest) { return sysOrgSmapper.queryOrgByOrgLevel(orgByOrgLevelRequest); } }