src/main/java/com/whyc/controller/ProcessSurveyController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/ProcessServerDao.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/ProcessSurveyMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/db_area/LockInf.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/db_user/ProcessSurvey.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/LockInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/ProcessSurveyService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/ProcessSurveyController.java
New file @@ -0,0 +1,48 @@ package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.pojo.db_user.ProcessSurvey; import com.whyc.service.ProcessSurveyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController @RequestMapping("processSurvey") @Api(tags = "数据管理-后台线程管理") public class ProcessSurveyController{ @Resource private ProcessSurveyService service; @GetMapping("/getAll") @ApiOperation(value = "获取所有线程") public Response getAll(){ return service.getAll(); } @PostMapping("update") @ApiOperation(value = "通过id更新") public Response update(@RequestBody ProcessSurvey survey){ return service.updateById(survey); } @PostMapping("/updateFlag") @ApiOperation(value = "通过服务名修改标识") public Response updateFlagByName(@RequestBody ProcessSurvey survey){ return service.updateServerFlagByName(survey); } @PostMapping("/judgeRestart") @ApiOperation(value = "验证重启密码") public Response judgeRestart(@RequestParam String password){ if(password.equals("123456")){ return new Response().set(1,true,"验证通过"); }else{ return new Response().set(1,false,"验证失败"); } } } src/main/java/com/whyc/dto/ProcessServerDao.java
New file @@ -0,0 +1,21 @@ package com.whyc.dto; public class ProcessServerDao { //所有进程名字 public static String BMS_FBSDEV="BMS_FBSDEV";//主程序线程 public static String BMS_FBSDEV_ALARM_BATT="BMS_FBSDEV_ALARM_BATT";//电池告警线程 public static String BMS_FBSDEV_ALARM_DEV="BMS_FBSDEV_ALARM_DEV";//设备告警线程 public static String BMS_FBSDEV_BADBATT_MON="BMS_FBSDEV_BADBATT_MON";//落后单体线程 public static String BMS_FBSDEV_BADBATT_CAP="BMS_FBSDEV_BADBATT_CAP";//容量告警线程 public static String BMS_FBSDEV_PLAN="BMS_FBSDEV_PLAN";//放电计划线程 public static String BMS_FBSDEV_POWER_FAIL="BMS_FBSDEV_POWER_FAIL";//机房停电线程 public static String BMS_FBS61850_BATT="BMS_FBS61850_BATT";//机房停电线程 //进程开关 public static Integer PROCESS_ON=1;//进行中 public static Integer PROCESS_OFF=0;//关闭 public static Integer PROCESS_TEMP=2;//暂未开启 //默认重启密码加密 //public static String RESTART_PWD_ENCRYPT="AKxTGQo6bAABeC62B8Dtxw=="; } src/main/java/com/whyc/mapper/ProcessSurveyMapper.java
New file @@ -0,0 +1,7 @@ package com.whyc.mapper; import com.whyc.pojo.db_user.ProcessSurvey; public interface ProcessSurveyMapper extends CustomMapper<ProcessSurvey> { } src/main/java/com/whyc/pojo/db_area/LockInf.java
@@ -85,6 +85,8 @@ @ApiModelProperty(value = "纬度") private Integer latitude; @ApiModelProperty(value = "锁具开启次数") private Integer lockOpenCount; @TableField(exist = false) private List<AuthiruzeInf> authList; src/main/java/com/whyc/pojo/db_user/ProcessSurvey.java
New file @@ -0,0 +1,41 @@ package com.whyc.pojo.db_user; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.ToString; import java.util.Date; @Data @ApiModel(value = "processSurvey",description = "进程管理对象") @TableName(schema = "",value = "tb_process_survey") @ToString @JsonIgnoreProperties(ignoreUnknown = true) public class ProcessSurvey { @TableId(type = IdType.AUTO) private Integer num;//进程编号 @TableField("processid") private Integer processId;//进程id @TableField("processName") private String processName;//进程名 @TableField("ProcessVersion") private String processVersion;//进程版本 @TableField("ProcessTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8") private Date processTime;//进程执行的时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8") private Date processStarttime;//进程的初始时间 @TableField("ServerName") private String serverName;//服务名 @TableField("ServerFlag") private Integer serverFlag;//服务名 0:停止 1:进行中 2:暂不开启 @TableField("OutTime") private Integer outTime;//进程超时时间(秒) private String note; } src/main/java/com/whyc/service/LockInfService.java
@@ -30,6 +30,9 @@ @Autowired(required = false) private AuthiruzeInfMapper authMapper; @Autowired private ProcessSurveyService processSurveyService; //添加锁 public Response addLock(Integer num, LockInf lockInf) { if(num==null){ @@ -66,6 +69,7 @@ list.add(linf); } mapper.insertBatchSomeColumn(list); processSurveyService.setUpThreadRestart(); return new Response().set(1,true); } //获取当前最大的锁 src/main/java/com/whyc/service/ProcessSurveyService.java
New file @@ -0,0 +1,68 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.dto.ProcessServerDao; import com.whyc.dto.Response; import com.whyc.mapper.ProcessSurveyMapper; import com.whyc.pojo.db_user.ProcessSurvey; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @Service public class ProcessSurveyService { @Resource private ProcessSurveyMapper mapper; public Response getAll(){ QueryWrapper<ProcessSurvey> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("num"); List<ProcessSurvey> list = mapper.selectList(queryWrapper); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (ProcessSurvey survey:list) { survey.setNote(sdf.format(new Date())); } return new Response().set(1,list,"查询成功"); } public Response updateById(ProcessSurvey survey){ mapper.updateById(survey); return new Response().set(1,true,"更新成功"); } public Response updateServerFlagOff(ProcessSurvey survey){ UpdateWrapper<ProcessSurvey> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("serverflag", ProcessServerDao.PROCESS_OFF); updateWrapper.eq("processName",survey.getProcessName()); updateWrapper.eq("serverflag",ProcessServerDao.PROCESS_TEMP); mapper.update(survey,updateWrapper); return new Response().set(1,true,"更新成功"); } public Response updateServerFlagByName(ProcessSurvey survey){ UpdateWrapper<ProcessSurvey> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("serverName",survey.getServerName()); mapper.update(survey,updateWrapper); return new Response().set(1,true,"更新成功"); } public void setUpThreadRestart() { //主线 --->11001 threadRestart(11001); } private void threadRestart(int processId) { UpdateWrapper<ProcessSurvey> update = Wrappers.update(); update.set("ServerFlag",0).eq("ProcessId",processId).ne("ServerFlag",2); mapper.update((ProcessSurvey) ActionUtil.objeNull,update); } }