package com.thhy.staff.modules.biz.depart.service.impl; import com.alibaba.nacos.api.utils.StringUtils; import com.thhy.general.common.BasicStatus; import com.thhy.general.config.SysUserInfo; import com.thhy.general.exception.BasicException; import com.thhy.general.utils.UserInfoUtils; import com.thhy.staff.modules.biz.depart.entity.*; import com.thhy.staff.modules.biz.depart.mapper.DepartMapper; import com.thhy.staff.modules.biz.depart.service.DepartService; import com.thhy.staff.modules.biz.group.mapper.GroupMapper; import com.thhy.staff.modules.biz.platuser.entity.PlatUser; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-03-31 13:07:46 */ @Service public class DepartServiceImpl implements DepartService { @Autowired private DepartMapper departMapper; @Autowired private GroupMapper groupMapper; public Depart get(Serializable id){ return departMapper.queryById(id); } public List findList(Depart depart){ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); return departMapper.findList(depart.setCompanyId(sysUserInfo.getCompanyId())); } public List findListForExport(Depart depart, String token) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(token); return departMapper.findList(depart.setCompanyId(sysUserInfo.getCompanyId())); } @Override public List pulldownList() { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); if(StringUtils.isEmpty(sysUserInfo.getCompanyId())){ throw new BasicException(BasicStatus.NO_PERMIT); } List departGroupPullVos = departMapper.findPull(sysUserInfo.getCompanyId()); for(DepartGroupPullVo departGroupPullVo : departGroupPullVos){ List groupPullDownVos = groupMapper.findPullByDepartId(departGroupPullVo.getDepartId()); departGroupPullVo.setGroups(groupPullDownVos); } return departGroupPullVos; } /** * 增加和修改 * @param depart */ @Transactional public void addDepart(Depart depart){ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); if(depart.getDepartId() == null){ //增加操作 depart.setCreateUser(sysUserInfo.getUserId()); departMapper.insert(depart); departMapper.insertCompanyDepart(new DepartCompany(sysUserInfo.getCompanyId(),depart.getDepartId())); }else{ //修改操作 depart.setUpdateTime(new Date()); depart.setUpdateUser(sysUserInfo.getUserId()); departMapper.update(depart); } } /** * 修改 * @param depart */ public void update(Depart depart){ departMapper.update(depart); } /** * 删除 * @param departId */ public void delete(Serializable departId){ departMapper.deletelogic(departId); } @Override public List departUserList(DepartUserDto departUserDto) { return departMapper.queryUserByDepart(departUserDto); } }