package com.fdkankan.manage.test; import com.google.common.collect.Lists; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.fdkankan.common.util.SecurityUtil; import com.fdkankan.elasticsearch.service.DocumentService; import com.fdkankan.elasticsearch.service.IndexService; import com.fdkankan.elasticsearch.service.QueryDataService; import com.fdkankan.fyun.face.FYunFileServiceInterface; import com.fdkankan.manage.common.*; import com.fdkankan.manage.entity.*; import com.fdkankan.manage.exception.BusinessException; import com.fdkankan.manage.service.*; import com.fdkankan.manage.thread.ThreadService; import com.fdkankan.manage.util.ExcelUtil; import com.fdkankan.manage.util.RsaUtils; import com.fdkankan.manage.vo.request.SceneParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.*; import static com.amazonaws.util.CredentialUtils.getCredentialsProvider; import static com.fdkankan.manage.util.RsaUtils.getKeyPair; @Slf4j @RestController @RequestMapping("/service/manage/test") public class TestController { @Autowired ISceneProService sceneProService; @Autowired IScenePlusService scenePlusService; @Autowired FYunFileServiceInterface fYunFileServiceInterface; @Autowired ICameraService cameraService; @Autowired ICameraDetailService cameraDetailService; @Autowired IFolderSceneService folderSceneService; @Autowired IFolderService folderService; @RequestMapping("/test") public ResultData test(@RequestParam(required = false) String oldSnCode, @RequestParam(required = false)String newSnCode, @RequestParam(required = false)String dataSource) throws Exception { return ResultData.ok(); } //生成原世界相机授权码 @RequestMapping("/createCameraAuthCode") public ResultData createCameraAuthCode(@RequestParam(required = false) String snCode) throws Exception { RsaUtils rsa = new RsaUtils(); String ciphertext = rsa.encipher("4DKKPRO_"+snCode.toUpperCase(), CacheUtil.publicKey); System.out.println(String.format("密文:"+ciphertext)); return ResultData.ok(ciphertext); } /** * 重置相机容量 */ @RequestMapping("/testCameraSpace") public ResultData testCameraSpace(@RequestParam(required = false) Long userId){ cameraService.initAllCameraSpace(userId); return ResultData.ok(); } @RequestMapping("/testCameraSpaceId") public ResultData testCameraSpaceId(@RequestParam(required = false) Long cameraId){ cameraDetailService.initSpace(cameraId); return ResultData.ok(); } /** * 导入excel * type 0 入库模板, 1出库模板 ,2 客户关联模板 */ @PostMapping("/uploadExcel") public ResultData uploadExcel(@RequestParam(required = false) MultipartFile file) throws IOException { String originalFilename = file.getOriginalFilename(); assert originalFilename != null; String fileType=originalFilename.substring(originalFilename.lastIndexOf(".")+1); if (!fileType.equalsIgnoreCase("xlsx")) { throw new BusinessException(ResultCode.FILE_TYPE_ERROR); } List> excelRowList = new ArrayList<>(); try { excelRowList = ExcelUtil.getExcelRowList(file); }catch (Exception e){ throw new BusinessException(ResultCode.TEMPLATE_TYPE_ERROR); } System.out.println(excelRowList); return ResultData.ok(); } @Autowired ThreadService threadService; @GetMapping("/restStroeTest") public ResultData restStoreTest() throws InterruptedException { String bucket = "4dkankan"; String cloudBucket = "4dkk-bak"; String path = "test001"; // try { // fYunFileServiceInterface.restoreFolder(cloudBucket,path,1); // }catch (Exception e){ // throw new BusinessException(ResultCode.SCENE_STORE_ING); // } threadService.checkRestore("1",cloudBucket,bucket,path); return ResultData.ok(); } @GetMapping("/initCamera") public ResultData initCamera(){ String[] snCodes = this.getSnCodeTest(); List snCodeList = Arrays.asList(snCodes); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.notIn(Camera::getSnCode,snCodeList); List list = cameraService.list(wrapper); for (Camera camera : list) { if(camera == null){ continue; } CameraDetail cameraDetail = cameraDetailService.getByCameraId(camera.getId()); if(cameraDetail == null){ continue; } if(cameraDetail.getType() == 10){ continue; } Long proSpace = sceneProService.getCountByCameraId(cameraDetail.getCameraId()); Long plusSpace = scenePlusService.getCountByCameraId(cameraDetail.getCameraId()); LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper<>(); wrapper1.eq(CameraDetail::getId,cameraDetail.getId()); wrapper1.set(CameraDetail::getUnit,"SP"); wrapper1.set(CameraDetail::getTotalSpace,5); wrapper1.set(CameraDetail::getUsedSpace,(plusSpace == null ?0L:plusSpace )+( proSpace == null ?0L:proSpace)); cameraDetailService.update(wrapper1); sceneProService.lockOrUnLockBySpace(cameraDetail.getCameraId()); } return ResultData.ok(); } @RequestMapping("/restFolderScene") public ResultData restFolderScene(){ List list = folderSceneService.list(); for (FolderScene folderScene : list) { Long sceneId = folderScene.getSceneId(); Long folderId = folderScene.getFolderId(); Folder folder = folderService.getById(folderId); if(folder == null){ folderSceneService.removeById(folderScene.getId()); continue; } Long fUserId = folder.getUserId(); Long sUserId = null; ScenePro pro = sceneProService.getById(sceneId); if(pro != null && pro.getIsUpgrade() == 0){ sUserId = pro.getUserId(); } ScenePlus plus = scenePlusService.getById(sceneId); if(plus != null ){ sUserId = plus.getUserId(); } if(sUserId != null && !sUserId.equals(fUserId)){ folderSceneService.removeById(folderScene.getId()); } if(sUserId == null){ folderSceneService.removeById(folderScene.getId()); } } return ResultData.ok(); } private String[] getSnCodeTest(){ String res [] = { "0292D9F64", }; return res; } /** * 06F7B8204 --> 087EEF7B5 * 90F86252A --> 92ED4458E */ @PostMapping("/moveCamera") public ResultData moveCamera(@RequestParam(required = false) String snCode, @RequestParam(required = false) String toSnCode){ Camera camera = cameraService.getBySnCode(snCode); if(camera == null){ throw new BusinessException(ResultCode.CAMERA_NOT_EXIST); } Camera camera2 = cameraService.getBySnCode(toSnCode); if(camera2 == null){ throw new BusinessException(ResultCode.CAMERA_NOT_EXIST); } List sceneProList = sceneProService.getListByCameraId(camera.getId()); List plusList = scenePlusService.getListByCameraId(camera.getId()); for (ScenePro scenePro : sceneProList) { SceneParam param = new SceneParam(); param.setNum(scenePro.getNum()); param.setSnCode(toSnCode); sceneProService.move(param); } for (ScenePlus scenePro : plusList) { SceneParam param = new SceneParam(); param.setNum(scenePro.getNum()); param.setSnCode(toSnCode); sceneProService.move(param); } return ResultData.ok(); } }