diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java index 1f34ca7..2b3d932 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TermSetController.java @@ -54,4 +54,18 @@ public class TermSetController extends BaseController { 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("/updateTermCamera") + @Log(title = "调整装置焦距", type = "查询") + public ResponseReult updateTermCamera(UpdateCameraVo vo) { + ServiceBody serviceBody = termSetService.updateTermCamera(vo); + if (serviceBody.getCode() == ServiceStatus.SUCCESS) { + return ResponseReult.success(serviceBody.getData()); + } else { + return ResponseReult.error(serviceBody.getCode(), serviceBody.getMsg()); + } + } + } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java index e2d4aab..fa42f97 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java @@ -10,7 +10,7 @@ import java.util.concurrent.atomic.AtomicInteger; /** * 通用常量信息 * - * @author xzg + * @author jingjing */ @Component public class Constants @@ -34,6 +34,8 @@ public class Constants server = cmServer; port = cmaPort; CMD = "/usr/local/bin/xympadmn --server="+server+" --port="+port+" --act="; + + } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalsAndStatusDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalsAndStatusDto.java index ce0a1a7..a3bf281 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalsAndStatusDto.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalsAndStatusDto.java @@ -41,6 +41,8 @@ public class TerminalsAndStatusDto implements Serializable { private Integer status; + private Integer protocol; + private Short signalStrength4g; private BigInteger bootTime; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Protocols.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Protocols.java new file mode 100644 index 0000000..6d2cc16 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Protocols.java @@ -0,0 +1,17 @@ +package com.shxy.xymanager_common.entity; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Protocols implements Serializable { + private Integer id; + + private String name; + + private String version; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalScheduleDetails.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalScheduleDetails.java index 29de08b..b60a21f 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalScheduleDetails.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalScheduleDetails.java @@ -17,7 +17,7 @@ public class TerminalScheduleDetails implements Serializable { private Integer minute; - private Integer span; + private Integer preset; private Date createTime; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalSchedulesTemp.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalSchedulesTemp.java index 9fc2c63..8e2c42e 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalSchedulesTemp.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalSchedulesTemp.java @@ -21,6 +21,12 @@ public class TerminalSchedulesTemp implements Serializable { private Integer offset; + private Integer hour; + + private Integer minute; + + private Integer preset; + private Date createTime; private Date updateTime; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java index 5eb5610..560139f 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java @@ -46,6 +46,8 @@ public class Terminals implements Serializable { private Integer onlinestatus; + private Integer protocol; + /*展示名字 等价与displayname 用于方便*/ private String name; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/CmaRequestModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/CmaRequestModel.java new file mode 100644 index 0000000..2bae189 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/CmaRequestModel.java @@ -0,0 +1,21 @@ +package com.shxy.xymanager_common.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * cma请求返回对象 + */ +@Data +@ApiModel(value = "cma请求返回对象", description = "cma请求返回对象") +public class CmaRequestModel implements Serializable { + + @ApiModelProperty(value = "请求编号", example = "123456") + private Integer requestId; + + +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineAndTermModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineAndTermModel.java index ef102da..5a95cad 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineAndTermModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/DyLineAndTermModel.java @@ -64,6 +64,9 @@ public class DyLineAndTermModel implements Serializable { @ApiModelProperty(value = "显示名", example = "名称名称") private String name; + @ApiModelProperty(value = "规约编号", example = "65286") + private Integer protocol; + @ApiModelProperty(value = "在线状态", example = "0--掉线1--在线") private Integer onlinestatus; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalListModel.java index c812eff..0fdb36c 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalListModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalListModel.java @@ -101,6 +101,12 @@ public class TerminalListModel implements Serializable { @ApiModelProperty(value = "是否删除", example = "0--删除1--未删除") private Integer status; + @ApiModelProperty(value = "规约编号", example = "21223") + private Integer protocol; + + @ApiModelProperty(value = "规约名称", example = "21223") + private String protocolName; + @ApiModelProperty(value = "通道编号和名称", example = "213") private List list; diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/CmaUtil.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/CmaUtil.java index 904bc35..b3762fc 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/CmaUtil.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/CmaUtil.java @@ -2,6 +2,7 @@ package com.shxy.xymanager_common.util; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.dto.ScheduleDetailsDto; +import com.shxy.xymanager_common.vo.ScheduleRuleVo; import java.util.List; @@ -97,7 +98,7 @@ public class CmaUtil { * * @return */ - public static String relateSchelduleRule(List dtoList, String cmdid, Integer requestId, Integer channel, String timestr) { + public static String relateSchelduleRule(List dtoList, String cmdid, Integer requestId, Integer channel, String timestr) { String cmd = Constants.CMD + "schedule --group=" + dtoList.size() + " --flag=1 --clientid=10 --cmdid=" + cmdid + " --reqid=" + requestId + " --channel=" + channel + " " + timestr; @@ -212,5 +213,17 @@ public class CmaUtil { return cmd; } + /** + * 装置控制 + * + * @param cmdid + * @param requestId + * @return + */ + public static String cameractrl(String cmdid, Integer channel, Integer requestId, Integer ctrl) { + String cmd = Constants.CMD + "cameractrl --clientid=10 --preset=0 --cmdid=" + cmdid + " --channel=" + channel + " --ctrl=" + ctrl + " --reqid=" + requestId; + return cmd; + } + } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java index 96187b7..3fce731 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/ScheduleListUtils.java @@ -41,6 +41,7 @@ public class ScheduleListUtils { // spanrule.setPreset(255); // list.add(spanrule); // + // ScheduleDetails startrule = new ScheduleDetails(); // startrule.setScheduleId(scheduleid); // Time startTime = item.getStartTime(); @@ -52,6 +53,7 @@ public class ScheduleListUtils { // ScheduleDetails endrule = new ScheduleDetails(); // endrule.setScheduleId(scheduleid); // Time endTime = item.getEndTime(); + // endrule.setHour(MyDateUtils.hour(endTime, true)); // endrule.setMinute(MyDateUtils.minute(endTime)); // endrule.setPreset(255); @@ -75,70 +77,86 @@ public class ScheduleListUtils { * 将前端时间格式转换为CMA时间表下发标准的字符串 * * @param dtoList - * @param offset * @return */ - public static String relateTime(List dtoList, int offset) { + public static String relateTime(List dtoList) { StringBuffer timestr = new StringBuffer(); - short perset = dtoList.get(0).getPreset().shortValue(); - int index = 0; - String startstring = ""; - String endstring = ""; - String spanstring = ""; - for (int i = 0; i < dtoList.size(); i++) { - short startHour = 0; - short startMin = 0; - short endHour = 0; - short endMin = 0; - short spanHour = 0; - short spanMin = 0; - if (XyNumberUtils.remainder(i, 3) == 0) { + if (CollectionUtil.isNotEmpty(dtoList)) { + short perset = dtoList.get(0).getPreset().shortValue(); + int index = 0; + String spanstring = ""; + for (int i = 0; i < dtoList.size(); i++) { index = i + 1; - spanHour = dtoList.get(i).getHour().shortValue(); - spanMin = dtoList.get(i).getMinute().shortValue(); + short spanHour = dtoList.get(i).getHour().shortValue(); + short spanMin = dtoList.get(i).getMinute().shortValue(); spanstring = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset; - } else if (XyNumberUtils.remainder(i, 3) == 1) { - index = i + 1; - Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset); - if (add.intValue() >= 60) { - Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1); - if (add1.intValue() >= 24) { - startHour = Integer.valueOf(24).shortValue(); - startMin = Integer.valueOf(0).shortValue(); - } else { - startHour = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1).shortValue(); - startMin = XyNumberUtils.sub(add, 60).shortValue(); - } - } else { - startHour = dtoList.get(i).getHour().shortValue(); - startMin = add.shortValue(); - } - startstring = " --hour" + index + "=" + startHour + " --min" + index + "=" + startMin + " --preset" + index + "=" + perset; - } else if (XyNumberUtils.remainder(i, 3) == 2) { - index = i + 1; - Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset); - if (add.intValue() >= 60) { - Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1); - if (add1.intValue() >= 24) { - endHour = Integer.valueOf(24).shortValue(); - endMin = Integer.valueOf(0).shortValue(); - } else { - endHour = add1.shortValue(); - endMin = XyNumberUtils.sub(add, 60).shortValue(); - } - } else { - endHour = dtoList.get(i).getHour().shortValue(); - endMin = add.shortValue(); - } - endstring = " --hour" + index + "=" + endHour + " --min" + index + "=" + endMin + " --preset" + index + "=" + perset; - if (StrUtil.isNotEmpty(spanstring) && StrUtil.isNotEmpty(startstring) && StrUtil.isNotEmpty(endstring)) { - timestr.append(spanstring).append(startstring).append(endstring); - } + timestr.append(spanstring); } } return timestr.toString(); } +// public static String relateTime(List dtoList, int offset) { +// StringBuffer timestr = new StringBuffer(); +// short perset = dtoList.get(0).getPreset().shortValue(); +// int index = 0; +// String startstring = ""; +// String endstring = ""; +// String spanstring = ""; +// for (int i = 0; i < dtoList.size(); i++) { +// short startHour = 0; +// short startMin = 0; +// short endHour = 0; +// short endMin = 0; +// short spanHour = 0; +// short spanMin = 0; +// if (XyNumberUtils.remainder(i, 3) == 0) { +// index = i + 1; +// spanHour = dtoList.get(i).getHour().shortValue(); +// spanMin = dtoList.get(i).getMinute().shortValue(); +// spanstring = " --hour" + index + "=" + spanHour + " --min" + index + "=" + spanMin + " --preset" + index + "=" + perset; +// } else if (XyNumberUtils.remainder(i, 3) == 1) { +// index = i + 1; +// Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset); +// if (add.intValue() >= 60) { +// Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1); +// if (add1.intValue() >= 24) { +// startHour = Integer.valueOf(24).shortValue(); +// startMin = Integer.valueOf(0).shortValue(); +// } else { +// startHour = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1).shortValue(); +// startMin = XyNumberUtils.sub(add, 60).shortValue(); +// } +// } else { +// startHour = dtoList.get(i).getHour().shortValue(); +// startMin = add.shortValue(); +// } +// startstring = " --hour" + index + "=" + startHour + " --min" + index + "=" + startMin + " --preset" + index + "=" + perset; +// } else if (XyNumberUtils.remainder(i, 3) == 2) { +// index = i + 1; +// Number add = XyNumberUtils.add((Number) dtoList.get(i).getMinute(), offset); +// if (add.intValue() >= 60) { +// Number add1 = XyNumberUtils.add((Number) dtoList.get(i).getHour(), 1); +// if (add1.intValue() >= 24) { +// endHour = Integer.valueOf(24).shortValue(); +// endMin = Integer.valueOf(0).shortValue(); +// } else { +// endHour = add1.shortValue(); +// endMin = XyNumberUtils.sub(add, 60).shortValue(); +// } +// } else { +// endHour = dtoList.get(i).getHour().shortValue(); +// endMin = add.shortValue(); +// } +// endstring = " --hour" + index + "=" + endHour + " --min" + index + "=" + endMin + " --preset" + index + "=" + perset; +// if (StrUtil.isNotEmpty(spanstring) && StrUtil.isNotEmpty(startstring) && StrUtil.isNotEmpty(endstring)) { +// timestr.append(spanstring).append(startstring).append(endstring); +// } +// } +// } +// return timestr.toString(); +// } + // /** // * 将数据库标准转为前端的时间列表 @@ -193,7 +211,8 @@ public class ScheduleListUtils { // scheduleDetailsBean.setScheduleId(dto.getScheduleId()); // scheduleDetailsBean.setSpan(add.intValue()); // } else if (XyNumberUtils.remainder(i, 3) == 1) { -// Integer hour = dto.getHour(); +// Integer hour = dto +// .getHour(); // Integer minute = dto.getMinute(); // Time time = MyDateUtils.HHMMToTime(hour, minute); // scheduleDetailsBean.setStartTime(time); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java index e001e95..ea78efb 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java @@ -302,8 +302,14 @@ public class TerminalUtils { Integer mediaType = item.getMediaType(); if (mediaType != null && (mediaType.intValue() == 0 || mediaType.intValue() == 1)) { photoBean.setDisplayname(terminals.getDisplayName()); - photoBean.setLineid(terminals.getLineid()); - photoBean.setLinename(lineMap.get(terminals.getLineid()).getName()); + Integer lineid = terminals.getLineid(); + photoBean.setLineid(lineid); + if (lineMap != null) { + LineAndDyNameDto lineAndDyNameDto = lineMap.get(lineid); + if (lineAndDyNameDto != null) { + photoBean.setLinename(lineAndDyNameDto.getName()); + } + } Integer channelId = item.getChannelId(); photoBean.setChannelid(channelId); photoBean.setCmdid(terminals.getCmdid()); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/RelateTerminalListRuleIdVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/RelateTerminalListRuleIdVo.java index 38d4882..b309e6e 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/RelateTerminalListRuleIdVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/RelateTerminalListRuleIdVo.java @@ -31,10 +31,15 @@ public class RelateTerminalListRuleIdVo { @NotNull(message = "通道编号列表不能缺少") @ApiModelProperty(value = "通道编号列表", example = "123455") - private List channelidlist; + private Integer channelid; @ApiModelProperty(value = "偏移量", example = "123455") private Integer offset; + + @NotNull(message = "不能传入空值") + @ApiModelProperty(value = "任务规则对象数组", required = true, example = "A0001") + private List list; + } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/UpdateCameraVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/UpdateCameraVo.java new file mode 100644 index 0000000..5198466 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/UpdateCameraVo.java @@ -0,0 +1,21 @@ +package com.shxy.xymanager_common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; + +@Data +@ApiModel(value = "修改焦距对象", description = "修改焦距对象描述") +public class UpdateCameraVo { + + @ApiModelProperty(value = "装置编号", required = true, example = "1") + private Integer termId; + + @ApiModelProperty(value = "通道编号", required = true, example = "1") + private Integer channelId; + + @ApiModelProperty(value = "类型", required = true, example = "1") + private Integer type; +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/VoiceCtrlVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/VoiceCtrlVo.java index 8744f09..e3d8d63 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/VoiceCtrlVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/VoiceCtrlVo.java @@ -22,5 +22,4 @@ public class VoiceCtrlVo { @ApiModelProperty(value = "声光报警开关", example = "0:关闭 1:开启") private Integer ctrl; - } diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/ProtocolsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/ProtocolsDao.java new file mode 100644 index 0000000..554eb68 --- /dev/null +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/ProtocolsDao.java @@ -0,0 +1,9 @@ +package com.shxy.xymanager_dao.dao; + +import com.shxy.xymanager_common.entity.Protocols; + +import java.util.List; + +public interface ProtocolsDao { + List selectAll(); +} \ No newline at end of file diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalScheduleDetailsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalScheduleDetailsDao.java index 2e94a6d..d418248 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalScheduleDetailsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalScheduleDetailsDao.java @@ -9,10 +9,6 @@ import java.util.List; public interface TerminalScheduleDetailsDao { - int deleteByTermiAndChannel(Integer id); - - int deleteByTermidAndChannelIdList(@Param("list") List lsit); - int insert(TerminalScheduleDetails record); int insertList(@Param("list") List record, @Param("createat") Date createat, @Param("updateat") Date updateat); @@ -21,6 +17,8 @@ public interface TerminalScheduleDetailsDao { TerminalScheduleDetails selectByPrimaryKey(Integer id); + List selectByTermidAndChannelid(@Param("termid") Integer termid, @Param("channelid") Integer channelid); + int updateByPrimaryKeySelective(TerminalScheduleDetails record); int updateByPrimaryKey(TerminalScheduleDetails record); diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalSchedulesTempDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalSchedulesTempDao.java index 369ab17..143272b 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalSchedulesTempDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalSchedulesTempDao.java @@ -14,6 +14,7 @@ public interface TerminalSchedulesTempDao { List selectByRequestId(@Param("list") List id, @Param("status") Integer status); int deleteByPrimaryKey(Integer id); + int deleteByTermidAndChannelid(@Param("list") List record); int insert(TerminalSchedulesTemp record); diff --git a/xymanager_dao/src/main/resources/generatorConfig.xml b/xymanager_dao/src/main/resources/generatorConfig.xml index b08d042..301e4d4 100644 --- a/xymanager_dao/src/main/resources/generatorConfig.xml +++ b/xymanager_dao/src/main/resources/generatorConfig.xml @@ -245,9 +245,17 @@ - + + + + + + + +
diff --git a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml index 69ab071..9314a39 100644 --- a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml +++ b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml @@ -45,6 +45,7 @@ + @@ -66,6 +67,7 @@ + @@ -208,6 +210,7 @@ c.id AS term_id, c.tower_id AS tower_id, c.cmdid AS cmdid, + c.protocol AS protocol, ts.last_heartbeat as last_heartbeat, c.display_name AS display_name FROM diff --git a/xymanager_dao/src/main/resources/mappers/ProtocolsDao.xml b/xymanager_dao/src/main/resources/mappers/ProtocolsDao.xml new file mode 100644 index 0000000..85ce981 --- /dev/null +++ b/xymanager_dao/src/main/resources/mappers/ProtocolsDao.xml @@ -0,0 +1,17 @@ + + + + + + + + + + id, name, version + + + \ No newline at end of file diff --git a/xymanager_dao/src/main/resources/mappers/TerminalScheduleDetailsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalScheduleDetailsDao.xml index 3585e16..0ab1870 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalScheduleDetailsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalScheduleDetailsDao.xml @@ -7,12 +7,12 @@ - + - id,term_id, channel_id, start_time, end_time, span, create_time, update_time + id,term_id, channel_id, `hour`, `minute`, preset, create_time, update_time + + delete from terminal_schedule_details where id = #{id,jdbcType=INTEGER} diff --git a/xymanager_dao/src/main/resources/mappers/TerminalScheduleTempDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalScheduleTempDao.xml index 7a4f01d..b917516 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalScheduleTempDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalScheduleTempDao.xml @@ -59,6 +59,14 @@ delete from terminal_schedule_temp where id = #{id,jdbcType=INTEGER} + + + delete from terminal_schedule_temp + where + + term_id = #{item.termId} and channel_id = #{item.channelId} + + insert into terminal_schedule_temp (id, term_id, channel_id, schedule_id, create_time, update_time @@ -71,10 +79,10 @@ insert into terminal_schedule_temp (term_id, channel_id, - schedule_id, request_id,status,create_time, update_time) + schedule_id, request_id,`hour`,`minute`,preset,`offset`,status,create_time, update_time) values - (#{item.termId},#{item.channelId},#{item.scheduleId},#{item.requestId},#{status},#{createat},#{updateat}) + (#{item.termId},#{item.channelId},#{item.scheduleId},#{item.requestId},#{item.hour},#{item.minute},#{item.preset},#{item.offset},#{status},#{createat},#{updateat}) diff --git a/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml index fef2dde..cc71b39 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalsDao.xml @@ -7,6 +7,7 @@ + @@ -39,6 +40,7 @@ + @@ -120,11 +122,8 @@ and a.id = #{item.termid} - - and c.id in - - #{id} - + + and c.id = #{item.channelid} @@ -149,6 +148,7 @@ d.latitude as latitude, d.longitude as longitude, d.status as status, + d.protocol as protocol, e.last_heartbeat as last_heartbeat, e.signal_strength_4g as signal_strength_4g, e.boot_time as boot_time, diff --git a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/interaction/JwtInterceptor.java b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/interaction/JwtInterceptor.java index df6acb2..74f975c 100644 --- a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/interaction/JwtInterceptor.java +++ b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/interaction/JwtInterceptor.java @@ -74,7 +74,6 @@ public class JwtInterceptor implements HandlerInterceptor { Asserts.fail(401, "登录过期"); } } - return true; } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/cache/XyCache.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/cache/XyCache.java index 3f6edf2..6485bf1 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/cache/XyCache.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/cache/XyCache.java @@ -32,6 +32,8 @@ public class XyCache { cacheService.updateGolobalMap(); + cacheService.updateProtocolMap(); + } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CacheServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CacheServiceImpl.java index eff5dc1..f74265c 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CacheServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CacheServiceImpl.java @@ -4,18 +4,14 @@ import com.shxy.xymanager_common.dto.LineAndDyNameDto; import com.shxy.xymanager_common.dto.TermAndChannelDto; import com.shxy.xymanager_common.dto.TowerDto; import com.shxy.xymanager_common.entity.*; -import com.shxy.xymanager_common.enums.CommonStatus; import com.shxy.xymanager_dao.dao.*; import com.shxy.xymanager_service.service.CacheService; -import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -50,6 +46,9 @@ public class CacheServiceImpl implements CacheService { @Autowired TerminalImgAlarmParamsDao terminalImgAlarmParamsDao; + @Autowired + ProtocolsDao protocolsDao; + // @Override // @Cacheable(value = "globalParams", key = "#param") // public GlobalParams getGlobalParams(String param) { @@ -290,6 +289,28 @@ public class CacheServiceImpl implements CacheService { return lineMap; } + @Override + @Cacheable(value = "protocolMap") + public Map getProtocolMap() { + Map Map = new HashMap(); + List protocols = protocolsDao.selectAll(); + for (Protocols lineitem : protocols) { + Map.put(lineitem.getId(), lineitem); + } + return Map; + } + + + @Override + @Cacheable(value = "protocolMap") + public Map updateProtocolMap() { + Map Map = new HashMap(); + List protocols = protocolsDao.selectAll(); + for (Protocols lineitem : protocols) { + Map.put(lineitem.getId(), lineitem); + } + return Map; + } @Override @CachePut(value = "globalMap") diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java index d892a7d..a46bbc0 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TermSetServiceImpl.java @@ -4,19 +4,25 @@ import cn.hutool.core.bean.BeanUtil; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.entity.Resolution; +import com.shxy.xymanager_common.entity.Terminals; import com.shxy.xymanager_common.exception.Asserts; +import com.shxy.xymanager_common.model.CmaRequestModel; import com.shxy.xymanager_common.model.ResolutionModel; import com.shxy.xymanager_common.util.CmaUtil; +import com.shxy.xymanager_common.util.MyDateUtils; import com.shxy.xymanager_common.util.xinyin.ProcessExecUtils; import com.shxy.xymanager_common.vo.TerminalIdVo; +import com.shxy.xymanager_common.vo.UpdateCameraVo; import com.shxy.xymanager_common.vo.VoiceCtrlVo; import com.shxy.xymanager_dao.dao.TerminalResolutionDao; +import com.shxy.xymanager_service.service.CacheService; import com.shxy.xymanager_service.service.TermSetService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** @@ -31,6 +37,9 @@ public class TermSetServiceImpl implements TermSetService { @Autowired private TerminalResolutionDao terminalResolutionDao; + @Autowired + private CacheService cacheService; + @Override public ServiceBody alarmMark(VoiceCtrlVo vo) { String cmd = CmaUtil.alarmMark(vo.getCmdId(), vo.getCtrl()); @@ -53,5 +62,30 @@ public class TermSetServiceImpl implements TermSetService { return Asserts.success(model); } + /** + * + * 调整焦距 + * @param vo + * @return + */ + @Override + public ServiceBody updateTermCamera(UpdateCameraVo vo) { + CmaRequestModel model = new CmaRequestModel(); + Integer termId = vo.getTermId(); + Integer channelId = vo.getChannelId(); + Integer type = vo.getType(); + Map terminalMap = cacheService.getTerminalMap(); + Terminals terminals = terminalMap.get(termId); + String cmdid = null; + if (terminals != null) { + cmdid = terminals.getCmdid(); + } + int requestId = Constants.REQUEST_ID.addAndGet(1); + String cmd = CmaUtil.cameractrl(cmdid, channelId,requestId, type); + ProcessExecUtils.exec(cmd); + model.setRequestId(requestId); + return Asserts.success(model); + } + } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java index 04493e1..e8ce951 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java @@ -2,9 +2,7 @@ package com.shxy.xymanager_service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateField; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; @@ -24,6 +22,7 @@ import com.shxy.xymanager_common.util.xinyin.ProcessExecUtils; import com.shxy.xymanager_common.util.xinyin.ScheduleListUtils; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_dao.dao.*; +import com.shxy.xymanager_service.service.CacheService; import com.shxy.xymanager_service.service.TerminalScheduleRuleService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -31,9 +30,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.*; /** * 时间任务实现层 @@ -63,13 +62,15 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ @Autowired TerminalScheduleDetailsDao terminalScheduleDetailsDao; + @Autowired + CacheService cacheService; + @Value("${cma.clientid}") public int clientid; @Value("${cma.scheduletype}") public int scheduletype; - /** * 获取时间任务规则列表 * @@ -182,6 +183,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ } Date date = new Date(); Schedules schedule = new Schedules(); + schedule.setId(scheduleid); schedule.setName(vo.getName()); schedule.setRemark(vo.getRemark()); schedule.setUpdateTime(date); @@ -236,48 +238,68 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ return Asserts.error("没有该装置"); } - ScheduleAndRuleDto dto = schedulesDao.selectSingleScheduleAndDetailsList(scheduleid, CommonStatus.EFFECTIVE.value()); - if (BeanUtil.isEmpty(dto)) { - return Asserts.error("没有该拍照时间规则"); - } - List dtoList = dto.getList(); - if (CollectionUtil.isEmpty(dtoList)) { - return Asserts.error("没有该拍照时间规则"); - } +// ScheduleAndRuleDto dto = schedulesDao.selectSingleScheduleAndDetailsList(scheduleid, CommonStatus.EFFECTIVE.value()); +// if (BeanUtil.isEmpty(dto)) { +// return Asserts.error("没有该拍照时间规则"); +// } +// List dtoList = dto.getList(); +// if (CollectionUtil.isEmpty(dtoList)) { +// return Asserts.error("没有该拍照时间规则"); +// } + Map terminalMap = cacheService.getTerminalMap(); ArrayList requestIdList = new ArrayList<>(); - for (int x = 0; x < terminalsList.size(); x++) { - ChannelAndTermDto channelAndTermDto = terminalsList.get(x); - int requestId = Constants.REQUEST_ID.addAndGet(1); - int offset = 0; - for (int i = 0; i < termlist.size(); i++) { - if (channelAndTermDto.getTermid().intValue() == termlist.get(i).getTermid().intValue()) { - offset = termlist.get(i).getOffset(); - } + ArrayList templist = new ArrayList<>(); + for (int i = 0; i < termlist.size(); i++) { + String cmdid = null; + RelateTerminalListRuleIdVo.Items items = termlist.get(i); + Integer termid = items.getTermid(); + Integer channelid = items.getChannelid(); + Integer offset = items.getOffset(); + if (terminalMap != null && termid != null) { + Terminals terminals = terminalMap.get(termid); + cmdid = terminals.getCmdid(); + } + if (StrUtil.isEmpty(cmdid)) { + continue; } - String timestr = ScheduleListUtils.relateTime(dtoList, offset); + List timelist = items.getList(); + if (CollectionUtil.isEmpty(timelist)) { + continue; + } + String timestr = ScheduleListUtils.relateTime(timelist); + int requestId = Constants.REQUEST_ID.addAndGet(1); - String cmd = CmaUtil.relateSchelduleRule(dtoList, channelAndTermDto.getCmdid(), requestId, channelAndTermDto.getChannelid(), timestr); + String cmd = CmaUtil.relateSchelduleRule(timelist, cmdid, requestId, channelid, timestr); ProcessExecUtils.exec(cmd); - log.info("cma下发时间表命令", cmd); + GetScheduleRequestIdListModel.RequestBean requestBean = new GetScheduleRequestIdListModel.RequestBean(); - requestBean.setTermid(channelAndTermDto.getTermid()); - requestBean.setChannelid(channelAndTermDto.getChannelid()); + requestBean.setTermid(termid); + requestBean.setChannelid(channelid); requestBean.setRequestid(requestId); requestIdList.add(requestBean); - + for (int j = 0; j < timelist.size(); j++) { + ScheduleRuleVo scheduleRuleVo = timelist.get(j); + Integer hour = scheduleRuleVo.getHour(); + Integer minute = scheduleRuleVo.getMinute(); + Integer preset = scheduleRuleVo.getPreset(); + TerminalSchedulesTemp temp = new TerminalSchedulesTemp(); + temp.setTermId(termid); + temp.setChannelId(channelid); + temp.setScheduleId(scheduleid); + temp.setRequestId(requestId); + temp.setHour(hour); + temp.setMinute(minute); + temp.setPreset(preset); + temp.setOffset(offset); + templist.add(temp); + } + } + if (CollectionUtil.isNotEmpty(templist)) { + terminalSchedulesTempDao.deleteByTermidAndChannelid(templist); Date date = new Date(); - TerminalSchedulesTemp temp = new TerminalSchedulesTemp(); - temp.setTermId(channelAndTermDto.getTermid()); - temp.setChannelId(channelAndTermDto.getChannelid()); - temp.setScheduleId(scheduleid); - temp.setRequestId(requestId); - temp.setStatus(CommonStatus.DELETE.value()); - temp.setOffset(offset); - temp.setCreateTime(date); - temp.setUpdateTime(date); - terminalSchedulesTempDao.insertSelective(temp); + terminalSchedulesTempDao.insertList(templist, CommonStatus.DELETE.value(), date, date); } model.setList(requestIdList); return Asserts.success(model); @@ -321,16 +343,19 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ model.setList(modellist); return Asserts.success(model); } else { + HashMap map = new HashMap<>(); + for (TerminalSchedulesTemp item : resultsList) { + map.put(item.getRequestId(), CommonStatus.EFFECTIVE.value()); + } for (RequestIdListVo.RequestBean it : list) { ScheduleRequestIdListModel.RequestStatusBean requestBean = new ScheduleRequestIdListModel.RequestStatusBean(); requestBean.setRequestid(it.getRequestid()); requestBean.setChannelid(it.getChannelid()); requestBean.setTermid(it.getTermid()); - requestBean.setStatus(CommonStatus.DELETE.value()); - for (int i = 0; i < resultsList.size(); i++) { - if (it.getRequestid().intValue() == requestidlist.get(i).intValue()) { - requestBean.setStatus(CommonStatus.EFFECTIVE.value()); - } + if (map.get(it.getRequestid()) != null) { + requestBean.setStatus(CommonStatus.EFFECTIVE.value()); + } else { + requestBean.setStatus(CommonStatus.DELETE.value()); } modellist.add(requestBean); } @@ -349,7 +374,9 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ @Override public ServiceBody getChannelSchelduleRule(TerminalAndChannelIdVo vo) { TerminalScheduleRuleTimeListModel model = new TerminalScheduleRuleTimeListModel(); - TerminalSchedule mapper = terminalScheduleDao.selectByChannelId(vo.getChannelid(), vo.getTerminalid()); + Integer channelid = vo.getChannelid(); + Integer terminalid = vo.getTerminalid(); + TerminalSchedule mapper = terminalScheduleDao.selectByChannelId(channelid, terminalid); if (BeanUtil.isEmpty(mapper)) { model.setList(new ArrayList<>()); return Asserts.success(model); @@ -362,28 +389,22 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ if (mapper == null) { model.setList(new ArrayList<>()); } else { - Integer scheduleId = mapper.getScheduleId(); - ScheduleAndRuleDto bean = schedulesDao.selectSingleScheduleAndDetailsList(scheduleId, CommonStatus.EFFECTIVE.value()); - if (BeanUtil.isEmpty(bean)) { + List list = terminalScheduleDetailsDao.selectByTermidAndChannelid(terminalid, channelid); + if (CollectionUtil.isEmpty(list)) { model.setList(new ArrayList<>()); } else { - List list = bean.getList(); - if (CollectionUtil.isEmpty(list)) { - model.setList(new ArrayList<>()); - } else { - ArrayList timestrlist = new ArrayList<>(); - for (ScheduleDetailsDto item : list) { - TerminalScheduleRuleTimeListModel.ScheduleRuleBean scheduleRuleBean = new TerminalScheduleRuleTimeListModel.ScheduleRuleBean(); - Integer hour = item.getHour(); - Integer minute = item.getMinute(); - Integer preset = item.getPreset(); - scheduleRuleBean.setHour(hour); - scheduleRuleBean.setMinute(minute); - scheduleRuleBean.setPreset(preset); - timestrlist.add(scheduleRuleBean); - } - model.setList(timestrlist); + ArrayList timestrlist = new ArrayList<>(); + for (TerminalScheduleDetails item : list) { + TerminalScheduleRuleTimeListModel.ScheduleRuleBean scheduleRuleBean = new TerminalScheduleRuleTimeListModel.ScheduleRuleBean(); + Integer hour = item.getHour(); + Integer minute = item.getMinute(); + Integer preset = item.getPreset(); + scheduleRuleBean.setHour(hour); + scheduleRuleBean.setMinute(minute); + scheduleRuleBean.setPreset(preset); + timestrlist.add(scheduleRuleBean); } + model.setList(timestrlist); } } return Asserts.success(model); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java index 5f6749e..2e46437 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java @@ -10,6 +10,7 @@ import com.github.pagehelper.PageInfo; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.dto.*; +import com.shxy.xymanager_common.entity.Protocols; import com.shxy.xymanager_common.entity.TerminalChannelMapper; import com.shxy.xymanager_common.entity.TerminalStatus; import com.shxy.xymanager_common.entity.Terminals; @@ -86,6 +87,7 @@ public class TerminalServiceImpl implements TerminalService { public ServiceBody getTerminalList(TerminalSelectVo vo) { Map towerMap = cacheService.getTowerMap(); Map termAndChannelMap = cacheService.getTermAndChannelMap(); + Map protocolMap = cacheService.getProtocolMap(); Integer dyid = vo.getDyId(); Integer lineid = vo.getLineId(); Integer tower = vo.getTowerId(); @@ -116,6 +118,16 @@ public class TerminalServiceImpl implements TerminalService { terminalsBean.setLineId(towerDto.getLineId()); terminalsBean.setLineName(towerDto.getLineName()); } + if (protocolMap != null) { + Integer protocol = item.getProtocol(); + if (protocol != null) { + terminalsBean.setProtocol(protocol); + Protocols protocols = protocolMap.get(protocol); + if (protocols != null) { + terminalsBean.setProtocolName(protocols.getName()); + } + } + } terminalsBean.setCmdId(item.getCmdid()); terminalsBean.setOrgId(item.getOrgId()); terminalsBean.setEquipName(item.getEquipName()); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CacheService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CacheService.java index 3cf48c4..021d3ca 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CacheService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CacheService.java @@ -4,11 +4,8 @@ import com.shxy.xymanager_common.dto.LineAndDyNameDto; import com.shxy.xymanager_common.dto.TermAndChannelDto; import com.shxy.xymanager_common.dto.TowerDto; import com.shxy.xymanager_common.entity.*; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; -import java.util.List; import java.util.Map; @@ -83,6 +80,10 @@ public interface CacheService { Map getGolobalMap(); + Map getProtocolMap(); + + Map updateProtocolMap(); + Map updateGolobalMap(); Map getAlarmParamMap(); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java index bcdeb0d..f2641ac 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TermSetService.java @@ -25,4 +25,11 @@ public interface TermSetService { * @return */ ServiceBody getResolutionList(Integer type); + + /** + * 调整焦距 + * @param vo + * @return + */ + ServiceBody updateTermCamera(UpdateCameraVo vo); }