package com.hxzk.gps.service.impl.Department; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hxzk.gps.controller.DepartMent.Results.DepartMentIconResult; import com.hxzk.gps.controller.DepartMent.Results.DepartMentResult; import com.hxzk.gps.controller.DepartMent.dto.DpeartMentIconTreeTableDto; import com.hxzk.gps.controller.Person.Results.PersonResult; import com.hxzk.gps.entity.Department.TbDepartMentIcon; import com.hxzk.gps.entity.Department.TbDepartment; import com.hxzk.gps.entity.System.TbSystemOperationLog; import com.hxzk.gps.mapper.Department.TbDepartmentIconMapper; import com.hxzk.gps.service.Company.TbCompanyService; import com.hxzk.gps.service.Department.TbDepartMentIconService; import com.hxzk.gps.service.System.TbSystemOperationLogService; import com.hxzk.gps.util.AuToComplete; import com.hxzk.gps.util.GetUser.UserInfoUtil; import com.hxzk.gps.util.MessageUtils.MessageUtils; import com.hxzk.gps.util.Result.ReturnMessage; import com.hxzk.gps.util.Result.TableDto; import com.hxzk.gps.controller.System.SystemLogUtil; import com.hxzk.gps.util.Time.TimeUtil; import com.hxzk.gps.util.UDP.UDP_Person; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @Service public class TbDepartmentIconServiceImpl extends ServiceImpl implements TbDepartMentIconService { @Autowired TbCompanyService companyService; @Autowired private TbSystemOperationLogService systemOperationLogService; @Override public DepartMentIconResult FindDepartmentIconInfo(DpeartMentIconTreeTableDto departmentIconTreeTableDto) { // 创建查询包装器 QueryWrapper queryWrapper = new QueryWrapper<>(); // 处理部门 ID 为空的情况 if (StringUtils.isEmpty(departmentIconTreeTableDto.getDepartmentId())) { List list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId()); queryWrapper.in("companyid", list); } else { queryWrapper.eq("companyid", departmentIconTreeTableDto.getDepartmentId()); } // 处理图标名称查询条件 Optional.ofNullable(departmentIconTreeTableDto.getIconname()).ifPresent(iconname -> queryWrapper.like("iconname", iconname)); // 使用PageHelper进行分页查询 Page page = PageHelper.startPage(departmentIconTreeTableDto.getPageNum(), departmentIconTreeTableDto.getPageSize()) .doSelectPage(() -> baseMapper.selectList(queryWrapper)); // 封装图标列表 TableDto tableDto = new TableDto(page.getResult(), page.getPageNum(), page.getPageSize(), page.getTotal()); // 获取成功消息 String message = MessageUtils.getMessage("Success"); // 返回结果 - 根据DepartMentIconResult的构造函数调整参数 return new DepartMentIconResult(200, message, tableDto); } @Override public ReturnMessage add(TbDepartMentIcon departMentIcon) { /* 声明操作状态 * */ boolean isSuccess = false; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("iconname",departMentIcon.getIconname()); queryWrapper.eq("company",departMentIcon.getCompany()); Integer count = Math.toIntExact(baseMapper.selectCount(queryWrapper)); if (count > 0){ return ReturnMessage.ReturnMessageError("IconRepeat"); }else{ try { departMentIcon.setUsername(UserInfoUtil.getUserName()); departMentIcon.setAddtime(TimeUtil.GetTime()); departMentIcon.setCompanyid(UserInfoUtil.isNullGetCompanyId(departMentIcon.getCompanyid())); baseMapper.insert(departMentIcon); isSuccess = true; }catch (Exception e){ } return SystemLogUtil.handleAddResult(isSuccess,"IconAdd",departMentIcon.getIconname()); } } @Override public ReturnMessage update(TbDepartMentIcon departMentIcon) { /* 声明操作状态 * */ boolean isSuccess = false; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id",departMentIcon.getId()); try { departMentIcon.setUsername(UserInfoUtil.getUserName()); departMentIcon.setAddtime(TimeUtil.GetTime()); baseMapper.update(departMentIcon,queryWrapper); isSuccess = true; }catch (Exception e){ } return SystemLogUtil.handleUpdateResult(isSuccess,"IconUpdate",departMentIcon.getIconname()); } @Override public ReturnMessage delete(TbDepartMentIcon departMentIcon) { /* 声明操作状态 * */ boolean isSuccess = false; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id",departMentIcon.getId()); try { baseMapper.delete(queryWrapper); isSuccess = true; }catch (Exception e){ } return SystemLogUtil.handleDeleteResult(isSuccess,"IconDelete",departMentIcon.getIconname()); } @Override public List DepartmentIconAutocomplete(TbDepartMentIcon departMentIcon) { QueryWrapper queryWrapper = new QueryWrapper<>(); String id = Optional.ofNullable(departMentIcon.getCompanyid()) .filter(s -> !s.isEmpty()) .orElse(UserInfoUtil.getUserCompanyId()); queryWrapper.eq("companyid",id); List departmentList = baseMapper.selectList(queryWrapper); List addCustomerList = departmentList.stream() .map(departmenticons -> { AuToComplete addCustomer = new AuToComplete(); addCustomer.setValue(departmenticons.getIconadress()); addCustomer.setLabel(departmenticons.getIconname()); return addCustomer; }) .collect(Collectors.toList()); return addCustomerList; } }