TestController.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. package com.fdkankan.manage.test;
  2. import com.google.common.collect.Lists;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  6. import com.fdkankan.common.util.SecurityUtil;
  7. import com.fdkankan.elasticsearch.service.DocumentService;
  8. import com.fdkankan.elasticsearch.service.IndexService;
  9. import com.fdkankan.elasticsearch.service.QueryDataService;
  10. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  11. import com.fdkankan.manage.common.*;
  12. import com.fdkankan.manage.entity.*;
  13. import com.fdkankan.manage.exception.BusinessException;
  14. import com.fdkankan.manage.service.*;
  15. import com.fdkankan.manage.thread.ThreadService;
  16. import com.fdkankan.manage.util.ExcelUtil;
  17. import com.fdkankan.manage.util.RsaUtils;
  18. import com.fdkankan.manage.vo.request.SceneParam;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.web.bind.annotation.*;
  22. import org.springframework.web.multipart.MultipartFile;
  23. import java.io.IOException;
  24. import java.util.*;
  25. import static com.amazonaws.util.CredentialUtils.getCredentialsProvider;
  26. import static com.fdkankan.manage.util.RsaUtils.getKeyPair;
  27. @Slf4j
  28. @RestController
  29. @RequestMapping("/service/manage/test")
  30. public class TestController {
  31. @Autowired
  32. ISceneProService sceneProService;
  33. @Autowired
  34. IScenePlusService scenePlusService;
  35. @Autowired
  36. FYunFileServiceInterface fYunFileServiceInterface;
  37. @Autowired
  38. ICameraService cameraService;
  39. @Autowired
  40. ICameraDetailService cameraDetailService;
  41. @Autowired
  42. IFolderSceneService folderSceneService;
  43. @Autowired
  44. IFolderService folderService;
  45. @RequestMapping("/test")
  46. public ResultData test(@RequestParam(required = false) String oldSnCode,
  47. @RequestParam(required = false)String newSnCode,
  48. @RequestParam(required = false)String dataSource) throws Exception {
  49. return ResultData.ok();
  50. }
  51. //生成原世界相机授权码
  52. @RequestMapping("/createCameraAuthCode")
  53. public ResultData createCameraAuthCode(@RequestParam(required = false) String snCode) throws Exception {
  54. RsaUtils rsa = new RsaUtils();
  55. String ciphertext = rsa.encipher("4DKKPRO_"+snCode.toUpperCase(), CacheUtil.publicKey);
  56. System.out.println(String.format("密文:"+ciphertext));
  57. return ResultData.ok(ciphertext);
  58. }
  59. /**
  60. * 重置相机容量
  61. */
  62. @RequestMapping("/testCameraSpace")
  63. public ResultData testCameraSpace(@RequestParam(required = false) Long userId){
  64. cameraService.initAllCameraSpace(userId);
  65. return ResultData.ok();
  66. }
  67. @RequestMapping("/testCameraSpaceId")
  68. public ResultData testCameraSpaceId(@RequestParam(required = false) Long cameraId){
  69. cameraDetailService.initSpace(cameraId);
  70. return ResultData.ok();
  71. }
  72. /**
  73. * 导入excel
  74. * type 0 入库模板, 1出库模板 ,2 客户关联模板
  75. */
  76. @PostMapping("/uploadExcel")
  77. public ResultData uploadExcel(@RequestParam(required = false) MultipartFile file) throws IOException {
  78. String originalFilename = file.getOriginalFilename();
  79. assert originalFilename != null;
  80. String fileType=originalFilename.substring(originalFilename.lastIndexOf(".")+1);
  81. if (!fileType.equalsIgnoreCase("xlsx")) {
  82. throw new BusinessException(ResultCode.FILE_TYPE_ERROR);
  83. }
  84. List<HashMap<Integer, String>> excelRowList = new ArrayList<>();
  85. try {
  86. excelRowList = ExcelUtil.getExcelRowList(file);
  87. }catch (Exception e){
  88. throw new BusinessException(ResultCode.TEMPLATE_TYPE_ERROR);
  89. }
  90. System.out.println(excelRowList);
  91. return ResultData.ok();
  92. }
  93. @Autowired
  94. ThreadService threadService;
  95. @GetMapping("/restStroeTest")
  96. public ResultData restStoreTest() throws InterruptedException {
  97. String bucket = "4dkankan";
  98. String cloudBucket = "4dkk-bak";
  99. String path = "test001";
  100. // try {
  101. // fYunFileServiceInterface.restoreFolder(cloudBucket,path,1);
  102. // }catch (Exception e){
  103. // throw new BusinessException(ResultCode.SCENE_STORE_ING);
  104. // }
  105. threadService.checkRestore("1",cloudBucket,bucket,path);
  106. return ResultData.ok();
  107. }
  108. @GetMapping("/initCamera")
  109. public ResultData initCamera(){
  110. String[] snCodes = this.getSnCodeTest();
  111. List<String> snCodeList = Arrays.asList(snCodes);
  112. LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
  113. wrapper.notIn(Camera::getSnCode,snCodeList);
  114. List<Camera> list = cameraService.list(wrapper);
  115. for (Camera camera : list) {
  116. if(camera == null){
  117. continue;
  118. }
  119. CameraDetail cameraDetail = cameraDetailService.getByCameraId(camera.getId());
  120. if(cameraDetail == null){
  121. continue;
  122. }
  123. if(cameraDetail.getType() == 10){
  124. continue;
  125. }
  126. Long proSpace = sceneProService.getCountByCameraId(cameraDetail.getCameraId());
  127. Long plusSpace = scenePlusService.getCountByCameraId(cameraDetail.getCameraId());
  128. LambdaUpdateWrapper<CameraDetail> wrapper1 = new LambdaUpdateWrapper<>();
  129. wrapper1.eq(CameraDetail::getId,cameraDetail.getId());
  130. wrapper1.set(CameraDetail::getUnit,"SP");
  131. wrapper1.set(CameraDetail::getTotalSpace,5);
  132. wrapper1.set(CameraDetail::getUsedSpace,(plusSpace == null ?0L:plusSpace )+( proSpace == null ?0L:proSpace));
  133. cameraDetailService.update(wrapper1);
  134. sceneProService.lockOrUnLockBySpace(cameraDetail.getCameraId());
  135. }
  136. return ResultData.ok();
  137. }
  138. @RequestMapping("/restFolderScene")
  139. public ResultData restFolderScene(){
  140. List<FolderScene> list = folderSceneService.list();
  141. for (FolderScene folderScene : list) {
  142. Long sceneId = folderScene.getSceneId();
  143. Long folderId = folderScene.getFolderId();
  144. Folder folder = folderService.getById(folderId);
  145. if(folder == null){
  146. folderSceneService.removeById(folderScene.getId());
  147. continue;
  148. }
  149. Long fUserId = folder.getUserId();
  150. Long sUserId = null;
  151. ScenePro pro = sceneProService.getById(sceneId);
  152. if(pro != null && pro.getIsUpgrade() == 0){
  153. sUserId = pro.getUserId();
  154. }
  155. ScenePlus plus = scenePlusService.getById(sceneId);
  156. if(plus != null ){
  157. sUserId = plus.getUserId();
  158. }
  159. if(sUserId != null && !sUserId.equals(fUserId)){
  160. folderSceneService.removeById(folderScene.getId());
  161. }
  162. if(sUserId == null){
  163. folderSceneService.removeById(folderScene.getId());
  164. }
  165. }
  166. return ResultData.ok();
  167. }
  168. private String[] getSnCodeTest(){
  169. String res [] = {
  170. "0292D9F64",
  171. };
  172. return res;
  173. }
  174. /**
  175. * 06F7B8204 --> 087EEF7B5
  176. * 90F86252A --> 92ED4458E
  177. */
  178. @PostMapping("/moveCamera")
  179. public ResultData moveCamera(@RequestParam(required = false) String snCode,
  180. @RequestParam(required = false) String toSnCode){
  181. Camera camera = cameraService.getBySnCode(snCode);
  182. if(camera == null){
  183. throw new BusinessException(ResultCode.CAMERA_NOT_EXIST);
  184. }
  185. Camera camera2 = cameraService.getBySnCode(toSnCode);
  186. if(camera2 == null){
  187. throw new BusinessException(ResultCode.CAMERA_NOT_EXIST);
  188. }
  189. List<ScenePro> sceneProList = sceneProService.getListByCameraId(camera.getId());
  190. List<ScenePlus> plusList = scenePlusService.getListByCameraId(camera.getId());
  191. for (ScenePro scenePro : sceneProList) {
  192. SceneParam param = new SceneParam();
  193. param.setNum(scenePro.getNum());
  194. param.setSnCode(toSnCode);
  195. sceneProService.move(param);
  196. }
  197. for (ScenePlus scenePro : plusList) {
  198. SceneParam param = new SceneParam();
  199. param.setNum(scenePro.getNum());
  200. param.setSnCode(toSnCode);
  201. sceneProService.move(param);
  202. }
  203. return ResultData.ok();
  204. }
  205. }