AuthorizeCameraServiceImpl.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.fdkankan.manage.service.impl;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.fdkankan.manage.common.PageInfo;
  6. import com.fdkankan.manage.common.ResultCode;
  7. import com.fdkankan.manage.entity.AuthorizeCamera;
  8. import com.fdkankan.manage.entity.AuthorizeCameraDetail;
  9. import com.fdkankan.manage.entity.AuthorizeCameraLog;
  10. import com.fdkankan.manage.entity.AuthorizeInstall;
  11. import com.fdkankan.manage.exception.BusinessException;
  12. import com.fdkankan.manage.mapper.IAuthorizeCameraMapper;
  13. import com.fdkankan.manage.service.IAuthorizeCameraDetailService;
  14. import com.fdkankan.manage.service.IAuthorizeCameraLogService;
  15. import com.fdkankan.manage.service.IAuthorizeCameraService;
  16. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  17. import com.fdkankan.manage.vo.request.AuthorizeParam;
  18. import com.fdkankan.reg.RegCodeUtil;
  19. import com.fdkankan.reg.dto.CamRegDto;
  20. import com.fdkankan.reg.dto.CamRegSDto;
  21. import com.fdkankan.reg.dto.MachineRegDto;
  22. import jdk.internal.dynalink.linker.LinkerServices;
  23. import org.apache.commons.lang3.StringUtils;
  24. import org.ini4j.Reg;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.stereotype.Service;
  27. import java.util.ArrayList;
  28. import java.util.Date;
  29. import java.util.List;
  30. /**
  31. * <p>
  32. * 服务实现类
  33. * </p>
  34. *
  35. * @author
  36. * @since 2023-07-07
  37. */
  38. @Service
  39. public class AuthorizeCameraServiceImpl extends ServiceImpl<IAuthorizeCameraMapper, AuthorizeCamera> implements IAuthorizeCameraService {
  40. @Autowired
  41. IAuthorizeCameraDetailService authorizeCameraDetailService;
  42. @Autowired
  43. IAuthorizeCameraLogService authorizeCameraLogService;
  44. @Override
  45. public Object pageList(AuthorizeParam param) {
  46. LambdaQueryWrapper<AuthorizeCamera> wrapper = new LambdaQueryWrapper<>();
  47. if(StringUtils.isNotBlank(param.getCustomerName())){
  48. wrapper.like(AuthorizeCamera::getCustomerName,param.getCustomerName());
  49. }
  50. if(param.getCustomerType() != null){
  51. wrapper.eq(AuthorizeCamera::getCustomerType,param.getCustomerType());
  52. }
  53. if(param.getUseType() != null){
  54. wrapper.eq(AuthorizeCamera::getUseType,param.getUseType());
  55. }
  56. if(StringUtils.isNotBlank(param.getAuthorizeKey())){
  57. wrapper.like(AuthorizeCamera::getAuthorizeKey,param.getAuthorizeKey());
  58. }
  59. if(StringUtils.isNotBlank(param.getMachineUuid())){
  60. wrapper.like(AuthorizeCamera::getMachineUuid,param.getMachineUuid());
  61. }
  62. wrapper.orderByDesc(AuthorizeCamera::getCreateTime);
  63. Page<AuthorizeCamera> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
  64. return PageInfo.PageInfo(page);
  65. }
  66. @Override
  67. public AuthorizeCamera addOrUpdate(AuthorizeCamera param) {
  68. param.setSysUserId(Long.valueOf((String) StpUtil.getLoginId()));
  69. if(param.getId() == null){
  70. //获取机器UUID,机器名称
  71. MachineRegDto machineRegDto = RegCodeUtil.ParseMachineCode(param.getMachineCode());
  72. if(machineRegDto == null){
  73. throw new BusinessException(ResultCode.READ_MACHINE_CODE_ERROR);
  74. }
  75. param.setMachineUuid( machineRegDto.getUuid());
  76. param.setMachineName( machineRegDto.getComputerName());
  77. try {
  78. CamRegSDto dtos = new CamRegSDto();
  79. dtos.setMachineCode(param.getMachineCode());
  80. dtos.setTimestamp(new Date().getTime());
  81. List<CamRegDto> camRegs = new ArrayList<>();
  82. String[] split = param.getSnCodes().split(",");
  83. for (String snCode : split) {
  84. CamRegDto camRegDto = new CamRegDto();
  85. camRegDto.setSn(snCode);
  86. camRegs.add(camRegDto);
  87. }
  88. dtos.setCamRegs(camRegs);
  89. String authorizeKey = RegCodeUtil.batchGenRegeditCamCode(dtos);
  90. if(StringUtils.isBlank(authorizeKey)){
  91. throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR);
  92. }
  93. param.setAuthorizeKey(authorizeKey);
  94. }catch (Exception e){
  95. throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR);
  96. }
  97. }
  98. this.saveOrUpdate(param);
  99. return param;
  100. }
  101. @Override
  102. public Object detail(Integer id) {
  103. AuthorizeCamera authorizeCamera = this.getById(id);
  104. if(authorizeCamera == null){
  105. throw new BusinessException(ResultCode.RECOED_NO_EXITS);
  106. }
  107. return authorizeCameraDetailService.getByCameraId(id);
  108. }
  109. @Override
  110. public Object updateSnCode(Integer detailId, String snCode) {
  111. AuthorizeCameraDetail cameraDetail = authorizeCameraDetailService.getById(detailId);
  112. if(cameraDetail == null){
  113. throw new BusinessException(ResultCode.RECOED_NO_EXITS);
  114. }
  115. AuthorizeCamera authorizeCamera = this.getById(cameraDetail.getAuthorizeCameraId());
  116. if(authorizeCamera == null){
  117. throw new BusinessException(ResultCode.RECOED_NO_EXITS);
  118. }
  119. try {
  120. CamRegSDto dtos = new CamRegSDto();
  121. dtos.setMachineCode(authorizeCamera.getMachineCode());
  122. dtos.setTimestamp(new Date().getTime());
  123. List<CamRegDto> camRegs = new ArrayList<>();
  124. CamRegDto camRegDto = new CamRegDto();
  125. camRegDto.setSn(cameraDetail.getSnCode());
  126. camRegDto.setToSn(snCode);
  127. camRegs.add(camRegDto);
  128. dtos.setCamRegs(camRegs);
  129. String authorizeKey = RegCodeUtil.batchGenRegeditCamCode(dtos);
  130. if(StringUtils.isBlank(authorizeKey)){
  131. throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR);
  132. }
  133. AuthorizeCameraLog authorizeCameraLog = authorizeCameraLogService.saveLog(cameraDetail, snCode, authorizeKey);
  134. authorizeCameraDetailService.updateSnCode(cameraDetail.getId(),snCode);
  135. return authorizeCameraLog;
  136. }catch (Exception e){
  137. throw new BusinessException(ResultCode.GET_MACHINE_CODE_ERROR);
  138. }
  139. }
  140. }