#20230510 欣影管理平台装置信息查询代码

jni
18616268358 2 years ago
parent 630645ad01
commit 3fd7702efa

@ -83,8 +83,8 @@ public class TerminalController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/resetTerminal")
@Log(title = "装置复位", type = "修改")
public ResponseReult<String> resetTerminal(@RequestBody @Validated TerminalIdVo vo) {
ServiceBody<String> serviceBody = terminalService.resetTerminal(vo);
public ResponseReult<String> resetTerminal(@RequestParam("cmId") String cmId) {
ServiceBody<String> serviceBody = terminalService.resetTerminal(cmId);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
@ -92,12 +92,25 @@ public class TerminalController extends BaseController {
}
}
@ApiOperation(value = "获取装置信息", notes = "获取装置信息接口", httpMethod = "POST")
@ApiOperation(value = "获取装置运行状态", notes = "获取装置信息接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getTerminalInfo")
@Log(title = "获取装置信息", type = "修改")
public ResponseReult<TerminalModel> getTerminalInfo(@RequestParam("termId") Integer termId) {
ServiceBody<TerminalModel> serviceBody = terminalService.getTerminalInfo(termId);
@RequestMapping("/getTerminalStatus")
@Log(title = "获取装置运行状态", type = "修改")
public ResponseReult<TerminalModel> getTerminalStatus(@RequestParam("termId")Integer termId) {
ServiceBody<TerminalModel> serviceBody = terminalService.getTerminalStatus(termId);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {
return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg());
}
}
@ApiOperation(value = "获取最新装置运行状态", notes = "获取装置信息接口", httpMethod = "POST")
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/getLastedTerminalStatus")
@Log(title = "获取最新装置运行状态", type = "修改")
public ResponseReult<TerminalModel> getLastedTerminalStatus(@RequestBody @Validated TerminalStatusVo vo) {
ServiceBody<TerminalModel> serviceBody = terminalService.getLastedTerminalStatus(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());
} else {

@ -3,6 +3,7 @@ package com.shxy.xymanager_common.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigInteger;
@Data
public class TerminalInfoDto implements Serializable {
@ -20,7 +21,7 @@ public class TerminalInfoDto implements Serializable {
private Integer connectionState;
private Integer wsUpdateTime;
private BigInteger wsUpdateTime;
private String cmId;

@ -1,5 +1,6 @@
package com.shxy.xymanager_common.model;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -39,4 +40,10 @@ public class TerminalModel implements Serializable {
@ApiModelProperty(value = "cmId", example = "123456")
private String cmId;
@ApiModelProperty(value = "工作状态更新时间", example = "123456")
private Date wsUpdateTime;
@ApiModelProperty(value = "请求时间", example = "123456")
private DateTime queryTime;
}

@ -0,0 +1,24 @@
package com.shxy.xymanager_common.vo;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "最新装置状态", description = "最新装置状态")
public class TerminalStatusVo {
@NotNull(message = "不能传入空值")
@ApiModelProperty(value = "装置ID", required = true, example = "A0001")
private Integer termId;
@ApiModelProperty(value = "手动拍照时间", required = true, example = "A0001")
private DateTime queryTime;
}

@ -4,6 +4,7 @@ import com.shxy.xymanager_common.dto.TerminalInfoDto;
import com.shxy.xymanager_common.entity.Terminals;
import org.apache.ibatis.annotations.Param;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
@ -25,6 +26,10 @@ public interface TerminalsDao {
int updateByPrimaryKey(Terminals record);
String getCmdIdByTermId(Integer termId);
TerminalInfoDto getTerminalInfo(@Param("termId")Integer termId);
BigInteger getUpdateTime(@Param("termId")Integer termId);
}

@ -339,6 +339,21 @@
ts.term_id termId, ts.battery_voltage batteryVoltage, ts.battery_capacity batteryCapacity, ts.floating_charge floatingCharge, ts.total_working_time totalWorkingTime,
ts.working_time workingTime, ts.connection_state connectionState, ts.ws_update_time wsUpdateTime,t.cmdid cmId
from terminal_status ts left join terminals t on ts.term_id = t.id
where ts.termId = #{termId,jdbcType=INTEGER}
where ts.term_id = #{termId,jdbcType=INTEGER}
</select>
<select id="getCmdIdByTermId" resultType="java.lang.String">
select
cmdid
from terminals
where id = #{termId,jdbcType=INTEGER}
</select>
<select id="getUpdateTime" resultType="java.math.BigInteger">
select
ws_update_time wsUpdateTime
from terminal_status
where term_id = #{termId,jdbcType=INTEGER}
</select>
</mapper>

@ -30,6 +30,7 @@ public class SystemConfigServiceImpl implements SystemConfigService {
model.setHeartBeatTime(beatHeartTime);
String globalTime = systemConfigDao.getGlobalTime(Constants.GLOBAL_TIME);
model.setGlobalTime(Integer.parseInt(globalTime));
String cmd = "/usr/local/bin/xympadmn --server=127.0.0.1 --port=6891 --act=termid --cmdid=DSH10H00000000001 --flag=0";
return Asserts.success(model);
}
@ -39,6 +40,7 @@ public class SystemConfigServiceImpl implements SystemConfigService {
param.setTermId(vo.getTermId());
param.setHeartbeatTime(vo.getHeartBeatTime());
systemConfigDao.updateSystemConfig(param);
String cmd = "/usr/local/bin/xympadmn --server=127.0.0.1 --port=6891 --act=termid --cmdid=DSH10H00000000001 --newcmdid=DSH10H00000000002";
return null;
}
}

@ -3,6 +3,7 @@ package com.shxy.xymanager_service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import com.github.pagehelper.PageInfo;
import com.shxy.xymanager_common.bean.ServiceBody;
import com.shxy.xymanager_common.dto.TerminalInfoDto;
@ -14,6 +15,8 @@ import com.shxy.xymanager_common.exception.Asserts;
import com.shxy.xymanager_common.model.TerminalListModel;
import com.shxy.xymanager_common.model.TerminalModel;
import com.shxy.xymanager_common.page.PageUtils;
import com.shxy.xymanager_common.util.MyDateUtils;
import com.shxy.xymanager_common.util.ProcessExecUtils;
import com.shxy.xymanager_common.vo.*;
import com.shxy.xymanager_dao.dao.TerminalChannelMapperDao;
import com.shxy.xymanager_dao.dao.TerminalChannelsDao;
@ -27,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.validation.constraints.NotEmpty;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -166,31 +170,53 @@ public class TerminalServiceImpl implements TerminalService {
/**
*
*
* @param vo
* @param cmId
* @return
*/
@Override
public ServiceBody<String> resetTerminal(TerminalIdVo vo) {
public ServiceBody<String> resetTerminal(String cmId) {
// Cma cma = new Cma("47.96.238.157", 6891);
String cmd = "/usr/local/bin/xympadmn --server=47.96.238.157 --port=6891 --act=reset --cmdid=" +cmId +"\t"+"--mode=0";
Integer retCode = ProcessExecUtils.exec(cmd);
// boolean reset = cma.reset(vo.getTermid().toString(), (short) 0x01);
// if (reset) {
return Asserts.success("删除成功");
// } else {
// return Asserts.error("装置复位成功");
// }
if (retCode ==0) {
return Asserts.success("装置复位成功");
} else {
return Asserts.error("装置复位失败");
}
}
@Override
public ServiceBody<TerminalModel> getTerminalInfo(Integer termId) {
public ServiceBody<TerminalModel> getTerminalStatus(Integer termId) {
String cmdId = terminalsDao.getCmdIdByTermId(termId);
String cmd = "/usr/local/bin/xympadmn --server=127.0.0.1 --act=runningstatus --cmdid="+cmdId;
ProcessExecUtils.exec(cmd);
TerminalModel model = new TerminalModel();
TerminalInfoDto dto = terminalsDao.getTerminalInfo(termId);
if(null!=dto) {
BeanUtils.copyProperties(dto, model);
DateTime now = DateTime.now();
model.setQueryTime(now);
}
return Asserts.success(model);
}
@Override
public ServiceBody<TerminalModel> getLastedTerminalStatus(TerminalStatusVo vo) {
BigInteger wsUpdateTime = terminalsDao.getUpdateTime(vo.getTermId());
BigInteger queryTime = MyDateUtils.TimeMillSecond2Second(vo.getQueryTime());
Boolean hasNew =wsUpdateTime.compareTo(queryTime)<0?false:true;
TerminalModel model = new TerminalModel();
if(hasNew) {
TerminalInfoDto dto = terminalsDao.getTerminalInfo(vo.getTermId());
BeanUtils.copyProperties(dto,model);
return Asserts.success(model);
}
return Asserts.success(null);
}
}

@ -44,12 +44,14 @@ public interface TerminalService {
/**
*
*
* @param vo
* @param cmId
* @return
*/
ServiceBody<String> resetTerminal(TerminalIdVo vo);
ServiceBody<String> resetTerminal(String cmId);
ServiceBody<TerminalModel> getTerminalStatus(Integer termId);
ServiceBody<TerminalModel> getTerminalInfo(Integer termId);
ServiceBody<TerminalModel> getLastedTerminalStatus(TerminalStatusVo vo);
}

Loading…
Cancel
Save