logs/myapp.log
@@ -1,42 +1,3 @@ 2024-04-19 16:14:12,615 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 1772 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:14:12,647 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:14:12,663 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:14:34,494 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 23804 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:14:34,503 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:14:34,504 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:15:01,251 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 13076 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:15:01,255 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:15:01,256 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:15:28,022 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 19768 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:15:28,026 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:15:28,027 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:16:25,759 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 23908 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:16:25,767 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:16:25,768 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:18:09,874 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 18852 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:18:09,880 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:18:09,880 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:35:09,509 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 15056 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:35:09,516 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:35:09,517 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:36:39,778 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 16368 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:36:39,782 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:36:39,783 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: devAntai 2024-04-19 16:37:53,600 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 15172 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:37:53,608 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:37:53,608 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-19 16:38:59,896 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 27264 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:38:59,903 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:38:59,904 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-19 16:39:58,766 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 26420 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:39:58,771 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:39:58,771 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-19 16:40:03,958 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 16488 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:40:03,962 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:40:03,963 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-19 16:47:44,627 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 25280 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:47:44,635 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:47:44,636 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-19 16:49:35,712 INFO [main] c.d.AdminApplication [StartupInfoLogger.java:55] Starting AdminApplication on DESKTOP-77EHGKJ with PID 24896 (D:\code\idea2023\git\dmvisit\server\dmvisit_admin\target\classes started by T14 in D:\code\idea2023\git\dmvisit) 2024-04-19 16:49:35,720 DEBUG [main] c.d.AdminApplication [StartupInfoLogger.java:56] Running with Spring Boot v2.2.5.RELEASE, Spring v5.2.4.RELEASE 2024-04-19 16:49:35,720 INFO [main] c.d.AdminApplication [SpringApplication.java:655] The following profiles are active: dev 2024-04-29 13:47:55,448 INFO [main] c.d.TimerApplication [SpringApplication.java:652] The following profiles are active: dev 2024-04-29 13:53:06,150 INFO [main] c.d.TimerApplication [SpringApplication.java:652] The following profiles are active: dev 2024-04-29 14:12:01,421 INFO [main] c.d.TimerApplication [SpringApplication.java:652] The following profiles are active: dev server/meeting/meeting_admin/src/main/java/com/doumee/api/CloudBookingsController.java
ÎļþÃû´Ó server/meeting/meeting_admin/src/main/java/com/doumee/api/cloud/CloudBookingsController.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.api.cloud; package com.doumee.api; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; server/pom.xml
@@ -14,6 +14,7 @@ <module>meeting</module> <module>system_service</module> <module>visits</module> <module>system_timer</module> </modules> <parent> <groupId>org.springframework.boot</groupId> server/system_gateway/pom.xml
@@ -26,6 +26,7 @@ </exclusion> </exclusions> </dependency> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> server/system_gateway/src/main/java/com/doumee/Main.java
ÎļþÒÑɾ³ý server/system_gateway/src/main/resources/bootstrap.yml
@@ -14,7 +14,7 @@ password: nacos discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å namespace: dev_renkang namespace: dmvisit username: nacos password: nacos gateway: server/system_service/src/main/java/com/doumee/dao/timer/entity/QuartzJob.java
@@ -37,6 +37,8 @@ @Schema(description = "æ§è¡åæ°") private String params; @Schema(description = "模ååç§°") private String module; @Schema(description = "Cron表达å¼") private String cronExpres; server/system_service/src/main/java/com/doumee/dao/timer/entity/QuartzLog.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -37,4 +38,7 @@ private Date createTime; @Schema(description = "模ååç§°") private String module; } server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
@@ -55,10 +55,12 @@ JobDetail jobDetail = JobBuilder.newJob(QuartzRecord.class) .withIdentity(getJobKey(quartzJob.getId())).build() ; // æå»ºCronè°åº¦å¨ CronScheduleBuilder scheduleBuilder = CronScheduleBuilder .cronSchedule(quartzJob.getCronExpres()) .withMisfireHandlingInstructionDoNothing() ; // ä»»å¡è§¦åå¨ CronTrigger trigger = TriggerBuilder.newTrigger() .withIdentity(getTriggerKey(quartzJob.getId())) @@ -66,7 +68,7 @@ jobDetail.getJobDataMap().put(QuartzJob.JOB_PARAM_KEY,quartzJob); scheduler.scheduleJob(jobDetail,trigger) ; // ç¶ææ ¡éª checkStop(quartzJob) ; // checkStop(quartzJob) ; } catch (SchedulerException e){ throw new RuntimeException("createJob Fail",e) ; } server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzRecord.java
@@ -32,10 +32,11 @@ try { // å 载并æ§è¡ Object target = SpringContextUtil.getBean(quartzJob.getBeanName()); Method method = target.getClass().getDeclaredMethod("run", String.class); method.invoke(target, quartzJob.getParams()); Method method = target.getClass().getDeclaredMethod("run", String.class,String.class); method.invoke(target, quartzJob.getParams(),quartzJob.getModule()); long executeTime = System.currentTimeMillis() - beginTime; quartzLog.setTimes((int)executeTime); quartzLog.setModule(quartzJob.getModule()); quartzLog.setState(LogState.LOG_SUS.getStatus()); } catch (Exception e){ // å¼å¸¸ä¿¡æ¯ server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
@@ -27,24 +27,6 @@ private QuartzManage quartzManage; /** * åå§åå è½½å®æ¶ä»»å¡ */ @PostConstruct public void init () { LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); jobList.forEach(quartzJob -> { CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; if (Objects.isNull(cronTrigger)){ quartzManage.createJob(quartzJob); } else { quartzManage.updateJob(quartzJob); } }); } /** * ä»»å¡ä¸»é®æ¥è¯¢ */ public QuartzJob getById(Integer id) { server/system_timer/pom.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.doumee</groupId> <artifactId>dmvisit</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>system_timer</artifactId> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.doumee</groupId> <artifactId>system_service</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency> <!-- <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.1.0</version> </dependency>--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.12.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> </dependencies> <build> <finalName>system_timer</finalName> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <mainClass>com.doumee.SystemTimerApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!--<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> </plugin>--> </plugins> </build> </project> server/system_timer/src/main/java/com/doumee/SystemTimerApplication.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.doumee; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.ApplicationContext; import org.springframework.scheduling.annotation.EnableAsync; /** * å¯å¨ç±» * @author Eva.Caesar Liu * @date 2023/03/21 14:49 */ @EnableAsync @SpringBootApplication @EnableDiscoveryClient @MapperScan("com.doumee.dao.*") @EnableFeignClients(basePackages = "com.doumee.jobs") public class SystemTimerApplication { public static void main(String[] args) { ApplicationContext context = SpringApplication.run(SystemTimerApplication.class); context.getEnvironment(); } } server/system_timer/src/main/java/com/doumee/config/DecoderConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package com.doumee.config; import feign.codec.Decoder; import org.springframework.beans.BeansException; import org.springframework.beans.factory.ObjectFactory; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.cloud.openfeign.support.ResponseEntityDecoder; import org.springframework.cloud.openfeign.support.SpringDecoder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import java.util.ArrayList; import java.util.List; /** * Author: lizhi * Date: 2022-02-17 * Describe: è§£å³ HttpMessageConverters Beanæªæ³¨åé®é¢ */ @Configuration public class DecoderConfig { @Bean public Decoder feignDecoder() { return new ResponseEntityDecoder(new SpringDecoder(feignHttpMessageConverter())); } public ObjectFactory<HttpMessageConverters> feignHttpMessageConverter() { final HttpMessageConverters httpMessageConverters = new HttpMessageConverters(new GateWayMappingJackson2HttpMessageConverter()); return new ObjectFactory<HttpMessageConverters>() { @Override public HttpMessageConverters getObject() throws BeansException { return httpMessageConverters; } }; } public class GateWayMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter { GateWayMappingJackson2HttpMessageConverter(){ List<MediaType> mediaTypes = new ArrayList<>(); mediaTypes.add(MediaType.valueOf(MediaType.TEXT_HTML_VALUE + ";charset=UTF-8")); setSupportedMediaTypes(mediaTypes); } } } server/system_timer/src/main/java/com/doumee/jobs/JobService.java
ÎļþÃû´Ó server/system_service/src/main/java/com/doumee/dao/timer/job/JobService.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.dao.timer.job; package com.doumee.jobs; /** * @author å ¬ä¼å·:ç¥äºä¸ç¬ @@ -6,6 +6,6 @@ */ public interface JobService { void run(String params); void run(String params,String module); } server/system_timer/src/main/java/com/doumee/jobs/PrintJob.java
ÎļþÃû´Ó server/system_service/src/main/java/com/doumee/dao/timer/job/PrintJob.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.dao.timer.job; package com.doumee.jobs; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,7 +14,7 @@ private static final Logger log = LoggerFactory.getLogger(PrintJob.class); @Override public void run(String params) { public void run(String params,String module) { log.info("\n ======== \n print-job-params:{} \n ========",params); } } server/system_timer/src/main/java/com/doumee/jobs/TimerJob.java
ÎļþÃû´Ó server/system_service/src/main/java/com/doumee/dao/timer/job/TimerJob.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.dao.timer.job; package com.doumee.jobs; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,7 +18,7 @@ private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ; @Override public void run(String params) { public void run(String params,String module) { log.info("\n ======== \n timer-job-params:{} \n ========",params); log.info("time-now:{}",format.format(new Date())); } server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.doumee.jobs.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.dao.timer.entity.JobState; import com.doumee.dao.timer.entity.QuartzJob; import com.doumee.dao.timer.mapper.QuartzJobMapper; import com.doumee.dao.timer.scheduler.QuartzManage; import org.quartz.CronTrigger; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.List; import java.util.Objects; @Service public class TimerBizSevice { @Resource private QuartzJobMapper quartzJobMapper ; @Resource private QuartzManage quartzManage; /** * åå§åå è½½å®æ¶ä»»å¡ */ @PostConstruct public void init () { LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); jobList.forEach(quartzJob -> { CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; if (Objects.isNull(cronTrigger)){ quartzManage.createJob(quartzJob); } else { quartzManage.updateJob(quartzJob); } }); } } server/system_timer/src/main/java/com/doumee/jobs/visits/EmpowerFegin.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.jobs.visits; import com.doumee.core.model.ApiResponse; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; /** * @author å ¬ä¼å·:ç¥äºä¸ç¬ * @since 2023-07-26 11:44 */ @Component("visitEmpowerJob") @FeignClient(value = "visitsTimer") public interface EmpowerFegin { @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææç»æ") @GetMapping("/timer/empower/syncEmpowerDetailData") public ApiResponse syncEmpowerDetailData(); @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææä¸è½½è¿åº¦") @GetMapping("/timer/empower/syncEmpowerResultData") public ApiResponse syncEmpowerResultData() ; @ApiOperation("å¼å¯å®æ¶éæ°ä¸åå¤±è´¥çæææ°æ®") @GetMapping("/timer/empower/syncEmpowerFailData") public ApiResponse syncEmpowerFailData(); @ApiOperation("å¼å¯å®æ¶å·æ°äººåè®¾å¤ææ") @GetMapping("/timer/empower/syncEmpowerData") public ApiResponse syncEmpowerData(); } server/system_timer/src/main/java/com/doumee/jobs/visits/EmpowerJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.doumee.jobs.visits; import com.doumee.jobs.JobService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.lang.reflect.Method; /** * @author å ¬ä¼å·:ç¥äºä¸ç¬ * @since 2023-07-26 11:44 */ @Component("visitEmpowerJob") public class EmpowerJob implements JobService { @Autowired private EmpowerFegin fegin; private static final Logger log = LoggerFactory.getLogger(EmpowerJob.class); @Override public void run(String params,String module) { Method method = null; try { method = fegin.getClass().getDeclaredMethod(module); method.invoke(fegin); log.info("\n ======== 宿¶ä»»å¡å·²æ§è¡ï¼visitEmpowerJob.========"+module); } catch (Exception e) { e.printStackTrace(); } } } server/system_timer/src/main/resources/META-INF/MANIFEST.MF
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ Manifest-Version: 1.0 Main-Class: com.doumee.SystemTimerApplication server/system_timer/src/main/resources/application-dev.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,83 @@ spring: # æ°æ®æºé ç½® datasource: url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource redis: # database: 0 host: 127.0.0.1 port: 6379 password: timeout: 5000 # è¿æ¥æ± ä¸çæå°ç©ºé²è¿æ¥ jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss #rocketmq: # namesrvAddr: rmq-cn-pe335rcnn06.cn-shanghai.rmq.aliyuncs.com:8080 # groupId: GID-wakatest # topic: waka-test # username: 4derRb4Sw5EkqUMI # password: v50N97wf4av8Q8I4 #knife4j: # enable: true # basic: # enable: true # username: admin # password: 111111 debug_model: true ########################åæ¥æ°æ®æ¨¡å¼ ######################## data-sync: org-user-data-origin: 1 #ç»ç»æ°æ® 0èªå»º 2以海康为主 1åæERPç³»ç» visitor-data-origin: 1 #è®¿å®¢æ°æ® 0èªå»º 2以海康为主 1åæERPç³»ç» need-deal-img: true #æ¯å¦éè¦å¤çå¾çæ°æ® # Swaggeré ç½® swagger: host: 127.0.0.1 title: ${project.name}æ¥å£ææ¡£ description: ${project.name}æ¥å£ææ¡£ enabled: true context-path: # ç¦ç¨swaggeræ¶çéå®åå°å redirect-uri: / ########################微信æ¯ä»ç¸å ³é ç½®######################## wx: pay: appId: wxfab6da18632e28de appSecret: 4ee3b22afa90287834319fc3c1635271 mchId: 1229817002 mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify keyPath: /usr/local/apiclient_cert.p12 tencent: map: remoteHost: https://apis.map.qq.com appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ des_pwd: 123456SDFKDJF ## MQTT## mqtt: host: tcp://192.168.10.198:1883 userName: root passWord: 123456 qos: 1 clientId: ClientId_local #ClientId_localå¿ é¡»å¯ä¸ æ¯å¦ä½ å·²ç»å®äºå«ABC é£ä½ å°±ä¸ç´å«ABC å ¶ä»å°æ¹å°±ä¸è¦ä½¿ç¨ABCäº timeout: 10 keepalive: 20 topic1: A/pick/warn/# #ç¬¦å·æ¯ä»£è¡¨æ´ä¸ªwarnä¸é¢çå ¨é¨åä¸»é¢ æ²¡æçè§£çè¯ å¯ä»¥ç¾åº¦ä»ç»çè§£ä¸ä¸ topic2: A/cmd/resp topic3: ABCF topic4: ABCH server/system_timer/src/main/resources/application-pro.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ spring: # æ°æ®æºé ç½® datasource: url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/dm_visit?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource redis: # database: 0 host: 127.0.0.1 port: 6379 password: timeout: 5000 # è¿æ¥æ± ä¸çæå°ç©ºé²è¿æ¥ #knife4j: # enable: true # basic: # enable: true # username: admin # password: doumee@168.com debug_model: true captcha_check: false # Swaggeré ç½® swagger: host: title: ${project.name}æ¥å£ææ¡£ description: ${project.name}æ¥å£ææ¡£ enabled: true # ç¦ç¨swaggeræ¶çéå®åå°å redirect-uri: / ########################微信æ¯ä»ç¸å ³é ç½®######################## wx: pay: appId: wxfab6da18632e28de appSecret: 4ee3b22afa90287834319fc3c1635271 mchId: 1229817002 mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify keyPath: /usr/local/apiclient_cert.p12 tencent: map: remoteHost: https://apis.map.qq.com appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ des_pwd: 123456SDFKDJF server/system_timer/src/main/resources/application-test.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,81 @@ spring: # æ°æ®æºé ç½® datasource: url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/dm_visit?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss redis: # database: 0 host: 127.0.0.1 port: 6379 password: timeout: 5000 # è¿æ¥æ± ä¸çæå°ç©ºé²è¿æ¥ #rocketmq: # namesrvAddr: rmq-cn-pe335rcnn06.cn-shanghai.rmq.aliyuncs.com:8080 # groupId: GID-wakatest # topic: waka-test # username: 4derRb4Sw5EkqUMI # password: v50N97wf4av8Q8I4 #knife4j: # enable: true # basic: # enable: true # username: admin # password: 111111 debug_model: true # Swaggeré ç½® swagger: host: dmtest.ahapp.net title: ${project.name}æ¥å£ææ¡£ description: ${project.name}æ¥å£ææ¡£ enabled: true context-path: /erp_api # ç¦ç¨swaggeræ¶çéå®åå°å redirect-uri: / ########################åæ¥æ°æ®æ¨¡å¼ ######################## data-sync: org-user-data-origin: 1 #ç»ç»æ°æ® 0èªå»º 2以海康为主 1åæERPç³»ç» visitor-data-origin: 1 #è®¿å®¢æ°æ® 0èªå»º 2以海康为主 1åæERPç³»ç» need-deal-img: true #æ¯å¦éè¦å¤çå¾çæ°æ® ########################微信æ¯ä»ç¸å ³é ç½®######################## wx: pay: appId: wxfab6da18632e28de appSecret: 4ee3b22afa90287834319fc3c1635271 mchId: 1229817002 mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify keyPath: /usr/local/apiclient_cert.p12 tencent: map: remoteHost: https://apis.map.qq.com appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ des_pwd: 123456SDFKDJF ## MQTT## mqtt: host: tcp://192.168.10.198:1883 userName: root passWord: 123456 qos: 1 clientId: ClientId_local #ClientId_localå¿ é¡»å¯ä¸ æ¯å¦ä½ å·²ç»å®äºå«ABC é£ä½ å°±ä¸ç´å«ABC å ¶ä»å°æ¹å°±ä¸è¦ä½¿ç¨ABCäº timeout: 10 keepalive: 20 topic1: A/pick/warn/# #ç¬¦å·æ¯ä»£è¡¨æ´ä¸ªwarnä¸é¢çå ¨é¨åä¸»é¢ æ²¡æçè§£çè¯ å¯ä»¥ç¾åº¦ä»ç»çè§£ä¸ä¸ topic2: A/cmd/resp topic3: ABCF topic4: ABCH server/system_timer/src/main/resources/application.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ # 项ç®ä¿¡æ¯é ç½® project: name: 宿¶ä»»å¡æå¡ version: 1.0.0 env: development # env: production spring: application: name: system_timer profiles: active: dev # JSONè¿åé ç½® jackson: # é»è®¤æ¶åº time-zone: GMT+8 # é»è®¤æ¥ææ ¼å¼å date-format: yyyy-MM-dd HH:mm:ss servlet: multipart: max-file-size: 200MB max-request-size: 200MB enabled: true main: allow-circular-references: true web-application-type: reactive # MyBatisé ç½® mybatis-plus: mapper-locations: classpath*:/mappers/**/*.xml configuration: map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # ç¼åå 容设置 cache: session: # ä¼è¯è¿ææ¶é¿(s) expire: 18000 captcha: # éªè¯ç è¿ææ¶é¿(s) expire: 300 # è·è¸ªæ¥å¿ trace: # å¼å¯æºè½è·è¸ªæ¨¡å¼ smart: true # æé¤è·è¸ªçURLæ£å exclude-patterns: .+/list[a-zA-Z0-9\-\_]*$, .+/tree[a-zA-Z0-9\-\_]*$, .+/page[a-zA-Z0-9\-\_]*$, .+/all[a-zA-Z0-9\-\_]*$, /swagger-resources.* # æ¥å¿é ç½® logback: level: INFO appender: ${project.env} # daoå±çæ¥å¿è®¾ç½®ä¸ºdebugï¼æ¹ä¾¿æ¥çsql logging: level: com.doumee.dao: debug # WEBæå¡å¨é ç½® server: compression: enabled: true mime-types: application/json port: 10010 tomcat: max-swallow-size: -1 servlet: session: timeout: PT3H #表示12å°æ¶ server/system_timer/src/main/resources/banner.txt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ ${AnsiColor.BLUE} ================================================================================ 欢è¿ä½¿ç¨è±ç±³æ¡æ¶ï¼ååºç¨çï¼ Version :: 1.0 ââââââââ ââ ââ ââââââââ ââ ââââââ ââ ââ âââ ââââ âââ ââââ ââ ââââ âââ âââ âââ ââââââ ââââ âââ âââ âââ ââââ ââââ âââ ââ âââ âââ âââ ââââââââââ âââ âââ âââ ââââââââ ââ ââ ââ å¯å¨ç«¯å£: ${server.port} å¯å¨ç¯å¢: ${project.env} æ¥å¿ç级: ${logback.level} å¯ç¨Swagger: ${swagger.enabled} ================================================================================ server/system_timer/src/main/resources/bootstrap.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ spring: application: name: system-timer # å®å ¨é ç½® security: # éªç¾å ¬é¥å°å oauth2: authorizationserver: token-uri: https:// cloud: loadbalancer: enabled: true nacos: # 使ç¨Nacosè´è½½çç¥ï¼å¼åç¯å¢å¯ä»¥å©ç¨å°±è¿è®¿é®æºå¶å®å访é®ï¼å¯å¨åæ°å¦ä¸ï¼ # -Dspring.cloud.nacos.discovery.cluster-name=èªå®ä¹ enabled: true cache: # ææ¶å ³éç¼å enabled: false nacos: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å username: nacos password: nacos # config: # server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å # namespace: dmvisit # username: nacos # password: nacos # file-extension: yaml # group: dev # data-id: com.doumee.meeting.admin discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å namespace: dmvisit username: nacos password: nacos server/visits/admin_timer/pom.xml
@@ -24,55 +24,7 @@ <version>1.0.0-SNAPSHOT</version> </dependency> </dependencies> <!-- <build> <finalName>smartmeeting-admin</finalName> <pluginManagement><!– lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) –> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!– see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging –> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <webResources> <resource> <directory>${project.basedir}/../lib</directory> <targetPath>WEB-INF/lib/</targetPath> <includes> <include>*.jar</include> </includes> </resource> </webResources> </configuration> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build>--> <build> <finalName>admin_timer</finalName> <resources> server/visits/admin_timer/src/main/java/com/doumee/Main.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/TimerApplication.java
@@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.ApplicationContext; import org.springframework.scheduling.annotation.EnableAsync; @@ -16,6 +17,7 @@ @EnableAsync @SpringBootApplication @MapperScan("com.doumee.dao.*") @EnableDiscoveryClient public class TimerApplication { public static void main(String[] args) { server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.core.model.ApiResponse; import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "设å¤å®æ¶å¨æ¥å£") @RestController @RequestMapping("/timer/device") public class HkDeviceTimerController extends BaseController { @Autowired private HkSyncDeviceServiceImpl hkSyncDeviceService; @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è®¾å¤ç¶æ") @GetMapping("/getAscDeviceStatus") public ApiResponse getAscDeviceStatus() { hkSyncDeviceService.getAscDeviceStatus(); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è®¾å¤ç¶ææå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,84 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.Cars; import com.doumee.service.business.CarsService; import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "人åè®¾å¤ææå®æ¶å¨æ¥å£") @RestController @RequestMapping("/timer/empower") public class HkEmpowerTimerController extends BaseController { @Autowired private HkSyncEmpowerServiceImpl hkSyncEmpowerService; public static Integer endId2 = 0; @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææç»æ") @GetMapping("/syncEmpowerDetailData") public ApiResponse syncEmpowerDetailData() { if(endId2 ==null){ endId2 =0; } endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2); for (int i = 0; i < 9; i++) { if(endId2!=null){ endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2); } } return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææç»ææå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææä¸è½½è¿åº¦") @GetMapping("/syncEmpowerResultData") public ApiResponse syncEmpowerResultData() { hkSyncEmpowerService.syncEmpowerResultData(0); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææä¸è½½è¿åº¦æå"); } @ApiOperation("å¼å¯å®æ¶éæ°ä¸åå¤±è´¥çæææ°æ®") @GetMapping("/syncEmpowerFailData") public ApiResponse syncEmpowerFailData() { hkSyncEmpowerService.syncEmpowerFailData(0); return ApiResponse.success("å¼å¯å®æ¶éæ°ä¸åå¤±è´¥çæææ°æ®æå"); } public static Integer endId = 0; @Autowired private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; @ApiOperation("å¼å¯å®æ¶å·æ°äººåè®¾å¤ææ") @GetMapping("/syncEmpowerData") public ApiResponse syncEmpowerData() { if(endId ==null){ endId =0; } endId = hkSyncEmpowerService.syncEmpowerData(endId); for (int i = 0; i < 9; i++) { if(endId!=null){ endId = hkSyncEmpowerService.syncEmpowerData(endId); } } return ApiResponse.success("å¼å¯å®æ¶å·æ°äººåè®¾å¤æææå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,40 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.config.DataSyncConfig; import com.doumee.core.model.ApiResponse; import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "海康äºä»¶å¾çä¸è½½å®æ¶å¨æ¥å£") @RestController @RequestMapping("/timer/image") public class HkImageTimerController extends BaseController { /** * æ¯å¦å¼åè */ @Autowired private DataSyncConfig dataSyncConfig; @Autowired private HkSyncImgServiceImpl hkSyncImgService; @ApiOperation("å¼å¯å®æ¶ä¸è½½æµ·åº·ç³»ç»å¾çæ°æ®") @GetMapping("/downHKImgs") public ApiResponse downHKImgs() { if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ hkSyncImgService.downHKImgs(0); } return ApiResponse.success("å¼å¯å®æ¶ä¸è½½æµ·åº·ç³»ç»å¾çæ°æ®æå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkLogTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.service.business.InterfaceLogService; import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "æ¥å¿å®æ¶å¨æ¥å£") @RestController @RequestMapping("/timer/log") public class HkLogTimerController extends BaseController { @Autowired private InterfaceLogService interfaceLogService; @ApiOperation("å¼å¯å®æ¶æ¥å£æ¥å¿æ¸ ç") @GetMapping("/clearThreeMonthLog") public ApiResponse clearThreeMonthLog() { interfaceLogService.clearThreeMonthLog(); return ApiResponse.success("å¼å¯å®æ¶æ¥å£æ¥å¿æ¸ çæå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.core.model.ApiResponse; import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "åè½¦åºæ¥å£") @RestController @RequestMapping("/timer/park") public class HkParkTimerController extends BaseController { @Autowired private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; @Autowired private HkSyncParkServiceImpl hkSyncParkService; @ApiOperation("å¼å¯å®æ¶è½¦è¾å æææ") @GetMapping("/syncParkBookData") public ApiResponse syncParkBookData() { hkSyncParkService.syncParkBookData(); return ApiResponse.success("å¼å¯å®æ¶è½¦è¾å ææææå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è½¦è¾æ¥è¯¢") @GetMapping("/syncVehicleUpdateData") public ApiResponse syncVehicleUpdateData() { hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000)); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è½¦è¾æ¥è¯¢æå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.config.DataSyncConfig; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.service.business.MemberService; import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "ç»ç»äººå宿¶å¨æ¥å£") @RestController @RequestMapping("/timer/orguser") public class HkUsersTimerController extends BaseController { @Autowired private HkSyncOrgUserToHKServiceImpl hkSyncOrgUserService; @Autowired private MemberService memberService; /** * æ¯å¦å¼åè */ @Autowired private DataSyncConfig dataSyncConfig; @ApiOperation("å¼å¯å®æ¶åæ¥æµ·åº·ç»ç»æ°æ®") @GetMapping("/syncOrgData") public ApiResponse syncOrgData() { if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp){ //妿æ¯ERPç³»ç»åæ¥ä¸å hkSyncOrgUserService.syncOrgData(); } return ApiResponse.success("å¼å¯å®æ¶åæ¥æµ·åº·ç»ç»æ°æ®æå"); } @ApiOperation("å¼å¯å®æ¶éæ°ä¸åå é¤äººåæ°æ®") @GetMapping("/syncMemberDelData") public ApiResponse syncMemberDelData() { hkSyncOrgUserService.syncMemberDelData(); return ApiResponse.success("å¼å¯å®æ¶éæ°ä¸åå é¤äººåæ°æ®æå"); } @ApiOperation("å¼å¯å®æ¶åæ¥æµ·åº·äººåæ°æ®") @GetMapping("/syncUserData") public ApiResponse syncUserData() { if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.erp) { //妿æ¯ERPç³»ç»åæ¥ä¸å hkSyncOrgUserService.syncUserData(); } return ApiResponse.success("å¼å¯å®æ¶åæ¥æµ·åº·äººåæ°æ®æå"); } @ApiOperation("å¼å¯å®æ¶å»ç»äººå") @GetMapping("/memberFreeze") public ApiResponse memberFreeze() { memberService.memberFreeze(); return ApiResponse.success("å¼å¯å®æ¶å»ç»äººåæå"); } } server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl; import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "è®¿å®¢å®æ¶å¨æ¥å£") @RestController @RequestMapping("/timer/visit") public class HkVisitTimerController extends BaseController { @Autowired private HkSyncVisitServiceImpl hkSyncVisitService; @Autowired private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService; @ApiOperation("å¼å¯å®æ¶ä¸å访客é¢çº¦ç³è¯·") @GetMapping("/syncVisitData") public ApiResponse syncVisitData() { hkSyncVisitService.syncVisitData(); return ApiResponse.success("å¼å¯å®æ¶ä¸å访客é¢çº¦ç³è¯·æå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è®¿å®¢é¢çº¦ç¶æ") @GetMapping("/getOutTimeVisitRecord") public ApiResponse getOutTimeVisitRecord() { hkSyncVisitService.getOutTimeVisitRecord(); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è®¿å®¢é¢çº¦ç¶ææå"); } @ApiOperation("å¼å¯å®æ¶ä»æ¥ç访客é¢çº¦æ°æ®") @GetMapping("/syncVistAppointData") public ApiResponse syncVistAppointData() { if(!Constants.DEALING_FROM_HK_VISIT){ try { Constants.DEALING_FROM_HK_VISIT =true; hkSyncVisitFromHKService.syncVistAppointData(new Date()); Constants.DEALING_FROM_HK_VISIT =false; }catch (Exception e){ }finally { Constants.DEALING_FROM_HK_VISIT =false; } } return ApiResponse.success("å¼å¯å®æ¶ä»æ¥ç访客é¢çº¦æ°æ®æå"); } } server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleCommonTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleDeviceStatusTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleMemberDelTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleParkBookTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleTaskDetailTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleTaskFailRetrylTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleTaskProgressTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/java/com/doumee/task/ScheduleTaskSendTool.java
ÎļþÒÑɾ³ý server/visits/admin_timer/src/main/resources/application.yml
@@ -10,7 +10,7 @@ # application: # name: doumeevisit profiles: active: proHS active: dev # JSONè¿åé ç½® jackson: server/visits/admin_timer/src/main/resources/bootstrap.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ spring: application: name: visitsTimer # å®å ¨é ç½® security: # éªç¾å ¬é¥å°å oauth2: authorizationserver: token-uri: https:// cloud: loadbalancer: enabled: true nacos: # 使ç¨Nacosè´è½½çç¥ï¼å¼åç¯å¢å¯ä»¥å©ç¨å°±è¿è®¿é®æºå¶å®å访é®ï¼å¯å¨åæ°å¦ä¸ï¼ # -Dspring.cloud.nacos.discovery.cluster-name=èªå®ä¹ enabled: true cache: # ææ¶å ³éç¼å enabled: false nacos: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å username: nacos password: nacos # config: # server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å # namespace: dmvisit # username: nacos # password: nacos # file-extension: yaml # group: dev # data-id: com.doumee.meeting.admin discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å namespace: dmvisit username: nacos password: nacos server/visits/admin_timer/src/main/resources/logback.xml
ÎļþÒÑɾ³ý server/visits/dmvisit_admin/src/main/java/com/doumee/api/CloudCarsController.java
ÎļþÃû´Ó server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CloudCarsController.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.api.cloud; package com.doumee.api; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; @@ -28,7 +28,6 @@ @RestController @RequestMapping("/cloudService/cars") public class CloudCarsController extends BaseController { @Autowired private CarsService carsService; @Autowired server/visits/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
ÎļþÒÑɾ³ý server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -950,16 +950,16 @@ * @return */ public static BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> vehicleTimeRangeList(TimeRangeListRequest param){ log.info("ãæµ·åº·å¢éäººåæ¥è¯¢ã================å¼å§===="+JSONObject.toJSONString(param)); log.info("ãæµ·åº·å¢éè½¦è¾æ¥è¯¢ã================å¼å§===="+JSONObject.toJSONString(param)); try { String res = HKTools.vehicleTimeRangeList(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> >(){}; BaseResponse<BaseListPageResponse<VehicleTimeRangeInfoResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康å¢éäººåæ¥è¯¢"); logResult(result,"海康å¢éè½¦è¾æ¥è¯¢"); return result; }catch (Exception e){ log.error("ãæµ·åº·å¢éäººåæ¥è¯¢ã================失败====ï¼\n"+ e.getMessage()); log.error("ãæµ·åº·å¢éè½¦è¾æ¥è¯¢ã================失败====ï¼\n"+ e.getMessage()); } return null; } server/visits/pom.xml
@@ -46,11 +46,6 @@ </dependency> <!-- æ¥å£ææ¡£ --> <!--dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>4.3.0</version> </dependency>--> </dependencies> <properties> <maven.compiler.source>8</maven.compiler.source>