commit 71bc29e6f84f388bf2d3ae30adb16cf1f9db88b3 Author: htjcAdmin Date: Wed Jan 15 10:02:51 2025 +0800 /*IVS模拟系统高级版本初始代码。*/ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/images/02160558340532190101.jpg b/images/02160558340532190101.jpg new file mode 100644 index 0000000..b41f3e7 Binary files /dev/null and b/images/02160558340532190101.jpg differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..41f567b --- /dev/null +++ b/pom.xml @@ -0,0 +1,145 @@ + + + 4.0.0 + com.inspect + inspect-simulator-senior + v-1.0 + inspect-simulator-senior + inspect-simulator-senior + + 1.8 + UTF-8 + UTF-8 + 2.6.13 + com.inspect.simulator.InspectSimulatorApplication + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + org.projectlombok + lombok + 1.18.24 + + + org.apache.commons + commons-lang3 + 3.12.0 + + + com.squareup.retrofit2 + retrofit + 2.9.0 + + + com.squareup.retrofit2 + converter-jackson + 2.9.0 + + + + com.squareup.retrofit2 + converter-gson + 2.9.0 + + + + com.squareup.retrofit2 + converter-scalars + 2.9.0 + + + + com.google.code.gson + gson + 2.10.1 + + + com.alibaba + fastjson + 1.2.83 + + + mysql + mysql-connector-java + 8.0.28 + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.5.0 + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + com.baomidou + mybatis-plus-boot-starter + 3.4.3 + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + com.inspect.simulator.InspectSimulatorApplication + + + + + repackage + + repackage + + + + + + + + diff --git a/src/main/java/com/inspect/simulator/InspectSimulatorApplication.java b/src/main/java/com/inspect/simulator/InspectSimulatorApplication.java new file mode 100644 index 0000000..16c1ca3 --- /dev/null +++ b/src/main/java/com/inspect/simulator/InspectSimulatorApplication.java @@ -0,0 +1,77 @@ +package com.inspect.simulator; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.scheduling.annotation.EnableScheduling; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +@SpringBootApplication +@EnableScheduling +public class InspectSimulatorApplication { + + @Value("${analysis.api.url}") + private String apiUrlOfAnalysis; + @Value("${analysis.api.token}") + private String apiTokenOfAnalysis; + + @Value("${upper.api.url}") + private String apiUrlOfUpper; +// @Value("${upper.api.token}") +// private String apiTokenOfUpper; + + OkHttpClient.Builder clientBuilderOfAnalysis = new OkHttpClient.Builder(); + Interceptor interceptorOfAnalysis = chain -> { + Request request = chain.request() + .newBuilder() +// .addHeader("Authorization", "token " + token) +// .addHeader("content-type", "application/json") + .build(); + return chain.proceed(request); + }; + + @Bean(name = "RetrofitOfAnalysis") + public Retrofit retrofitOfAnalysis() { + clientBuilderOfAnalysis.interceptors().add(interceptorOfAnalysis); + return new Retrofit.Builder() + .baseUrl(apiUrlOfAnalysis) + .client(clientBuilderOfAnalysis.build()) + .addConverterFactory(ScalarsConverterFactory.create()) +// //.addConverterFactory(GsonConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + OkHttpClient.Builder clientBuilderOfUpper = new OkHttpClient.Builder(); + Interceptor interceptorOfUpper = chain -> { + Request request = chain.request() + .newBuilder() +// .addHeader("Authorization", "token " + token) +// .addHeader("content-type", "application/json") + .build(); + return chain.proceed(request); + }; + + @Bean(name = "RetrofitOfUpper") + public Retrofit retrofitOfUpper() { + clientBuilderOfUpper.interceptors().add(interceptorOfUpper); + return new Retrofit.Builder() + .baseUrl(apiUrlOfUpper) + .client(clientBuilderOfAnalysis.build()) + .addConverterFactory(ScalarsConverterFactory.create()) +// //.addConverterFactory(GsonConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + public static void main(String[] args) { + SpringApplication.run(InspectSimulatorApplication.class, args); + } + +} diff --git a/src/main/java/com/inspect/simulator/controller/AlgorithmController.java b/src/main/java/com/inspect/simulator/controller/AlgorithmController.java new file mode 100644 index 0000000..b91c869 --- /dev/null +++ b/src/main/java/com/inspect/simulator/controller/AlgorithmController.java @@ -0,0 +1,102 @@ +package com.inspect.simulator.controller; + +import com.google.gson.Gson; +import com.inspect.simulator.domain.algorithm.in.AnalyseRequest; +import com.inspect.simulator.domain.algorithm.out.AnalyseResItem; +import com.inspect.simulator.domain.algorithm.out.AnalyseResPoint; +import com.inspect.simulator.domain.algorithm.out.AnalyseResult; +import com.inspect.simulator.service.remote.AnalysisRemoteService; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import retrofit2.Call; +import retrofit2.Response; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@RestController +public class AlgorithmController { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Resource + private AnalysisRemoteService analysisRemoteService; + + @PostMapping("/simu/filter/picAnalyse") + public ResponseEntity filterPicAnalyse(@RequestBody final String analyseRequestStr) { + log.info("[FILTER] filterPicAnalyse: analyseRequestStr={}", analyseRequestStr); + AnalyseRequest analyseRequest = new Gson().fromJson(analyseRequestStr, AnalyseRequest.class); + log.info("[FILTER] filterPicAnalyse: analyseRequest={}", new Gson().toJson(analyseRequest)); + + AnalyseResult analyseResult = new AnalyseResult(); + analyseResult.setRequestId(analyseRequest.getRequestId()); + AnalyseResPoint analyseResPoint = new AnalyseResPoint(); + analyseResPoint.setValue("0"); + analyseResPoint.setConf("0.85"); + analyseResPoint.setCode("2000"); + analyseResPoint.setResImageUrl(analyseRequest.getObjectList().get(0).getImageUrlList()[0]); + List analyseResPoints = new ArrayList<>(); + analyseResPoints.add(analyseResPoint); + AnalyseResItem analyseResItem = new AnalyseResItem(); + analyseResItem.setObjectId(analyseRequest.getObjectList().get(0).getObjectId()); + analyseResItem.setAlgFactory("yd"); + analyseResItem.setResults(analyseResPoints); + List analyseResItems = new ArrayList<>(); + analyseResItems.add(analyseResItem); + analyseResult.setResultList(analyseResItems); + + log.info("[FILTER] filterPicAnalyse: analyseResult={}", new Gson().toJson(analyseResult)); + try { + Call call = analysisRemoteService.picAnalyseRetNotify(analyseResult); + Response response = call.execute(); + Object result = response.body(); + System.out.println("result: " + result); + } catch (Exception e) { + e.printStackTrace(); + } + + return ResponseEntity.ok().body("{\"code\":\"200\"}"); + } + + @PostMapping("/simu/bigModel/picAnalyse") + public ResponseEntity bigModelPicAnalyse(@RequestBody final String analyseRequestStr) { + log.info("[FILTER] bigModelPicAnalyse: analyseRequestStr={}", analyseRequestStr); + AnalyseRequest analyseRequest = new Gson().fromJson(analyseRequestStr, AnalyseRequest.class); + log.info("[FILTER] bigModelPicAnalyse: analyseRequest={}", new Gson().toJson(analyseRequest)); + + AnalyseResult analyseResult = new AnalyseResult(); + analyseResult.setRequestId(analyseRequest.getRequestId()); + AnalyseResPoint analyseResPoint = new AnalyseResPoint(); + analyseResPoint.setValue("1"); + analyseResPoint.setConf("0.95"); + analyseResPoint.setCode("2000"); + analyseResPoint.setResImageUrl(analyseRequest.getObjectList().get(0).getImageUrlList()[0]); + List analyseResPoints = new ArrayList<>(); + analyseResPoints.add(analyseResPoint); + AnalyseResItem analyseResItem = new AnalyseResItem(); + analyseResItem.setObjectId(analyseRequest.getObjectList().get(0).getObjectId()); + analyseResItem.setAlgFactory("yd"); + analyseResItem.setResults(analyseResPoints); + List analyseResItems = new ArrayList<>(); + analyseResItems.add(analyseResItem); + analyseResult.setResultList(analyseResItems); + + log.info("[FILTER] bigModelPicAnalyse: analyseResult={}", new Gson().toJson(analyseResult)); + try { + Call call = analysisRemoteService.picAnalyseRetNotify(analyseResult); + Response response = call.execute(); + Object result = response.body(); + System.out.println("result: " + result); + } catch (Exception e) { + e.printStackTrace(); + } + return ResponseEntity + .ok() + .body("{\"code\":\"200\"}"); + } +} diff --git a/src/main/java/com/inspect/simulator/controller/FileController.java b/src/main/java/com/inspect/simulator/controller/FileController.java new file mode 100644 index 0000000..193f544 --- /dev/null +++ b/src/main/java/com/inspect/simulator/controller/FileController.java @@ -0,0 +1,24 @@ +package com.inspect.simulator.controller; + +import com.inspect.simulator.domain.file.FileReturn; +import com.inspect.simulator.service.FileService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +@RestController +@RequestMapping(value = "/file") +public class FileController { + + private final FileService fileService; + + public FileController(FileService fileService) { + this.fileService = fileService; + } + + @RequestMapping("/upload") + public FileReturn uploadFile(@RequestParam("filename") String filename, @RequestParam("uploadFile") MultipartFile multipartFile) { + return fileService.uploadFile(filename, multipartFile); + } +} diff --git a/src/main/java/com/inspect/simulator/controller/IvsServerController.java b/src/main/java/com/inspect/simulator/controller/IvsServerController.java new file mode 100644 index 0000000..fd590eb --- /dev/null +++ b/src/main/java/com/inspect/simulator/controller/IvsServerController.java @@ -0,0 +1,335 @@ +package com.inspect.simulator.controller; + +import com.alibaba.fastjson.JSONObject; +import com.google.gson.Gson; +import com.inspect.simulator.domain.analysis.vi.AnalysisRequest; +import com.inspect.simulator.domain.analysis.vo.AnalysisResult; +import com.inspect.simulator.domain.analysis.vo.AnalysisResultEntity; +import com.inspect.simulator.domain.analysis.vo.AnalysisResultList; +import com.inspect.simulator.domain.ivs.*; +import com.inspect.simulator.service.remote.AnalysisRemoteService; +import com.inspect.simulator.view.IvsPlatformSnapshotView; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.system.ApplicationHome; +import org.springframework.core.io.InputStreamResource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.ClassUtils; +import org.springframework.util.ResourceUtils; +import org.springframework.web.bind.annotation.*; +import retrofit2.Call; +import retrofit2.Response; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLDecoder; +import java.nio.file.Files; +import java.util.*; + +@RestController +public class IvsServerController { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + private final String TASK_CODE = "1234567890"; + private final String PIC_URL = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=songbird&step_word=&hs=0&pn=15&spn=0&di=7360350738658099201&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=&st=-1&cs=1060316073%2C1951231255&os=2156611125%2C946097664&simid=60689125%2C716595069&adpicid=0&lpn=0&ln=1080&fr=&fmq=1718353459191_R&fm=result&ic=0&s=undefined&hd=&latest=©right=&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Fup.sc.enterdesk.com%2Fedpic%2Ff4%2F4a%2Fee%2Ff44aeeb12debd4e56faf34d72890d76d.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3F4_z%26e3Bfv_z%26e3Bjgpj61jfh_z%26e3Bv54AzdH3F_jgAzdH3Ff7vwtAzdH3Fnbn8lb_z%26e3Bip4s&gsm=1e&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined&lid=6977254189663851692"; + + private final AnalysisRemoteService analysisRemoteService; + + @Value("${platform.url}") + private String platFormUrl; + public IvsServerController(AnalysisRemoteService analysisRemoteService) { + this.analysisRemoteService = analysisRemoteService; + } + + @GetMapping("/common/keepAlive") + public ResponseEntity keepAlive() { + log.info("[GAB] keep alive"); + return ResponseEntity + .ok() + .body(IvsResult.builder().resultCode("0").build()); + } + + @PostMapping({"/loginInfo/login/v1.0"}) + public ResponseEntity login(@RequestBody Login login) { + log.info("[GAB] login : {}", login.toString()); + HttpHeaders responseHeaders = new HttpHeaders(); + responseHeaders.set("Set-Cookie", "token=1234567890"); + return ResponseEntity + .ok() + .headers(responseHeaders) + .body(IvsResult.builder().resultCode("0").build()); + } + + @GetMapping("/device/ptzpresetlist/{cameraCode}/{domainCode}") + public ResponseEntity ptzPresetList( + @PathVariable("cameraCode") String cameraCode, + @PathVariable("domainCode") String domainCode + ) { + log.info("[GAB] cameraCode : {}, domainCode: {}", cameraCode, domainCode); + List list = new ArrayList<>(); + list.add(IvsPresetListView.PtzPresetInfo + .builder().presetName("preset").presetIndex(0).focusSwitch(1).reserve("reserve") + .build()); + return ResponseEntity + .ok() + .body(IvsPresetListView + .builder() + .resultCode(0) + .ptzPresetNum(1) + .ptzPresetInfoList(IvsPresetListView.PtzPresetInfoList.builder().ptzPresetInfo(list).build()) + .build()); + } + + @PostMapping({"/video/rtspurl/v1.0"}) + public ResponseEntity videoRtspUrl(@RequestBody IvsVideoRtspVo rtspVo) { + log.info("[GAB] videoRtspUrl : {}", rtspVo.toString()); + return ResponseEntity + .ok() + .body( + IvsVideoRtspView + .builder() + .resultCode("0") + .rtspURL("rtsp://admin:wd19216811@192.168.1.249:554/h264/ch39/main/av_stream") + .build() + ); + } + + @PostMapping({"/device/ptzcontrol"}) + public ResponseEntity devicePtzControl(@RequestBody SipbPtzVo ptzVo) { + log.info("[GAB] devicePtzControl : {}", ptzVo.toString()); + return ResponseEntity + .ok() + .body(ResultEntity.builder().resultCode("0").build()); + } + + @GetMapping("/device/deviceList/v1.0") + public ResponseEntity getDeviceList(IvsDevChanListVo chanListVo) { + log.info("[GAB] chanListVo : {}", chanListVo.toString()); + return ResponseEntity + .ok() + .body(ResultEntity.builder().resultCode("0").build()); + } + + private static int mCount = 0; + + @GetMapping("/platform/platformSnapshot/{cameraCode}/{domainCode}") + public ResponseEntity getPlatformSnapshot( + @PathVariable("cameraCode") String cameraCode, + @PathVariable("domainCode") String domainCode, + IvsDevChanSnapVo chanSnapVo + ) { + log.info("[GAB] cameraCode: {}, domainCode: {}, platformSnapshot: {}", cameraCode, domainCode, chanSnapVo.toString()); + + mCount++; +// if(mCount % 2 == 0) + { + return ResponseEntity + .ok() + .body(ResultEntity + .builder() + .resultCode("0") + .resultBody(IvsSnapshotView + .builder() + .taskID(TASK_CODE) + .build() + ).build() + ); + } +// else { +// return ResponseEntity +// .ok().body(null); +// } + +// return ResponseEntity +// .ok() +// .body(ResultEntity +// .builder() +// .resultCode("0") +// .resultBody(IvsSnapshotView +// .builder() +// .taskID(TASK_CODE) +// .build() +// ).build() +// ); + } + + + private static int mCount2 = 0; + + @PostMapping("/platform/snapshotList") + public ResponseEntity getPlatformSnapshotList(@RequestBody IvsChanSnapVo chanSnapVo) { + log.info("[GAB] chanSnapVo: {}", chanSnapVo.toString()); + + mCount2++; +// if(mCount2 % 4 == 0) + { + List snapshotInfos = new ArrayList<>(); + final String urlRes = platFormUrl + "/platform/snapshot/" + chanSnapVo.getCameraCode(); + //final String urlRes = "http://192.168.110.184:18530/platform/snapshot/" + chanSnapVo.getCameraCode(); + snapshotInfos.add( + IvsPlatformSnapshotView.SnapshotInfo + .builder() + .cameraCode(chanSnapVo.getCameraCode()) + .pictureName("test.png") + .previewUrl(urlRes) + .pictureUrl(urlRes) + .build() + ); + IvsPlatformSnapshotView.SnapshotInfoList snapshotInfoList = + IvsPlatformSnapshotView.SnapshotInfoList + .builder() + .total(1) + .indexRange(IndexRange.builder().fromIndex(0).toIndex(0).build()) + .snapshotInfos(snapshotInfos) + .build(); + IvsPlatformSnapshotView snapshotView + = IvsPlatformSnapshotView + .builder() + .resultCode("0") + .snapshotInfoList(snapshotInfoList) + .build(); + return ResponseEntity + .ok() + .body(snapshotView); + } +// else { +// return ResponseEntity +// .ok() +// .body(null); +// } + } + + @GetMapping("/platform/snapshot/{cameraCode}") + public ResponseEntity getPlatformSnapshotByCameraCode(@PathVariable("cameraCode") String cameraCode, HttpServletResponse response) { + log.info("[GAB] get stream, cameraCode: {}", cameraCode); + try { + final String resourcePath = String.format("images/%s.jpg", cameraCode); + // InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath); + final String userDir = System.getProperty("user.dir"); + final String absolutePath = userDir.endsWith("/") ? + userDir + resourcePath : + userDir + File.separator + resourcePath; + log.info("absolutePath: {}", absolutePath); + InputStream inputStream = Files.newInputStream(new File(absolutePath).toPath()); + int length = inputStream.available(); + log.info("[snapshot] inputStream length: {}", length); + //byte bytes[] = new byte[length]; + //response.setContentLength(length); + InputStreamResource resource = new InputStreamResource(inputStream); + return ResponseEntity.ok() + .contentType(MediaType.IMAGE_JPEG) + .body(resource) + ; + } catch (Exception e) { + //e.printStackTrace(); + log.info("[GAB] get stream cameraCode: {}, exception: {}", cameraCode, e.getMessage()); + return ResponseEntity.ok().body(null); + } + } + + @GetMapping("/platform/snapshot2/{cameraCode}") + public ResponseEntity getPlatformSnapshotByCameraCode2(@PathVariable("cameraCode") String cameraCode, HttpServletResponse response) { + log.info("[GAB] get stream2, cameraCode: {}", cameraCode); + try { + File path = new File(ResourceUtils.getURL("classpath:").getPath()); + if (!path.exists()) path = new File(""); + log.info("path1: {}", path.getAbsolutePath()); + log.info("path2: {}", System.getProperty("user.dir")); + String path1 = ClassUtils.getDefaultClassLoader().getResource("").getPath(); + log.info("path3: {}", URLDecoder.decode(path1, "utf-8")); + String path2 = ResourceUtils.getURL("classpath:").getPath(); + log.info("path4: {}", path2); + ApplicationHome h = new ApplicationHome(getClass()); + File jarF = h.getSource(); + log.info("path5: {}", jarF.getParentFile().toString()); + + final String resourcePath = String.format("images/%s.jpg", cameraCode); + final String userDir = System.getProperty("user.dir"); + final String absolutePath = userDir.endsWith("/") ? + userDir + resourcePath : + userDir + "\\" + resourcePath; + log.info("absolutePath2: {}", absolutePath); + + InputStream inputStream = Files.newInputStream(new File(absolutePath).toPath()); + int length = inputStream.available(); + log.info("[snapshot] inputStream2 length: {}", length); + InputStreamResource resource = new InputStreamResource(inputStream); + return ResponseEntity.ok() + .contentType(MediaType.IMAGE_JPEG) + .body(resource) + ; + } catch (Exception e) { + //e.printStackTrace(); + log.info("[GAB] get stream cameraCode: {}, exception2: {}", cameraCode, e.getMessage()); + return ResponseEntity.ok().body(null); + } + } + + + @PostMapping({"/picAnalyse"}) + public ResponseEntity picAnalyse(@RequestBody AnalysisRequest analysisRequest) { + log.info("[GAB] analysisRequest!!!!!!: {}", analysisRequest.toString()); + +// OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder(); +// Interceptor interceptor = chain -> { +// Request request = chain.request().newBuilder().addHeader("Authorization", "token 012345678").build(); +// return chain.proceed(request); +// }; +// +// clientBuilder.interceptors().add(interceptor); +// Retrofit retrofit = new Retrofit.Builder() +// .baseUrl(analysisRequest.getRequestHostIp() + ":" + analysisRequest.getRequestHostPort()) +// .client(clientBuilder.build()) +// .addConverterFactory(JacksonConverterFactory.create()) +// .build(); + + AnalysisResult analysisResult = AnalysisResult.builder() + .code("2000") + .resImageUrl(analysisRequest.getObjectList().get(0).getImageUrlList().get(0)) + .pos(Arrays.asList("")) + .conf(0.99) + .value("30") + .type("meter") + .desc("blablabla") + .build(); + List results = new ArrayList<>(); + results.add(analysisResult); + AnalysisResultList analysisResultList = AnalysisResultList.builder() + .algFactory("yd") + .objectId(analysisRequest.getObjectList().get(0).getObjectId()) + .results(results) + .build(); + List resultList = new ArrayList<>(); + resultList.add(analysisResultList); + AnalysisResultEntity analysisResultEntity = AnalysisResultEntity.builder() + .requestId(analysisRequest.getRequestId()) + .resultList(resultList) + .build(); + + final String analysisResultJson = new Gson().toJson(analysisResultEntity); + System.out.println("res entity: \n" + analysisResultJson); + + try { + JSONObject parseObject = JSONObject.parseObject(analysisResultJson); + System.out.println("parseObject: \n" + parseObject); + } catch (Exception e) { + e.printStackTrace(); + } + + + try { + Call call = analysisRemoteService.analysisResultNotify(analysisResultEntity); + Response response = call.execute(); + Object result = response.body(); + System.out.println("result: " + result); + } catch (Exception e) { + e.printStackTrace(); + } + return ResponseEntity.ok().body("This is the test result!"); + } + +} diff --git a/src/main/java/com/inspect/simulator/controller/PatrolResultController.java b/src/main/java/com/inspect/simulator/controller/PatrolResultController.java new file mode 100644 index 0000000..9769098 --- /dev/null +++ b/src/main/java/com/inspect/simulator/controller/PatrolResultController.java @@ -0,0 +1,69 @@ +package com.inspect.simulator.controller; + +import com.inspect.simulator.domain.result.upper.MessageBody; +import com.inspect.simulator.domain.result.upper.MessageResult; +import com.inspect.simulator.domain.result.upper.TokenParam; +import com.inspect.simulator.domain.result.upper.TokenResult; +import com.inspect.simulator.service.PatrolResultService; +import com.inspect.simulator.utils.DateUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; + +@RestController +public class PatrolResultController { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + private final PatrolResultService patrolResultService; + + public PatrolResultController(PatrolResultService patrolResultService) { + this.patrolResultService = patrolResultService; + } + + @GetMapping("/patrol/result/upper/getToken") + public ResponseEntity getUpperToken(TokenParam tokenParam) { + TokenResult tokenResult = patrolResultService.getUpperToken(tokenParam); + return ResponseEntity + .ok() + .body(tokenResult); + } + + @PostMapping("/patrol/result/upper/messageNotify") + public ResponseEntity messageNotify( + @RequestHeader(value = "token") String token, + @RequestBody MessageBody messageBody) { + log.info("messageNotify: token={}, messageBody={}", token, messageBody); + MessageResult messageResult = patrolResultService.messageNotify(token, messageBody); + return ResponseEntity + .ok() + .body(messageResult); + } + + @PostMapping("/patrol/result/upper/send") + public void sendPatrolResultToUpperSystem() { + patrolResultService.sendPatrolResultToUpperSystem(); + } + + //@Scheduled(cron = "*/6 * * * * ?") + public void sayHello() { + final long threadId = Thread.currentThread().getId(); + final String execTime = DateUtils.format(DateUtils.yyyyMMddHHmmss2, new Date()); + log.info("[{}] {} --------------hello------------------", threadId, execTime); + + int i = 0; + while (i < 10000) { + i++; + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + log.info("[{}] {} --------------hello------------------ i: {}", threadId, execTime, i); + } + +} diff --git a/src/main/java/com/inspect/simulator/domain/BaseEntity.java b/src/main/java/com/inspect/simulator/domain/BaseEntity.java new file mode 100644 index 0000000..51853f5 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/BaseEntity.java @@ -0,0 +1,60 @@ +package com.inspect.simulator.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Setter +public class BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + private String searchValue; + private String createBy; + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + private Date createTime; + private String updateBy; + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + private Date updateTime; + private String remark; + private Map params; + + public String getSearchValue() { + return this.searchValue; + } + + public String getCreateBy() { + return this.createBy; + } + + public Date getCreateTime() { + return this.createTime; + } + + public String getUpdateBy() { + return this.updateBy; + } + + public Date getUpdateTime() { + return this.updateTime; + } + + public String getRemark() { + return this.remark; + } + + public Map getParams() { + if (this.params == null) { + this.params = new HashMap(); + } + + return this.params; + } + +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseConstants.java b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseConstants.java new file mode 100644 index 0000000..e495678 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseConstants.java @@ -0,0 +1,35 @@ +package com.inspect.simulator.domain.algorithm.in; + +public class AnalyseConstants { + public static final String ANALYSE_FILTER_REQUEST = "ANALYSE_FILTER_REQUEST:"; + public static final String ANALYSE_REQUEST_ALG = "ANALYSE_REQUEST_ALG:"; + public static final String ANALYSE_TASK_REQUEST = "ANALYSE_TASK_REQUEST:"; + public static final String ANALYSE_REQUEST_ID = "ANALYSE_REQUEST_ID:"; + public static final String ANALYSE_OK = "2000"; + public static final String ANALYSE_FAIL_NO_FILE = "2001"; + public static final String ANALYSE_FAIL_ALG_EXCEPT = "2002"; + public static final String ANALYSE_FAIL_FILE_EXCEPT = "2003"; + public static final String ANALYSE_FAIL_FILE_INCOMPATIBLE = "2004"; + public static final String ANALYSE_CODE = "code"; + public static final String ANALYSE_UPPER_VALUE = "upperValue"; + public static final String ANALYSE_LOWER_VALUE = "lowerValue"; + public static final String ANALYSE_ALARM_THRESHOLD = "alarm_threshold"; + public static final String ANALYSE_VALUE_ERROR = "1"; + public static final String ANALYSE_SPLIT = "$analyse$"; + public static final String POINT_STATUS_FAIL = "0"; + public static final String POINT_STATUS_OK = "1"; + public static final String POINT_STATUS_PERSON = "2"; + public static final String RES_STATUS_UN = "0"; + public static final String RES_STATUS_ED = "1"; + public static final String RES_STATUS_NO = "2"; + public static final String RESULT_TYPE_ALARM = "0"; + public static final String RESULT_TYPE_RESULT = "1"; + public static final String RESULT_TYPE_ERROR = "2"; + public static final String TASK_PROGRESS_WAITING = "99.99"; + public static final String TASK_PROGRESS_OK = "100"; + public static final String ANALYSE_IS_FILTER = "ANALYSE_IS_FILTER"; + public static final String ANALYSE_IS_METER_FILTER = "ANALYSE_IS_METER_FILTER"; + public static final String ANALYSE_FILTER_URL = "ANALYSE_FILTER_URL"; + public static final String ANALYSIS_BIG_URL = "ANALYSIS_BIG_URL"; + public static final String MAX_NUM = "MAX_NUM"; +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseReqItem.java b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseReqItem.java new file mode 100644 index 0000000..82d983a --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseReqItem.java @@ -0,0 +1,50 @@ +package com.inspect.simulator.domain.algorithm.in; + +import com.alibaba.fastjson.JSONObject; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Objects; + +@Setter +@Getter +public class AnalyseReqItem implements Serializable { + private String objectId; + private String imageNormalUrlPath; + private String[] typeList; + private String[] imageUrlList; + + public AnalyseReqItem clone() { + return JSONObject.parseObject(JSONObject.toJSONString(this), AnalyseReqItem.class); + } + + public String toResultValue(String type) { + return this.objectId + AnalyseConstants.ANALYSE_SPLIT + type; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + AnalyseReqItem that = (AnalyseReqItem) object; + return Objects.equals(objectId, that.objectId) && Objects.equals(imageNormalUrlPath, that.imageNormalUrlPath) && Objects.deepEquals(typeList, that.typeList) && Objects.deepEquals(imageUrlList, that.imageUrlList); + } + + @Override + public int hashCode() { + return Objects.hash(objectId, imageNormalUrlPath, Arrays.hashCode(typeList), Arrays.hashCode(imageUrlList)); + } + + @Override + public String toString() { + return "AnalyseReqItem{" + + "objectId='" + objectId + '\'' + + ", imageNormalUrlPath='" + imageNormalUrlPath + '\'' + + ", typeList=" + Arrays.toString(typeList) + + ", imageUrlList=" + Arrays.toString(imageUrlList) + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseRequest.java b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseRequest.java new file mode 100644 index 0000000..8bbf436 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/in/AnalyseRequest.java @@ -0,0 +1,72 @@ +package com.inspect.simulator.domain.algorithm.in; + +import com.alibaba.fastjson.JSONObject; +import com.inspect.simulator.domain.algorithm.out.AnalyseResItem; +import com.inspect.simulator.domain.algorithm.out.AnalyseResPoint; +import com.inspect.simulator.domain.algorithm.out.AnalyseResult; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Setter +@Getter +public class AnalyseRequest implements Serializable { + private List objectList; + private String requestHostIp; + private String requestHostPort; + private String requestId; + private String algorithmPath; + private String taskPatrolId; + + public AnalyseRequest clone() { + return JSONObject.parseObject(JSONObject.toJSONString(this), AnalyseRequest.class); + } + + public String toErrorResultStr() { + AnalyseResult analyseResult = new AnalyseResult(); + analyseResult.setRequestId(this.requestId); + List list = new ArrayList<>(); + analyseResult.setResultsList(list); + + for (AnalyseReqItem analyseReqItem : this.objectList) { + AnalyseResItem analyseResItem = new AnalyseResItem(); + list.add(analyseResItem); + analyseResItem.setObjectId(analyseReqItem.getObjectId()); + List results = new ArrayList<>(); + analyseResItem.setResults(results); + for (String type : analyseReqItem.getTypeList()) { + AnalyseResPoint analyseResPoint = new AnalyseResPoint(); + analyseResPoint.setCode("2002"); + analyseResPoint.setType(type); + analyseResPoint.setDesc("调用分析失败"); + analyseResPoint.setResImageUrl(analyseReqItem.getImageUrlList()[0]); + analyseResPoint.setValue("-1"); + results.add(analyseResPoint); + } + } + + return JSONObject.toJSONString(analyseResult); + } + + public String toString() { + return JSONObject.toJSONString(this); + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + AnalyseRequest that = (AnalyseRequest) object; + return Objects.equals(objectList, that.objectList) && Objects.equals(requestHostIp, that.requestHostIp) && Objects.equals(requestHostPort, that.requestHostPort) && Objects.equals(requestId, that.requestId) && Objects.equals(algorithmPath, that.algorithmPath) && Objects.equals(taskPatrolId, that.taskPatrolId); + } + + @Override + public int hashCode() { + return Objects.hash(objectList, requestHostIp, requestHostPort, requestId, algorithmPath, taskPatrolId); + } + +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResItem.java b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResItem.java new file mode 100644 index 0000000..e38099f --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResItem.java @@ -0,0 +1,42 @@ +package com.inspect.simulator.domain.algorithm.out; + +import com.alibaba.fastjson.JSONObject; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +@Setter +@Getter +public class AnalyseResItem implements Serializable { + private String objectId; + private String algFactory; + private List results; + + public AnalyseResItem clone() { + return JSONObject.parseObject(JSONObject.toJSONString(this), AnalyseResItem.class); + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + AnalyseResItem that = (AnalyseResItem) object; + return Objects.equals(objectId, that.objectId) && Objects.equals(results, that.results); + } + + @Override + public int hashCode() { + return Objects.hash(objectId, results); + } + + @Override + public String toString() { + return "AnalyseResItem{" + + "objectId='" + objectId + '\'' + + ", results=" + results + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResPoint.java b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResPoint.java new file mode 100644 index 0000000..d177c5a --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResPoint.java @@ -0,0 +1,119 @@ +package com.inspect.simulator.domain.algorithm.out; + +import com.alibaba.fastjson.JSONObject; +import com.inspect.simulator.domain.algorithm.in.AnalyseConstants; +import org.apache.commons.lang3.StringUtils; + + +import java.io.Serializable; +import java.util.List; +import java.util.Objects; + +public class AnalyseResPoint implements Serializable { + private String type; + private String Value; + private String value; + private String code; + private String resImageUrl; + private String imageNormalUrlPath; + private String conf; + private String desc; + private List pos; + + public boolean checkSuccess() { + return "2000".equals(this.code) && "1".equals(this.value); + } + + public String toString() { + return JSONObject.toJSONString(this); + } + + public void setValue(String value) { + this.value = value; + if (!StringUtils.isEmpty(value)) { + this.Value = value; + } + + } + + public String toResultValue(String objectId) { + return objectId + AnalyseConstants.ANALYSE_SPLIT + this.type; + } + + public AnalyseResPoint clone() { + return JSONObject.parseObject(JSONObject.toJSONString(this), AnalyseResPoint.class); + } + + public String getType() { + return this.type; + } + + public String getValue() { + return this.Value; + } + + public String getCode() { + return this.code; + } + + public String getResImageUrl() { + return this.resImageUrl; + } + + public String getImageNormalUrlPath() { + return this.imageNormalUrlPath; + } + + public String getConf() { + return this.conf; + } + + public String getDesc() { + return this.desc; + } + + public List getPos() { + return this.pos; + } + + public void setType(String type) { + this.type = type; + } + + public void setCode(String code) { + this.code = code; + } + + public void setResImageUrl(String resImageUrl) { + this.resImageUrl = resImageUrl; + } + + public void setImageNormalUrlPath(String imageNormalUrlPath) { + this.imageNormalUrlPath = imageNormalUrlPath; + } + + public void setConf(String conf) { + this.conf = conf; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public void setPos(List pos) { + this.pos = pos; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + AnalyseResPoint that = (AnalyseResPoint) object; + return Objects.equals(type, that.type) && Objects.equals(Value, that.Value) && Objects.equals(value, that.value) && Objects.equals(code, that.code) && Objects.equals(resImageUrl, that.resImageUrl) && Objects.equals(imageNormalUrlPath, that.imageNormalUrlPath) && Objects.equals(conf, that.conf) && Objects.equals(desc, that.desc) && Objects.equals(pos, that.pos); + } + + @Override + public int hashCode() { + return Objects.hash(type, Value, value, code, resImageUrl, imageNormalUrlPath, conf, desc, pos); + } +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResult.java b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResult.java new file mode 100644 index 0000000..515bc91 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/out/AnalyseResult.java @@ -0,0 +1,95 @@ +package com.inspect.simulator.domain.algorithm.out; + + +import com.inspect.simulator.domain.algorithm.in.AnalyseReqItem; +import com.inspect.simulator.domain.algorithm.in.AnalyseRequest; +import lombok.Getter; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Getter +public class AnalyseResult implements Serializable { + private String requestId; + private List resultList; + private List resultsList; + private String taskPatrolId; + private String filter = "0"; + private String result = "1"; + + public void setResultsList(List resultsList) { + this.resultsList = resultsList; + if (resultsList != null) { + this.resultList = resultsList; + } + + } + + public void reloadReq(AnalyseRequest analyseRequest) { + AnalyseResItem analyseResItem = this.resultList.get(0); + List resultList = new ArrayList<>(); + this.setResultsList(resultList); + + for (int i = 0; i < analyseRequest.getObjectList().size(); ++i) { + AnalyseResItem resItem = analyseResItem.clone(); + resultList.add(resItem); + AnalyseReqItem analyseReqItem = analyseRequest.getObjectList().get(i); + AnalyseResPoint resPoint = analyseResItem.getResults().get(0); + List results = new ArrayList<>(); + resItem.setResults(results); + for (String type : analyseReqItem.getTypeList()) { + AnalyseResPoint clone = resPoint.clone(); + clone.setType(type); + results.add(clone); + } + } + + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public void setResultList(List resultList) { + this.resultList = resultList; + } + + public void setTaskPatrolId(String taskPatrolId) { + this.taskPatrolId = taskPatrolId; + } + + public void setFilter(String filter) { + this.filter = filter; + } + + public void setResult(String result) { + this.result = result; + } + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + AnalyseResult that = (AnalyseResult) object; + return Objects.equals(requestId, that.requestId) && Objects.equals(resultList, that.resultList) && Objects.equals(resultsList, that.resultsList) && Objects.equals(taskPatrolId, that.taskPatrolId) && Objects.equals(filter, that.filter) && Objects.equals(result, that.result); + } + + @Override + public int hashCode() { + return Objects.hash(requestId, resultList, resultsList, taskPatrolId, filter, result); + } + + @Override + public String toString() { + return "AnalyseResult{" + + "requestId='" + requestId + '\'' + + ", resultList=" + resultList + + ", resultsList=" + resultsList + + ", taskPatrolId='" + taskPatrolId + '\'' + + ", filter='" + filter + '\'' + + ", result='" + result + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/algorithm/out/Pos.java b/src/main/java/com/inspect/simulator/domain/algorithm/out/Pos.java new file mode 100644 index 0000000..c83ce06 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/algorithm/out/Pos.java @@ -0,0 +1,11 @@ +package com.inspect.simulator.domain.algorithm.out; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class Pos { + private String[] areas; + +} diff --git a/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisObject.java b/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisObject.java new file mode 100644 index 0000000..f588c13 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisObject.java @@ -0,0 +1,19 @@ +package com.inspect.simulator.domain.analysis.vi; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisObject { + private String objectId; + private String imageNormalUrlPath; + private List typeList; + private List imageUrlList; +} diff --git a/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisRequest.java b/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisRequest.java new file mode 100644 index 0000000..cef77bb --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/analysis/vi/AnalysisRequest.java @@ -0,0 +1,20 @@ +package com.inspect.simulator.domain.analysis.vi; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisRequest { + private String requestId; + private String taskPatrolId; + private String requestHostIp; + private String requestHostPort; + private List objectList; +} diff --git a/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResult.java b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResult.java new file mode 100644 index 0000000..000dad8 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResult.java @@ -0,0 +1,23 @@ +package com.inspect.simulator.domain.analysis.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisResult implements Serializable { + private String code; + private List pos; + private String resImageUrl; + private Double conf; + private String type; + private String value; + private String desc; +} diff --git a/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultEntity.java b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultEntity.java new file mode 100644 index 0000000..d87185a --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultEntity.java @@ -0,0 +1,18 @@ +package com.inspect.simulator.domain.analysis.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisResultEntity implements Serializable { + private String requestId; + private List resultList; +} diff --git a/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultList.java b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultList.java new file mode 100644 index 0000000..4bc5ec1 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/analysis/vo/AnalysisResultList.java @@ -0,0 +1,19 @@ +package com.inspect.simulator.domain.analysis.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AnalysisResultList implements Serializable { + private String algFactory; + private String objectId; + private List results; +} diff --git a/src/main/java/com/inspect/simulator/domain/file/FileReturn.java b/src/main/java/com/inspect/simulator/domain/file/FileReturn.java new file mode 100644 index 0000000..7805da7 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/file/FileReturn.java @@ -0,0 +1,54 @@ +package com.inspect.simulator.domain.file; + +import java.io.Serializable; + +public class FileReturn implements Serializable { + private static final long serialVersionUID = -1959544190118740608L; + private int resultCode; + private String msg; + private T data; + + public FileReturn() { + + } + + public FileReturn(int resultCode, String msg, T data) { + this.resultCode = resultCode; + this.msg = msg; + this.data = data; + } + + public int getResultCode() { + return resultCode; + } + + public void setResultCode(int resultCode) { + this.resultCode = resultCode; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + @Override + public String toString() { + return "FileReturn{" + + "resultCode=" + resultCode + + ", msg='" + msg + '\'' + + ", data=" + data + + '}'; + } +} + diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IndexRange.java b/src/main/java/com/inspect/simulator/domain/ivs/IndexRange.java new file mode 100644 index 0000000..f7a1ddb --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IndexRange.java @@ -0,0 +1,16 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IndexRange { + private int fromIndex; + private int toIndex; +} + diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsChanSnapVo.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsChanSnapVo.java new file mode 100644 index 0000000..cac548e --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsChanSnapVo.java @@ -0,0 +1,18 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsChanSnapVo implements Serializable { + private String taskID; + private String cameraCode; + private String domainCode; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanListVo.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanListVo.java new file mode 100644 index 0000000..4ebeec6 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanListVo.java @@ -0,0 +1,28 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsDevChanListVo implements Serializable { + private String serial; + private String code; + private String civilcode; + private String block; + private String channel_type; + private String dir_serial; + private String start; + private String limit; + private String q; + private String online; + private int deviceType = 35; + private int fromIndex = 1; + private int toIndex = 10000; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanSnapVo.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanSnapVo.java new file mode 100644 index 0000000..d524cb3 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsDevChanSnapVo.java @@ -0,0 +1,20 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ToString(callSuper = true) +public class IvsDevChanSnapVo extends IvsVo { + private String serial; + private String channel; + private boolean realtime; + private boolean check_outputs; + private boolean timeout; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsPresetListView.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsPresetListView.java new file mode 100644 index 0000000..b839c7b --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsPresetListView.java @@ -0,0 +1,38 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsPresetListView implements Serializable { + private int resultCode; + private int ptzPresetNum; + private PtzPresetInfoList ptzPresetInfoList; + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class PtzPresetInfo implements Serializable { + private int presetIndex; + private String presetName; + private String reserve; + private int focusSwitch; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class PtzPresetInfoList implements Serializable { + private List ptzPresetInfo; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsResult.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsResult.java new file mode 100644 index 0000000..eb1440e --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsResult.java @@ -0,0 +1,30 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Objects; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsResult implements Serializable { + private String resultCode; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + IvsResult ivsResult = (IvsResult) o; + return Objects.equals(resultCode, ivsResult.resultCode); + } + + @Override + public int hashCode() { + return Objects.hashCode(resultCode); + } +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsSnapshotView.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsSnapshotView.java new file mode 100644 index 0000000..89bd98c --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsSnapshotView.java @@ -0,0 +1,16 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class IvsSnapshotView implements Serializable { + private String taskID; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspView.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspView.java new file mode 100644 index 0000000..bebf970 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspView.java @@ -0,0 +1,23 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsVideoRtspView implements Serializable { + private String resultCode; + private String url; + private String rtspURL; + private String flvURL; + private String webrtcURL; + private String downloadURL; + private String hlsURL; + private String mp4URL; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspVo.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspVo.java new file mode 100644 index 0000000..c8d10ab --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsVideoRtspVo.java @@ -0,0 +1,46 @@ +package com.inspect.simulator.domain.ivs; + +import com.inspect.simulator.view.IvsRecordListView; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsVideoRtspVo implements Serializable { + private String cameraCode; + private RealMediaURLParam mediaURLParam; + + public static IvsVideoRtspVo realStream(String cameraCode) { + IvsVideoRtspVo ivsVideoRtspVo = new IvsVideoRtspVo(); + ivsVideoRtspVo.mediaURLParam = new RealMediaURLParam(); + ivsVideoRtspVo.cameraCode = cameraCode; + return ivsVideoRtspVo; + } + + public static IvsVideoRtspVo playbackStream(SipbStartRecordVo sipbStartRecordVo) { + IvsVideoRtspVo ivsVideoRtspVo = new IvsVideoRtspVo(); + ivsVideoRtspVo.mediaURLParam = new RealMediaURLParam(); + ivsVideoRtspVo.mediaURLParam.setServiceType(8); + ivsVideoRtspVo.cameraCode = sipbStartRecordVo.getCameraCode(); + ivsVideoRtspVo.mediaURLParam.setTimeSpan(new TimeSpan(sipbStartRecordVo.getBeginTime(), sipbStartRecordVo.getEndTime())); + ivsVideoRtspVo.mediaURLParam.setFileName(sipbStartRecordVo.getRecordFileName()); + return ivsVideoRtspVo; + } + + public static IvsVideoRtspVo download(String cameraCode, IvsRecordListView.RecordInfo recordInfo) { + IvsVideoRtspVo ivsVideoRtspVo = new IvsVideoRtspVo(); + ivsVideoRtspVo.cameraCode = cameraCode; + RecordMediaURLParam recordMediaURLParam = new RecordMediaURLParam(); + ivsVideoRtspVo.mediaURLParam = recordMediaURLParam; + recordMediaURLParam.setNvrCode(recordInfo.getNvrCode()); + recordMediaURLParam.setTimeSpan(recordInfo.getRecordTime()); + recordMediaURLParam.setServiceType(3); + return ivsVideoRtspVo; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/IvsVo.java b/src/main/java/com/inspect/simulator/domain/ivs/IvsVo.java new file mode 100644 index 0000000..86e603b --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/IvsVo.java @@ -0,0 +1,20 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class IvsVo implements Serializable { + private static final long serialVersionUID = -6922254609485688648L; + private String code; + private String cameraCode; + private String domainCode; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/Login.java b/src/main/java/com/inspect/simulator/domain/ivs/Login.java new file mode 100644 index 0000000..b107067 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/Login.java @@ -0,0 +1,18 @@ +package com.inspect.simulator.domain.ivs; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Login { + @JsonProperty("userName") + private String username; + + private String password; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/RealMediaURLParam.java b/src/main/java/com/inspect/simulator/domain/ivs/RealMediaURLParam.java new file mode 100644 index 0000000..82d0504 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/RealMediaURLParam.java @@ -0,0 +1,97 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +//@Data +//@Builder +//@NoArgsConstructor +//@AllArgsConstructor +public class RealMediaURLParam implements Serializable { + private int serviceType = 1; + private int packProtocolType = 1; + private int streamType = 1; + private int protocolType = 2; + private int transMode = 1; + private int broadCastType = 0; + private int clientType = 1; + private TimeSpan timeSpan; + private String fileName; + + public int getServiceType() { + return serviceType; + } + + public void setServiceType(int serviceType) { + this.serviceType = serviceType; + } + + public int getPackProtocolType() { + return packProtocolType; + } + + public void setPackProtocolType(int packProtocolType) { + this.packProtocolType = packProtocolType; + } + + public int getStreamType() { + return streamType; + } + + public void setStreamType(int streamType) { + this.streamType = streamType; + } + + public int getProtocolType() { + return protocolType; + } + + public void setProtocolType(int protocolType) { + this.protocolType = protocolType; + } + + public int getTransMode() { + return transMode; + } + + public void setTransMode(int transMode) { + this.transMode = transMode; + } + + public int getBroadCastType() { + return broadCastType; + } + + public void setBroadCastType(int broadCastType) { + this.broadCastType = broadCastType; + } + + public int getClientType() { + return clientType; + } + + public void setClientType(int clientType) { + this.clientType = clientType; + } + + public TimeSpan getTimeSpan() { + return timeSpan; + } + + public void setTimeSpan(TimeSpan timeSpan) { + this.timeSpan = timeSpan; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } +} + diff --git a/src/main/java/com/inspect/simulator/domain/ivs/RecordMediaURLParam.java b/src/main/java/com/inspect/simulator/domain/ivs/RecordMediaURLParam.java new file mode 100644 index 0000000..454655f --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/RecordMediaURLParam.java @@ -0,0 +1,17 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RecordMediaURLParam extends RealMediaURLParam { + private TimeSpan timeSpan = new TimeSpan(); + private String dstIP; + private String nvrCode; + private String fileName; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/ResultEntity.java b/src/main/java/com/inspect/simulator/domain/ivs/ResultEntity.java new file mode 100644 index 0000000..9a032e5 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/ResultEntity.java @@ -0,0 +1,15 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ResultEntity { + private String resultCode; + private T resultBody; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/SipbAndIvsConvert.java b/src/main/java/com/inspect/simulator/domain/ivs/SipbAndIvsConvert.java new file mode 100644 index 0000000..dee8e1b --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/SipbAndIvsConvert.java @@ -0,0 +1,25 @@ +package com.inspect.simulator.domain.ivs; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +public class SipbAndIvsConvert implements Serializable { + public static final String SPEED_DEFAULT = "1"; + public static final String CONTINUITY_DEFAULT = "1"; + public static final String CONTINUITY_CONTINUE = "2"; + private static final String[] ptz = new String[]{"stop,PTZ_STOP,1", "upstop,PTZ_STOP,1", "downstop,PTZ_STOP,1", "rightstop,PTZ_STOP,1", "leftstop,PTZ_STOP,1", "upleftstop,PTZ_STOP,1", "downleftstop,PTZ_STOP,1", "uprightstop,PTZ_STOP,1", "downrightstop,PTZ_STOP,1", "up,PTZ_UP,2", "down,PTZ_DOWN,3", "left,PTZ_LEFT,4", "upleft,PTZ_UP_LEFT,5", "downleft,PTZ_DOWN_LEFT,6", "right,PTZ_RIGHT,7", "upright,PTZ_UP_RIGHT,8", "downright,PTZ_DOWN_RIGHT,9", "auto,PTZ_AUTO,10", "setpreset,PTZ_PREFAB_BIT_RUN,11", "x,PTZ_CRUISE_RUN,12", "x,PTZ_CRUISE_STOP,13", "x,PTZ_MODE_CRUISE_RUN,14", "x,PTZ_MODE_CRUISE_STOP,15", "x,PTZ_MENU_OPEN,16", "x,PTZ_MENU_EXIT,17", "x,PTZ_MENU_ENTER,18", "x,PTZ_FLIP,19", "x,PTZ_START,20", "apertureonstop,PTZ_STOP,1", "apertureon,PTZ_LENS_APERTURE_OPEN,21", "apertureoffstop,PTZ_STOP,1", "apertureoff,PTZ_LENS_APERTURE_CLOSE,22", "zoominstop,PTZ_STOP,1", "zoomin,PTZ_LENS_ZOOM_IN,23", "zoomoutstop,PTZ_STOP,1", "zoomout,PTZ_LENS_ZOOM_OUT,24", "nearfocusstop,PTZ_STOP,1", "nearfocus,PTZ_LENS_FOCAL_NEAR,25", "farfocusstop,PTZ_STOP,1", "farfocus,PTZ_LENS_FOCAL_FAR,26", "x,PTZ_AUX_OPEN,27", "x,PTZ_AUX_STOP,28", "x,MODE_SET_START,29", "x,MODE_SET_STOP,30", "x,PTZ_FAST_LOCATE,31", "x,PTZ_HORIZONTAL_SCAN,32", "x,PTZ_VERTICAL_SCAN,33", "x,PTZ_LOCK,34", "x,PTZ_UNLOCK,35", "x,PTZ_ABSOLUTE_MOVE,36", "x,PTZ_DIRECTION_MOVE,37"}; + public static final Map map = new HashMap(); + + static { + String[] var0 = ptz; + int var1 = var0.length; + + for(int var2 = 0; var2 < var1; ++var2) { + String str = var0[var2]; + String[] split = str.split(","); + map.put(split[0], split[2]); + } + + } +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/SipbPtzVo.java b/src/main/java/com/inspect/simulator/domain/ivs/SipbPtzVo.java new file mode 100644 index 0000000..02809fb --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/SipbPtzVo.java @@ -0,0 +1,25 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SipbPtzVo implements Serializable { + private String serial; + private String channel; + private String code; + private String command; + private String speed; + private String portraitspeed; + private String cameraCode; + private String controlCode; + private String controlPara1 = "1"; + private String controlPara2 = "1"; +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/SipbStartRecordVo.java b/src/main/java/com/inspect/simulator/domain/ivs/SipbStartRecordVo.java new file mode 100644 index 0000000..e178d10 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/SipbStartRecordVo.java @@ -0,0 +1,150 @@ +package com.inspect.simulator.domain.ivs; + +import com.inspect.simulator.utils.TimeUtils; + +import java.io.Serializable; + +public class SipbStartRecordVo implements Serializable { + private String serial; + private String filepath; + private String starttime; + private String code; + private String fileName; + private String cameraCode; + private String cameraId; + private String recordFileName; + private String beginTime; + private String endTime; + private String streamType = "1"; + private String urlType = "4"; + private String recordMethod = "1"; + private String agentType = "1"; + private String templetId = "100001"; + + public void setFilepath(String filepath) { + this.filepath = filepath; + String[] split = filepath.split("@"); + this.cameraId = split[0]; + this.recordFileName = split[1]; + this.cameraCode = this.cameraId; + } + + public void setStarttime(String starttime) { + this.starttime = starttime; + this.beginTime = TimeUtils.toIvs(starttime); + } + + public void setEndTime(String endTime) { + this.endTime = TimeUtils.toIvs(endTime); + } + + public String getSerial() { + return this.serial; + } + + public String getFilepath() { + return this.filepath; + } + + public String getStarttime() { + return this.starttime; + } + + public String getCode() { + return this.code; + } + + public String getFileName() { + return this.fileName; + } + + public String getCameraCode() { + return this.cameraCode; + } + + public String getCameraId() { + return this.cameraId; + } + + public String getRecordFileName() { + return this.recordFileName; + } + + public String getBeginTime() { + return this.beginTime; + } + + public String getEndTime() { + return this.endTime; + } + + public String getStreamType() { + return this.streamType; + } + + public String getUrlType() { + return this.urlType; + } + + public String getRecordMethod() { + return this.recordMethod; + } + + public String getAgentType() { + return this.agentType; + } + + public String getTempletId() { + return this.templetId; + } + + public void setSerial(String serial) { + this.serial = serial; + } + + public void setCode(String code) { + this.code = code; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public void setCameraCode(String cameraCode) { + this.cameraCode = cameraCode; + } + + public void setCameraId(String cameraId) { + this.cameraId = cameraId; + } + + public void setRecordFileName(String recordFileName) { + this.recordFileName = recordFileName; + } + + public void setBeginTime(String beginTime) { + this.beginTime = beginTime; + } + + public void setStreamType(String streamType) { + this.streamType = streamType; + } + + public void setUrlType(String urlType) { + this.urlType = urlType; + } + + public void setRecordMethod(String recordMethod) { + this.recordMethod = recordMethod; + } + + public void setAgentType(String agentType) { + this.agentType = agentType; + } + + public void setTempletId(String templetId) { + this.templetId = templetId; + } + + +} diff --git a/src/main/java/com/inspect/simulator/domain/ivs/TimeSpan.java b/src/main/java/com/inspect/simulator/domain/ivs/TimeSpan.java new file mode 100644 index 0000000..28361fb --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/ivs/TimeSpan.java @@ -0,0 +1,18 @@ +package com.inspect.simulator.domain.ivs; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TimeSpan implements Serializable { + private String startTime; + private String endTime; +} + diff --git a/src/main/java/com/inspect/simulator/domain/result/AlgInfo.java b/src/main/java/com/inspect/simulator/domain/result/AlgInfo.java new file mode 100644 index 0000000..32b93c2 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/AlgInfo.java @@ -0,0 +1,13 @@ +package com.inspect.simulator.domain.result; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class AlgInfo { + private String algSubtypeName; + private String algSubtypeCode; + private String algName; + +} diff --git a/src/main/java/com/inspect/simulator/domain/result/BasePointAreaInfo.java b/src/main/java/com/inspect/simulator/domain/result/BasePointAreaInfo.java new file mode 100644 index 0000000..1f33f00 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/BasePointAreaInfo.java @@ -0,0 +1,42 @@ +package com.inspect.simulator.domain.result; + +import lombok.Getter; +import lombok.Setter; + +import java.util.Objects; + +@Setter +@Getter +public class BasePointAreaInfo { + private String patrolPointId; + private String patrolPointName; + private String deviceName; + private String mainName; + private String jgName; + private String areaName; + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + BasePointAreaInfo that = (BasePointAreaInfo) object; + return Objects.equals(patrolPointId, that.patrolPointId) && Objects.equals(patrolPointName, that.patrolPointName) && Objects.equals(deviceName, that.deviceName) && Objects.equals(mainName, that.mainName) && Objects.equals(jgName, that.jgName) && Objects.equals(areaName, that.areaName); + } + + @Override + public int hashCode() { + return Objects.hash(patrolPointId, patrolPointName, deviceName, mainName, jgName, areaName); + } + + @Override + public String toString() { + return "BasePointAreaInfo{" + + "patrolPointId='" + patrolPointId + '\'' + + ", patrolPointName='" + patrolPointName + '\'' + + ", deviceName='" + deviceName + '\'' + + ", mainName='" + mainName + '\'' + + ", jgName='" + jgName + '\'' + + ", areaName='" + areaName + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/BasedataEqpBookMoMain.java b/src/main/java/com/inspect/simulator/domain/result/BasedataEqpBookMoMain.java new file mode 100644 index 0000000..37ae67b --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/BasedataEqpBookMoMain.java @@ -0,0 +1,72 @@ +package com.inspect.simulator.domain.result; + +import com.inspect.simulator.domain.BaseEntity; +import lombok.*; + +import java.util.List; + +@Getter +@Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BasedataEqpBookMoMain extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long eqpBookId; + + private String stationName; + + private String stationCode; + + private Long areaId; + + private String areaName; + + private String patrolDeviceName; + + private String patrolDeviceCode; + + private String deviceModel; + + private String manufacturer; + + private String useUnit; + + private String deviceSource; + + private String productionDate; + + private String productionCode; + + private String isTransport; + + private String useMode; + + private String videoMode; + + private String place; + + private String positionX; + + private String positionY; + + private String positionZ; + + private String type; + + private String patrolDeviceInfo; + + private String robotsCode; + + private String ipAddr; + + private String port; + + private String user; + + private String password; + private String mainSystemCode; + private String delFlag; + private List algId; + private List patrolTaskList; +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolData.java b/src/main/java/com/inspect/simulator/domain/result/PatrolData.java new file mode 100644 index 0000000..339633e --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolData.java @@ -0,0 +1,20 @@ +package com.inspect.simulator.domain.result; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class PatrolData { + private String lineId; + private String pointName; + private String patrolTime; + private String pointStatus; + private String warnStatus; + private String desc; + private String img; + private String imgType; + private String imgAnalyse; + private String dataType; + +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolPresetPosModule.java b/src/main/java/com/inspect/simulator/domain/result/PatrolPresetPosModule.java new file mode 100644 index 0000000..515a713 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolPresetPosModule.java @@ -0,0 +1,65 @@ +package com.inspect.simulator.domain.result; + + +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +@Setter +@Getter +public class PatrolPresetPosModule extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long presetPosId; + private String presetPosCode; + + private String presetPosName; + + private Long eqpBookId; + + private String patrolDeviceCode; + + private Long patrolPointId; + + private Long channelId; + + private String channelCode; + + private String channelType; + + private String coordinateType; + + private Long stopTime; + + private String channelImg; + + private String description; + + private String algSubtypeCode; + + private String isEnable; + private String algName; + + @Override + public String toString() { + return "PatrolPresetPosModule{" + + "presetPosId=" + presetPosId + + ", presetPosCode='" + presetPosCode + '\'' + + ", presetPosName='" + presetPosName + '\'' + + ", eqpBookId=" + eqpBookId + + ", patrolDeviceCode='" + patrolDeviceCode + '\'' + + ", patrolPointId=" + patrolPointId + + ", channelId=" + channelId + + ", channelCode='" + channelCode + '\'' + + ", channelType='" + channelType + '\'' + + ", coordinateType='" + coordinateType + '\'' + + ", stopTime=" + stopTime + + ", channelImg='" + channelImg + '\'' + + ", description='" + description + '\'' + + ", algSubtypeCode='" + algSubtypeCode + '\'' + + ", isEnable='" + isEnable + '\'' + + ", algName='" + algName + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolResult.java b/src/main/java/com/inspect/simulator/domain/result/PatrolResult.java new file mode 100644 index 0000000..57166ae --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolResult.java @@ -0,0 +1,223 @@ +package com.inspect.simulator.domain.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; + +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; +import java.util.List; + +@Setter +@Getter +public class PatrolResult extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long lineId; + + @JsonProperty("patroldeviceName") + private String patrolDeviceName; + + @JsonProperty("patroldeviceCode") + private String patrolDeviceCode; + + private String taskName; + + private String taskCode; + + private String deviceName; + + private String deviceId; + + private String valueType; + + private String value; + + private String valueUnit; + private String unit; + private String time; + + private String recognitionType; + + private String fileType; + + private String filePath; + + private String rectangle; + + private String taskPatrolledId; + + private String valid; + + private String patrolStatus; + + private String checkPerson; + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + + private String checkTime; + private String checkResult; + + private String materialId; + + private String dataType; + + private String threshold; + private String taskId; + private String presetPosCode; + private String description; + private List infraRed; + private List visible; + private List audio; + private List video; + private List photo; + private String areaName; + private String areaType; + private String deviceNam; + @JsonProperty("devicetypName") + private String deviceTypeName; + private String mainId; + private String defectType; + private String beginTime; + private String endTime; + private String alarmType; + private String resultContent; + private String devNo; + private String componentName; + private String componentId; + private String bayName; + private String areaId; + private String mainDevId; + @JsonProperty("warnlevel") + private String warnLevel; + private String photoUrl; + private String videoUrl; + private String desc; + private String deviceCode; + private String devType; + private String phase; + private String status; + private String pointStatus; + private String suggestion; + private String resStatus; + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + private Date createTime; + private String content; + private List algId; + @JsonProperty("patrolpointName") + private String patrolPointName; + private String channelCode; + + private String pointName; + + private String algorithmsType; + + private String algorithmsName; + private String sampleRaw; + private String fitlerDefect; + private String mllmDefect; + private String fitlerDiffBase; + private String fitlerResultCode; + private String mllmResultCode; + private String filter; + + private String resImgUrl; + private String imageNormalUrlPath; + private String resultType; + + + public PatrolResult(String mainId) { + this.mainId = mainId; + } + + public PatrolResult() { + } + + @Override + public String toString() { + return "PatrolResult{" + + "lineId=" + lineId + + ", patrolDeviceName='" + patrolDeviceName + '\'' + + ", patrolDeviceCode='" + patrolDeviceCode + '\'' + + ", taskName='" + taskName + '\'' + + ", taskCode='" + taskCode + '\'' + + ", deviceName='" + deviceName + '\'' + + ", deviceId='" + deviceId + '\'' + + ", valueType='" + valueType + '\'' + + ", value='" + value + '\'' + + ", valueUnit='" + valueUnit + '\'' + + ", unit='" + unit + '\'' + + ", time='" + time + '\'' + + ", recognitionType='" + recognitionType + '\'' + + ", fileType='" + fileType + '\'' + + ", filePath='" + filePath + '\'' + + ", rectangle='" + rectangle + '\'' + + ", taskPatrolledId='" + taskPatrolledId + '\'' + + ", valid='" + valid + '\'' + + ", patrolStatus='" + patrolStatus + '\'' + + ", checkPerson='" + checkPerson + '\'' + + ", checkTime='" + checkTime + '\'' + + ", checkResult='" + checkResult + '\'' + + ", materialId='" + materialId + '\'' + + ", dataType='" + dataType + '\'' + + ", threshold='" + threshold + '\'' + + ", taskId='" + taskId + '\'' + + ", presetPosCode='" + presetPosCode + '\'' + + ", description='" + description + '\'' + + ", infraRed=" + infraRed + + ", visible=" + visible + + ", audio=" + audio + + ", video=" + video + + ", photo=" + photo + + ", areaName='" + areaName + '\'' + + ", areaType='" + areaType + '\'' + + ", deviceNam='" + deviceNam + '\'' + + ", deviceTypeName='" + deviceTypeName + '\'' + + ", mainId='" + mainId + '\'' + + ", defectType='" + defectType + '\'' + + ", beginTime='" + beginTime + '\'' + + ", endTime='" + endTime + '\'' + + ", alarmType='" + alarmType + '\'' + + ", resultContent='" + resultContent + '\'' + + ", devNo='" + devNo + '\'' + + ", componentName='" + componentName + '\'' + + ", componentId='" + componentId + '\'' + + ", bayName='" + bayName + '\'' + + ", areaId='" + areaId + '\'' + + ", mainDevId='" + mainDevId + '\'' + + ", warnLevel='" + warnLevel + '\'' + + ", photoUrl='" + photoUrl + '\'' + + ", videoUrl='" + videoUrl + '\'' + + ", desc='" + desc + '\'' + + ", deviceCode='" + deviceCode + '\'' + + ", devType='" + devType + '\'' + + ", phase='" + phase + '\'' + + ", status='" + status + '\'' + + ", pointStatus='" + pointStatus + '\'' + + ", suggestion='" + suggestion + '\'' + + ", resStatus='" + resStatus + '\'' + + ", createTime=" + createTime + + ", content='" + content + '\'' + + ", algId=" + algId + + ", patrolPointName='" + patrolPointName + '\'' + + ", channelCode='" + channelCode + '\'' + + ", pointName='" + pointName + '\'' + + ", algorithmsType='" + algorithmsType + '\'' + + ", algorithmsName='" + algorithmsName + '\'' + + ", sampleRaw='" + sampleRaw + '\'' + + ", fitlerDefect='" + fitlerDefect + '\'' + + ", mllmDefect='" + mllmDefect + '\'' + + ", fitlerDiffBase='" + fitlerDiffBase + '\'' + + ", fitlerResultCode='" + fitlerResultCode + '\'' + + ", mllmResultCode='" + mllmResultCode + '\'' + + ", filter='" + filter + '\'' + + ", resImgUrl='" + resImgUrl + '\'' + + ", imageNormalUrlPath='" + imageNormalUrlPath + '\'' + + ", resultType='" + resultType + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolResultRef.java b/src/main/java/com/inspect/simulator/domain/result/PatrolResultRef.java new file mode 100644 index 0000000..36d5d68 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolResultRef.java @@ -0,0 +1,52 @@ +package com.inspect.simulator.domain.result; + +import lombok.Getter; +import lombok.Setter; + +import java.util.Objects; + +@Setter +@Getter +public class PatrolResultRef { + private String lineId; + private String deviceId; + private String devType; + private String time; + private String value; + private String threshold; + private String filePath; + private String description; + private String pointStatus; + private String valueUnit; + private String resultContent; + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + PatrolResultRef that = (PatrolResultRef) object; + return Objects.equals(lineId, that.lineId) && Objects.equals(deviceId, that.deviceId) && Objects.equals(devType, that.devType) && Objects.equals(time, that.time) && Objects.equals(value, that.value) && Objects.equals(threshold, that.threshold) && Objects.equals(filePath, that.filePath) && Objects.equals(description, that.description) && Objects.equals(pointStatus, that.pointStatus) && Objects.equals(valueUnit, that.valueUnit) && Objects.equals(resultContent, that.resultContent); + } + + @Override + public int hashCode() { + return Objects.hash(lineId, deviceId, devType, time, value, threshold, filePath, description, pointStatus, valueUnit, resultContent); + } + + @Override + public String toString() { + return "PatrolResultRef{" + + "lineId='" + lineId + '\'' + + ", deviceId='" + deviceId + '\'' + + ", devType='" + devType + '\'' + + ", time='" + time + '\'' + + ", value='" + value + '\'' + + ", threshold='" + threshold + '\'' + + ", filePath='" + filePath + '\'' + + ", description='" + description + '\'' + + ", pointStatus='" + pointStatus + '\'' + + ", valueUnit='" + valueUnit + '\'' + + ", resultContent='" + resultContent + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolTaskDomain.java b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskDomain.java new file mode 100644 index 0000000..c423864 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskDomain.java @@ -0,0 +1,94 @@ +package com.inspect.simulator.domain.result; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; +import java.util.List; + +@Setter +@Getter +public class PatrolTaskDomain extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long taskId; + + private String stationName; + + private String stationCode; + + private String type; + + private String taskCode; + + private String taskName; + + private String priority; + + private String deviceLevel; + + private String deviceList; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date fixedStartTime; + + private String cycleMonth; + + private String cycleWeek; + + private String cycleExecuteTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date cycleStartTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date cycleEndTime; + + private String intervalNumber; + + private String intervalType; + + private Date intervalExecuteTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date intervalStartTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date intervalEndTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date invalidStartTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date invalidEndTime; + + private String isEnable; + + private String creator; + + private String executionStatus; + + private String fileStatus; + private String taskCycle; + private String prevPoints; + private String devNo; + private List patrolTaskStatusList; + private List basedataEqpbookList; + +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatus.java b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatus.java new file mode 100644 index 0000000..32a1c7f --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatus.java @@ -0,0 +1,100 @@ +package com.inspect.simulator.domain.result; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import com.inspect.simulator.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Setter +@Getter +@Builder +@AllArgsConstructor + +public class PatrolTaskStatus extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long lineId; + + private String taskPatrolledId; + + private String taskName; + + private String taskCode; + + private String taskState; + @JsonFormat( + pattern = "yyyy-MM- HH:mm:ss" + ) + private Date planStartTime; + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + + private Date startTime; + + private String taskProgress; + + private String taskEstimatedTime; + + private String description; + + private String posType; + + private String code; + + private String pos; + private String patrolType; + private String timeType; + private String timeConditions; + private String beginTime; + private String endTime; + private Date createTime; + private String patrolStatus; + private int year; + private String devNo; + private String command; + private String pointCount; + private String execType; + + public PatrolTaskStatus(String taskPatrolledId) { + this.taskPatrolledId = taskPatrolledId; + } + + public PatrolTaskStatus() { + } + + @Override + public String toString() { + return "PatrolTaskStatus{" + + "lineId=" + lineId + + ", taskPatrolledId='" + taskPatrolledId + '\'' + + ", taskName='" + taskName + '\'' + + ", taskCode='" + taskCode + '\'' + + ", taskState='" + taskState + '\'' + + ", planStartTime=" + planStartTime + + ", startTime=" + startTime + + ", taskProgress='" + taskProgress + '\'' + + ", taskEstimatedTime='" + taskEstimatedTime + '\'' + + ", description='" + description + '\'' + + ", posType='" + posType + '\'' + + ", code='" + code + '\'' + + ", pos='" + pos + '\'' + + ", patrolType='" + patrolType + '\'' + + ", timeType='" + timeType + '\'' + + ", timeConditions='" + timeConditions + '\'' + + ", beginTime='" + beginTime + '\'' + + ", endTime='" + endTime + '\'' + + ", createTime=" + createTime + + ", patrolStatus='" + patrolStatus + '\'' + + ", year=" + year + + ", devNo='" + devNo + '\'' + + ", command='" + command + '\'' + + ", pointCount='" + pointCount + '\'' + + ", execType='" + execType + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatusDomain.java b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatusDomain.java new file mode 100644 index 0000000..df94f19 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/PatrolTaskStatusDomain.java @@ -0,0 +1,74 @@ +package com.inspect.simulator.domain.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; + +@Setter +@Getter +public class PatrolTaskStatusDomain extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long lineId; + private String taskPatrolledId; + + private String taskName; + + private String taskCode; + + private String taskState; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date planStartTime; + @JsonFormat( + pattern = "yyyy-MM-dd" + ) + + private Date startTime; + + private String taskProgress; + + private String taskEstimatedTime; + + private String description; + + private String posType; + + private String code; + + private String pos; + + private String patrolType; + private String timeType; + private String timeConditions; + private String beginTime; + private String endTime; + + @Override + public String toString() { + return "PatrolTaskStatusDomain{" + + "lineId=" + lineId + + ", taskPatrolledId='" + taskPatrolledId + '\'' + + ", taskName='" + taskName + '\'' + + ", taskCode='" + taskCode + '\'' + + ", taskState='" + taskState + '\'' + + ", planStartTime=" + planStartTime + + ", startTime=" + startTime + + ", taskProgress='" + taskProgress + '\'' + + ", taskEstimatedTime='" + taskEstimatedTime + '\'' + + ", description='" + description + '\'' + + ", posType='" + posType + '\'' + + ", code='" + code + '\'' + + ", pos='" + pos + '\'' + + ", patrolType='" + patrolType + '\'' + + ", timeType='" + timeType + '\'' + + ", timeConditions='" + timeConditions + '\'' + + ", beginTime='" + beginTime + '\'' + + ", endTime='" + endTime + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/ResultValue.java b/src/main/java/com/inspect/simulator/domain/result/ResultValue.java new file mode 100644 index 0000000..bec2617 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/ResultValue.java @@ -0,0 +1,32 @@ +package com.inspect.simulator.domain.result; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +@Setter +@Getter +public class ResultValue implements Serializable { + private static final long serialVersionUID = 1L; + private Long lineId; + private String areaName; + private String deviceName; + private String patrolDeviceName; + private String patrolPointName; + private String value; + private String createTime; + + @Override + public String toString() { + return "ResultValue{" + + "lineId=" + lineId + + ", areaName='" + areaName + '\'' + + ", deviceName='" + deviceName + '\'' + + ", patrolDeviceName='" + patrolDeviceName + '\'' + + ", patrolPointName='" + patrolPointName + '\'' + + ", value='" + value + '\'' + + ", createTime='" + createTime + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/TaskStatisticsConfig.java b/src/main/java/com/inspect/simulator/domain/result/TaskStatisticsConfig.java new file mode 100644 index 0000000..0c21680 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/TaskStatisticsConfig.java @@ -0,0 +1,32 @@ +package com.inspect.simulator.domain.result; + + +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class TaskStatisticsConfig extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long id; + + private String type; + + private String taskCode; + + private String threshold; + + private String msg; + + @Override + public String toString() { + return "TaskStatisticsConfig{" + + "id=" + id + + ", type='" + type + '\'' + + ", taskCode='" + taskCode + '\'' + + ", threshold='" + threshold + '\'' + + ", msg='" + msg + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/MessageBody.java b/src/main/java/com/inspect/simulator/domain/result/upper/MessageBody.java new file mode 100644 index 0000000..9350739 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/MessageBody.java @@ -0,0 +1,28 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class MessageBody { + private String provinceCode; + + private String stationCode; + + private String voltLevel; + + private List samples; + + @Override + public String toString() { + return "MessageBody{" + + "provinceCode='" + provinceCode + '\'' + + ", stationCode='" + stationCode + '\'' + + ", voltLevel=" + voltLevel + + ", samples=" + samples + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/MessageData.java b/src/main/java/com/inspect/simulator/domain/result/upper/MessageData.java new file mode 100644 index 0000000..414c44d --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/MessageData.java @@ -0,0 +1,50 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class MessageData { + private String areaName; + + private String deviceName; + + private String pointName; + + private String time; + + private String algorithmsName; + + private String algorithmsType; + + private String sampleRaw; + + private String fitlerDefect; + + private String mllmDefect; + + private String fitlerDiffBase; + + private String fitlerResultCode; + + private String mllmResultCode; + + @Override + public String toString() { + return "MessageData{" + + "areaName='" + areaName + '\'' + + ", deviceName='" + deviceName + '\'' + + ", pointName='" + pointName + '\'' + + ", time='" + time + '\'' + + ", algorithmsName='" + algorithmsName + '\'' + + ", algorithmsType='" + algorithmsType + '\'' + + ", sampleRaw='" + sampleRaw + '\'' + + ", fitlerDefect='" + fitlerDefect + '\'' + + ", mllmDefect='" + mllmDefect + '\'' + + ", fitlerDiffBase='" + fitlerDiffBase + '\'' + + ", fitlerResultCode='" + fitlerResultCode + '\'' + + ", mllmResultCode='" + mllmResultCode + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/MessageResult.java b/src/main/java/com/inspect/simulator/domain/result/upper/MessageResult.java new file mode 100644 index 0000000..091a26c --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/MessageResult.java @@ -0,0 +1,46 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class MessageResult { + private Integer code; + private String msg; + private String resultCode; + private Boolean success; + private Data data; + + @Override + public String toString() { + return "MessageResult{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", resultCode='" + resultCode + '\'' + + ", success=" + success + + ", data=" + data + + '}'; + } + + @Getter + @Setter + public static class Data { + private Integer code; + private String msg; + private Integer data; + private String resultCode; + private Boolean success; + + @Override + public String toString() { + return "Data{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", data=" + data + + ", resultCode='" + resultCode + '\'' + + ", success=" + success + + '}'; + } + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/TokenData.java b/src/main/java/com/inspect/simulator/domain/result/upper/TokenData.java new file mode 100644 index 0000000..e238970 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/TokenData.java @@ -0,0 +1,41 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +import java.util.Objects; + +@Getter +@Setter +public class TokenData { + private Integer expiresIn; + + private String refreshToken; + + private String token; + + private String tokenHead; + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + TokenData tokenData = (TokenData) object; + return Objects.equals(expiresIn, tokenData.expiresIn) && Objects.equals(refreshToken, tokenData.refreshToken) && Objects.equals(token, tokenData.token) && Objects.equals(tokenHead, tokenData.tokenHead); + } + + @Override + public int hashCode() { + return Objects.hash(expiresIn, refreshToken, token, tokenHead); + } + + @Override + public String toString() { + return "TokenData{" + + "expiresIn=" + expiresIn + + ", refreshToken='" + refreshToken + '\'' + + ", token='" + token + '\'' + + ", tokenHead='" + tokenHead + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/TokenParam.java b/src/main/java/com/inspect/simulator/domain/result/upper/TokenParam.java new file mode 100644 index 0000000..65bfe9a --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/TokenParam.java @@ -0,0 +1,36 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +import java.util.Objects; + +@Getter +@Setter +public class TokenParam { + private String grantType; + private String clientId; + private String clientSecret; + + @Override + public boolean equals(Object object) { + if (this == object) return true; + if (object == null || getClass() != object.getClass()) return false; + TokenParam that = (TokenParam) object; + return Objects.equals(grantType, that.grantType) && Objects.equals(clientId, that.clientId) && Objects.equals(clientSecret, that.clientSecret); + } + + @Override + public int hashCode() { + return Objects.hash(grantType, clientId, clientSecret); + } + + @Override + public String toString() { + return "TokenParam{" + + "grantType='" + grantType + '\'' + + ", clientId='" + clientId + '\'' + + ", clientSecret='" + clientSecret + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/domain/result/upper/TokenResult.java b/src/main/java/com/inspect/simulator/domain/result/upper/TokenResult.java new file mode 100644 index 0000000..b09d40d --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/upper/TokenResult.java @@ -0,0 +1,29 @@ +package com.inspect.simulator.domain.result.upper; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class TokenResult { + private Integer code; + + private String msg; + + private String resultCode; + + private TokenData data; + + private Boolean success; + + @Override + public String toString() { + return "TokenResult{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", resultCode='" + resultCode + '\'' + + ", data=" + data + + ", success=" + success + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/mapper/PatrolResultMapper.java b/src/main/java/com/inspect/simulator/mapper/PatrolResultMapper.java new file mode 100644 index 0000000..0eb9213 --- /dev/null +++ b/src/main/java/com/inspect/simulator/mapper/PatrolResultMapper.java @@ -0,0 +1,97 @@ +package com.inspect.simulator.mapper; + + +import com.inspect.simulator.domain.result.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@Mapper +public interface PatrolResultMapper { + PatrolResult selectPatrolResultByLineId(Long lineId); + + Map selectBaseInfoByPointId(String pointId); + + List> selectAlgTypeByAlaName(String key); + + Map selectBaseByPointId(String pointId); + + List selectPatrolResultList(PatrolResult patrolResult); + + List selectPatrolResultListOrderBy(PatrolResult patrolResult); + + List selectPatrolDataResultByTaskCode(PatrolResult patrolResult); + + List selectPatrolDataResultByTaskCodeList(PatrolTaskStatus patrolTaskStatus); + + List selectBasedataEqpBookList(BasedataEqpBookMoMain basedataEqpBookMoMain); + + List selectPatroByAllDev(PatrolResult patrolResult); + + List selectAlgInfo(PatrolResult patrolResult); + + List queryPatrolResultByPointID(String key, Date date, Date date2); + + Map selectAlgorithmType(String key); + + Map selectAlgorithmInfo(String key); + + List selectAlgorithmTypeList(String key); + + Map selectThresholdByPointId(String pointId); + + Map selectAlgTypeDataType(String key); + + Map selectAlgTypeByCode(String code); + + Map selectBasedataStation(); + + List> selectEvnData(String key); + + Map selectDevInfoById(String id); + + Map selectAreByAudit(String key); + + Map selectAreInfo(String key); + + List> selectAreInfoByParentId(String parentId); + + int insertPatrolResult(PatrolResult patrolResult); + + int updatePatrolResult(PatrolResult patrolResult); + + int updatePatrolResultByMainId(String mainId); + + int deletePatrolResultByLineId(Long lineId); + + int deletePatrolResultByLineIds(Long[] lineIds); + + int updatePatrolResultValue(PatrolResult patrolResult); + + List selectOilResultValue(PatrolResult patrolResult); + + List select6FsResultValue(PatrolResult patrolResult); + + List queryOneTaskResult(PatrolResult patrolResult); + + Integer queryTaskDeviceNum(String key); + + TaskStatisticsConfig selectStatisticsTaskConfigList(String key); + + List queryDiffTimeResult(@Param("taskCode") String taskCode, @Param("time") Long time); + + List queryNumTypeResult(@Param("num") Integer num, @Param("deviceId") String deviceId, @Param("patrolDeviceCode") String patrolDeviceCode); + + List selectResultRefByLineId(String lineId); + + List selectBaseInfoByMainId(String mainId); + + int updatePatrolResultUpStatus(@Param("lineIds") Set lineIds); + + List selectCurrentPatrolResultList(String createTimeStr); + +} diff --git a/src/main/java/com/inspect/simulator/service/FileService.java b/src/main/java/com/inspect/simulator/service/FileService.java new file mode 100644 index 0000000..0c93c37 --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/FileService.java @@ -0,0 +1,8 @@ +package com.inspect.simulator.service; + +import com.inspect.simulator.domain.file.FileReturn; +import org.springframework.web.multipart.MultipartFile; + +public interface FileService { + public FileReturn uploadFile(String filename, MultipartFile multipartFile); +} diff --git a/src/main/java/com/inspect/simulator/service/PatrolResultService.java b/src/main/java/com/inspect/simulator/service/PatrolResultService.java new file mode 100644 index 0000000..aa3a7e3 --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/PatrolResultService.java @@ -0,0 +1,15 @@ +package com.inspect.simulator.service; + +import com.inspect.simulator.domain.result.upper.MessageBody; +import com.inspect.simulator.domain.result.upper.MessageResult; +import com.inspect.simulator.domain.result.upper.TokenParam; +import com.inspect.simulator.domain.result.upper.TokenResult; + +public interface PatrolResultService { + + TokenResult getUpperToken(TokenParam tokenParam); + + MessageResult messageNotify(String token, MessageBody messageBody); + + void sendPatrolResultToUpperSystem(); +} diff --git a/src/main/java/com/inspect/simulator/service/impl/FileServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/FileServiceImpl.java new file mode 100644 index 0000000..2156192 --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/impl/FileServiceImpl.java @@ -0,0 +1,48 @@ +package com.inspect.simulator.service.impl; + +import com.inspect.simulator.domain.file.FileReturn; +import com.inspect.simulator.service.FileService; +import org.apache.tomcat.util.http.fileupload.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +@Service +public class FileServiceImpl implements FileService { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Override + public FileReturn uploadFile(String filename, MultipartFile multipartFile) { + File file = null; + FileOutputStream fileOutputStream = null; + try { + //String filePath = ResourceUtils.getURL("classpath:").getPath() + File.separator + "images"; + String filePath = "images/"; + file = new File(filePath + filename); + + fileOutputStream = new FileOutputStream(file); + IOUtils.copy(multipartFile.getInputStream(), fileOutputStream); + log.info("===========file upload success======="); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (fileOutputStream != null) { + try { + fileOutputStream.close(); + } catch (IOException e) { + log.error("文件关闭错误", e); + } + } + } + + return new FileReturn<>(1, "文件上传成功", file); + } +} diff --git a/src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java new file mode 100644 index 0000000..5d9079c --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/impl/PatrolResultServiceImpl.java @@ -0,0 +1,170 @@ +package com.inspect.simulator.service.impl; + +import com.google.gson.Gson; +import com.inspect.simulator.domain.result.PatrolResult; +import com.inspect.simulator.domain.result.upper.*; +import com.inspect.simulator.mapper.PatrolResultMapper; +import com.inspect.simulator.service.PatrolResultService; +import com.inspect.simulator.service.remote.UpperRemoteService; +import com.inspect.simulator.utils.DateUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; +import retrofit2.Call; +import retrofit2.Response; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class PatrolResultServiceImpl implements PatrolResultService { + private static String token; + + private static final String MLLM_FILTER = "0"; + + private static final String FITLER_FILTER = "1"; + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + private final UpperRemoteService upperRemoteService; + + private final PatrolResultMapper patrolResultMapper; + + public PatrolResultServiceImpl(PatrolResultMapper patrolResultMapper, UpperRemoteService upperRemoteService) { + this.patrolResultMapper = patrolResultMapper; + this.upperRemoteService = upperRemoteService; + } + + @Override + public TokenResult getUpperToken(TokenParam tokenParam) { + log.info("tokenParam: {}", tokenParam); + TokenResult tokenResult = new TokenResult(); + tokenResult.setCode(401); + tokenResult.setMsg("认证异常"); + tokenResult.setResultCode("OAUTH_012"); + try { + Call call = upperRemoteService.getOathToken(tokenParam.getGrantType(), tokenParam.getClientId(), tokenParam.getClientSecret()); + Response response = call.execute(); + Object result = response.body(); + tokenResult = new Gson().fromJson(new Gson().toJson(result), TokenResult.class); + log.info("Upper token: {}", tokenResult); + } catch (Exception e) { + log.error("getUpperToken Exception: {}", e.getMessage()); + } + return tokenResult; + } + + @Override + public MessageResult messageNotify(String token, MessageBody messageBody) { + MessageResult messageResult = new MessageResult(); + messageResult.setSuccess(false); + messageResult.setResultCode("201"); + try { + final String bearerToken = "Bearer " + token; + log.info("bearerToken: {}", bearerToken); + Call call = upperRemoteService.messageNotify(bearerToken, messageBody); + Response response = call.execute(); + Object result = response.body(); + log.info("messageNotify res: {}", new Gson().toJson(result)); + messageResult = new Gson().fromJson(new Gson().toJson(result), MessageResult.class); + } catch (Exception e) { + log.error("messageNotify Exception: {}", e.getMessage()); + } + return messageResult; + } + + @Scheduled(cron = "59 59 0/1 * * ?") + public void sendPatrolResultToUpperSystem() { + final long threadId = Thread.currentThread().getId(); + Date date = new Date(); + final String execTime = DateUtils.format(DateUtils.yyyyMMddHHmmss2, date); + log.info("[{}] [{}] sendPatrolResultToUpperSystem", threadId, execTime); + // 查询当天的巡检结果 + String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd", date); +// createTimeStr = "2024-06-19"; + List patrolResults = patrolResultMapper.selectCurrentPatrolResultList(createTimeStr); + if (patrolResults == null || patrolResults.size() <= 0) { + log.info("[{}] [{}] sendPatrolResultToUpperSystem no data", threadId, execTime); + return; + } + try { + String token = getOrRefreshToken(false); + MessageBody messageBody = prepareMessageBody(patrolResults); + MessageResult messageResult = messageNotify(token, messageBody); + + if (messageResult == null || !messageResult.getSuccess()) { + log.warn("[{}] [{}] First attempt to send message failed. Retrying with a new token.", threadId, execTime); + token = getOrRefreshToken(true); + messageResult = messageNotify(token, messageBody); + } + log.info("sendPatrolResultToUpperSystem messageResult: {}", messageResult); + if (messageResult != null && messageResult.getSuccess()) { + // 成功则更新数据库中上送状态 + Set lineIds = patrolResults.stream().map(PatrolResult::getLineId).collect(Collectors.toSet()); + int row = patrolResultMapper.updatePatrolResultUpStatus(lineIds); + log.info("[{}] [{}] sendPatrolResultToUpperSystem updatePatrolResultUpStatus row:{}", threadId, execTime, row); + } else { + log.error("[{}] [{}] sendPatrolResultToUpperSystem failed", threadId, execTime); + } + } catch (Exception e) { + log.error("sendPatrolResultToUpperSystem Exception", e); + } + } + + private String getOrRefreshToken(Boolean isTokenExpired) { + if (token == null || isTokenExpired) { + TokenParam tokenParam = new TokenParam(); + tokenParam.setGrantType("client_credentials"); + tokenParam.setClientId("patrol"); + tokenParam.setClientSecret("8dc6595707a1d457cdef07f46c034a1c"); + TokenResult tokenResult = getUpperToken(tokenParam); +// TokenResult tokenResult = new TokenResult(); +// TokenData tokenData1 = new TokenData(); +// tokenData1.setExpiresIn(10000); +// tokenData1.setRefreshToken("123456"); +// String s = UUID.randomUUID().toString(); +// tokenData1.setToken(s); +// log.info("tokenData1: {}", s); +// tokenResult.setData(tokenData1); + + TokenData tokenData = tokenResult.getData(); + if (tokenData != null) { + token = tokenData.getToken(); + } else { + throw new RuntimeException("sendPatrolResultToUpperSystem failed to obtain token"); + } + } + return token; + } + + private MessageBody prepareMessageBody(List patrolResults) { + MessageBody messageBody = new MessageBody(); + messageBody.setProvinceCode("330000"); + messageBody.setStationCode("30000001-112967078"); + messageBody.setVoltLevel("800"); + List samples = new ArrayList<>(); + for (PatrolResult patrolResult : patrolResults) { + MessageData sample = new MessageData(); + sample.setAreaName(patrolResult.getAreaName()); + sample.setDeviceName(patrolResult.getDeviceName()); + sample.setPointName(patrolResult.getDeviceName()); + sample.setTime(DateUtils.format(DateUtils.yyyyMMddHHmmss2, patrolResult.getCreateTime())); + sample.setAlgorithmsName(patrolResult.getAlgorithmsName()); + sample.setAlgorithmsType(patrolResult.getAlgorithmsType()); + sample.setSampleRaw(patrolResult.getFilePath()); + + sample.setFitlerDefect(FITLER_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getResImgUrl() : ""); + sample.setMllmDefect(MLLM_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getResImgUrl() : ""); + sample.setFitlerDiffBase(FITLER_FILTER.equals(patrolResult.getFilter()) ? patrolResult.getImageNormalUrlPath() : ""); + String resultType = StringUtils.isEmpty(patrolResult.getResultType()) ? patrolResult.getResultType() : ("1".equals(patrolResult.getResultType()) ? "0" : "1"); + sample.setFitlerResultCode(FITLER_FILTER.equals(patrolResult.getFilter()) ? resultType : ""); + sample.setMllmResultCode(MLLM_FILTER.equals(patrolResult.getFilter()) ? resultType : ""); + samples.add(sample); + } + messageBody.setSamples(samples); + log.info("samples size: {},messageBody: {}", samples.size(), messageBody); + return messageBody; + } +} diff --git a/src/main/java/com/inspect/simulator/service/remote/AnalysisRemoteService.java b/src/main/java/com/inspect/simulator/service/remote/AnalysisRemoteService.java new file mode 100644 index 0000000..89ff33e --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/remote/AnalysisRemoteService.java @@ -0,0 +1,15 @@ +package com.inspect.simulator.service.remote; + +import com.inspect.simulator.domain.algorithm.out.AnalyseResult; +import com.inspect.simulator.domain.analysis.vo.AnalysisResultEntity; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; + +public interface AnalysisRemoteService { + @POST("picAnalyseRetNotify") + Call analysisResultNotify(@Body AnalysisResultEntity analysisResultEntity); + + @POST("picAnalyseRetNotify") + Call picAnalyseRetNotify(@Body AnalyseResult analyseResult); +} diff --git a/src/main/java/com/inspect/simulator/service/remote/UpperRemoteService.java b/src/main/java/com/inspect/simulator/service/remote/UpperRemoteService.java new file mode 100644 index 0000000..1a6a250 --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/remote/UpperRemoteService.java @@ -0,0 +1,23 @@ +package com.inspect.simulator.service.remote; + +import com.inspect.simulator.domain.result.upper.MessageBody; +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.Header; +import retrofit2.http.POST; +import retrofit2.http.Query; + +public interface UpperRemoteService { + @POST("/ylkj-oauth2/oauth/token") + Call getOathToken( + @Query("grant_type") String grantType, + @Query("client_id") String clientId, + @Query("client_secret") String clientSecret + ); + + @POST("/ylkj-oauth2/api/v1/inner/002") + Call messageNotify( + @Header("Authorization") String bearerToken, + @Body MessageBody messageBody + ); +} diff --git a/src/main/java/com/inspect/simulator/service/remote/impl/AnalysisRemoteServiceImpl.java b/src/main/java/com/inspect/simulator/service/remote/impl/AnalysisRemoteServiceImpl.java new file mode 100644 index 0000000..c5500cf --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/remote/impl/AnalysisRemoteServiceImpl.java @@ -0,0 +1,40 @@ +package com.inspect.simulator.service.remote.impl; + +import com.inspect.simulator.domain.algorithm.out.AnalyseResult; +import com.inspect.simulator.domain.analysis.vo.AnalysisResultEntity; +import com.inspect.simulator.service.remote.AnalysisRemoteService; +import lombok.EqualsAndHashCode; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import retrofit2.Call; +import retrofit2.Retrofit; + +import javax.annotation.PostConstruct; + +@EqualsAndHashCode +@Service +public class AnalysisRemoteServiceImpl implements AnalysisRemoteService { + + private final Retrofit retrofit; + + private AnalysisRemoteService analysisRemoteService; + + public AnalysisRemoteServiceImpl(@Qualifier("RetrofitOfAnalysis") Retrofit retrofit) { + this.retrofit = retrofit; + } + + @PostConstruct + public void setup() { + analysisRemoteService = retrofit.create(AnalysisRemoteService.class); + } + + @Override + public Call analysisResultNotify(AnalysisResultEntity analysisResultEntity) { + return analysisRemoteService.analysisResultNotify(analysisResultEntity); + } + + @Override + public Call picAnalyseRetNotify(AnalyseResult analyseResult) { + return analysisRemoteService.picAnalyseRetNotify(analyseResult); + } +} diff --git a/src/main/java/com/inspect/simulator/service/remote/impl/UpperRemoteServiceImpl.java b/src/main/java/com/inspect/simulator/service/remote/impl/UpperRemoteServiceImpl.java new file mode 100644 index 0000000..8e4c177 --- /dev/null +++ b/src/main/java/com/inspect/simulator/service/remote/impl/UpperRemoteServiceImpl.java @@ -0,0 +1,38 @@ +package com.inspect.simulator.service.remote.impl; + +import com.inspect.simulator.domain.result.upper.MessageBody; +import com.inspect.simulator.service.remote.AnalysisRemoteService; +import com.inspect.simulator.service.remote.UpperRemoteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; +import retrofit2.Call; +import retrofit2.Retrofit; + +import javax.annotation.PostConstruct; + +@Service +public class UpperRemoteServiceImpl implements UpperRemoteService { + private final Retrofit retrofit; + + private UpperRemoteService upperRemoteService; + + public UpperRemoteServiceImpl(@Qualifier("RetrofitOfUpper") Retrofit retrofit) { + this.retrofit = retrofit; + } + + @PostConstruct + public void setup() { + upperRemoteService = retrofit.create(UpperRemoteService.class); + } + + @Override + public Call getOathToken(String grantType, String clientId, String clientSecret) { + return upperRemoteService.getOathToken(grantType, clientId, clientSecret); + } + + @Override + public Call messageNotify(String token, MessageBody messageBody) { + return upperRemoteService.messageNotify(token, messageBody); + } +} diff --git a/src/main/java/com/inspect/simulator/utils/DateUtils.java b/src/main/java/com/inspect/simulator/utils/DateUtils.java new file mode 100644 index 0000000..fcc32b0 --- /dev/null +++ b/src/main/java/com/inspect/simulator/utils/DateUtils.java @@ -0,0 +1,230 @@ +package com.inspect.simulator.utils; + +import org.apache.commons.lang3.time.DateFormatUtils; + +import java.lang.management.ManagementFactory; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.*; +import java.util.Calendar; +import java.util.Date; + +public class DateUtils extends org.apache.commons.lang3.time.DateUtils { + public static String YYYY = "yyyy"; + public static String YYYY_MM = "yyyy-MM"; + public static String YYYY_MM_DD = "yyyy-MM-dd"; + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + public static final String yyyyMMdd = "yyyyMMdd"; + public static final String yyyyMMdd2 = "yyyy-MM-dd"; + public static final String yyyyMMddHHmmss = "yyyyMMddHHmmss"; + public static final String yyyyMMddHHmmss2 = "yyyy-MM-dd HH:mm:ss"; + private static String[] parsePatterns = new String[]{"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + public static Date getNowDate() { + return new Date(); + } + + public static String getDate() { + return dateTimeNow(YYYY_MM_DD); + } + + public static final String getTime() { + return dateTimeNow(YYYY_MM_DD_HH_MM_SS); + } + + public static final String dateTimeNow() { + return dateTimeNow(YYYYMMDDHHMMSS); + } + + public static final String dateTimeNow(String format) { + return parseDateToStr(format, new Date()); + } + + public static final String dateTime(Date date) { + return parseDateToStr(YYYY_MM_DD, date); + } + + public static final String parseDateToStr(String format, Date date) { + return (new SimpleDateFormat(format)).format(date); + } + + public static final Date dateTime(String format, String ts) { + try { + return (new SimpleDateFormat(format)).parse(ts); + } catch (ParseException var3) { + throw new RuntimeException(var3); + } + } + + public static final String datePath() { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyy/MM/dd"); + } + + public static final String dateTime() { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyyMMdd"); + } + + public static Date parseDate(Object str) { + if(str == null) { + return null; + } else { + try { + return parseDate(str.toString(), parsePatterns); + } catch (ParseException var2) { + return null; + } + } + } + + public static Date getServerStartDate() { + long time = ManagementFactory.getRuntimeMXBean().getStartTime(); + return new Date(time); + } + + public static String getDatePoor(Date endDate, Date nowDate) { + long nd = 86400000L; + long nh = 3600000L; + long nm = 60000L; + long diff = endDate.getTime() - nowDate.getTime(); + long day = diff / nd; + long hour = diff % nd / nh; + long min = diff % nd % nh / nm; + return day + "天" + hour + "小时" + min + "分钟"; + } + + public static Date toDate(LocalDateTime temporalAccessor) { + ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + public static Date toDate(LocalDate temporalAccessor) { + LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); + ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + public static Date theDayStartTime(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(11, 0); + calendar.set(12, 0); + calendar.set(13, 0); + calendar.set(14, 0); + Date date_start = calendar.getTime(); + return date_start; + } + + public static Date theDayBeforeStartTime(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(11, 0); + calendar.set(12, 0); + calendar.set(13, 0); + calendar.set(14, 0); + calendar.add(5, -1); + Date date_start = calendar.getTime(); + return date_start; + } + + public static Date theDayBeforeEndTime(Date date) { + Calendar calendar_end = Calendar.getInstance(); + calendar_end.setTime(date); + calendar_end.set(11, 23); + calendar_end.set(12, 59); + calendar_end.set(13, 59); + calendar_end.set(14, 999); + calendar_end.add(5, -1); + Date date_end = calendar_end.getTime(); + return date_end; + } + + public static Date theDayTimeByAddHour(Date date, int hour) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(11, hour); + calendar.set(12, 0); + calendar.set(13, 0); + calendar.set(14, 0); + calendar.add(5, 0); + Date date_time = calendar.getTime(); + return date_time; + } + + public static String format(final String pattern, final Date date) { + try { + return new SimpleDateFormat(pattern).format(date); + } catch (Exception e) { + return ""; + } + } + + public static int toInt(final String pattern, final Date date) { + try { + return Integer.parseInt(format(pattern, date)); + } catch (Exception e) { + return 0; + } + } + + public static Date parse(final String pattern, final String time) { + try { + return new SimpleDateFormat(pattern).parse(time); + } catch (Exception e) { + return new Date(0); + } + } + + public static int getDayInt() { + return Calendar.getInstance().get(5); + } + + public static int getHourInt() { + return Calendar.getInstance().get(11); + } + + public static int getMinuteInt() { + return Calendar.getInstance().get(12); + } + + public static String getDayOfWeek(Date date) { + String[] weekDays = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int w = cal.get(7) - 1; + if(w < 0) { + w = 0; + } + + return weekDays[w]; + } + + public static void main(String[] args) { + theDayBeforeStartTime(new Date()); + theDayBeforeEndTime(new Date()); + theDayStartTime(new Date()); + Date now = new Date(); + System.out.println(now); + theDayTimeByAddHour(getNowDate(), 24); + int interval = 24; + Date dayBeforeStartTime = theDayBeforeStartTime(new Date()); + + int hour; + for(int i = 0; i < interval; ++i) { + hour = i * 1 + 1; + Date startTime = theDayTimeByAddHour(dayBeforeStartTime, i * 1); + System.out.println("startTime::" + startTime); + Date endTime = theDayTimeByAddHour(dayBeforeStartTime, hour); + System.out.println(" endTime::" + endTime); + } + + Calendar now1 = Calendar.getInstance(); + hour = now1.get(11); + Double a = Double.valueOf((double)(hour / 1)); + int b = a.intValue(); + System.out.println("时: " + now1.get(11)); + System.out.println("时: " + b); + } +} diff --git a/src/main/java/com/inspect/simulator/utils/TimeUtils.java b/src/main/java/com/inspect/simulator/utils/TimeUtils.java new file mode 100644 index 0000000..148d36f --- /dev/null +++ b/src/main/java/com/inspect/simulator/utils/TimeUtils.java @@ -0,0 +1,19 @@ +package com.inspect.simulator.utils; + +public class TimeUtils { + private static final String SIPB_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + private static final String IVS_TIME_FORMAT; + + public static String toSipb(String ivsTime) { + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", DateUtils.dateTime(IVS_TIME_FORMAT, ivsTime)).replace(" ", "T") + "Z"; + } + + public static String toIvs(String sipTime) { + String replace = sipTime.replace("-", "").replace("T", "").replace("Z", "").replace(":", ""); + return replace; + } + + static { + IVS_TIME_FORMAT = DateUtils.YYYYMMDDHHMMSS; + } +} diff --git a/src/main/java/com/inspect/simulator/view/IvsPlatformSnapshotView.java b/src/main/java/com/inspect/simulator/view/IvsPlatformSnapshotView.java new file mode 100644 index 0000000..6185d76 --- /dev/null +++ b/src/main/java/com/inspect/simulator/view/IvsPlatformSnapshotView.java @@ -0,0 +1,44 @@ +package com.inspect.simulator.view; + +import com.inspect.simulator.domain.ivs.IndexRange; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class IvsPlatformSnapshotView implements Serializable { + private String resultCode; + private SnapshotInfoList snapshotInfoList; + + @Data + @SuperBuilder + @NoArgsConstructor + @AllArgsConstructor + public static class SnapshotInfoList { + private int total; + private IndexRange indexRange; + private List snapshotInfos; + } + + @Data + @SuperBuilder + @NoArgsConstructor + @AllArgsConstructor + public static class SnapshotInfo { + private String cameraCode; + private String snapTime; + private String snapType; + private String pictureName; + private String pictureSize; + private String previewUrl; + private String pictureUrl; + private String reserve; + } +} diff --git a/src/main/java/com/inspect/simulator/view/IvsRecordListView.java b/src/main/java/com/inspect/simulator/view/IvsRecordListView.java new file mode 100644 index 0000000..239f5b6 --- /dev/null +++ b/src/main/java/com/inspect/simulator/view/IvsRecordListView.java @@ -0,0 +1,100 @@ +package com.inspect.simulator.view; + +import com.inspect.simulator.domain.ivs.IndexRange; +import com.inspect.simulator.domain.ivs.TimeSpan; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsRecordListView implements Serializable { + private IvsRecordListView.RecordInfos recordInfos; + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class PtzPresetInfo implements Serializable { + private int presetIndex; + private String presetName; + private String reserve; + private int focusSwitch; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class LockInfo implements Serializable { + private int lockId; + private String lockTime; + private TimeSpan lockTimeSpan; + private String lockDesc; + private int operatorId; + private String operatorName; + private String reserve; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class BookmarkInfo implements Serializable { + private int bookmarkId; + private String bookmarkName; + private String bookmarkTime; + private String cameraCode; + private String cameraName; + private String userDomain; + private int bookmarkCreatorId; + private int bookmarkCreatorName; + private String nvrCode; + private String mbuDomain; + private String reserve; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class RecordInfo implements Serializable { + private String recordFileName; + private int recordMethod; + private String nvrCode; + private String mbuDomain; + private String recordType; + private String alarmType; + private TimeSpan recordTime; + private int frameExtractionTimes; + private IvsRecordListView.BookmarkInfo bookmarkInfo; + private IvsRecordListView.LockInfo lockInfo; + private IvsRecordListView.PtzPresetInfo ptzPresetInfo; + private String reserve; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class RecordInfoList implements Serializable { + private List recordInfo; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class RecordInfos implements Serializable { + private int total; + private IndexRange indexRange; + private String reserve; + private IvsRecordListView.RecordInfoList recordInfoList; + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..7aa6bad --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,50 @@ +server: + port: 18530 + +spring: + application: + name: inspect-simulator-senior + + servlet: + multipart: + max-file-size: 20MB + max-request-size: 60MB + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + datasource: + master: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/dliip?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: atia2018 +analysis: + api: + url: http://192.168.1.116:9911 + token: 01234567890 + +upper: + api: + url: http://20.148.0.4:40029 + +platform: + url: http://192.168.1.116:18530 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..3dc8ded --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,51 @@ +server: + port: 18530 + +spring: + application: + name: inspect-simulator-senior + + servlet: + multipart: + max-file-size: 20MB + max-request-size: 60MB + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + datasource: + master: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://172.21.101.112:4406/dliip?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 + username: root + password: 123456 +analysis: + api: + url: http://192.168.1.116:9911 + token: 01234567890 + +upper: + api: + url: http://20.148.0.4:40029 + +platform: + url: http://192.168.1.116:18530 + diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml new file mode 100644 index 0000000..1f70509 --- /dev/null +++ b/src/main/resources/application-test.yml @@ -0,0 +1,51 @@ +server: + port: 18530 + +spring: + application: + name: inspect-simulator-senior + + servlet: + multipart: + max-file-size: 20MB + max-request-size: 60MB + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + datasource: + master: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://192.168.1.116:4406/inspect-milestone?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 + username: root + password: atia2018 +analysis: + api: + url: http://192.168.1.116:9911 + token: 01234567890 + +upper: + api: + url: http://20.148.0.4:40029 + +platform: + url: http://192.168.1.116:18530 + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..ad9a171 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,4 @@ +spring: + profiles: + active: dev + diff --git a/src/main/resources/images-2024-08-13.rar b/src/main/resources/images-2024-08-13.rar new file mode 100644 index 0000000..d91d0e8 Binary files /dev/null and b/src/main/resources/images-2024-08-13.rar differ diff --git a/src/main/resources/images/02160558340532190101.jpg b/src/main/resources/images/02160558340532190101.jpg new file mode 100644 index 0000000..b41f3e7 Binary files /dev/null and b/src/main/resources/images/02160558340532190101.jpg differ diff --git a/src/main/resources/images/02160558340532190102.jpg b/src/main/resources/images/02160558340532190102.jpg new file mode 100644 index 0000000..131c538 Binary files /dev/null and b/src/main/resources/images/02160558340532190102.jpg differ diff --git a/src/main/resources/images/02160558340532190104.jpg b/src/main/resources/images/02160558340532190104.jpg new file mode 100644 index 0000000..46c257f Binary files /dev/null and b/src/main/resources/images/02160558340532190104.jpg differ diff --git a/src/main/resources/images/02160558340532190105.jpg b/src/main/resources/images/02160558340532190105.jpg new file mode 100644 index 0000000..b3323c1 Binary files /dev/null and b/src/main/resources/images/02160558340532190105.jpg differ diff --git a/src/main/resources/images/02160558340532190106.jpg b/src/main/resources/images/02160558340532190106.jpg new file mode 100644 index 0000000..1f29a89 Binary files /dev/null and b/src/main/resources/images/02160558340532190106.jpg differ diff --git a/src/main/resources/images/02160558340532190108.jpg b/src/main/resources/images/02160558340532190108.jpg new file mode 100644 index 0000000..cf4bc6a Binary files /dev/null and b/src/main/resources/images/02160558340532190108.jpg differ diff --git a/src/main/resources/images/02160558340532190109.jpg b/src/main/resources/images/02160558340532190109.jpg new file mode 100644 index 0000000..baf3d38 Binary files /dev/null and b/src/main/resources/images/02160558340532190109.jpg differ diff --git a/src/main/resources/images/02160558340532190110.jpg b/src/main/resources/images/02160558340532190110.jpg new file mode 100644 index 0000000..f5841ca Binary files /dev/null and b/src/main/resources/images/02160558340532190110.jpg differ diff --git a/src/main/resources/images/02160558340532190112.jpg b/src/main/resources/images/02160558340532190112.jpg new file mode 100644 index 0000000..c2f38d4 Binary files /dev/null and b/src/main/resources/images/02160558340532190112.jpg differ diff --git a/src/main/resources/images/02160558340532190113.jpg b/src/main/resources/images/02160558340532190113.jpg new file mode 100644 index 0000000..e66552d Binary files /dev/null and b/src/main/resources/images/02160558340532190113.jpg differ diff --git a/src/main/resources/images/02160558340532190114.jpg b/src/main/resources/images/02160558340532190114.jpg new file mode 100644 index 0000000..867d431 Binary files /dev/null and b/src/main/resources/images/02160558340532190114.jpg differ diff --git a/src/main/resources/images/02160558340532190115.jpg b/src/main/resources/images/02160558340532190115.jpg new file mode 100644 index 0000000..f6c23ed Binary files /dev/null and b/src/main/resources/images/02160558340532190115.jpg differ diff --git a/src/main/resources/images/02160558340532190116.jpg b/src/main/resources/images/02160558340532190116.jpg new file mode 100644 index 0000000..2abef5a Binary files /dev/null and b/src/main/resources/images/02160558340532190116.jpg differ diff --git a/src/main/resources/images/02160558340532190117.jpg b/src/main/resources/images/02160558340532190117.jpg new file mode 100644 index 0000000..2c44eb5 Binary files /dev/null and b/src/main/resources/images/02160558340532190117.jpg differ diff --git a/src/main/resources/images/02160558340532190118.jpg b/src/main/resources/images/02160558340532190118.jpg new file mode 100644 index 0000000..ef8145d Binary files /dev/null and b/src/main/resources/images/02160558340532190118.jpg differ diff --git a/src/main/resources/images/02160558340532190119.jpg b/src/main/resources/images/02160558340532190119.jpg new file mode 100644 index 0000000..afb2ab1 Binary files /dev/null and b/src/main/resources/images/02160558340532190119.jpg differ diff --git a/src/main/resources/images/02160558340532190120.jpg b/src/main/resources/images/02160558340532190120.jpg new file mode 100644 index 0000000..da1492f Binary files /dev/null and b/src/main/resources/images/02160558340532190120.jpg differ diff --git a/src/main/resources/images/02160558340532190121.jpg b/src/main/resources/images/02160558340532190121.jpg new file mode 100644 index 0000000..88b1632 Binary files /dev/null and b/src/main/resources/images/02160558340532190121.jpg differ diff --git a/src/main/resources/images/02160558340532190122.jpg b/src/main/resources/images/02160558340532190122.jpg new file mode 100644 index 0000000..b0d5e08 Binary files /dev/null and b/src/main/resources/images/02160558340532190122.jpg differ diff --git a/src/main/resources/images/02160558340532190123.jpg b/src/main/resources/images/02160558340532190123.jpg new file mode 100644 index 0000000..d809f19 Binary files /dev/null and b/src/main/resources/images/02160558340532190123.jpg differ diff --git a/src/main/resources/images/02160558340532190124.jpg b/src/main/resources/images/02160558340532190124.jpg new file mode 100644 index 0000000..93c3994 Binary files /dev/null and b/src/main/resources/images/02160558340532190124.jpg differ diff --git a/src/main/resources/images/02160558340532190125.jpg b/src/main/resources/images/02160558340532190125.jpg new file mode 100644 index 0000000..90ddd29 Binary files /dev/null and b/src/main/resources/images/02160558340532190125.jpg differ diff --git a/src/main/resources/images/02160558340532190126.jpg b/src/main/resources/images/02160558340532190126.jpg new file mode 100644 index 0000000..7a849c0 Binary files /dev/null and b/src/main/resources/images/02160558340532190126.jpg differ diff --git a/src/main/resources/images/02160558340532190128.jpg b/src/main/resources/images/02160558340532190128.jpg new file mode 100644 index 0000000..3abf405 Binary files /dev/null and b/src/main/resources/images/02160558340532190128.jpg differ diff --git a/src/main/resources/images/02160558340532190129.jpg b/src/main/resources/images/02160558340532190129.jpg new file mode 100644 index 0000000..3e16e77 Binary files /dev/null and b/src/main/resources/images/02160558340532190129.jpg differ diff --git a/src/main/resources/images/02160558340532190130.jpg b/src/main/resources/images/02160558340532190130.jpg new file mode 100644 index 0000000..e69c950 Binary files /dev/null and b/src/main/resources/images/02160558340532190130.jpg differ diff --git a/src/main/resources/images/02160558340532190132.jpg b/src/main/resources/images/02160558340532190132.jpg new file mode 100644 index 0000000..305e269 Binary files /dev/null and b/src/main/resources/images/02160558340532190132.jpg differ diff --git a/src/main/resources/images/02160558340532190133.jpg b/src/main/resources/images/02160558340532190133.jpg new file mode 100644 index 0000000..08d85d2 Binary files /dev/null and b/src/main/resources/images/02160558340532190133.jpg differ diff --git a/src/main/resources/images/02160558340532190134.jpg b/src/main/resources/images/02160558340532190134.jpg new file mode 100644 index 0000000..eb7fc58 Binary files /dev/null and b/src/main/resources/images/02160558340532190134.jpg differ diff --git a/src/main/resources/images/02160558340532190136.jpg b/src/main/resources/images/02160558340532190136.jpg new file mode 100644 index 0000000..fa2d64b Binary files /dev/null and b/src/main/resources/images/02160558340532190136.jpg differ diff --git a/src/main/resources/images/02160558340532190137.jpg b/src/main/resources/images/02160558340532190137.jpg new file mode 100644 index 0000000..a4e6696 Binary files /dev/null and b/src/main/resources/images/02160558340532190137.jpg differ diff --git a/src/main/resources/images/02160558340532190138.jpg b/src/main/resources/images/02160558340532190138.jpg new file mode 100644 index 0000000..0043939 Binary files /dev/null and b/src/main/resources/images/02160558340532190138.jpg differ diff --git a/src/main/resources/images/02160558340532190139.jpg b/src/main/resources/images/02160558340532190139.jpg new file mode 100644 index 0000000..7a0a32c Binary files /dev/null and b/src/main/resources/images/02160558340532190139.jpg differ diff --git a/src/main/resources/images/02160558340532190140.jpg b/src/main/resources/images/02160558340532190140.jpg new file mode 100644 index 0000000..9d0f54e Binary files /dev/null and b/src/main/resources/images/02160558340532190140.jpg differ diff --git a/src/main/resources/images/02160558340532190141.jpg b/src/main/resources/images/02160558340532190141.jpg new file mode 100644 index 0000000..6c4c79b Binary files /dev/null and b/src/main/resources/images/02160558340532190141.jpg differ diff --git a/src/main/resources/images/02160558340532190142.jpg b/src/main/resources/images/02160558340532190142.jpg new file mode 100644 index 0000000..d01e749 Binary files /dev/null and b/src/main/resources/images/02160558340532190142.jpg differ diff --git a/src/main/resources/images/02160558340532190143.jpg b/src/main/resources/images/02160558340532190143.jpg new file mode 100644 index 0000000..b8aca0b Binary files /dev/null and b/src/main/resources/images/02160558340532190143.jpg differ diff --git a/src/main/resources/images/02160558340532190144.jpg b/src/main/resources/images/02160558340532190144.jpg new file mode 100644 index 0000000..ca4b0cf Binary files /dev/null and b/src/main/resources/images/02160558340532190144.jpg differ diff --git a/src/main/resources/images/02160558340532190145.jpg b/src/main/resources/images/02160558340532190145.jpg new file mode 100644 index 0000000..ac98ace Binary files /dev/null and b/src/main/resources/images/02160558340532190145.jpg differ diff --git a/src/main/resources/images/02160558340532190146.jpg b/src/main/resources/images/02160558340532190146.jpg new file mode 100644 index 0000000..1147ad5 Binary files /dev/null and b/src/main/resources/images/02160558340532190146.jpg differ diff --git a/src/main/resources/images/02160558340532190147.jpg b/src/main/resources/images/02160558340532190147.jpg new file mode 100644 index 0000000..d222d98 Binary files /dev/null and b/src/main/resources/images/02160558340532190147.jpg differ diff --git a/src/main/resources/images/02160558340532190148.jpg b/src/main/resources/images/02160558340532190148.jpg new file mode 100644 index 0000000..7fbab5f Binary files /dev/null and b/src/main/resources/images/02160558340532190148.jpg differ diff --git a/src/main/resources/images/02160558340532190149.jpg b/src/main/resources/images/02160558340532190149.jpg new file mode 100644 index 0000000..0718489 Binary files /dev/null and b/src/main/resources/images/02160558340532190149.jpg differ diff --git a/src/main/resources/images/02160558340532190150.jpg b/src/main/resources/images/02160558340532190150.jpg new file mode 100644 index 0000000..494bf07 Binary files /dev/null and b/src/main/resources/images/02160558340532190150.jpg differ diff --git a/src/main/resources/images/02160558340532190152.jpg b/src/main/resources/images/02160558340532190152.jpg new file mode 100644 index 0000000..dd2ccb0 Binary files /dev/null and b/src/main/resources/images/02160558340532190152.jpg differ diff --git a/src/main/resources/images/02160558340532190153.jpg b/src/main/resources/images/02160558340532190153.jpg new file mode 100644 index 0000000..e0ef81b Binary files /dev/null and b/src/main/resources/images/02160558340532190153.jpg differ diff --git a/src/main/resources/images/02160558340532190154.jpg b/src/main/resources/images/02160558340532190154.jpg new file mode 100644 index 0000000..59d246c Binary files /dev/null and b/src/main/resources/images/02160558340532190154.jpg differ diff --git a/src/main/resources/images/02160558340532190156.jpg b/src/main/resources/images/02160558340532190156.jpg new file mode 100644 index 0000000..ebffde0 Binary files /dev/null and b/src/main/resources/images/02160558340532190156.jpg differ diff --git a/src/main/resources/images/02160558340532190157.jpg b/src/main/resources/images/02160558340532190157.jpg new file mode 100644 index 0000000..2918155 Binary files /dev/null and b/src/main/resources/images/02160558340532190157.jpg differ diff --git a/src/main/resources/images/02160558340532190158.jpg b/src/main/resources/images/02160558340532190158.jpg new file mode 100644 index 0000000..47551e8 Binary files /dev/null and b/src/main/resources/images/02160558340532190158.jpg differ diff --git a/src/main/resources/images/02160558340532190160.jpg b/src/main/resources/images/02160558340532190160.jpg new file mode 100644 index 0000000..610fe69 Binary files /dev/null and b/src/main/resources/images/02160558340532190160.jpg differ diff --git a/src/main/resources/images/02160558340721910101.jpg b/src/main/resources/images/02160558340721910101.jpg new file mode 100644 index 0000000..ed92b9b Binary files /dev/null and b/src/main/resources/images/02160558340721910101.jpg differ diff --git a/src/main/resources/images/02160558340721910103.jpg b/src/main/resources/images/02160558340721910103.jpg new file mode 100644 index 0000000..c646888 Binary files /dev/null and b/src/main/resources/images/02160558340721910103.jpg differ diff --git a/src/main/resources/images/02160558340721910104.jpg b/src/main/resources/images/02160558340721910104.jpg new file mode 100644 index 0000000..9faf326 Binary files /dev/null and b/src/main/resources/images/02160558340721910104.jpg differ diff --git a/src/main/resources/images/02160558340721910105.jpg b/src/main/resources/images/02160558340721910105.jpg new file mode 100644 index 0000000..e223c58 Binary files /dev/null and b/src/main/resources/images/02160558340721910105.jpg differ diff --git a/src/main/resources/images/02160558340721910106.jpg b/src/main/resources/images/02160558340721910106.jpg new file mode 100644 index 0000000..8daa283 Binary files /dev/null and b/src/main/resources/images/02160558340721910106.jpg differ diff --git a/src/main/resources/images/02160558340721910108.jpg b/src/main/resources/images/02160558340721910108.jpg new file mode 100644 index 0000000..da1a0cc Binary files /dev/null and b/src/main/resources/images/02160558340721910108.jpg differ diff --git a/src/main/resources/images/02160558340721910109.jpg b/src/main/resources/images/02160558340721910109.jpg new file mode 100644 index 0000000..6b481f5 Binary files /dev/null and b/src/main/resources/images/02160558340721910109.jpg differ diff --git a/src/main/resources/images/02160558340721910110.jpg b/src/main/resources/images/02160558340721910110.jpg new file mode 100644 index 0000000..93b5042 Binary files /dev/null and b/src/main/resources/images/02160558340721910110.jpg differ diff --git a/src/main/resources/images/02160558340721910111.jpg b/src/main/resources/images/02160558340721910111.jpg new file mode 100644 index 0000000..f4dc37b Binary files /dev/null and b/src/main/resources/images/02160558340721910111.jpg differ diff --git a/src/main/resources/images/02160558340721910113.jpg b/src/main/resources/images/02160558340721910113.jpg new file mode 100644 index 0000000..f8a7121 Binary files /dev/null and b/src/main/resources/images/02160558340721910113.jpg differ diff --git a/src/main/resources/images/02160558340721910114.jpg b/src/main/resources/images/02160558340721910114.jpg new file mode 100644 index 0000000..17d07c8 Binary files /dev/null and b/src/main/resources/images/02160558340721910114.jpg differ diff --git a/src/main/resources/images/02160558340721910115.jpg b/src/main/resources/images/02160558340721910115.jpg new file mode 100644 index 0000000..7d17f6a Binary files /dev/null and b/src/main/resources/images/02160558340721910115.jpg differ diff --git a/src/main/resources/images/02160558340721910116.jpg b/src/main/resources/images/02160558340721910116.jpg new file mode 100644 index 0000000..32205e6 Binary files /dev/null and b/src/main/resources/images/02160558340721910116.jpg differ diff --git a/src/main/resources/images/02160558340721910118.jpg b/src/main/resources/images/02160558340721910118.jpg new file mode 100644 index 0000000..2bce9aa Binary files /dev/null and b/src/main/resources/images/02160558340721910118.jpg differ diff --git a/src/main/resources/images/02160558340721910119.jpg b/src/main/resources/images/02160558340721910119.jpg new file mode 100644 index 0000000..d2ed8bc Binary files /dev/null and b/src/main/resources/images/02160558340721910119.jpg differ diff --git a/src/main/resources/images/02160558340721910120.jpg b/src/main/resources/images/02160558340721910120.jpg new file mode 100644 index 0000000..da055c0 Binary files /dev/null and b/src/main/resources/images/02160558340721910120.jpg differ diff --git a/src/main/resources/images/02160558340721910121.jpg b/src/main/resources/images/02160558340721910121.jpg new file mode 100644 index 0000000..77c6e1f Binary files /dev/null and b/src/main/resources/images/02160558340721910121.jpg differ diff --git a/src/main/resources/images/02160558340721910123.jpg b/src/main/resources/images/02160558340721910123.jpg new file mode 100644 index 0000000..a2fa4e2 Binary files /dev/null and b/src/main/resources/images/02160558340721910123.jpg differ diff --git a/src/main/resources/images/02160558340721910124.jpg b/src/main/resources/images/02160558340721910124.jpg new file mode 100644 index 0000000..08a9504 Binary files /dev/null and b/src/main/resources/images/02160558340721910124.jpg differ diff --git a/src/main/resources/images/02160558340721910125.jpg b/src/main/resources/images/02160558340721910125.jpg new file mode 100644 index 0000000..1e5b717 Binary files /dev/null and b/src/main/resources/images/02160558340721910125.jpg differ diff --git a/src/main/resources/images/02160558340721910126.jpg b/src/main/resources/images/02160558340721910126.jpg new file mode 100644 index 0000000..6c2ad85 Binary files /dev/null and b/src/main/resources/images/02160558340721910126.jpg differ diff --git a/src/main/resources/images/02160558340721910128.jpg b/src/main/resources/images/02160558340721910128.jpg new file mode 100644 index 0000000..04e438c Binary files /dev/null and b/src/main/resources/images/02160558340721910128.jpg differ diff --git a/src/main/resources/images/02160558340721910129.jpg b/src/main/resources/images/02160558340721910129.jpg new file mode 100644 index 0000000..d0f759d Binary files /dev/null and b/src/main/resources/images/02160558340721910129.jpg differ diff --git a/src/main/resources/images/02160558340721910130.jpg b/src/main/resources/images/02160558340721910130.jpg new file mode 100644 index 0000000..cec6d0f Binary files /dev/null and b/src/main/resources/images/02160558340721910130.jpg differ diff --git a/src/main/resources/images/02160558340721910131.jpg b/src/main/resources/images/02160558340721910131.jpg new file mode 100644 index 0000000..e1f2b6d Binary files /dev/null and b/src/main/resources/images/02160558340721910131.jpg differ diff --git a/src/main/resources/images/02160558340721910133.jpg b/src/main/resources/images/02160558340721910133.jpg new file mode 100644 index 0000000..4096ba6 Binary files /dev/null and b/src/main/resources/images/02160558340721910133.jpg differ diff --git a/src/main/resources/images/02160558340721910134.jpg b/src/main/resources/images/02160558340721910134.jpg new file mode 100644 index 0000000..c6ea750 Binary files /dev/null and b/src/main/resources/images/02160558340721910134.jpg differ diff --git a/src/main/resources/images/02160558340721910135.jpg b/src/main/resources/images/02160558340721910135.jpg new file mode 100644 index 0000000..c340191 Binary files /dev/null and b/src/main/resources/images/02160558340721910135.jpg differ diff --git a/src/main/resources/images/02160558340721910136.jpg b/src/main/resources/images/02160558340721910136.jpg new file mode 100644 index 0000000..621d545 Binary files /dev/null and b/src/main/resources/images/02160558340721910136.jpg differ diff --git a/src/main/resources/images/02160558340721910138.jpg b/src/main/resources/images/02160558340721910138.jpg new file mode 100644 index 0000000..c37c5d3 Binary files /dev/null and b/src/main/resources/images/02160558340721910138.jpg differ diff --git a/src/main/resources/images/02160558340721910139.jpg b/src/main/resources/images/02160558340721910139.jpg new file mode 100644 index 0000000..0e09566 Binary files /dev/null and b/src/main/resources/images/02160558340721910139.jpg differ diff --git a/src/main/resources/images/02160558340721910140.jpg b/src/main/resources/images/02160558340721910140.jpg new file mode 100644 index 0000000..e2a9f32 Binary files /dev/null and b/src/main/resources/images/02160558340721910140.jpg differ diff --git a/src/main/resources/images/02160558340721910143.jpg b/src/main/resources/images/02160558340721910143.jpg new file mode 100644 index 0000000..cd7a29f Binary files /dev/null and b/src/main/resources/images/02160558340721910143.jpg differ diff --git a/src/main/resources/images/02160558340721910144.jpg b/src/main/resources/images/02160558340721910144.jpg new file mode 100644 index 0000000..c6709f9 Binary files /dev/null and b/src/main/resources/images/02160558340721910144.jpg differ diff --git a/src/main/resources/images/02160558340721910145.jpg b/src/main/resources/images/02160558340721910145.jpg new file mode 100644 index 0000000..4249b0a Binary files /dev/null and b/src/main/resources/images/02160558340721910145.jpg differ diff --git a/src/main/resources/images/02160558340721910146.jpg b/src/main/resources/images/02160558340721910146.jpg new file mode 100644 index 0000000..e3a167d Binary files /dev/null and b/src/main/resources/images/02160558340721910146.jpg differ diff --git a/src/main/resources/images/02160558340721910148.jpg b/src/main/resources/images/02160558340721910148.jpg new file mode 100644 index 0000000..be056af Binary files /dev/null and b/src/main/resources/images/02160558340721910148.jpg differ diff --git a/src/main/resources/images/02160558340721910149.jpg b/src/main/resources/images/02160558340721910149.jpg new file mode 100644 index 0000000..17cb1cc Binary files /dev/null and b/src/main/resources/images/02160558340721910149.jpg differ diff --git a/src/main/resources/images/02160558340721910152.jpg b/src/main/resources/images/02160558340721910152.jpg new file mode 100644 index 0000000..bc0ae9b Binary files /dev/null and b/src/main/resources/images/02160558340721910152.jpg differ diff --git a/src/main/resources/images/02160558340721910153.jpg b/src/main/resources/images/02160558340721910153.jpg new file mode 100644 index 0000000..e312cf8 Binary files /dev/null and b/src/main/resources/images/02160558340721910153.jpg differ diff --git a/src/main/resources/images/02160558340721910154.jpg b/src/main/resources/images/02160558340721910154.jpg new file mode 100644 index 0000000..7fa0b15 Binary files /dev/null and b/src/main/resources/images/02160558340721910154.jpg differ diff --git a/src/main/resources/images/02160558340721910156.jpg b/src/main/resources/images/02160558340721910156.jpg new file mode 100644 index 0000000..ff981f1 Binary files /dev/null and b/src/main/resources/images/02160558340721910156.jpg differ diff --git a/src/main/resources/images/02160558340721910157.jpg b/src/main/resources/images/02160558340721910157.jpg new file mode 100644 index 0000000..030736c Binary files /dev/null and b/src/main/resources/images/02160558340721910157.jpg differ diff --git a/src/main/resources/images/02160558340721910158.jpg b/src/main/resources/images/02160558340721910158.jpg new file mode 100644 index 0000000..fc4bf8a Binary files /dev/null and b/src/main/resources/images/02160558340721910158.jpg differ diff --git a/src/main/resources/images/02160558340721910159.jpg b/src/main/resources/images/02160558340721910159.jpg new file mode 100644 index 0000000..8b2d702 Binary files /dev/null and b/src/main/resources/images/02160558340721910159.jpg differ diff --git a/src/main/resources/images/02160558340721910160.jpg b/src/main/resources/images/02160558340721910160.jpg new file mode 100644 index 0000000..b42ffa9 Binary files /dev/null and b/src/main/resources/images/02160558340721910160.jpg differ diff --git a/src/main/resources/images/02160558340721910161.jpg b/src/main/resources/images/02160558340721910161.jpg new file mode 100644 index 0000000..1c902ef Binary files /dev/null and b/src/main/resources/images/02160558340721910161.jpg differ diff --git a/src/main/resources/images/02160558345383360101.jpg b/src/main/resources/images/02160558345383360101.jpg new file mode 100644 index 0000000..0b5347e Binary files /dev/null and b/src/main/resources/images/02160558345383360101.jpg differ diff --git a/src/main/resources/images/02160558345383360102.jpg b/src/main/resources/images/02160558345383360102.jpg new file mode 100644 index 0000000..f292d9c Binary files /dev/null and b/src/main/resources/images/02160558345383360102.jpg differ diff --git a/src/main/resources/images/02160558345383360103.jpg b/src/main/resources/images/02160558345383360103.jpg new file mode 100644 index 0000000..0ccc8e5 Binary files /dev/null and b/src/main/resources/images/02160558345383360103.jpg differ diff --git a/src/main/resources/images/02160558345383360104.jpg b/src/main/resources/images/02160558345383360104.jpg new file mode 100644 index 0000000..82551aa Binary files /dev/null and b/src/main/resources/images/02160558345383360104.jpg differ diff --git a/src/main/resources/images/02160558345383360105.jpg b/src/main/resources/images/02160558345383360105.jpg new file mode 100644 index 0000000..fb7f7f0 Binary files /dev/null and b/src/main/resources/images/02160558345383360105.jpg differ diff --git a/src/main/resources/images/02160558345383360106.jpg b/src/main/resources/images/02160558345383360106.jpg new file mode 100644 index 0000000..19fb5de Binary files /dev/null and b/src/main/resources/images/02160558345383360106.jpg differ diff --git a/src/main/resources/images/02160558345383360107.jpg b/src/main/resources/images/02160558345383360107.jpg new file mode 100644 index 0000000..dc82ddd Binary files /dev/null and b/src/main/resources/images/02160558345383360107.jpg differ diff --git a/src/main/resources/images/02160558345383360108.jpg b/src/main/resources/images/02160558345383360108.jpg new file mode 100644 index 0000000..01b1b75 Binary files /dev/null and b/src/main/resources/images/02160558345383360108.jpg differ diff --git a/src/main/resources/images/02160558345383360110.jpg b/src/main/resources/images/02160558345383360110.jpg new file mode 100644 index 0000000..e6297d9 Binary files /dev/null and b/src/main/resources/images/02160558345383360110.jpg differ diff --git a/src/main/resources/images/02160558345383360111.jpg b/src/main/resources/images/02160558345383360111.jpg new file mode 100644 index 0000000..687ab46 Binary files /dev/null and b/src/main/resources/images/02160558345383360111.jpg differ diff --git a/src/main/resources/images/02160558345383360112.jpg b/src/main/resources/images/02160558345383360112.jpg new file mode 100644 index 0000000..ad0a123 Binary files /dev/null and b/src/main/resources/images/02160558345383360112.jpg differ diff --git a/src/main/resources/images/02160558345383360113.jpg b/src/main/resources/images/02160558345383360113.jpg new file mode 100644 index 0000000..06e9a65 Binary files /dev/null and b/src/main/resources/images/02160558345383360113.jpg differ diff --git a/src/main/resources/images/02160558345383360114.jpg b/src/main/resources/images/02160558345383360114.jpg new file mode 100644 index 0000000..08cf0c7 Binary files /dev/null and b/src/main/resources/images/02160558345383360114.jpg differ diff --git a/src/main/resources/images/02160558345383360115.jpg b/src/main/resources/images/02160558345383360115.jpg new file mode 100644 index 0000000..9eb5682 Binary files /dev/null and b/src/main/resources/images/02160558345383360115.jpg differ diff --git a/src/main/resources/images/02160558345383360116.jpg b/src/main/resources/images/02160558345383360116.jpg new file mode 100644 index 0000000..95ac180 Binary files /dev/null and b/src/main/resources/images/02160558345383360116.jpg differ diff --git a/src/main/resources/images/02160558345383360117.jpg b/src/main/resources/images/02160558345383360117.jpg new file mode 100644 index 0000000..d7a435e Binary files /dev/null and b/src/main/resources/images/02160558345383360117.jpg differ diff --git a/src/main/resources/images/02160558345383360118.jpg b/src/main/resources/images/02160558345383360118.jpg new file mode 100644 index 0000000..75f508f Binary files /dev/null and b/src/main/resources/images/02160558345383360118.jpg differ diff --git a/src/main/resources/images/02160558345383360120.jpg b/src/main/resources/images/02160558345383360120.jpg new file mode 100644 index 0000000..21b9cfd Binary files /dev/null and b/src/main/resources/images/02160558345383360120.jpg differ diff --git a/src/main/resources/images/02160558345383360121.jpg b/src/main/resources/images/02160558345383360121.jpg new file mode 100644 index 0000000..55fa354 Binary files /dev/null and b/src/main/resources/images/02160558345383360121.jpg differ diff --git a/src/main/resources/images/02160558345383360122.jpg b/src/main/resources/images/02160558345383360122.jpg new file mode 100644 index 0000000..3b111ed Binary files /dev/null and b/src/main/resources/images/02160558345383360122.jpg differ diff --git a/src/main/resources/images/02160558345383360124.jpg b/src/main/resources/images/02160558345383360124.jpg new file mode 100644 index 0000000..ba5fbc2 Binary files /dev/null and b/src/main/resources/images/02160558345383360124.jpg differ diff --git a/src/main/resources/images/02160558345383360125.jpg b/src/main/resources/images/02160558345383360125.jpg new file mode 100644 index 0000000..704f8db Binary files /dev/null and b/src/main/resources/images/02160558345383360125.jpg differ diff --git a/src/main/resources/images/02160558345383360126.jpg b/src/main/resources/images/02160558345383360126.jpg new file mode 100644 index 0000000..a98fc36 Binary files /dev/null and b/src/main/resources/images/02160558345383360126.jpg differ diff --git a/src/main/resources/images/02160558345383360127.jpg b/src/main/resources/images/02160558345383360127.jpg new file mode 100644 index 0000000..7379121 Binary files /dev/null and b/src/main/resources/images/02160558345383360127.jpg differ diff --git a/src/main/resources/images/02160558345383360128.jpg b/src/main/resources/images/02160558345383360128.jpg new file mode 100644 index 0000000..a8b630b Binary files /dev/null and b/src/main/resources/images/02160558345383360128.jpg differ diff --git a/src/main/resources/images/02160558345383360130.jpg b/src/main/resources/images/02160558345383360130.jpg new file mode 100644 index 0000000..7eaf2b1 Binary files /dev/null and b/src/main/resources/images/02160558345383360130.jpg differ diff --git a/src/main/resources/images/02160558345383360131.jpg b/src/main/resources/images/02160558345383360131.jpg new file mode 100644 index 0000000..e39a8bd Binary files /dev/null and b/src/main/resources/images/02160558345383360131.jpg differ diff --git a/src/main/resources/images/02160558345383360132.jpg b/src/main/resources/images/02160558345383360132.jpg new file mode 100644 index 0000000..8775fd2 Binary files /dev/null and b/src/main/resources/images/02160558345383360132.jpg differ diff --git a/src/main/resources/images/02160558345383360133.jpg b/src/main/resources/images/02160558345383360133.jpg new file mode 100644 index 0000000..5a787b0 Binary files /dev/null and b/src/main/resources/images/02160558345383360133.jpg differ diff --git a/src/main/resources/images/02160558345383360134.jpg b/src/main/resources/images/02160558345383360134.jpg new file mode 100644 index 0000000..e39a8bd Binary files /dev/null and b/src/main/resources/images/02160558345383360134.jpg differ diff --git a/src/main/resources/images/02160558345383360135.jpg b/src/main/resources/images/02160558345383360135.jpg new file mode 100644 index 0000000..34ccd53 Binary files /dev/null and b/src/main/resources/images/02160558345383360135.jpg differ diff --git a/src/main/resources/images/02160558345383360136.jpg b/src/main/resources/images/02160558345383360136.jpg new file mode 100644 index 0000000..96ac955 Binary files /dev/null and b/src/main/resources/images/02160558345383360136.jpg differ diff --git a/src/main/resources/images/02160558345383360138.jpg b/src/main/resources/images/02160558345383360138.jpg new file mode 100644 index 0000000..dd2d7c5 Binary files /dev/null and b/src/main/resources/images/02160558345383360138.jpg differ diff --git a/src/main/resources/images/02160558345383360139.jpg b/src/main/resources/images/02160558345383360139.jpg new file mode 100644 index 0000000..c71674d Binary files /dev/null and b/src/main/resources/images/02160558345383360139.jpg differ diff --git a/src/main/resources/images/02160558345383360140.jpg b/src/main/resources/images/02160558345383360140.jpg new file mode 100644 index 0000000..e21e63f Binary files /dev/null and b/src/main/resources/images/02160558345383360140.jpg differ diff --git a/src/main/resources/images/02160558345383360141.jpg b/src/main/resources/images/02160558345383360141.jpg new file mode 100644 index 0000000..32e98f5 Binary files /dev/null and b/src/main/resources/images/02160558345383360141.jpg differ diff --git a/src/main/resources/images/02160558345383360142.jpg b/src/main/resources/images/02160558345383360142.jpg new file mode 100644 index 0000000..9b7c459 Binary files /dev/null and b/src/main/resources/images/02160558345383360142.jpg differ diff --git a/src/main/resources/images/02160558345383360143.jpg b/src/main/resources/images/02160558345383360143.jpg new file mode 100644 index 0000000..fdac8b9 Binary files /dev/null and b/src/main/resources/images/02160558345383360143.jpg differ diff --git a/src/main/resources/images/02160558345383360144.jpg b/src/main/resources/images/02160558345383360144.jpg new file mode 100644 index 0000000..41a4b05 Binary files /dev/null and b/src/main/resources/images/02160558345383360144.jpg differ diff --git a/src/main/resources/images/02160558348356710101.jpg b/src/main/resources/images/02160558348356710101.jpg new file mode 100644 index 0000000..e223c58 Binary files /dev/null and b/src/main/resources/images/02160558348356710101.jpg differ diff --git a/src/main/resources/images/02160558348356710102.jpg b/src/main/resources/images/02160558348356710102.jpg new file mode 100644 index 0000000..610fe69 Binary files /dev/null and b/src/main/resources/images/02160558348356710102.jpg differ diff --git a/src/main/resources/images/02160558348356710104.jpg b/src/main/resources/images/02160558348356710104.jpg new file mode 100644 index 0000000..28744db Binary files /dev/null and b/src/main/resources/images/02160558348356710104.jpg differ diff --git a/src/main/resources/images/02160558348356710105.jpg b/src/main/resources/images/02160558348356710105.jpg new file mode 100644 index 0000000..5b28499 Binary files /dev/null and b/src/main/resources/images/02160558348356710105.jpg differ diff --git a/src/main/resources/images/02160558348356710106.jpg b/src/main/resources/images/02160558348356710106.jpg new file mode 100644 index 0000000..e06e477 Binary files /dev/null and b/src/main/resources/images/02160558348356710106.jpg differ diff --git a/src/main/resources/images/02160558348356710108.jpg b/src/main/resources/images/02160558348356710108.jpg new file mode 100644 index 0000000..87717a8 Binary files /dev/null and b/src/main/resources/images/02160558348356710108.jpg differ diff --git a/src/main/resources/images/02160558348356710109.jpg b/src/main/resources/images/02160558348356710109.jpg new file mode 100644 index 0000000..6171f7d Binary files /dev/null and b/src/main/resources/images/02160558348356710109.jpg differ diff --git a/src/main/resources/images/02160558348356710110.jpg b/src/main/resources/images/02160558348356710110.jpg new file mode 100644 index 0000000..20e8353 Binary files /dev/null and b/src/main/resources/images/02160558348356710110.jpg differ diff --git a/src/main/resources/images/02160558348356710112.jpg b/src/main/resources/images/02160558348356710112.jpg new file mode 100644 index 0000000..1360054 Binary files /dev/null and b/src/main/resources/images/02160558348356710112.jpg differ diff --git a/src/main/resources/images/02160558348356710113.jpg b/src/main/resources/images/02160558348356710113.jpg new file mode 100644 index 0000000..fed3f4a Binary files /dev/null and b/src/main/resources/images/02160558348356710113.jpg differ diff --git a/src/main/resources/images/02160558348356710114.jpg b/src/main/resources/images/02160558348356710114.jpg new file mode 100644 index 0000000..6ee9a12 Binary files /dev/null and b/src/main/resources/images/02160558348356710114.jpg differ diff --git a/src/main/resources/images/02160558348356710115.jpg b/src/main/resources/images/02160558348356710115.jpg new file mode 100644 index 0000000..86288a2 Binary files /dev/null and b/src/main/resources/images/02160558348356710115.jpg differ diff --git a/src/main/resources/images/02160558348356710116.jpg b/src/main/resources/images/02160558348356710116.jpg new file mode 100644 index 0000000..7dbb672 Binary files /dev/null and b/src/main/resources/images/02160558348356710116.jpg differ diff --git a/src/main/resources/images/02160558348356710117.jpg b/src/main/resources/images/02160558348356710117.jpg new file mode 100644 index 0000000..55cee6b Binary files /dev/null and b/src/main/resources/images/02160558348356710117.jpg differ diff --git a/src/main/resources/images/02160558348356710118.jpg b/src/main/resources/images/02160558348356710118.jpg new file mode 100644 index 0000000..2e439bc Binary files /dev/null and b/src/main/resources/images/02160558348356710118.jpg differ diff --git a/src/main/resources/images/02160558348356710119.jpg b/src/main/resources/images/02160558348356710119.jpg new file mode 100644 index 0000000..4a5bd51 Binary files /dev/null and b/src/main/resources/images/02160558348356710119.jpg differ diff --git a/src/main/resources/images/02160558348356710120.jpg b/src/main/resources/images/02160558348356710120.jpg new file mode 100644 index 0000000..1f0a814 Binary files /dev/null and b/src/main/resources/images/02160558348356710120.jpg differ diff --git a/src/main/resources/images/02160558348356710121.jpg b/src/main/resources/images/02160558348356710121.jpg new file mode 100644 index 0000000..0f9ceef Binary files /dev/null and b/src/main/resources/images/02160558348356710121.jpg differ diff --git a/src/main/resources/images/02160558348356710123.jpg b/src/main/resources/images/02160558348356710123.jpg new file mode 100644 index 0000000..eb96ce7 Binary files /dev/null and b/src/main/resources/images/02160558348356710123.jpg differ diff --git a/src/main/resources/images/02160558348356710124.jpg b/src/main/resources/images/02160558348356710124.jpg new file mode 100644 index 0000000..076e729 Binary files /dev/null and b/src/main/resources/images/02160558348356710124.jpg differ diff --git a/src/main/resources/images/02160558348356710125.jpg b/src/main/resources/images/02160558348356710125.jpg new file mode 100644 index 0000000..b12a5f3 Binary files /dev/null and b/src/main/resources/images/02160558348356710125.jpg differ diff --git a/src/main/resources/images/02160558348356710126.jpg b/src/main/resources/images/02160558348356710126.jpg new file mode 100644 index 0000000..10b9ba0 Binary files /dev/null and b/src/main/resources/images/02160558348356710126.jpg differ diff --git a/src/main/resources/images/02160558348356710128.jpg b/src/main/resources/images/02160558348356710128.jpg new file mode 100644 index 0000000..1025ce0 Binary files /dev/null and b/src/main/resources/images/02160558348356710128.jpg differ diff --git a/src/main/resources/images/02160558348356710129.jpg b/src/main/resources/images/02160558348356710129.jpg new file mode 100644 index 0000000..591a5da Binary files /dev/null and b/src/main/resources/images/02160558348356710129.jpg differ diff --git a/src/main/resources/images/02160558348356710130.jpg b/src/main/resources/images/02160558348356710130.jpg new file mode 100644 index 0000000..4d5bbff Binary files /dev/null and b/src/main/resources/images/02160558348356710130.jpg differ diff --git a/src/main/resources/images/02160558348356710132.jpg b/src/main/resources/images/02160558348356710132.jpg new file mode 100644 index 0000000..aa8f0e7 Binary files /dev/null and b/src/main/resources/images/02160558348356710132.jpg differ diff --git a/src/main/resources/images/02160558348356710133.jpg b/src/main/resources/images/02160558348356710133.jpg new file mode 100644 index 0000000..b41f3e7 Binary files /dev/null and b/src/main/resources/images/02160558348356710133.jpg differ diff --git a/src/main/resources/images/02160558348356710134.jpg b/src/main/resources/images/02160558348356710134.jpg new file mode 100644 index 0000000..da1a0cc Binary files /dev/null and b/src/main/resources/images/02160558348356710134.jpg differ diff --git a/src/main/resources/images/02160558348356710136.jpg b/src/main/resources/images/02160558348356710136.jpg new file mode 100644 index 0000000..e57784e Binary files /dev/null and b/src/main/resources/images/02160558348356710136.jpg differ diff --git a/src/main/resources/images/02160558348356710137.jpg b/src/main/resources/images/02160558348356710137.jpg new file mode 100644 index 0000000..1147ad5 Binary files /dev/null and b/src/main/resources/images/02160558348356710137.jpg differ diff --git a/src/main/resources/images/02160558348356710138.jpg b/src/main/resources/images/02160558348356710138.jpg new file mode 100644 index 0000000..ebffde0 Binary files /dev/null and b/src/main/resources/images/02160558348356710138.jpg differ diff --git a/src/main/resources/images/02160558348356710139.jpg b/src/main/resources/images/02160558348356710139.jpg new file mode 100644 index 0000000..b41f3e7 Binary files /dev/null and b/src/main/resources/images/02160558348356710139.jpg differ diff --git a/src/main/resources/images/02160558348356710140.jpg b/src/main/resources/images/02160558348356710140.jpg new file mode 100644 index 0000000..b12a5f3 Binary files /dev/null and b/src/main/resources/images/02160558348356710140.jpg differ diff --git a/src/main/resources/images/02160558348356710141.jpg b/src/main/resources/images/02160558348356710141.jpg new file mode 100644 index 0000000..f0605b3 Binary files /dev/null and b/src/main/resources/images/02160558348356710141.jpg differ diff --git a/src/main/resources/images/02160558348356710142.jpg b/src/main/resources/images/02160558348356710142.jpg new file mode 100644 index 0000000..1147ad5 Binary files /dev/null and b/src/main/resources/images/02160558348356710142.jpg differ diff --git a/src/main/resources/images/02160558348356710144.jpg b/src/main/resources/images/02160558348356710144.jpg new file mode 100644 index 0000000..ac98ace Binary files /dev/null and b/src/main/resources/images/02160558348356710144.jpg differ diff --git a/src/main/resources/images/02160558348356710145.jpg b/src/main/resources/images/02160558348356710145.jpg new file mode 100644 index 0000000..8e67cdb Binary files /dev/null and b/src/main/resources/images/02160558348356710145.jpg differ diff --git a/src/main/resources/images/02160558348356710146.jpg b/src/main/resources/images/02160558348356710146.jpg new file mode 100644 index 0000000..23cb50d Binary files /dev/null and b/src/main/resources/images/02160558348356710146.jpg differ diff --git a/src/main/resources/images/02160558348356710147.jpg b/src/main/resources/images/02160558348356710147.jpg new file mode 100644 index 0000000..f8a7121 Binary files /dev/null and b/src/main/resources/images/02160558348356710147.jpg differ diff --git a/src/main/resources/images/02160558348356710148.jpg b/src/main/resources/images/02160558348356710148.jpg new file mode 100644 index 0000000..e28cfa2 Binary files /dev/null and b/src/main/resources/images/02160558348356710148.jpg differ diff --git a/src/main/resources/images/02160558348356710149.jpg b/src/main/resources/images/02160558348356710149.jpg new file mode 100644 index 0000000..c980a5c Binary files /dev/null and b/src/main/resources/images/02160558348356710149.jpg differ diff --git a/src/main/resources/images/02160558348356710150.jpg b/src/main/resources/images/02160558348356710150.jpg new file mode 100644 index 0000000..7ae7663 Binary files /dev/null and b/src/main/resources/images/02160558348356710150.jpg differ diff --git a/src/main/resources/images/02160558348356710152.jpg b/src/main/resources/images/02160558348356710152.jpg new file mode 100644 index 0000000..3226389 Binary files /dev/null and b/src/main/resources/images/02160558348356710152.jpg differ diff --git a/src/main/resources/images/02160558348356710153.jpg b/src/main/resources/images/02160558348356710153.jpg new file mode 100644 index 0000000..2918155 Binary files /dev/null and b/src/main/resources/images/02160558348356710153.jpg differ diff --git a/src/main/resources/images/02160558348356710154.jpg b/src/main/resources/images/02160558348356710154.jpg new file mode 100644 index 0000000..dd2ccb0 Binary files /dev/null and b/src/main/resources/images/02160558348356710154.jpg differ diff --git a/src/main/resources/images/02160558348356710156.jpg b/src/main/resources/images/02160558348356710156.jpg new file mode 100644 index 0000000..a4e6696 Binary files /dev/null and b/src/main/resources/images/02160558348356710156.jpg differ diff --git a/src/main/resources/images/02160558348356710157.jpg b/src/main/resources/images/02160558348356710157.jpg new file mode 100644 index 0000000..3226389 Binary files /dev/null and b/src/main/resources/images/02160558348356710157.jpg differ diff --git a/src/main/resources/images/02160558348356710160.jpg b/src/main/resources/images/02160558348356710160.jpg new file mode 100644 index 0000000..4eebc31 Binary files /dev/null and b/src/main/resources/images/02160558348356710160.jpg differ diff --git a/src/main/resources/images/02160558348953680101.jpg b/src/main/resources/images/02160558348953680101.jpg new file mode 100644 index 0000000..7ae7663 Binary files /dev/null and b/src/main/resources/images/02160558348953680101.jpg differ diff --git a/src/main/resources/images/02160558348953680102.jpg b/src/main/resources/images/02160558348953680102.jpg new file mode 100644 index 0000000..92f072c Binary files /dev/null and b/src/main/resources/images/02160558348953680102.jpg differ diff --git a/src/main/resources/images/02160558348953680103.jpg b/src/main/resources/images/02160558348953680103.jpg new file mode 100644 index 0000000..98bdb1f Binary files /dev/null and b/src/main/resources/images/02160558348953680103.jpg differ diff --git a/src/main/resources/images/02160558348953680104.jpg b/src/main/resources/images/02160558348953680104.jpg new file mode 100644 index 0000000..f0605b3 Binary files /dev/null and b/src/main/resources/images/02160558348953680104.jpg differ diff --git a/src/main/resources/images/02160558348953680105.jpg b/src/main/resources/images/02160558348953680105.jpg new file mode 100644 index 0000000..e705265 Binary files /dev/null and b/src/main/resources/images/02160558348953680105.jpg differ diff --git a/src/main/resources/images/02160558348953680106.jpg b/src/main/resources/images/02160558348953680106.jpg new file mode 100644 index 0000000..c980a5c Binary files /dev/null and b/src/main/resources/images/02160558348953680106.jpg differ diff --git a/src/main/resources/images/02160558348953680107.jpg b/src/main/resources/images/02160558348953680107.jpg new file mode 100644 index 0000000..a0f362b Binary files /dev/null and b/src/main/resources/images/02160558348953680107.jpg differ diff --git a/src/main/resources/images/02160558348953680108.jpg b/src/main/resources/images/02160558348953680108.jpg new file mode 100644 index 0000000..96edeee Binary files /dev/null and b/src/main/resources/images/02160558348953680108.jpg differ diff --git a/src/main/resources/images/02160558348953680109.jpg b/src/main/resources/images/02160558348953680109.jpg new file mode 100644 index 0000000..19752c5 Binary files /dev/null and b/src/main/resources/images/02160558348953680109.jpg differ diff --git a/src/main/resources/images/02160558348953680110.jpg b/src/main/resources/images/02160558348953680110.jpg new file mode 100644 index 0000000..23cb50d Binary files /dev/null and b/src/main/resources/images/02160558348953680110.jpg differ diff --git a/src/main/resources/images/02160558348953680111.jpg b/src/main/resources/images/02160558348953680111.jpg new file mode 100644 index 0000000..28744db Binary files /dev/null and b/src/main/resources/images/02160558348953680111.jpg differ diff --git a/src/main/resources/images/02160558348953680112.jpg b/src/main/resources/images/02160558348953680112.jpg new file mode 100644 index 0000000..8e67cdb Binary files /dev/null and b/src/main/resources/images/02160558348953680112.jpg differ diff --git a/src/main/resources/images/02160558348953680113.jpg b/src/main/resources/images/02160558348953680113.jpg new file mode 100644 index 0000000..e28cfa2 Binary files /dev/null and b/src/main/resources/images/02160558348953680113.jpg differ diff --git a/src/main/resources/images/02160558348953680114.jpg b/src/main/resources/images/02160558348953680114.jpg new file mode 100644 index 0000000..3226389 Binary files /dev/null and b/src/main/resources/images/02160558348953680114.jpg differ diff --git a/src/main/resources/images/02160558348953680115.jpg b/src/main/resources/images/02160558348953680115.jpg new file mode 100644 index 0000000..4eebc31 Binary files /dev/null and b/src/main/resources/images/02160558348953680115.jpg differ diff --git a/src/main/resources/images/02160558348953680116.jpg b/src/main/resources/images/02160558348953680116.jpg new file mode 100644 index 0000000..5b28499 Binary files /dev/null and b/src/main/resources/images/02160558348953680116.jpg differ diff --git a/src/main/resources/images/02160558348953680117.jpg b/src/main/resources/images/02160558348953680117.jpg new file mode 100644 index 0000000..e06e477 Binary files /dev/null and b/src/main/resources/images/02160558348953680117.jpg differ diff --git a/src/main/resources/images/02160558348953680118.jpg b/src/main/resources/images/02160558348953680118.jpg new file mode 100644 index 0000000..87717a8 Binary files /dev/null and b/src/main/resources/images/02160558348953680118.jpg differ diff --git a/src/main/resources/images/02160558348953680119.jpg b/src/main/resources/images/02160558348953680119.jpg new file mode 100644 index 0000000..6171f7d Binary files /dev/null and b/src/main/resources/images/02160558348953680119.jpg differ diff --git a/src/main/resources/images/02160558348953680120.jpg b/src/main/resources/images/02160558348953680120.jpg new file mode 100644 index 0000000..1360054 Binary files /dev/null and b/src/main/resources/images/02160558348953680120.jpg differ diff --git a/src/main/resources/images/02160558348953680121.jpg b/src/main/resources/images/02160558348953680121.jpg new file mode 100644 index 0000000..20e8353 Binary files /dev/null and b/src/main/resources/images/02160558348953680121.jpg differ diff --git a/src/main/resources/images/02160558348953680123.jpg b/src/main/resources/images/02160558348953680123.jpg new file mode 100644 index 0000000..fed3f4a Binary files /dev/null and b/src/main/resources/images/02160558348953680123.jpg differ diff --git a/src/main/resources/images/02160558348953680124.jpg b/src/main/resources/images/02160558348953680124.jpg new file mode 100644 index 0000000..6ee9a12 Binary files /dev/null and b/src/main/resources/images/02160558348953680124.jpg differ diff --git a/src/main/resources/images/02160558348953680125.jpg b/src/main/resources/images/02160558348953680125.jpg new file mode 100644 index 0000000..86288a2 Binary files /dev/null and b/src/main/resources/images/02160558348953680125.jpg differ diff --git a/src/main/resources/images/02160558348953680126.jpg b/src/main/resources/images/02160558348953680126.jpg new file mode 100644 index 0000000..4a5bd51 Binary files /dev/null and b/src/main/resources/images/02160558348953680126.jpg differ diff --git a/src/main/resources/images/02160558348953680127.jpg b/src/main/resources/images/02160558348953680127.jpg new file mode 100644 index 0000000..7dbb672 Binary files /dev/null and b/src/main/resources/images/02160558348953680127.jpg differ diff --git a/src/main/resources/images/02160558348953680129.jpg b/src/main/resources/images/02160558348953680129.jpg new file mode 100644 index 0000000..1f0a814 Binary files /dev/null and b/src/main/resources/images/02160558348953680129.jpg differ diff --git a/src/main/resources/images/02160558348953680130.jpg b/src/main/resources/images/02160558348953680130.jpg new file mode 100644 index 0000000..2e439bc Binary files /dev/null and b/src/main/resources/images/02160558348953680130.jpg differ diff --git a/src/main/resources/images/02160558348953680131.jpg b/src/main/resources/images/02160558348953680131.jpg new file mode 100644 index 0000000..55cee6b Binary files /dev/null and b/src/main/resources/images/02160558348953680131.jpg differ diff --git a/src/main/resources/images/02160558348953680132.jpg b/src/main/resources/images/02160558348953680132.jpg new file mode 100644 index 0000000..d464e9c Binary files /dev/null and b/src/main/resources/images/02160558348953680132.jpg differ diff --git a/src/main/resources/images/02160558348953680134.jpg b/src/main/resources/images/02160558348953680134.jpg new file mode 100644 index 0000000..cbfe2e0 Binary files /dev/null and b/src/main/resources/images/02160558348953680134.jpg differ diff --git a/src/main/resources/images/02160558348953680135.jpg b/src/main/resources/images/02160558348953680135.jpg new file mode 100644 index 0000000..df35867 Binary files /dev/null and b/src/main/resources/images/02160558348953680135.jpg differ diff --git a/src/main/resources/images/02160558348953680136.jpg b/src/main/resources/images/02160558348953680136.jpg new file mode 100644 index 0000000..c151245 Binary files /dev/null and b/src/main/resources/images/02160558348953680136.jpg differ diff --git a/src/main/resources/images/02160558348953680137.jpg b/src/main/resources/images/02160558348953680137.jpg new file mode 100644 index 0000000..ac7253b Binary files /dev/null and b/src/main/resources/images/02160558348953680137.jpg differ diff --git a/src/main/resources/images/02160558348953680139.jpg b/src/main/resources/images/02160558348953680139.jpg new file mode 100644 index 0000000..e57784e Binary files /dev/null and b/src/main/resources/images/02160558348953680139.jpg differ diff --git a/src/main/resources/images/02160558348953680140.jpg b/src/main/resources/images/02160558348953680140.jpg new file mode 100644 index 0000000..fb2eb7d Binary files /dev/null and b/src/main/resources/images/02160558348953680140.jpg differ diff --git a/src/main/resources/images/02160558348953680141.jpg b/src/main/resources/images/02160558348953680141.jpg new file mode 100644 index 0000000..aa2049a Binary files /dev/null and b/src/main/resources/images/02160558348953680141.jpg differ diff --git a/src/main/resources/images/02160558348953680142.jpg b/src/main/resources/images/02160558348953680142.jpg new file mode 100644 index 0000000..0f9ceef Binary files /dev/null and b/src/main/resources/images/02160558348953680142.jpg differ diff --git a/src/main/resources/images/02160558348953680144.jpg b/src/main/resources/images/02160558348953680144.jpg new file mode 100644 index 0000000..eb96ce7 Binary files /dev/null and b/src/main/resources/images/02160558348953680144.jpg differ diff --git a/src/main/resources/images/02160558348953680145.jpg b/src/main/resources/images/02160558348953680145.jpg new file mode 100644 index 0000000..076e729 Binary files /dev/null and b/src/main/resources/images/02160558348953680145.jpg differ diff --git a/src/main/resources/images/02160558348953680146.jpg b/src/main/resources/images/02160558348953680146.jpg new file mode 100644 index 0000000..b12a5f3 Binary files /dev/null and b/src/main/resources/images/02160558348953680146.jpg differ diff --git a/src/main/resources/images/02160558348953680148.jpg b/src/main/resources/images/02160558348953680148.jpg new file mode 100644 index 0000000..10b9ba0 Binary files /dev/null and b/src/main/resources/images/02160558348953680148.jpg differ diff --git a/src/main/resources/images/02160558348953680149.jpg b/src/main/resources/images/02160558348953680149.jpg new file mode 100644 index 0000000..1025ce0 Binary files /dev/null and b/src/main/resources/images/02160558348953680149.jpg differ diff --git a/src/main/resources/images/02160558348953680150.jpg b/src/main/resources/images/02160558348953680150.jpg new file mode 100644 index 0000000..591a5da Binary files /dev/null and b/src/main/resources/images/02160558348953680150.jpg differ diff --git a/src/main/resources/images/02160558348953680152.jpg b/src/main/resources/images/02160558348953680152.jpg new file mode 100644 index 0000000..4d5bbff Binary files /dev/null and b/src/main/resources/images/02160558348953680152.jpg differ diff --git a/src/main/resources/images/02160558348953680153.jpg b/src/main/resources/images/02160558348953680153.jpg new file mode 100644 index 0000000..aa8f0e7 Binary files /dev/null and b/src/main/resources/images/02160558348953680153.jpg differ diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..cd4f5be --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n + + + + + + + + ${LOG_HOME}/info.log + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n + + + + + + + 512MB + + ${LOG_HOME}/archive/inspect-simulator.%d{yyyy-MM-dd}-%i.log.gz + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + + ${LOG_HOME}/error.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n + + + + 512MB + + ${LOG_HOME}/archive/error.%d{yyyy-MM-dd}-%i.log.gz + 30 + + + ERROR + ACCEPT + DENY + + + + + + ${LOG_HOME}/warn.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n + + + + 512MB + + ${LOG_HOME}/archive/warn.%d{yyyy-MM-dd}-%i.log.gz + 30 + + + WARN + ACCEPT + DENY + + + + + + + + + + + 0 + + + 256 + true + + + + 0 + + true + + + + 0 + + true + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/PatrolResultMapper.xml b/src/main/resources/mapper/PatrolResultMapper.xml new file mode 100644 index 0000000..41b051d --- /dev/null +++ b/src/main/resources/mapper/PatrolResultMapper.xml @@ -0,0 +1,790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select line_id, + main_id, + check_result, + create_time, + task_id, + patroldevice_name, + patrol_status, + check_person, + check_time, + patroldevice_code, + task_name, + task_code, + device_name, + device_id, + value_type, + value, + value_unit, + unit, time, recognition_type, file_type, file_path, rectangle, task_patrolled_id, valid, material_id, data_type, threshold + from patrol_result + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into patrol_result + + patroldevice_name, + patroldevice_code, + task_name, + task_code, + device_name, + device_id, + value_type, + value, + value_unit, + unit, + time, + recognition_type, + file_type, + file_path, + rectangle, + task_patrolled_id, + valid, + patrol_status, + check_person, + check_time, + check_result, + material_id, + data_type, + threshold, + task_id, + main_id, + create_time, + + + #{patrolDeviceName}, + #{patrolDeviceCode}, + #{taskName}, + #{taskCode}, + #{deviceName}, + #{deviceId}, + #{valueType}, + #{value}, + #{valueUnit}, + #{unit}, + #{time}, + #{recognitionType}, + #{fileType}, + #{filePath}, + #{rectangle}, + #{taskPatrolledId}, + #{valid}, + #{patrolStatus}, + #{checkPerson}, + #{checkTime}, + #{checkResult}, + #{materialId}, + #{dataType}, + #{threshold}, + #{taskId}, + #{mainId}, + #{createTime}, + + + + + update patrol_result + + patroldevice_name = #{patrolDeviceName}, + patroldevice_code = #{patrolDeviceCode}, + task_name = #{taskName}, + task_code = #{taskCode}, + device_name = #{deviceName}, + device_id = #{deviceId}, + value_type = #{valueType}, + value = #{value}, + value_unit = #{valueUnit}, + unit = #{unit}, + time = #{time}, + recognition_type = #{recognitionType}, + file_type = #{fileType}, + file_path = #{filePath}, + rectangle = #{rectangle}, + task_patrolled_id = #{taskPatrolledId}, + valid = #{valid}, + patrol_status = #{patrolStatus}, + check_person = #{checkPerson}, + check_time = #{checkTime}, + check_result = #{checkResult}, + material_id = #{materialId}, + data_type = #{dataType}, + threshold = #{threshold}, + task_id = #{taskId}, + main_id = #{mainId}, + + where line_id = #{lineId} + + + + update patrol_result + set patrol_status = '1' + where main_id = #{mainId} + + + delete + from patrol_result + where line_id = #{lineId} + + + + delete from patrol_result where line_id in + + #{lineId} + + + + + update patrol_result + + value = #{value}, + + where line_id = #{lineId} + + + update patrol_result set check_time = now() where line_id in + + #{lineId} + + + + + + + + + + + + + + + + + + select id, type, task_code, threshold, msg + from statistics_task_config + + + + + + + + + + + + + + diff --git a/src/test/java/com/inspect/simulator/InspectSimulatorApplicationTests.java b/src/test/java/com/inspect/simulator/InspectSimulatorApplicationTests.java new file mode 100644 index 0000000..8aa555f --- /dev/null +++ b/src/test/java/com/inspect/simulator/InspectSimulatorApplicationTests.java @@ -0,0 +1,13 @@ +package com.inspect.simulator; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class InspectSimulatorApplicationTests { + + @Test + void contextLoads() { + } + +}