server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java
@@ -4,6 +4,8 @@ import com.doumee.dao.timer.entity.QuartzJob; import org.quartz.*; import org.quartz.CronTrigger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -15,6 +17,8 @@ */ @Component public class QuartzManage { private static final Logger log = LoggerFactory.getLogger(QuartzManage.class); private static final String SCHEDULE_NAME = "BOOT_JOB_" ; @@ -42,8 +46,7 @@ try { return (CronTrigger) this.scheduler.getTrigger(getTriggerKey(jobId)) ; }catch (Exception e){ e.printStackTrace(); // throw new RuntimeException("createJob Fail",e) ; log.error("getCronTrigger失败, jobId={}", jobId, e); } return null; } @@ -61,7 +64,7 @@ // æå»ºCronè°åº¦å¨ CronScheduleBuilder scheduleBuilder = CronScheduleBuilder .cronSchedule(quartzJob.getCronExpres()) .withMisfireHandlingInstructionDoNothing() ; .withMisfireHandlingInstructionFireAndProceed() ; // ä»»å¡è§¦åå¨ CronTrigger trigger = TriggerBuilder.newTrigger() @@ -72,8 +75,7 @@ // ç¶ææ ¡éª checkStop(quartzJob) ; } catch (Exception e){ e.printStackTrace(); // throw new RuntimeException("createJob Fail",e) ; log.error("createJob失败, jobId={}", quartzJob.getId(), e); } } @@ -87,7 +89,7 @@ // æå»ºCronè°åº¦å¨ CronScheduleBuilder scheduleBuilder = CronScheduleBuilder .cronSchedule(quartzJob.getCronExpres()) .withMisfireHandlingInstructionDoNothing(); .withMisfireHandlingInstructionFireAndProceed(); // ä»»å¡è§¦åå¨ CronTrigger trigger = getCronTrigger(quartzJob.getId()) .getTriggerBuilder().withIdentity(triggerKey) @@ -97,8 +99,7 @@ // ç¶ææ ¡éª checkStop(quartzJob) ; }catch (Exception e){ e.printStackTrace(); // throw new RuntimeException("createJob Fail",e) ; log.error("updateJob失败, jobId={}", quartzJob.getId(), e); } } @@ -133,8 +134,7 @@ dataMap.put(QuartzJob.JOB_PARAM_KEY,quartzJob); this.scheduler.triggerJob(getJobKey(quartzJob.getId()),dataMap); } catch (Exception e){ e.printStackTrace(); // throw new RuntimeException("createJob Fail",e) ; log.error("run失败, jobId={}", quartzJob.getId(), e); } } @@ -147,8 +147,7 @@ this.scheduler.pauseJob(getJobKey(quartzJob.getId())); } } catch (Exception e){ e.printStackTrace(); // throw new RuntimeException("createJob Fail",e) ; log.error("checkStop失败, jobId={}", quartzJob.getId(), e); } } server/system_timer/src/main/java/com/doumee/config/AsyncPoolConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.doumee.config; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; @Slf4j @Configuration public class AsyncPoolConfig implements AsyncConfigurer { @Bean("asyncExecutor") @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(5); executor.setMaxPoolSize(20); executor.setQueueCapacity(100); executor.setKeepAliveSeconds(60); executor.setThreadNamePrefix("async-timer-"); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; } } server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -3,14 +3,12 @@ import com.doumee.service.business.third.model.ApiResponse; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping; /** * @author jiangping */ @Component("visitServiceJob") @FeignClient(value = "visitsTimer") public interface VisitServiceFegin { server/system_timer/src/main/resources/application.yml
@@ -68,6 +68,14 @@ servlet: session: timeout: PT3H #表示12å°æ¶ # Feignè¶ æ¶é ç½® feign: client: config: default: connectTimeout: 5000 readTimeout: 30000 auth: jwt: enabled: true #æ¯å¦å¼å¯JWTç»å½è®¤è¯åè½ server/system_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: pro application: name: systemTimer # å®å ¨é ç½® server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
@@ -10,6 +10,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -23,6 +24,7 @@ import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.Executor; /** * @author æ±è¹è¹ @@ -35,6 +37,9 @@ public class DatabaseController extends BaseController { @Autowired @Qualifier("asyncExecutor") private Executor asyncExecutor; @Autowired private PlatformJobService platformJobService; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -43,43 +48,32 @@ @ApiOperation("æ°æ®åºå¤ä»½ï¼ä¿çæè¿7个å¤ä»½sql") @PostMapping("/backupDatabase") public ApiResponse backupDatabase() { try { String timestamp = DateUtil.getNowLongTime(); // String path = "/usr/local/jars/db/"; // String backupPath = path + timestamp + ".sql"; String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MYSQL_BACKUP_DIR).getCode(); String code = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MYSQL_BACKUP_CDOE).getCode() ; String backupPath = path + timestamp + ".sql"; code= code.replace("${param}",backupPath); log.error("æ°æ®åºå¤ä»½================: " + code); ProcessBuilder builder = new ProcessBuilder(code); // éå®åé误æµå°æ åè¾åºæµ builder.redirectErrorStream(true); // stdout Process process = builder.start(); new Thread(new ProcessHandleRunnable(process)).start(); process.waitFor(); // wait if needed log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼backupDatabase-æ°æ®åºå¤ä»½"); asyncExecutor.execute(() -> { try { String timestamp = DateUtil.getNowLongTime(); String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MYSQL_BACKUP_DIR).getCode(); String code = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MYSQL_BACKUP_CDOE).getCode() ; String backupPath = path + timestamp + ".sql"; code= code.replace("${param}",backupPath); log.info("æ°æ®åºå¤ä»½å½ä»¤: {}", code); ProcessBuilder builder = new ProcessBuilder(code); builder.redirectErrorStream(true); Process process = builder.start(); new Thread(new ProcessHandleRunnable(process)).start(); process.waitFor(); /* // 使ç¨mysqldumpå½ä»¤è¿è¡æ°æ®åºå¤ä»½ Process process = Runtime.getRuntime().exec(code); process.getErrorStream(); process.getInputStream(); process.waitFor();*/ // æ£æ¥å¤ä»½æ¯å¦æå if (new File(backupPath).exists()) { log.info("æ°æ®åºå¤ä»½æå: " + backupPath); return ApiResponse.success("æ°æ®åºå¤ä»½æå: " + backupPath); } else { log.error("æ°æ®åºå¤ä»½å¤±è´¥."); if (new File(backupPath).exists()) { log.info("æ°æ®åºå¤ä»½æå: {}", backupPath); } else { log.error("æ°æ®åºå¤ä»½å¤±è´¥."); } deleteOldFiles(path,7); } catch (Exception e) { log.error("æ°æ®åºå¤ä»½å¤±è´¥", e); } deleteOldFiles(path,7);//ä¿çæè¿7个æä»¶ } catch (Exception e) { e.printStackTrace(); log.error("æ°æ®åºå¤ä»½å¤±è´¥."+e.getMessage()); } return ApiResponse.failed("æ°æ®åºå¤ä»½å¤±è´¥" ); }); return ApiResponse.success("æ°æ®åºå¤ä»½å·²æäº¤"); } public void run() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); server/visits/admin_timer/src/main/java/com/doumee/api/DingTalkTokenTimerController.java
@@ -6,6 +6,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; @@ -17,6 +18,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "éétoken宿¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/dingTalkToken") public class DingTalkTokenTimerController extends BaseController { @@ -37,6 +39,7 @@ @ApiOperation("å¼å¯å®æ¶æ´æ°ééä¸å¡token") @PostMapping("/updateDingTalkTokenOrigin") public ApiResponse updateDingTalkTokenOrigin() throws Exception { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼updateDingTalkTokenOrigin-æ´æ°éétoken"); dingTalk.updTokenInfo(); return ApiResponse.success("å¼å¯å®æ¶æ´æ°å¾®ä¿¡å ¬ä¼å·accesstokenæå"); } server/visits/admin_timer/src/main/java/com/doumee/api/DuanluqiTimerController.java
@@ -11,6 +11,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.mgt.DefaultSecurityManager; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +28,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "æè·¯å¨è¿ç¨æ§å¶å®æ¶å¨") @Slf4j @RestController @RequestMapping("/timer/duanluqi") public class DuanluqiTimerController extends BaseController { @@ -36,6 +38,7 @@ @ApiOperation("å¼å¯å®æ¶è¿ç¨æ§å¶æè·¯å¨åé¸") @PostMapping("/autoCloseCmd") public ApiResponse autoCloseCmd() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼autoCloseCmd-è¿ç¨æ§å¶æè·¯å¨åé¸"); deviceService.autoCloseCmdTimer(); return ApiResponse.success("å¼å¯å®æ¶è¿ç¨æ§å¶æè·¯å¨å鏿å"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkDeviceTimerController.java
@@ -6,6 +6,7 @@ import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -16,6 +17,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "设å¤å®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/device") public class HkDeviceTimerController extends BaseController { @@ -26,12 +28,14 @@ @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è®¾å¤ç¶æ") @PostMapping("/getAscDeviceStatus") public ApiResponse getAscDeviceStatus() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼getAscDeviceStatus-æ¥è¯¢è®¾å¤ç¶æ"); hkSyncDeviceService.getAscDeviceStatus(); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è®¾å¤ç¶ææå"); } @ApiOperation("æ´æ°å ¨é¨LED屿¾å 容为é»è®¤å 容") @PostMapping("/allLedDefualtContent") public ApiResponse allLedDefualtContent() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼allLedDefualtContent-æ´æ°LEDå±é»è®¤å 容"); deviceService.allLedDefualtContent(); return ApiResponse.success("æ´æ°å ¨é¨LED屿¾å 容为é»è®¤å 容"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkEmpowerTimerController.java
@@ -5,39 +5,58 @@ import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "人åè®¾å¤ææå®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/empower") public class HkEmpowerTimerController extends BaseController { @Autowired private HkSyncEmpowerServiceImpl hkSyncEmpowerService; private final AtomicInteger endId2 = new AtomicInteger(0); private final AtomicBoolean dealingDetail = new AtomicBoolean(false); public static Integer endId2 = 0; @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææç»æ") @PostMapping("/syncEmpowerDetailData") public ApiResponse syncEmpowerDetailData() { if(endId2 ==null){ endId2 =0; log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncEmpowerDetailData-æ¥è¯¢äººåè®¾å¤ææç»æ"); if(!dealingDetail.compareAndSet(false, true)){ return ApiResponse.success("syncEmpowerDetailDataæ£å¨æ§è¡ï¼è·³è¿"); } endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2); for (int i = 0; i < 9; i++) { if(endId2!=null){ endId2 = hkSyncEmpowerService.syncEmpowerDetailData(endId2); try { int current = endId2.get(); Integer next = hkSyncEmpowerService.syncEmpowerDetailData(current); for (int i = 0; i < 9; i++) { if(next != null){ endId2.set(next); next = hkSyncEmpowerService.syncEmpowerDetailData(next); } } if(next != null){ endId2.set(next); } } catch (Exception e){ log.error("syncEmpowerDetailDataå¼å¸¸", e); } finally { dealingDetail.set(false); } return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææç»ææå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææä¸è½½è¿åº¦") @PostMapping("/syncEmpowerResultData") public ApiResponse syncEmpowerResultData() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncEmpowerResultData-æ¥è¯¢ææä¸è½½è¿åº¦"); hkSyncEmpowerService.syncEmpowerResultData(0); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢äººåè®¾å¤ææä¸è½½è¿åº¦æå"); } @@ -45,24 +64,39 @@ @ApiOperation("å¼å¯å®æ¶éæ°ä¸åå¤±è´¥çæææ°æ®") @PostMapping("/syncEmpowerFailData") public ApiResponse syncEmpowerFailData() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncEmpowerFailData-éæ°ä¸å失败ææ"); hkSyncEmpowerService.syncEmpowerFailData(0); return ApiResponse.success("å¼å¯å®æ¶éæ°ä¸åå¤±è´¥çæææ°æ®æå"); } public static Integer endId = 0; private final AtomicInteger endId = new AtomicInteger(0); private final AtomicBoolean dealingEmpower = new AtomicBoolean(false); @Autowired private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService; @ApiOperation("å¼å¯å®æ¶å·æ°äººåè®¾å¤ææ") @PostMapping("/syncEmpowerData") public ApiResponse syncEmpowerData() { if(endId ==null){ endId =0; log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncEmpowerData-å·æ°äººåè®¾å¤ææ"); if(!dealingEmpower.compareAndSet(false, true)){ return ApiResponse.success("syncEmpowerDataæ£å¨æ§è¡ï¼è·³è¿"); } endId = hkSyncEmpowerService.syncEmpowerData(endId); for (int i = 0; i < 9; i++) { if(endId!=null){ endId = hkSyncEmpowerService.syncEmpowerData(endId); try { int current = endId.get(); Integer next = hkSyncEmpowerService.syncEmpowerData(current); for (int i = 0; i < 9; i++) { if(next != null){ endId.set(next); next = hkSyncEmpowerService.syncEmpowerData(next); } } if(next != null){ endId.set(next); } } catch (Exception e){ log.error("syncEmpowerDataå¼å¸¸", e); } finally { dealingEmpower.set(false); } return ApiResponse.success("å¼å¯å®æ¶å·æ°äººåè®¾å¤æææå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkImageTimerController.java
@@ -5,6 +5,7 @@ import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -15,6 +16,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "海康äºä»¶å¾çä¸è½½å®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/image") public class HkImageTimerController extends BaseController { @@ -29,6 +31,7 @@ @ApiOperation("å¼å¯å®æ¶ä¸è½½æµ·åº·ç³»ç»å¾çæ°æ®") @PostMapping("/downHKImgs") public ApiResponse downHKImgs() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼downHKImgs-ä¸è½½æµ·åº·å¾ç"); if(dataSyncConfig.getNeedDealImg()!=null && dataSyncConfig.getNeedDealImg()){ hkSyncImgService.downHKImgs(0); } server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
@@ -6,6 +6,7 @@ import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -16,6 +17,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "海康代å宿¶æåæ¥å£") @Slf4j @RestController @RequestMapping("/timer/hkNotice") public class HkNoticeTimerController extends BaseController { @@ -29,6 +31,7 @@ @ApiOperation("å¼å¯å®æ¶æ¥è¯¢ææ°äººå代忰æ®ç¶æ") @PostMapping("/getNoticeList") public ApiResponse getNoticeList() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼getNoticeList-æ¥è¯¢æµ·åº·ä»£åæ°æ®"); hkSyncVisitService.syncVisitData(); return ApiResponse.success("å¼å¯å®æ¶ä¸å访客é¢çº¦ç³è¯·æå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkParkTimerController.java
@@ -5,6 +5,7 @@ import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,6 +18,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "åè½¦åºæ¥å£") @Slf4j @RestController @RequestMapping("/timer/park") public class HkParkTimerController extends BaseController { @@ -29,12 +31,14 @@ @ApiOperation("å¼å¯å®æ¶è½¦è¾å æææ") @PostMapping("/syncParkBookData") public ApiResponse syncParkBookData() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncParkBookData-车è¾å æææ"); hkSyncParkService.syncParkBookData(); return ApiResponse.success("å¼å¯å®æ¶è½¦è¾å ææææå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è½¦è¾æ¥è¯¢") @PostMapping("/syncVehicleUpdateData") public ApiResponse syncVehicleUpdateData() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncVehicleUpdateData-æ¥è¯¢è½¦è¾"); hkSyncVehicleFromHKService.syncVehicleUpdateData(new Date(System.currentTimeMillis()-24*60*60*1000)); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è½¦è¾æ¥è¯¢æå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
@@ -5,6 +5,7 @@ import com.doumee.service.business.impl.hksync.HkSyncPlatformsServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -15,6 +16,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "设å¤å®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/platform") public class HkPlatformTimerController extends BaseController { @@ -23,6 +25,7 @@ @ApiOperation("å¼å¯å®æ¶æ¥è¯¢æå°ç¶æ") @PostMapping("/getPlatformStatus") public ApiResponse getPlatformStatus() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼getPlatformStatus-æ¥è¯¢æå°ç¶æ"); hkSyncPlatformsService.getPlatformStatus(new PlatformStatusRequest()); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢æå°ç¶ææå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkSmsEmailTimerController.java
@@ -4,6 +4,7 @@ import com.doumee.service.business.SmsEmailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -14,6 +15,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "çä¿¡åé宿¶ä»»å¡") @Slf4j @RestController @RequestMapping("/timer/sms") public class HkSmsEmailTimerController extends BaseController { @@ -22,6 +24,7 @@ @ApiOperation("å¼å¯å®æ¶çä¿¡åé宿¶ä»»å¡") @PostMapping("/sendWaitingSmsNotice") public ApiResponse sendWaitingSmsNotice() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼sendWaitingSmsNotice-åéçå¾ çä¿¡"); smsEmailService.sendWaitingSmsNotice(); return ApiResponse.success("å¼å¯å®æ¶çä¿¡åé宿¶ä»»å¡æå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkUsersTimerController.java
@@ -66,6 +66,7 @@ @ApiOperation("å¼å¯å®æ¶å»ç»äººå") @PostMapping("/memberFreeze") public ApiResponse memberFreeze() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼memberFreeze-å»ç»äººå"); memberService.memberFreeze(); return ApiResponse.success("å¼å¯å®æ¶å»ç»äººåæå"); } server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java
@@ -1,27 +1,31 @@ package com.doumee.api; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.service.business.VisitsService; 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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; import java.util.concurrent.atomic.AtomicBoolean; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "è®¿å®¢å®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/visit") public class HkVisitTimerController extends BaseController { private final AtomicBoolean dealingFromHkVisit = new AtomicBoolean(false); @Autowired private HkSyncVisitServiceImpl hkSyncVisitService; @@ -33,27 +37,28 @@ @ApiOperation("å¼å¯å®æ¶ä¸å访客é¢çº¦ç³è¯·") @PostMapping("/syncVisitData") public ApiResponse syncVisitData() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncVisitData-ä¸å访客é¢çº¦ç³è¯·"); hkSyncVisitService.syncVisitData(); return ApiResponse.success("å¼å¯å®æ¶ä¸å访客é¢çº¦ç³è¯·æå"); } @ApiOperation("å¼å¯å®æ¶æ¥è¯¢è®¿å®¢é¢çº¦ç¶æ") @PostMapping("/getOutTimeVisitRecord") public ApiResponse getOutTimeVisitRecord() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼getOutTimeVisitRecord-æ¥è¯¢è®¿å®¢é¢çº¦ç¶æ"); hkSyncVisitService.getOutTimeVisitRecordIccm(); return ApiResponse.success("å¼å¯å®æ¶æ¥è¯¢è®¿å®¢é¢çº¦ç¶ææå"); } @ApiOperation("å¼å¯å®æ¶ä»æ¥ç访客é¢çº¦æ°æ®") @PostMapping("/syncVistAppointData") public ApiResponse syncVistAppointData() { if(!Constants.DEALING_FROM_HK_VISIT){ log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncVistAppointData-仿¥è®¿å®¢é¢çº¦æ°æ®"); if(dealingFromHkVisit.compareAndSet(false, true)){ try { Constants.DEALING_FROM_HK_VISIT =true; hkSyncVisitFromHKService.syncVistAppointData(new Date()); Constants.DEALING_FROM_HK_VISIT =false; }catch (Exception e){ log.error("syncVistAppointDataå¼å¸¸", e); }finally { Constants.DEALING_FROM_HK_VISIT =false; dealingFromHkVisit.set(false); } } return ApiResponse.success("å¼å¯å®æ¶ä»æ¥ç访客é¢çº¦æ°æ®æå"); @@ -62,12 +67,14 @@ @ApiOperation("访客å³å°è¶ æ¶é¢è¦") @PostMapping("/visitTimeOut") public ApiResponse visitTimeOut() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼visitTimeOut-è®¿å®¢è¶ æ¶é¢è¦"); visitsService.syncTimeOutData(); return ApiResponse.success("访客å³å°è¶ æ¶é¢è¦"); } @ApiOperation("å¾ å®¡æ¹è®°å½è¶ æ¶èªå¨åæ¶é¢çº¦") @PostMapping("/visitNoCheckCancel") public ApiResponse visitNoCheckCancel() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼visitNoCheckCancel-è¶ æ¶èªå¨åæ¶é¢çº¦"); visitsService.visitNoCheckCancel(); return ApiResponse.success("å¾ å®¡æ¹è®°å½è¶ æ¶èªå¨åæ¶é¢çº¦"); } server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
@@ -7,6 +7,7 @@ import com.doumee.service.business.PlatformInterfaceLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,6 +18,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "æ¥å¿å®æ¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/log") public class InterfaceLogTimerController extends BaseController { @@ -30,6 +32,7 @@ @ApiOperation("å¼å¯å®æ¶æ¥å£æ¥å¿æ¸ ç") @PostMapping("/clearThreeMonthLog") public ApiResponse clearThreeMonthLog() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼clearThreeMonthLog-æ¸ çä¸ä¸ªææ¥å¿"); interfaceLogService.clearThreeMonthLog(); wmsInterfaceLogService.clearThreeMonthLog(); platformInterfaceLogService.clearThreeMonthLog(); server/visits/admin_timer/src/main/java/com/doumee/api/JkCabinetTimerController.java
@@ -6,6 +6,7 @@ import com.doumee.service.business.third.model.ApiResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.mgt.DefaultSecurityManager; import org.springframework.beans.factory.annotation.Autowired; @@ -18,6 +19,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "é¥åæå®æ¶å¨") @Slf4j @RestController @RequestMapping("/timer/jkCabinet") public class JkCabinetTimerController extends BaseController { @@ -31,6 +33,7 @@ @ApiOperation("宿¶åéé¥åæªåæ¶å½è¿éç¥") @PostMapping("/timeOutUnBackAlarm") public ApiResponse timeOutUnBackAlarm() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼timeOutUnBackAlarm-é¥åæªå½è¿éç¥"); jkCabinetLogService.timeOutUnBackAlarm(impl); return ApiResponse.success("宿¶åéé¥åæªåæ¶å½è¿éç¥"); } server/visits/admin_timer/src/main/java/com/doumee/api/JkCustomerTimerController.java
@@ -11,6 +11,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.mgt.DefaultSecurityManager; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +28,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "交æ§ä¸å¿å®¢æ·å®æ¶å¨") @Slf4j @RestController @RequestMapping("/timer/jkCustomer") public class JkCustomerTimerController extends BaseController { @@ -36,6 +38,7 @@ @ApiOperation("æ´æ°äº¤æ§ä¸å¿å®¢æ·ç»çº¬åº¦ä¿¡æ¯") @PostMapping("/getCustomerLocationInfo") public ApiResponse getCustomerLocationInfo() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼getCustomerLocationInfo-æ´æ°å®¢æ·ç»çº¬åº¦"); DefaultSecurityManager securityManager = new DefaultSecurityManager(); SecurityUtils.setSecurityManager(securityManager); jkCustomerService.checkNullLocation(); server/visits/admin_timer/src/main/java/com/doumee/api/PlatformJobController.java
@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.concurrent.atomic.AtomicBoolean; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 @@ -24,16 +26,20 @@ @Autowired private PlatformJobService platformJobService; private final AtomicBoolean dealingSendNotice = new AtomicBoolean(false); @ApiOperation("æå°åé è¶ æ¶æ¥è¦ä¸å¡") @PostMapping("/platformJobTimer") public ApiResponse platformJobTimer() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼platformJobTimer-æå°åé è¶ æ¶æ¥è¦"); platformJobService.timeOutReport(); return ApiResponse.success("æå°åé è¶ æ¶æ¥è¦ä¸å¡"); } @ApiOperation("æå°ä½ä¸æ£æ¥çµåéä¸éç¶æ") @PostMapping("/platformCheckWmsLockStatus") public ApiResponse checkWmsLockStatus() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼checkWmsLockStatus-æ£æ¥çµåéä¸éç¶æ"); platformJobService.checkWmsLockStatus(); return ApiResponse.success("æå°åé è¶ æ¶æ¥è¦ä¸å¡"); } @@ -42,6 +48,7 @@ @ApiOperation("æå°ä½ä¸è¶ æ¶æ¥è¦ä¸å¡") @PostMapping("/platformJobWorkTimeOut") public ApiResponse platformJobWorkTimeOut() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼platformJobWorkTimeOut-æå°ä½ä¸è¶ æ¶æ¥è¦"); platformJobService.timeOutWork(); return ApiResponse.success("æå°ä½ä¸è¶ æ¶æ¥è¦ä¸å¡"); } @@ -50,6 +57,7 @@ @ApiOperation("æå°çå¾ ä½ä¸è¶ æ¶ä¸å¡") @PostMapping("/platformJobWaitTimeOut") public ApiResponse platformJobWaitTimeOut() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼platformJobWaitTimeOut-æå°çå¾ ä½ä¸è¶ æ¶"); platformJobService.timeOutCallIn(); return ApiResponse.success("æå°çå¾ ä½ä¸è¶ æ¶ä¸å¡"); } @@ -59,10 +67,18 @@ @PreventRepeat(interval = 2000) @ApiOperation("æå°ä»æ¥ä½ä¸æªå®æéç¥å®æ¶") @PostMapping("/sendUnFinishNotice") public synchronized ApiResponse sendUnFinishNotice() { log.error("========æå°ä»æ¥ä½ä¸æªå®æéç¥å®æ¶============å¼å§"+System.currentTimeMillis()+""); platformJobService.sendUnFinishNotice(); log.error("========æå°ä»æ¥ä½ä¸æªå®æéç¥å®æ¶============ç»æ"+System.currentTimeMillis()+""); public ApiResponse sendUnFinishNotice() { if(!dealingSendNotice.compareAndSet(false, true)){ return ApiResponse.success("sendUnFinishNoticeæ£å¨æ§è¡ï¼è·³è¿"); } try { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼sendUnFinishNotice-æå°ä½ä¸æªå®æéç¥"); platformJobService.sendUnFinishNotice(); } catch (Exception e){ log.error("sendUnFinishNoticeå¼å¸¸", e); } finally { dealingSendNotice.set(false); } return ApiResponse.success("æå°ä»æ¥ä½ä¸å¤å®æéç¥å®æ¶"); } server/visits/admin_timer/src/main/java/com/doumee/api/WeatherTimerController.java
@@ -7,6 +7,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; @@ -18,6 +19,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "天æ°é¢è¦åæ¥") @Slf4j @RestController @RequestMapping("/timer/weather") public class WeatherTimerController extends BaseController { @@ -33,6 +35,7 @@ @ApiOperation("宿¶åæ¥å¤©æ°é¢è¦ä¿¡æ¯") @PostMapping("/syncWeatherInfo") public ApiResponse syncWeatherInfo(){ log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼syncWeatherInfo-忥天æ°é¢è¦"); warningService.getWeatherInfo(); return ApiResponse.success("宿¶åæ¥å¤©æ°é¢è¦ä¿¡æ¯"); } server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
@@ -13,6 +13,7 @@ import com.doumee.service.system.SystemDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.mgt.DefaultSecurityManager; @@ -30,6 +31,7 @@ * @date 2023/11/30 15:33 */ @Api(tags = "微信token宿¶å¨æ¥å£") @Slf4j @RestController @RequestMapping("/timer/wxtoken") public class WxTokenTimerController extends BaseController { @@ -66,6 +68,7 @@ @ApiOperation("å¼å¯å®æ¶æ´æ°å¾®ä¿¡å ¬ä¼å·accesstoken") @PostMapping("/updateWxAccessTokenOrigin") public ApiResponse updateWxAccessTokenOrigin() { log.info("宿¶ä»»å¡æ§è¡å¼å§ï¼updateWxAccessTokenOrigin-æ´æ°å¾®ä¿¡token"); DefaultSecurityManager securityManager = new DefaultSecurityManager(); SecurityUtils.setSecurityManager(securityManager); server/visits/admin_timer/src/main/java/com/doumee/config/AsyncPoolConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.doumee.config; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; @Slf4j @Configuration public class AsyncPoolConfig implements AsyncConfigurer { @Bean("asyncExecutor") @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(5); executor.setMaxPoolSize(20); executor.setQueueCapacity(100); executor.setKeepAliveSeconds(60); executor.setThreadNamePrefix("async-admin-timer-"); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; } } server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: pro application: name: visitsTimer # å®å ¨é ç½® server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: pro application: name: visitsAdmin # å®å ¨é ç½® server/visits/dmvisit_service/db/BUSINE~1.SQL
server/visits/dmvisit_service/src/main/java/com/doumee/config/AsyncPoolConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.doumee.config; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; @Slf4j @Configuration public class AsyncPoolConfig implements AsyncConfigurer { @Bean("asyncExecutor") @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(5); executor.setMaxPoolSize(20); executor.setQueueCapacity(100); executor.setKeepAliveSeconds(60); executor.setThreadNamePrefix("async-visit-"); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java
@@ -54,7 +54,7 @@ private Integer gridId; @ApiModelProperty(value = "éªè¯æ¹å¼ 0å·è¸ 1å·å¡", example = "1") @ExcelColumn(name="æ ¡éªæ¹å¼",index = 2,width = 10,valueMapping = "0=人è¸;1=å·å¡;2=ç®¡çææ;") @ExcelColumn(name="æ ¡éªæ¹å¼",index = 2,width = 10,valueMapping = "0=人è¸;1=å·å¡;2=ç®¡çææ;3=èªå¨;") private Integer authType; @ApiModelProperty(value = "车è¾ç¼ç ï¼å ³ècars)", example = "1") server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -29,12 +29,14 @@ import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.concurrent.Executor; /** * é¨ç¦è§è²ä¿¡æ¯è¡¨Serviceå®ç° @@ -55,6 +57,10 @@ private DeviceMapper deviceMapper; @Autowired private MemberRoleJoinMapper memberRoleMapper; @Autowired @Qualifier("asyncExecutor") private Executor asyncExecutor; @Autowired private MemberMapper memberMapper; @@ -152,17 +158,13 @@ } int t = deviceRoleMapper.updateById(deviceRole); if(t>0){ Thread tt = new Thread(new Runnable() { @Override public void run() { try { startUpdateMemberEmpower(model,deviceRole); }catch (Exception e){ log.error("======é¨ç¦åç»ä¿®æ¹ï¼æ´æ°äººåæé失败==="+e.getMessage()); } asyncExecutor.execute(() -> { try { startUpdateMemberEmpower(model,deviceRole); }catch (Exception e){ log.error("======é¨ç¦åç»ä¿®æ¹ï¼æ´æ°äººåæé失败===", e); } }); tt.start(); } } @Override server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -57,6 +57,9 @@ private JkKeysMapper jkKeysMapper; @Autowired private CarsMapper carsMapper; @Autowired private SystemUserMapper systemUserMapper; @Autowired @@ -1220,11 +1223,19 @@ ); log.error("é¥åæä¿¡æ¯æ¨éå®é é¥åååï¼"+jkCabinetGrid.getKeyCode()); JkCabinetLog cabinetLog = new JkCabinetLog(); cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode()); JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkKeys.getCode()); Cars cars = carsMapper.selectById(jkCabinetGrid.getCarId()); if(Objects.nonNull(cars)){ cabinetLog.setMemberId(cars.getMemberId()); } } cabinetLog.setCabinetId(jkCabinetGrid.getCabinetId()); cabinetLog.setGridId(jkCabinetGrid.getId()); cabinetLog.setKeyId(jkCabinetGrid.getKeyId()); cabinetLog.setCarId(jkCabinetGrid.getCarId()); cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode()); cabinetLog.setType(Constants.ONE); cabinetLog.setStatus(Constants.ZERO); cabinetLog.setAuthType(3); @@ -1243,11 +1254,19 @@ ); log.error("é¥åæä¿¡æ¯æ¨éå®é é¥åååï¼"+jkCabinetGrid.getKeyCode()); JkCabinetLog cabinetLog = new JkCabinetLog(); cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode()); JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkKeys.getCode()); Cars cars = carsMapper.selectById(jkCabinetGrid.getCarId()); if(Objects.nonNull(cars)){ cabinetLog.setMemberId(cars.getMemberId()); } } cabinetLog.setCabinetId(jkCabinetGrid.getCabinetId()); cabinetLog.setGridId(jkCabinetGrid.getId()); cabinetLog.setKeyId(jkCabinetGrid.getKeyId()); cabinetLog.setCarId(jkCabinetGrid.getCarId()); cabinetLog.setKeyInfo(jkCabinetGrid.getCarCode() + " " + jkCabinetGrid.getKeyCode()); cabinetLog.setType(Constants.ONE); cabinetLog.setStatus(Constants.ZERO); cabinetLog.setAuthType(3); @@ -1257,6 +1276,14 @@ cabinetLog.setIsdeleted(Constants.ZERO); cabinetLog.setCreateDate(new Date()); jkCabinetLogMapper.insert(cabinetLog); jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() .set(JkCabinetLog::getCloseLogId,cabinetLog.getId()) .eq(JkCabinetLog::getKeyId,cabinetLog.getKeyId()) .eq(JkCabinetLog::getType,Constants.ONE) .eq(JkCabinetLog::getKeyStatus,Constants.TWO) .isNull(JkCabinetLog::getCloseLogId)); } } // if(StringUtils.isBlank(jkCabinetGrid.getKeyCode()) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -33,6 +33,7 @@ import netscape.javascript.JSObject; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -44,6 +45,7 @@ import java.math.BigDecimal; import java.util.*; import java.util.Date; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -56,6 +58,9 @@ @Slf4j public class JkSketchServiceImpl implements JkSketchService { @Autowired @Qualifier("asyncExecutor") private Executor asyncExecutor; @Autowired private JkSketchMapper jkSketchMapper; @Autowired @@ -286,7 +291,7 @@ BigDecimal finalCLongitude = cLongitude; log.error("交éè§å====线ç¨circleï¼"+i+"====start:"+start+"===========end:"+end); int finalI = i; Thread t1=new Thread(() -> { asyncExecutor.execute(() -> { try { int index =0; for (int j = start; j < end; j++) { @@ -311,10 +316,9 @@ } }); t1.start(); } }catch (Exception e){ e.printStackTrace(); log.error("distanceCustomerå¼å¸¸", e); }finally { } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -24,12 +24,14 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.Executor; /** * 海康é¨ç¦ææä¸å¡Serviceå®ç° @@ -50,12 +52,17 @@ @Autowired private MemberCardMapper memberCardMapper; @Autowired @Qualifier("asyncExecutor") private Executor asyncExecutor; /** * 宿¶æ¥è¯¢æéä¸åä»»å¡è¿åº¦æ§è¡ç»æ */ @Override public Integer syncEmpowerDetailData(Integer endId){ log.error(""); long startTime = System.currentTimeMillis(); log.info("syncEmpowerDetailDataæ§è¡å¼å§, endId={}", endId); // if(Constants.DEALING_HK_EMPOWER_DETAIL){ // return ; // } @@ -63,13 +70,12 @@ //æ¥è¯¢ææå®æä¸è½½ï¼å¾ æ¥è¯¢ç»æçæ°æ®è®°å½ List<Empower> list = getDealListDetail(endId); if(list == null || list.size() ==0){ log.info("syncEmpowerDetailDataæ å¾ å¤çæ°æ®, èæ¶{}ms", System.currentTimeMillis() - startTime); return null; } Thread t1=new Thread(new Runnable() { @Override public void run() { try { for(Empower c : list){ asyncExecutor.execute(() -> { try { for(Empower c : list){ AuthResultPageRequest param = new AuthResultPageRequest(); param.setPageNo(1); param.setPageSize(999); @@ -201,11 +207,10 @@ } } }catch (Exception e){ e.printStackTrace(); log.error("syncEmpowerDetailDataæ§è¡å¼å¸¸", e); } } }); t1.start(); log.info("syncEmpowerDetailDataæ§è¡ç»æ, èæ¶{}ms", System.currentTimeMillis() - startTime); return list.get(list.size()-1).getId(); } @@ -345,18 +350,15 @@ */ @Override public Integer syncEmpowerResultData(Integer endId){ // if(Constants.DEALING_HK_EMPOWER_RESULT){ // return null ; // } // Constants.DEALING_HK_EMPOWER_RESULT=true; long startTime = System.currentTimeMillis(); log.info("syncEmpowerResultDataæ§è¡å¼å§, endId={}", endId); //æ¥è¯¢æææ§è¡ä¸å¾æ°æ® List<Empower> list = getIngTaskListResult(Constants.formatIntegerNum(endId)); if(list == null || list.size() ==0){ log.info("syncEmpowerResultDataæ å¾ å¤çæ°æ®, èæ¶{}ms", System.currentTimeMillis() - startTime); return null; } Thread t1=new Thread(new Runnable() { @Override public void run() { asyncExecutor.execute(() -> { try { for(Empower c : list){ TaskProgressRequest param = new TaskProgressRequest(); @@ -389,13 +391,10 @@ } } }catch (Exception e1){ e1.printStackTrace(); }finally { Constants.DEALING_HK_EMPOWER_RESULT =false; log.error("syncEmpowerResultDataæ§è¡å¼å¸¸", e1); } } }); t1.start(); }); log.info("syncEmpowerResultDataæ§è¡ç»æ, èæ¶{}ms", System.currentTimeMillis() - startTime); return list.get(list.size()-1).getId(); } @@ -407,6 +406,8 @@ */ @Override public Integer syncEmpowerFailData(Integer endId) { long startTime = System.currentTimeMillis(); log.info("syncEmpowerFailDataæ§è¡å¼å§, endId={}", endId); List<Empower> allList =getAllFailDealList( endId); if(allList!=null && allList.size()>0){ Date date = new Date(); @@ -446,6 +447,7 @@ } return allList.get(allList.size()-1).getId(); } log.info("syncEmpowerFailDataæ§è¡ç»æ, èæ¶{}ms", System.currentTimeMillis() - startTime); return null; } /** @@ -453,33 +455,28 @@ */ @Override public Integer syncEmpowerData(Integer endId) { // if(Constants.DEALING_HK_EMPOWER){ // return null ; // } // Constants.DEALING_HK_EMPOWER =true; long startTime = System.currentTimeMillis(); log.info("syncEmpowerDataæ§è¡å¼å§, endId={}", endId); //å å 餿æéè¦åæ¶ææçæ°æ® if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda() .eq(Empower::getSendStatus,Constants.EmpowerStatus.ing)) > 1000){ //妿å½åä»»å¡å¤§äº1000个ï¼å¤§æ¦10个任å¡ï¼ log.info("syncEmpowerDataä»»å¡éå已满(>1000), è·³è¿, èæ¶{}ms", System.currentTimeMillis() - startTime); return endId; } List<Empower> allList =getAllWaitDealList( endId); if(allList !=null && allList.size()>0){ //æ¥è¯¢ææéè¦åæ¥çæ°æ®,éæ°ä¸åææ°äººåæéå³å¯ Thread t1=new Thread(new Runnable() { @Override public void run() { try { dealAllListTask(allList); }catch (Exception e){ log.info("======================ä¸åææå¼å¸¸ï¼"+e.getMessage()); e.printStackTrace(); } asyncExecutor.execute(() -> { try { dealAllListTask(allList); }catch (Exception e){ log.error("======================ä¸åææå¼å¸¸", e); } }); t1.start(); log.info("syncEmpowerDataæäº¤{}æ¡æ°æ®, èæ¶{}ms", allList.size(), System.currentTimeMillis() - startTime); return allList.get(allList.size()-1).getId(); } log.info("syncEmpowerDataæ å¾ å¤çæ°æ®, èæ¶{}ms", System.currentTimeMillis() - startTime); return null; } @Override server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -39,6 +39,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -47,6 +48,7 @@ import java.io.IOException; import java.util.*; import java.util.Date; import java.util.concurrent.Executor; import java.util.stream.Collectors; /** @@ -58,6 +60,9 @@ @Slf4j public class HkSyncPushServiceImpl extends HkSyncBaseServiceImpl { @Autowired @Qualifier("asyncExecutor") private Executor asyncExecutor; @Autowired private InoutDayCountMapper inoutDayCountMapper; @Autowired @@ -598,9 +603,7 @@ private void dealNoticeTelecomEvent(EventBaseRequest param,EventBaseInfoRequest request ,List<WarningEvent> list) { try { log.error("========éç¥å ¶ä»ä¸æ¹å°å离å²äºä»¶å¼å§:"+list.size()); Thread t1=new Thread(new Runnable() { @Override public void run() { asyncExecutor.execute(() -> { // EventBaseRequest submitParam = new EventBaseRequest(); // submitParam.setMethod(param.getMethod()); // submitParam.setParams(new EventBaseParamRequest()); @@ -664,11 +667,9 @@ log.error("========éç¥å ¶ä»ä¸æ¹å°å离å²äºä»¶å·²æ¨éï¼ç»æ:"+s+"\n"+response); } } } }); t1.start(); }); }catch (Exception e){ e.printStackTrace(); log.error("dealNoticeTelecomEventå¼å¸¸", e); } }