package com.fdkankan.manage.service.impl; import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.manage.common.CacheUtil; import com.fdkankan.manage.common.PageInfo; import com.fdkankan.manage.common.ResultCode; import com.fdkankan.manage.entity.AuthorizeInstall; import com.fdkankan.manage.entity.IncrementUseType; import com.fdkankan.manage.entity.SysUser; import com.fdkankan.manage.exception.BusinessException; import com.fdkankan.manage.mapper.IAuthorizeInstallMapper; import com.fdkankan.manage.service.IAuthorizeInstallService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.service.IIncrementUseTypeService; import com.fdkankan.manage.service.ISysUserService; import com.fdkankan.manage.vo.request.AuthorizeParam; import com.fdkankan.reg.RegCodeUtil; import com.fdkankan.reg.dto.MachineRegDto; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2023-07-07 */ @Service public class AuthorizeInstallServiceImpl extends ServiceImpl implements IAuthorizeInstallService { @Autowired ISysUserService sysUserService; @Autowired IIncrementUseTypeService iIncrementUseTypeService; @Override public Object pageList(AuthorizeParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(param.getCustomerName())){ wrapper.like(AuthorizeInstall::getCustomerName,param.getCustomerName()); } if(param.getCustomerType() != null){ wrapper.eq(AuthorizeInstall::getCustomerType,param.getCustomerType()); } if(param.getUseType() != null){ wrapper.eq(AuthorizeInstall::getUseType,param.getUseType()); } if(StringUtils.isNotBlank(param.getAuthorizeKey())){ wrapper.like(AuthorizeInstall::getAuthorizeKey,param.getAuthorizeKey()); } if(StringUtils.isNotBlank(param.getMachineUuid())){ wrapper.like(AuthorizeInstall::getMachineUuid,param.getMachineUuid()); } if(StringUtils.isNotBlank(param.getMachineCode())){ wrapper.like(AuthorizeInstall::getMachineCode,param.getMachineCode()); } wrapper.orderByDesc(AuthorizeInstall::getCreateTime); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); Set sysIds = page.getRecords().stream().map(AuthorizeInstall::getSysUserId).collect(Collectors.toSet()); HashMap userMap = sysUserService.getByIds(sysIds); HashMap typeMap = iIncrementUseTypeService.getTypeMap(); for (AuthorizeInstall record : page.getRecords()) { if(userMap.get(record.getSysUserId())!=null){ record.setSysUserName(userMap.get(record.getSysUserId()).getNickName()); } if(typeMap.get(record.getUseType()) !=null){ record.setUseTypeStr(typeMap.get(record.getUseType()).getName()); } } return PageInfo.PageInfo(page); } @Override public AuthorizeInstall addOrUpdate(AuthorizeInstall param) { param.setSysUserId(Long.valueOf((String) StpUtil.getLoginId())); if(param.getId() == null){ //获取机器UUID,机器名称 MachineRegDto machineRegDto = RegCodeUtil.builder().env(CacheUtil.laserRegEnv).build().ParseMachineCode(param.getMachineCode()); if(machineRegDto == null){ throw new BusinessException(ResultCode.READ_MACHINE_CODE_ERROR); } param.setMachineUuid( machineRegDto.getUuid()); try { String authorizeKey = RegCodeUtil.builder().env(CacheUtil.laserRegEnv).build().GenRegeditCode(param.getMachineCode()); if(StringUtils.isBlank(authorizeKey)){ throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR); } param.setAuthorizeKey(authorizeKey); }catch (Exception e){ throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR); } } this.saveOrUpdate(param); return param; } @Override public AuthorizeInstall checkMachineCode(String machineCode) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(AuthorizeInstall::getMachineCode,machineCode); List list = this.list(wrapper); if(list!=null && list.size() >0){ return list.get(0); } MachineRegDto machineRegDto = null; try { machineRegDto = RegCodeUtil.builder().env(CacheUtil.laserRegEnv).build().ParseMachineCode(machineCode); }catch (Exception e){ throw new BusinessException(ResultCode.MACHINE_CODE_ERROR); } if(machineRegDto == null){ throw new BusinessException(ResultCode.READ_MACHINE_CODE_ERROR); } String uuid = machineRegDto.getUuid(); LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(AuthorizeInstall::getMachineUuid,uuid); List list2 = this.list(wrapper2); if(list2!=null && list2.size() >0){ return list2.get(0); } return null; } }