mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-19 01:48:47 +08:00
Merge remote-tracking branch 'origin/5.X' into 5.X
This commit is contained in:
commit
7129a9b825
@ -18,12 +18,14 @@ public class CommonYmlConfig {
|
|||||||
public static String URL_IOT_TELEMETRY = "遥测";
|
public static String URL_IOT_TELEMETRY = "遥测";
|
||||||
public static String URL_IOT_OPERATE = "操作控制";
|
public static String URL_IOT_OPERATE = "操作控制";
|
||||||
public static String URL_IOT_DEVICE = "设备信息";
|
public static String URL_IOT_DEVICE = "设备信息";
|
||||||
|
public static String URL_IOT_DEVICE_BY_NAME = "设备名称查询设备信息";
|
||||||
|
|
||||||
public String baseurl = "";
|
public String baseurl = "";
|
||||||
public String scopeAttribute = "";
|
public String scopeAttribute = "";
|
||||||
public String telemetry = "";
|
public String telemetry = "";
|
||||||
public String operate = "";
|
public String operate = "";
|
||||||
public String device = "";
|
public String device = "";
|
||||||
|
public String deviceByName = "";
|
||||||
|
|
||||||
@Value("${iot.url.scopeAttribute}")
|
@Value("${iot.url.scopeAttribute}")
|
||||||
public String setScopeAttribute(String scopeAttribute) {
|
public String setScopeAttribute(String scopeAttribute) {
|
||||||
@ -49,4 +51,11 @@ public class CommonYmlConfig {
|
|||||||
public String setDevice(String device) {
|
public String setDevice(String device) {
|
||||||
return URL_IOT_DEVICE = device;
|
return URL_IOT_DEVICE = device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Value("${iot.url.deviceByName}")
|
||||||
|
public String setDeviceByName(String deviceByName) {
|
||||||
|
return URL_IOT_DEVICE_BY_NAME = deviceByName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.web.controller.app;
|
package org.dromara.web.controller.app;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
@ -16,16 +17,14 @@ import org.dromara.system.domain.vo.SysDictDataVo;
|
|||||||
import org.dromara.system.domain.vo.SysUserVo;
|
import org.dromara.system.domain.vo.SysUserVo;
|
||||||
import org.dromara.system.service.ISysDictTypeService;
|
import org.dromara.system.service.ISysDictTypeService;
|
||||||
import org.dromara.system.service.ISysUserService;
|
import org.dromara.system.service.ISysUserService;
|
||||||
|
import org.dromara.web.device.iot.DeviceByDeviceName;
|
||||||
import org.dromara.web.device.iot.DeviceDto;
|
import org.dromara.web.device.iot.DeviceDto;
|
||||||
import org.dromara.web.domain.bo.*;
|
import org.dromara.web.domain.bo.*;
|
||||||
import org.dromara.web.domain.vo.*;
|
import org.dromara.web.domain.vo.*;
|
||||||
import org.dromara.web.service.*;
|
import org.dromara.web.service.*;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -136,7 +135,7 @@ public class EqDeviceController extends BaseController {
|
|||||||
* @return todo
|
* @return todo
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getDeviceLogs")
|
@GetMapping("/getDeviceLogs")
|
||||||
public Map<String, List<EqEquipmentLogVo>> getDeviceLogs(EqAppHomeBo bo,PageQuery pageQuery){
|
public Map<String, List<EqEquipmentLogVo>> getDeviceLogs(EqAppHomeBo bo,String createdYearDay,PageQuery pageQuery){
|
||||||
if (bo.getEquipmentId() == null) throw new ServiceException("设备ID不能为空");
|
if (bo.getEquipmentId() == null) throw new ServiceException("设备ID不能为空");
|
||||||
String zoneId = bo.getZoneId();
|
String zoneId = bo.getZoneId();
|
||||||
if (StringUtils.isEmpty(zoneId)) throw new ServiceException("时区zoneId(如 UTC+08:00)不能为空");
|
if (StringUtils.isEmpty(zoneId)) throw new ServiceException("时区zoneId(如 UTC+08:00)不能为空");
|
||||||
@ -149,6 +148,8 @@ public class EqDeviceController extends BaseController {
|
|||||||
if (zoneId.contains(" ")) zoneId = zoneId.replace(" ", "+");
|
if (zoneId.contains(" ")) zoneId = zoneId.replace(" ", "+");
|
||||||
EqEquipmentLogBo eqEquipmentLogBo = new EqEquipmentLogBo();
|
EqEquipmentLogBo eqEquipmentLogBo = new EqEquipmentLogBo();
|
||||||
eqEquipmentLogBo.setEquipmentId(bo.getEquipmentId());
|
eqEquipmentLogBo.setEquipmentId(bo.getEquipmentId());
|
||||||
|
BeanUtil.copyProperties(bo, eqEquipmentLogBo);
|
||||||
|
eqEquipmentLogBo.setCreatedYearDay(createdYearDay);
|
||||||
TableDataInfo<EqEquipmentLogVo> data = logService.queryPageList(eqEquipmentLogBo, pageQuery);
|
TableDataInfo<EqEquipmentLogVo> data = logService.queryPageList(eqEquipmentLogBo, pageQuery);
|
||||||
List<EqEquipmentLogVo> rows = data.getRows();
|
List<EqEquipmentLogVo> rows = data.getRows();
|
||||||
if (CollUtil.isEmpty(rows)) return new HashMap<>();
|
if (CollUtil.isEmpty(rows)) return new HashMap<>();
|
||||||
@ -179,15 +180,23 @@ public class EqDeviceController extends BaseController {
|
|||||||
* 保存日志(iot使用 设备状态变动时会触发该状态)
|
* 保存日志(iot使用 设备状态变动时会触发该状态)
|
||||||
* @param eqEquipmentLogBo
|
* @param eqEquipmentLogBo
|
||||||
*/
|
*/
|
||||||
@GetMapping("/saveDeviceLogs")
|
@PostMapping("/saveDeviceLogs")
|
||||||
public void saveDeviceLogs(EqEquipmentLogBo eqEquipmentLogBo){
|
public void saveDeviceLogs(@RequestBody EqEquipmentLogBo eqEquipmentLogBo){
|
||||||
|
String equipmentName = eqEquipmentLogBo.getEquipmentName();
|
||||||
|
Integer status = eqEquipmentLogBo.getStatus();
|
||||||
|
//设备id查询
|
||||||
|
DeviceByDeviceName deviceByNameDto = iotService.apiTenantDevicesByName(equipmentName);//无信息会抛异常 无需判断
|
||||||
|
if (deviceByNameDto==null) throw new RuntimeException("设备不存在");
|
||||||
|
String equipmentCode = deviceByNameDto.getId().getId();
|
||||||
|
//设备查询
|
||||||
EqEquipmentBo eqEquipmentBo = new EqEquipmentBo();
|
EqEquipmentBo eqEquipmentBo = new EqEquipmentBo();
|
||||||
eqEquipmentBo.setEquipmentCode(eqEquipmentLogBo.getEquipmentCode());
|
eqEquipmentBo.setEquipmentCode(equipmentCode);
|
||||||
List<EqEquipmentVo> eqEquipmentVos = eqEquipmentService.queryList(eqEquipmentBo);
|
List<EqEquipmentVo> eqEquipmentVos = eqEquipmentService.queryList(eqEquipmentBo);
|
||||||
if (CollectionUtils.isEmpty(eqEquipmentVos)) return;
|
if (CollectionUtils.isEmpty(eqEquipmentVos)) return;
|
||||||
EqEquipmentVo eqEquipmentVo = eqEquipmentVos.get(0);
|
EqEquipmentVo eqEquipmentVo = eqEquipmentVos.get(0);
|
||||||
eqEquipmentBo.setEquipmentId(eqEquipmentVo.getEquipmentId());
|
//日志数据组装
|
||||||
|
eqEquipmentLogBo.setEquipmentCode(equipmentCode);
|
||||||
|
eqEquipmentLogBo.setEquipmentName(equipmentName);
|
||||||
eqEquipmentLogBo.setUserId(eqEquipmentVo.getUserId());
|
eqEquipmentLogBo.setUserId(eqEquipmentVo.getUserId());
|
||||||
eqEquipmentLogBo.setUserName(eqEquipmentVo.getUserName());
|
eqEquipmentLogBo.setUserName(eqEquipmentVo.getUserName());
|
||||||
eqEquipmentLogBo.setNickName(eqEquipmentVo.getNickName());
|
eqEquipmentLogBo.setNickName(eqEquipmentVo.getNickName());
|
||||||
@ -202,6 +211,7 @@ public class EqDeviceController extends BaseController {
|
|||||||
String[] timeStr = formattedDate.split(" ");
|
String[] timeStr = formattedDate.split(" ");
|
||||||
eqEquipmentLogBo.setCreatedYearDay(timeStr[0]);//年月日
|
eqEquipmentLogBo.setCreatedYearDay(timeStr[0]);//年月日
|
||||||
eqEquipmentLogBo.setCreatedHourSecond(timeStr[1]);//时分秒
|
eqEquipmentLogBo.setCreatedHourSecond(timeStr[1]);//时分秒
|
||||||
|
eqEquipmentLogBo.setStatus(status);//状态
|
||||||
//星期
|
//星期
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
calendar.setTime(createTime);
|
calendar.setTime(createTime);
|
||||||
@ -212,9 +222,15 @@ public class EqDeviceController extends BaseController {
|
|||||||
logService.insertByBo(eqEquipmentLogBo);
|
logService.insertByBo(eqEquipmentLogBo);
|
||||||
|
|
||||||
//更新开合度状态到设备
|
//更新开合度状态到设备
|
||||||
eqEquipmentBo.setStatus(eqEquipmentLogBo.getOpenStatus());
|
eqEquipmentBo.setEquipmentId(eqEquipmentVo.getEquipmentId());
|
||||||
eqEquipmentBo.setFaultStatus(eqEquipmentBo.getFaultStatus());
|
// eqEquipmentBo.setStatus(eqEquipmentLogBo.getOpenStatus());//该参数暂时无用
|
||||||
eqEquipmentBo.setLineStatus(eqEquipmentBo.getLineStatus());
|
if (status == 500||status==501){
|
||||||
|
eqEquipmentBo.setLineStatus(status-500);
|
||||||
|
}
|
||||||
|
if (status>=10&&status<=14){
|
||||||
|
eqEquipmentBo.setFaultStatus(eqEquipmentBo.getFaultStatus());
|
||||||
|
}
|
||||||
|
|
||||||
eqEquipmentService.updateByBo(eqEquipmentBo);
|
eqEquipmentService.updateByBo(eqEquipmentBo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,6 @@ public class EqHomeController extends BaseController {
|
|||||||
private final IEqAreaService eqAreaService;
|
private final IEqAreaService eqAreaService;
|
||||||
private final IEqFamilyService eqFamilyService;
|
private final IEqFamilyService eqFamilyService;
|
||||||
private final IEqEquipmentService eqEquipmentService;
|
private final IEqEquipmentService eqEquipmentService;
|
||||||
|
|
||||||
private final IEqShareService shareService;
|
private final IEqShareService shareService;
|
||||||
private final ISysUserService userService;
|
private final ISysUserService userService;
|
||||||
private final IEqUserConfigService eqUserConfigService;
|
private final IEqUserConfigService eqUserConfigService;
|
||||||
@ -249,9 +248,9 @@ public class EqHomeController extends BaseController {
|
|||||||
}
|
}
|
||||||
bo.setSharedUserId(sysUserVo.getUserId());
|
bo.setSharedUserId(sysUserVo.getUserId());
|
||||||
bo.setSharedUserName(sysUserVo.getUserName());
|
bo.setSharedUserName(sysUserVo.getUserName());
|
||||||
List<EqShareVo> eqShareVos = eqShareService.queryList(bo);
|
List<EqShareVo> eqShareVos = shareService.queryList(bo);
|
||||||
if (!eqShareVos.isEmpty()) throw new RuntimeException("该成员已被分享");
|
if (!eqShareVos.isEmpty()) throw new RuntimeException("该成员已被分享");
|
||||||
return toAjax(eqShareService.insertByBo(bo));
|
return toAjax(shareService.insertByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -263,7 +262,7 @@ public class EqHomeController extends BaseController {
|
|||||||
@DeleteMapping("/deleteFamily/{sharedId}")
|
@DeleteMapping("/deleteFamily/{sharedId}")
|
||||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
@PathVariable String sharedId) {
|
@PathVariable String sharedId) {
|
||||||
return toAjax(eqShareService.deleteBySharedId(sharedId));
|
return toAjax(shareService.deleteBySharedId(sharedId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -275,7 +274,7 @@ public class EqHomeController extends BaseController {
|
|||||||
@DeleteMapping("/deleteMember/{shareId}")
|
@DeleteMapping("/deleteMember/{shareId}")
|
||||||
public R<Void> removeShare(@NotEmpty(message = "主键不能为空")
|
public R<Void> removeShare(@NotEmpty(message = "主键不能为空")
|
||||||
@PathVariable String shareId) {
|
@PathVariable String shareId) {
|
||||||
return toAjax(eqShareService.deleteByShareId(shareId));
|
return toAjax(shareService.deleteByShareId(shareId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -379,7 +378,7 @@ public class EqHomeController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private final IEqShareService eqShareService;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,55 +61,85 @@ public class EqTextController extends BaseController {
|
|||||||
@GetMapping("/allText")
|
@GetMapping("/allText")
|
||||||
public R<Map<String,List<String>>> allText(){
|
public R<Map<String,List<String>>> allText(){
|
||||||
Map<String, List<String>> result = new HashMap<>();
|
Map<String, List<String>> result = new HashMap<>();
|
||||||
|
|
||||||
|
//《登录》login
|
||||||
result.put("login",Arrays.asList(
|
result.put("login",Arrays.asList(
|
||||||
MessageUtils.message("login.name0"),
|
MessageUtils.message("login.name0"),
|
||||||
MessageUtils.message("login.name1"),
|
MessageUtils.message("login.name1"),
|
||||||
MessageUtils.message("login.name2"),
|
MessageUtils.message("login.name2"),
|
||||||
MessageUtils.message("login.name3"),
|
MessageUtils.message("login.name3"),
|
||||||
MessageUtils.message("login.name4")
|
MessageUtils.message("login.name4"),
|
||||||
|
MessageUtils.message("login.name5")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《注册》register
|
||||||
result.put("register",Arrays.asList(
|
result.put("register",Arrays.asList(
|
||||||
MessageUtils.message("register.name0"),
|
MessageUtils.message("register.name0"),
|
||||||
MessageUtils.message("register.name1"),
|
MessageUtils.message("register.name0"),
|
||||||
MessageUtils.message("register.name2"),
|
MessageUtils.message("register.name2"),
|
||||||
MessageUtils.message("register.name3"),
|
MessageUtils.message("register.name3"),
|
||||||
MessageUtils.message("register.name4")
|
MessageUtils.message("register.name4"),
|
||||||
|
MessageUtils.message("register.name5")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《注册成功》registerSuccess
|
||||||
result.put("registerSuccess",Arrays.asList(
|
result.put("registerSuccess",Arrays.asList(
|
||||||
MessageUtils.message("registerSuccess.name0"),
|
MessageUtils.message("registerSuccess.name0"),
|
||||||
MessageUtils.message("registerSuccess.name1"),
|
MessageUtils.message("registerSuccess.name1"),
|
||||||
MessageUtils.message("registerSuccess.name2"),
|
MessageUtils.message("registerSuccess.name2"),
|
||||||
MessageUtils.message("registerSuccess.name3")
|
MessageUtils.message("registerSuccess.name3")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《首页》homepage
|
||||||
result.put("homepage",Arrays.asList(
|
result.put("homepage",Arrays.asList(
|
||||||
MessageUtils.message("homepage.name0"),
|
MessageUtils.message("homepage.name0"),
|
||||||
MessageUtils.message("homepage.name1"),
|
MessageUtils.message("homepage.name1"),
|
||||||
MessageUtils.message("homepage.name2"),
|
MessageUtils.message("homepage.name2"),
|
||||||
MessageUtils.message("homepage.name3")
|
MessageUtils.message("homepage.name3"),
|
||||||
|
MessageUtils.message("homepage.name4"),
|
||||||
|
MessageUtils.message("homepage.name5"),
|
||||||
|
MessageUtils.message("homepage.name6"),
|
||||||
|
MessageUtils.message("homepage.name7"),
|
||||||
|
MessageUtils.message("homepage.name8"),
|
||||||
|
MessageUtils.message("homepage.name9"),
|
||||||
|
MessageUtils.message("homepage.name10")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《关门提醒》warningClose
|
||||||
result.put("warningClose",Arrays.asList(
|
result.put("warningClose",Arrays.asList(
|
||||||
MessageUtils.message("warningClose.name0"),
|
MessageUtils.message("warningClose.name0"),
|
||||||
MessageUtils.message("warningClose.name1"),
|
MessageUtils.message("warningClose.name1"),
|
||||||
MessageUtils.message("warningClose.name2"),
|
MessageUtils.message("warningClose.name2"),
|
||||||
MessageUtils.message("warningClose.name3")
|
MessageUtils.message("warningClose.name3"),
|
||||||
|
MessageUtils.message("warningClose.name4"),
|
||||||
|
MessageUtils.message("warningClose.name5"),
|
||||||
|
MessageUtils.message("warningClose.name6")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《添加设备》add
|
||||||
result.put("add",Arrays.asList(
|
result.put("add",Arrays.asList(
|
||||||
MessageUtils.message("add.name0"),
|
MessageUtils.message("add.name0"),
|
||||||
MessageUtils.message("add.name1"),
|
MessageUtils.message("add.name1"),
|
||||||
MessageUtils.message("add.name2"),
|
MessageUtils.message("add.name2"),
|
||||||
MessageUtils.message("add.name3")
|
MessageUtils.message("add.name3")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《添加成功》addSuccess
|
||||||
result.put("addSuccess",Arrays.asList(
|
result.put("addSuccess",Arrays.asList(
|
||||||
MessageUtils.message("addSuccess.name0"),
|
MessageUtils.message("addSuccess.name0"),
|
||||||
MessageUtils.message("addSuccess.name1"),
|
MessageUtils.message("addSuccess.name1"),
|
||||||
MessageUtils.message("addSuccess.name2")
|
MessageUtils.message("addSuccess.name2")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《添加失败》addFailure
|
||||||
result.put("addFailure",Arrays.asList(
|
result.put("addFailure",Arrays.asList(
|
||||||
MessageUtils.message("addFailure.name0"),
|
MessageUtils.message("addFailure.name0"),
|
||||||
MessageUtils.message("addFailure.name1"),
|
MessageUtils.message("addFailure.name1"),
|
||||||
MessageUtils.message("addFailure.name2"),
|
// MessageUtils.message("addFailure.name2"),
|
||||||
MessageUtils.message("addFailure.name3")
|
MessageUtils.message("addFailure.name3")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《设备详情》detail
|
||||||
result.put("detail",Arrays.asList(
|
result.put("detail",Arrays.asList(
|
||||||
MessageUtils.message("detail.name0"),
|
MessageUtils.message("detail.name0"),
|
||||||
MessageUtils.message("detail.name1"),
|
MessageUtils.message("detail.name1"),
|
||||||
@ -129,13 +159,19 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("detail.name15"),
|
MessageUtils.message("detail.name15"),
|
||||||
MessageUtils.message("detail.name16"),
|
MessageUtils.message("detail.name16"),
|
||||||
MessageUtils.message("detail.name17"),
|
MessageUtils.message("detail.name17"),
|
||||||
MessageUtils.message("detail.name18")
|
MessageUtils.message("detail.name18"),
|
||||||
|
MessageUtils.message("detail.name19"),
|
||||||
|
MessageUtils.message("detail.name20")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《倒计时设置》countdown
|
||||||
result.put("countdown",Arrays.asList(
|
result.put("countdown",Arrays.asList(
|
||||||
MessageUtils.message("countdown.name0"),
|
MessageUtils.message("countdown.name0"),
|
||||||
MessageUtils.message("countdown.name1"),
|
MessageUtils.message("countdown.name1"),
|
||||||
MessageUtils.message("countdown.name2")
|
MessageUtils.message("countdown.name2")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《数据日志》log
|
||||||
result.put("log",Arrays.asList(
|
result.put("log",Arrays.asList(
|
||||||
MessageUtils.message("log.name0"),
|
MessageUtils.message("log.name0"),
|
||||||
MessageUtils.message("log.name1"),
|
MessageUtils.message("log.name1"),
|
||||||
@ -147,9 +183,16 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("log.name7"),
|
MessageUtils.message("log.name7"),
|
||||||
MessageUtils.message("log.name8"),
|
MessageUtils.message("log.name8"),
|
||||||
MessageUtils.message("log.name9"),
|
MessageUtils.message("log.name9"),
|
||||||
MessageUtils.message("log.name10")
|
MessageUtils.message("log.name10"),
|
||||||
|
MessageUtils.message("log.name11"),
|
||||||
|
MessageUtils.message("log.name12"),
|
||||||
|
MessageUtils.message("log.name13"),
|
||||||
|
MessageUtils.message("log.name14"),
|
||||||
|
MessageUtils.message("log.name15"),
|
||||||
|
MessageUtils.message("log.name16")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《对码》clearcode
|
||||||
result.put("checkcode",Arrays.asList(
|
result.put("checkcode",Arrays.asList(
|
||||||
MessageUtils.message("checkcode.name0"),
|
MessageUtils.message("checkcode.name0"),
|
||||||
MessageUtils.message("checkcode.name1"),
|
MessageUtils.message("checkcode.name1"),
|
||||||
@ -157,6 +200,7 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("checkcode.name3")
|
MessageUtils.message("checkcode.name3")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《清码》checkcode
|
||||||
result.put("clearcode",Arrays.asList(
|
result.put("clearcode",Arrays.asList(
|
||||||
MessageUtils.message("clearcode.name0"),
|
MessageUtils.message("clearcode.name0"),
|
||||||
MessageUtils.message("clearcode.name1"),
|
MessageUtils.message("clearcode.name1"),
|
||||||
@ -166,12 +210,13 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("clearcode.name5")
|
MessageUtils.message("clearcode.name5")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《设备掉线详情》offDetail
|
||||||
result.put("offDetail",Arrays.asList(
|
result.put("offDetail",Arrays.asList(
|
||||||
MessageUtils.message("offDetail.name0"),
|
MessageUtils.message("offDetail.name0"),
|
||||||
MessageUtils.message("offDetail.name1")
|
MessageUtils.message("offDetail.name1")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《优化-设置》set
|
||||||
result.put("set",Arrays.asList(
|
result.put("set",Arrays.asList(
|
||||||
MessageUtils.message("set.name0"),
|
MessageUtils.message("set.name0"),
|
||||||
MessageUtils.message("set.name1"),
|
MessageUtils.message("set.name1"),
|
||||||
@ -194,10 +239,11 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("set.name18"),
|
MessageUtils.message("set.name18"),
|
||||||
MessageUtils.message("set.name19"),
|
MessageUtils.message("set.name19"),
|
||||||
MessageUtils.message("set.name20"),
|
MessageUtils.message("set.name20"),
|
||||||
MessageUtils.message("set.name21")
|
MessageUtils.message("set.name21"),
|
||||||
|
MessageUtils.message("set.name22")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《通用》setCommon
|
||||||
result.put("setCommon",Arrays.asList(
|
result.put("setCommon",Arrays.asList(
|
||||||
MessageUtils.message("setCommon.detail"),
|
MessageUtils.message("setCommon.detail"),
|
||||||
MessageUtils.message("setCommon.add"),
|
MessageUtils.message("setCommon.add"),
|
||||||
@ -208,6 +254,7 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("setCommon.confirm")
|
MessageUtils.message("setCommon.confirm")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《未设置详情》noinit
|
||||||
result.put("noinit",Arrays.asList(
|
result.put("noinit",Arrays.asList(
|
||||||
MessageUtils.message("noinit.name0"),
|
MessageUtils.message("noinit.name0"),
|
||||||
MessageUtils.message("noinit.name1"),
|
MessageUtils.message("noinit.name1"),
|
||||||
@ -230,6 +277,7 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("noinit.name18")
|
MessageUtils.message("noinit.name18")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《修改设备名称》setEqname
|
||||||
result.put("setEqname",Arrays.asList(
|
result.put("setEqname",Arrays.asList(
|
||||||
MessageUtils.message("setEqname.name0"),
|
MessageUtils.message("setEqname.name0"),
|
||||||
MessageUtils.message("setEqname.name1"),
|
MessageUtils.message("setEqname.name1"),
|
||||||
@ -238,13 +286,14 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("setEqname.name4")
|
MessageUtils.message("setEqname.name4")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《设备位置修改》setEqarea
|
||||||
result.put("setEqarea",Arrays.asList(
|
result.put("setEqarea",Arrays.asList(
|
||||||
MessageUtils.message("setEqarea.name0"),
|
MessageUtils.message("setEqarea.name0"),
|
||||||
MessageUtils.message("setEqarea.name1"),
|
MessageUtils.message("setEqarea.name1"),
|
||||||
MessageUtils.message("setEqarea.name2")
|
MessageUtils.message("setEqarea.name2")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《反弹力设置》setRebound
|
||||||
result.put("setRebound",Arrays.asList(
|
result.put("setRebound",Arrays.asList(
|
||||||
MessageUtils.message("setRebound.name0"),
|
MessageUtils.message("setRebound.name0"),
|
||||||
MessageUtils.message("setRebound.name1"),
|
MessageUtils.message("setRebound.name1"),
|
||||||
@ -252,6 +301,7 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("setRebound.name3")
|
MessageUtils.message("setRebound.name3")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《删除设备》setDelete
|
||||||
result.put("setDelete",Arrays.asList(
|
result.put("setDelete",Arrays.asList(
|
||||||
MessageUtils.message("setDelete.name0"),
|
MessageUtils.message("setDelete.name0"),
|
||||||
MessageUtils.message("setDelete.name1"),
|
MessageUtils.message("setDelete.name1"),
|
||||||
@ -260,19 +310,206 @@ public class EqTextController extends BaseController {
|
|||||||
MessageUtils.message("setDelete.name4")
|
MessageUtils.message("setDelete.name4")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《时区设置》setZone
|
||||||
result.put("setZone",Arrays.asList(
|
result.put("setZone",Arrays.asList(
|
||||||
MessageUtils.message("setZone.name0"),
|
MessageUtils.message("setZone.name0"),
|
||||||
MessageUtils.message("setZone.name1")
|
MessageUtils.message("setZone.name1"),
|
||||||
|
MessageUtils.message("setZone.name2")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
//《wifi网络》setWifi
|
||||||
result.put("setWifi",Arrays.asList(
|
result.put("setWifi",Arrays.asList(
|
||||||
MessageUtils.message("setWifi.name0"),
|
MessageUtils.message("setWifi.name0"),
|
||||||
MessageUtils.message("setWifi.name1"),
|
MessageUtils.message("setWifi.name1"),
|
||||||
MessageUtils.message("setWifi.name2"),
|
MessageUtils.message("setWifi.name2"),
|
||||||
MessageUtils.message("setWifi.name3"),
|
MessageUtils.message("setWifi.name3"),
|
||||||
MessageUtils.message("setWifi.name4"),
|
MessageUtils.message("setWifi.name4"),
|
||||||
MessageUtils.message("setWifi.name5"),
|
MessageUtils.message("setWifi.name5")
|
||||||
MessageUtils.message("setWifi.name6")
|
));
|
||||||
|
|
||||||
|
//《设备共享》deviceShare
|
||||||
|
result.put("deviceShare",Arrays.asList(
|
||||||
|
MessageUtils.message("deviceShare.name0"),
|
||||||
|
MessageUtils.message("deviceShare.name1"),
|
||||||
|
MessageUtils.message("deviceShare.name2"),
|
||||||
|
MessageUtils.message("deviceShare.name3"),
|
||||||
|
MessageUtils.message("deviceShare.name4")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《我的》noinit
|
||||||
|
result.put("my",Arrays.asList(
|
||||||
|
MessageUtils.message("my.name0"),
|
||||||
|
MessageUtils.message("my.name1"),
|
||||||
|
MessageUtils.message("my.name2"),
|
||||||
|
MessageUtils.message("my.name3"),
|
||||||
|
MessageUtils.message("my.name4"),
|
||||||
|
MessageUtils.message("my.name5"),
|
||||||
|
MessageUtils.message("my.name6"),
|
||||||
|
MessageUtils.message("my.name7")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《我的账号》account
|
||||||
|
result.put("account",Arrays.asList(
|
||||||
|
MessageUtils.message("account.name0"),
|
||||||
|
MessageUtils.message("account.name1"),
|
||||||
|
MessageUtils.message("account.name2"),
|
||||||
|
MessageUtils.message("account.name3"),
|
||||||
|
MessageUtils.message("account.name4"),
|
||||||
|
MessageUtils.message("account.name5"),
|
||||||
|
MessageUtils.message("account.name6"),
|
||||||
|
MessageUtils.message("account.name7"),
|
||||||
|
MessageUtils.message("account.name8"),
|
||||||
|
MessageUtils.message("account.name9"),
|
||||||
|
MessageUtils.message("account.name10"),
|
||||||
|
MessageUtils.message("account.name11"),
|
||||||
|
MessageUtils.message("account.name12"),
|
||||||
|
MessageUtils.message("account.name13"),
|
||||||
|
MessageUtils.message("account.name14"),
|
||||||
|
MessageUtils.message("account.name15"),
|
||||||
|
MessageUtils.message("account.name16")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《修改昵称》accountForm
|
||||||
|
result.put("accountForm",Arrays.asList(
|
||||||
|
MessageUtils.message("accountForm.name0"),
|
||||||
|
MessageUtils.message("accountForm.name1"),
|
||||||
|
MessageUtils.message("accountForm.name2"),
|
||||||
|
MessageUtils.message("accountForm.name3"),
|
||||||
|
MessageUtils.message("accountForm.name4"),
|
||||||
|
MessageUtils.message("accountForm.name5"),
|
||||||
|
MessageUtils.message("accountForm.name6"),
|
||||||
|
MessageUtils.message("accountForm.name7"),
|
||||||
|
MessageUtils.message("accountForm.name8"),
|
||||||
|
MessageUtils.message("accountForm.name9"),
|
||||||
|
MessageUtils.message("accountForm.name10"),
|
||||||
|
MessageUtils.message("accountForm.name11"),
|
||||||
|
MessageUtils.message("accountForm.name12"),
|
||||||
|
MessageUtils.message("accountForm.name13"),
|
||||||
|
MessageUtils.message("accountForm.name14"),
|
||||||
|
MessageUtils.message("accountForm.name15"),
|
||||||
|
MessageUtils.message("accountForm.name16"),
|
||||||
|
MessageUtils.message("accountForm.name17"),
|
||||||
|
MessageUtils.message("accountForm.name18"),
|
||||||
|
MessageUtils.message("accountForm.name19"),
|
||||||
|
MessageUtils.message("accountForm.name20"),
|
||||||
|
MessageUtils.message("accountForm.name21"),
|
||||||
|
MessageUtils.message("accountForm.name22"),
|
||||||
|
MessageUtils.message("accountForm.name23"),
|
||||||
|
MessageUtils.message("accountForm.name24"),
|
||||||
|
MessageUtils.message("accountForm.name25")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《修改昵称》devForm
|
||||||
|
result.put("devForm",Arrays.asList(
|
||||||
|
MessageUtils.message("devForm.name0"),
|
||||||
|
MessageUtils.message("devForm.name1"),
|
||||||
|
MessageUtils.message("devForm.name2"),
|
||||||
|
MessageUtils.message("devForm.name3"),
|
||||||
|
MessageUtils.message("devForm.name4"),
|
||||||
|
MessageUtils.message("devForm.name5"),
|
||||||
|
MessageUtils.message("devForm.name6")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《分布管理》distribution
|
||||||
|
result.put("distribution",Arrays.asList(
|
||||||
|
MessageUtils.message("distribution.name0"),
|
||||||
|
MessageUtils.message("distribution.name1")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《家庭管理》family
|
||||||
|
result.put("family",Arrays.asList(
|
||||||
|
MessageUtils.message("family.name0"),
|
||||||
|
MessageUtils.message("family.name1"),
|
||||||
|
MessageUtils.message("family.name2"),
|
||||||
|
MessageUtils.message("family.name3"),
|
||||||
|
MessageUtils.message("family.name4")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《成员管理》familyDetail
|
||||||
|
result.put("familyDetail",Arrays.asList(
|
||||||
|
MessageUtils.message("familyDetail.name0"),
|
||||||
|
MessageUtils.message("familyDetail.name1"),
|
||||||
|
MessageUtils.message("familyDetail.name2"),
|
||||||
|
MessageUtils.message("familyDetail.name3"),
|
||||||
|
MessageUtils.message("familyDetail.name4"),
|
||||||
|
MessageUtils.message("familyDetail.name5"),
|
||||||
|
MessageUtils.message("familyDetail.name6"),
|
||||||
|
MessageUtils.message("familyDetail.name7"),
|
||||||
|
MessageUtils.message("familyDetail.name8")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《设置语言》setLanguage
|
||||||
|
result.put("setLanguage",Arrays.asList(
|
||||||
|
MessageUtils.message("setLanguage.name0")
|
||||||
|
));
|
||||||
|
|
||||||
|
//《配网》ble
|
||||||
|
result.put("ble",Arrays.asList(
|
||||||
|
MessageUtils.message("ble.name0"),
|
||||||
|
MessageUtils.message("ble.name1"),
|
||||||
|
MessageUtils.message("ble.name2"),
|
||||||
|
MessageUtils.message("ble.name3"),
|
||||||
|
MessageUtils.message("ble.name4"),
|
||||||
|
MessageUtils.message("ble.name5"),
|
||||||
|
MessageUtils.message("ble.name6"),
|
||||||
|
MessageUtils.message("ble.name7"),
|
||||||
|
MessageUtils.message("ble.name8"),
|
||||||
|
MessageUtils.message("ble.name9"),
|
||||||
|
MessageUtils.message("ble.name10"),
|
||||||
|
MessageUtils.message("ble.name11"),
|
||||||
|
MessageUtils.message("ble.name12"),
|
||||||
|
MessageUtils.message("ble.name13"),
|
||||||
|
MessageUtils.message("ble.name14"),
|
||||||
|
MessageUtils.message("ble.name15"),
|
||||||
|
MessageUtils.message("ble.name16"),
|
||||||
|
MessageUtils.message("ble.name17"),
|
||||||
|
MessageUtils.message("ble.name18"),
|
||||||
|
MessageUtils.message("ble.name19"),
|
||||||
|
MessageUtils.message("ble.name20"),
|
||||||
|
MessageUtils.message("ble.name21"),
|
||||||
|
MessageUtils.message("ble.name22"),
|
||||||
|
MessageUtils.message("ble.name23"),
|
||||||
|
MessageUtils.message("ble.name24"),
|
||||||
|
MessageUtils.message("ble.name25"),
|
||||||
|
MessageUtils.message("ble.name26"),
|
||||||
|
MessageUtils.message("ble.name27"),
|
||||||
|
MessageUtils.message("ble.name28"),
|
||||||
|
MessageUtils.message("ble.name29"),
|
||||||
|
MessageUtils.message("ble.name30"),
|
||||||
|
MessageUtils.message("ble.name31"),
|
||||||
|
MessageUtils.message("ble.name32"),
|
||||||
|
MessageUtils.message("ble.name33"),
|
||||||
|
MessageUtils.message("ble.name34"),
|
||||||
|
MessageUtils.message("ble.name35"),
|
||||||
|
MessageUtils.message("ble.name36"),
|
||||||
|
MessageUtils.message("ble.name37"),
|
||||||
|
MessageUtils.message("ble.name38"),
|
||||||
|
MessageUtils.message("ble.name39"),
|
||||||
|
MessageUtils.message("ble.name40"),
|
||||||
|
MessageUtils.message("ble.name41"),
|
||||||
|
MessageUtils.message("ble.name42"),
|
||||||
|
MessageUtils.message("ble.name43"),
|
||||||
|
MessageUtils.message("ble.name44"),
|
||||||
|
MessageUtils.message("ble.name45"),
|
||||||
|
MessageUtils.message("ble.name46"),
|
||||||
|
MessageUtils.message("ble.name47"),
|
||||||
|
MessageUtils.message("ble.name48"),
|
||||||
|
MessageUtils.message("ble.name49"),
|
||||||
|
MessageUtils.message("ble.name50"),
|
||||||
|
MessageUtils.message("ble.name51"),
|
||||||
|
MessageUtils.message("ble.name52"),
|
||||||
|
MessageUtils.message("ble.name53"),
|
||||||
|
MessageUtils.message("ble.name54"),
|
||||||
|
MessageUtils.message("ble.name55"),
|
||||||
|
MessageUtils.message("ble.name56"),
|
||||||
|
MessageUtils.message("ble.name57"),
|
||||||
|
MessageUtils.message("ble.name58"),
|
||||||
|
MessageUtils.message("ble.name59"),
|
||||||
|
MessageUtils.message("ble.name60"),
|
||||||
|
MessageUtils.message("ble.name61"),
|
||||||
|
MessageUtils.message("ble.name62"),
|
||||||
|
MessageUtils.message("ble.name63"),
|
||||||
|
MessageUtils.message("ble.name64")
|
||||||
));
|
));
|
||||||
|
|
||||||
return R.ok(result);
|
return R.ok(result);
|
||||||
|
|||||||
@ -1,24 +1,14 @@
|
|||||||
package org.dromara.web.controller.show;
|
package org.dromara.web.controller.show;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import jakarta.validation.constraints.*;
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import org.dromara.web.domain.vo.EqEquipmentStatisticsVo;
|
import org.dromara.web.domain.vo.EqEquipmentStatisticsVo;
|
||||||
import org.dromara.web.service.IEqEquipmentService;
|
import org.dromara.web.service.IEqEquipmentService;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
|
||||||
import org.dromara.common.log.annotation.Log;
|
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
|
||||||
import org.dromara.common.log.enums.BusinessType;
|
|
||||||
import org.dromara.common.excel.utils.ExcelUtil;
|
|
||||||
import org.dromara.web.domain.vo.EqEquipmentLogVo;
|
import org.dromara.web.domain.vo.EqEquipmentLogVo;
|
||||||
import org.dromara.web.domain.bo.EqEquipmentLogBo;
|
import org.dromara.web.domain.bo.EqEquipmentLogBo;
|
||||||
import org.dromara.web.service.IEqEquipmentLogService;
|
import org.dromara.web.service.IEqEquipmentLogService;
|
||||||
@ -53,10 +43,10 @@ public class EqShowEquipmentLogController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 设备类型统计
|
* 设备类型统计
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("device:showEquipmentLog:list")
|
// @SaCheckPermission("device:showEquipmentLog:list")
|
||||||
@GetMapping("/statisticEquipmentList")
|
@GetMapping("/selectEquipmentStatistic")
|
||||||
public R<EqEquipmentStatisticsVo> statisticEquipmentList(Integer type, String startTime, String endTime) {
|
public R<EqEquipmentStatisticsVo> selectEquipmentStatistic(Integer type, String startTime, String endTime) {
|
||||||
return R.ok(eqEquipmentService.statisticEquipmentList(type,startTime,endTime));
|
return R.ok(eqEquipmentService.selectEquipmentStatistic(type,startTime,endTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,91 @@
|
|||||||
|
package org.dromara.web.device.iot;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName : DeviceByDeviceName
|
||||||
|
* @Author : ZZC
|
||||||
|
* @Date : 2024/8/20 0:26
|
||||||
|
* @Description : 根据设备名称查询的信息 /api/tenant/devices
|
||||||
|
**/
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public class DeviceByDeviceName {
|
||||||
|
|
||||||
|
|
||||||
|
private IdDTO id;
|
||||||
|
private Long createdTime;
|
||||||
|
private AdditionalInfoDTO additionalInfo;
|
||||||
|
private TenantIdDTO tenantId;
|
||||||
|
private CustomerIdDTO customerId;
|
||||||
|
private String name;
|
||||||
|
private String type;
|
||||||
|
private String label;
|
||||||
|
private DeviceProfileIdDTO deviceProfileId;
|
||||||
|
private DeviceDataDTO deviceData;
|
||||||
|
private FirmwareIdDTO firmwareId;
|
||||||
|
private Object softwareId;
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class IdDTO {
|
||||||
|
private String entityType;
|
||||||
|
private String id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class AdditionalInfoDTO {
|
||||||
|
private Boolean gateway;
|
||||||
|
private Boolean overwriteActivityTime;
|
||||||
|
private String description;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class TenantIdDTO {
|
||||||
|
private String entityType;
|
||||||
|
private String id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class CustomerIdDTO {
|
||||||
|
private String entityType;
|
||||||
|
private String id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class DeviceProfileIdDTO {
|
||||||
|
private String entityType;
|
||||||
|
private String id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class DeviceDataDTO {
|
||||||
|
private ConfigurationDTO configuration;
|
||||||
|
private TransportConfigurationDTO transportConfiguration;
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class ConfigurationDTO {
|
||||||
|
private String type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class TransportConfigurationDTO {
|
||||||
|
private String type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public static class FirmwareIdDTO {
|
||||||
|
private String entityType;
|
||||||
|
private String id;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -74,7 +74,7 @@ public class EqEquipmentBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 设备状态
|
* 设备状态
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "设备状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotNull(message = "设备运行状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class EqEquipmentLogBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 用户id
|
* 用户id
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -47,17 +47,23 @@ public class EqEquipmentLogBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 设备ID
|
* 设备ID
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "设备ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "设备ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long equipmentId;
|
private Long equipmentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备编码
|
* 设备编码
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotBlank(message = "设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String equipmentCode;
|
private String equipmentCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
private String equipmentName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态 eq_status_log_type
|
* 状态 eq_status_log_type
|
||||||
|
*
|
||||||
* 0.停止中 stop
|
* 0.停止中 stop
|
||||||
* 1.关闭中 closing
|
* 1.关闭中 closing
|
||||||
* 2.开启中 openning
|
* 2.开启中 openning
|
||||||
@ -82,8 +88,11 @@ public class EqEquipmentLogBo extends BaseEntity {
|
|||||||
* 112.门体手动开启提醒
|
* 112.门体手动开启提醒
|
||||||
* 113.半开门运行提醒
|
* 113.半开门运行提醒
|
||||||
* 114.门体停止运行提醒
|
* 114.门体停止运行提醒
|
||||||
|
*
|
||||||
|
* 500.设备离线 offline
|
||||||
|
* 501.设备在线 online
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
// @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import java.io.Serializable;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备信息视图对象 eq_user_equipment
|
* 设备信息视图对象 eq_equipment_statistics
|
||||||
*
|
*
|
||||||
* @author zzc
|
* @author zzc
|
||||||
* @date 2024-08-13
|
* @date 2024-08-13
|
||||||
|
|||||||
@ -2,15 +2,12 @@ package org.dromara.web.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
||||||
import org.dromara.web.domain.EqEquipment;
|
import org.dromara.web.domain.EqEquipment;
|
||||||
import org.dromara.web.domain.vo.EqEquipmentStatisticsVo;
|
import org.dromara.web.domain.vo.EqEquipmentStatisticsVo;
|
||||||
import org.dromara.web.domain.vo.EqEquipmentVo;
|
import org.dromara.web.domain.vo.EqEquipmentVo;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
import org.dromara.web.domain.vo.EqUserEquipmentVo;
|
import org.dromara.web.domain.vo.EqUserEquipmentVo;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备信息Mapper接口
|
* 设备信息Mapper接口
|
||||||
*
|
*
|
||||||
@ -26,5 +23,5 @@ public interface EqEquipmentMapper extends BaseMapperPlus<EqEquipment, EqEquipme
|
|||||||
* @param type
|
* @param type
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
EqEquipmentStatisticsVo selectStatisticEquipmentList(Integer type, String startTime, String endTime);
|
EqEquipmentStatisticsVo selectEquipmentStatistic(Integer type, String startTime, String endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,5 +105,5 @@ public interface IEqEquipmentService {
|
|||||||
* @param type
|
* @param type
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
EqEquipmentStatisticsVo statisticEquipmentList(Integer type, String startTime, String endTime);
|
EqEquipmentStatisticsVo selectEquipmentStatistic(Integer type, String startTime, String endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,6 +60,7 @@ public class IotService {
|
|||||||
map.put("entityType","DEVICE");
|
map.put("entityType","DEVICE");
|
||||||
map.put("entityId",deviceCode);
|
map.put("entityId",deviceCode);
|
||||||
String send = getSend(CommonYmlConfig.URL_IOT_TELEMETRY, map);
|
String send = getSend(CommonYmlConfig.URL_IOT_TELEMETRY, map);
|
||||||
|
if (send.startsWith("{\"status\":")) return null;
|
||||||
JSONObject jsonObject = JSON.parseObject(send);
|
JSONObject jsonObject = JSON.parseObject(send);
|
||||||
//转换
|
//转换
|
||||||
Map<String, String> resultMap = new HashMap<>();
|
Map<String, String> resultMap = new HashMap<>();
|
||||||
@ -176,6 +177,21 @@ public class IotService {
|
|||||||
return deviceDto;
|
return deviceDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据设备名称获取获取设备信息
|
||||||
|
* @param deviceName
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public DeviceByDeviceName apiTenantDevicesByName(String deviceName){
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
map.put("deviceName",deviceName);
|
||||||
|
String send = getSend(CommonYmlConfig.URL_IOT_DEVICE_BY_NAME, map);
|
||||||
|
JSONObject jsonObject = JSON.parseObject(send);
|
||||||
|
DeviceByDeviceName deviceDto = jsonObject.toJavaObject(DeviceByDeviceName.class);
|
||||||
|
if (deviceDto.getId()==null) throw new RuntimeException(MessageUtils.message("message.fault.device.notfound"));
|
||||||
|
return deviceDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getToken() {
|
public String getToken() {
|
||||||
String token = tokenCache.getIfPresent("token");
|
String token = tokenCache.getIfPresent("token");
|
||||||
|
|||||||
@ -78,7 +78,7 @@ public class EqEquipmentLogServiceImpl implements IEqEquipmentLogService {
|
|||||||
lqw.eq(bo.getStatus() != null, EqEquipmentLog::getStatus, bo.getStatus());
|
lqw.eq(bo.getStatus() != null, EqEquipmentLog::getStatus, bo.getStatus());
|
||||||
lqw.eq(bo.getFaultStatus() != null, EqEquipmentLog::getFaultStatus, bo.getFaultStatus());
|
lqw.eq(bo.getFaultStatus() != null, EqEquipmentLog::getFaultStatus, bo.getFaultStatus());
|
||||||
lqw.eq(bo.getLineStatus() != null, EqEquipmentLog::getLineStatus, bo.getLineStatus());
|
lqw.eq(bo.getLineStatus() != null, EqEquipmentLog::getLineStatus, bo.getLineStatus());
|
||||||
lqw.eq(bo.getCreatedYearDay() != null, EqEquipmentLog::getCreatedYearDay, bo.getCreatedYearDay());
|
lqw.eq(StringUtils.isNotBlank(bo.getCreatedYearDay()), EqEquipmentLog::getCreatedYearDay, bo.getCreatedYearDay());
|
||||||
lqw.eq(bo.getCreatedHourSecond() != null, EqEquipmentLog::getCreatedHourSecond, bo.getCreatedHourSecond());
|
lqw.eq(bo.getCreatedHourSecond() != null, EqEquipmentLog::getCreatedHourSecond, bo.getCreatedHourSecond());
|
||||||
lqw.eq(bo.getDayOfWeek() != null, EqEquipmentLog::getDayOfWeek, bo.getDayOfWeek());
|
lqw.eq(bo.getDayOfWeek() != null, EqEquipmentLog::getDayOfWeek, bo.getDayOfWeek());
|
||||||
// lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
|
// lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package org.dromara.web.service.impl;
|
package org.dromara.web.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.MessageUtils;
|
import org.dromara.common.core.utils.MessageUtils;
|
||||||
@ -14,10 +14,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.dromara.system.domain.vo.SysUserVo;
|
import org.dromara.system.domain.vo.SysUserVo;
|
||||||
import org.dromara.system.service.ISysUserService;
|
import org.dromara.system.service.ISysUserService;
|
||||||
import org.dromara.web.device.*;
|
import org.dromara.web.device.*;
|
||||||
import org.dromara.web.device.iot.DeviceClientMsgDto;
|
import org.dromara.web.device.iot.*;
|
||||||
import org.dromara.web.device.iot.DeviceDto;
|
|
||||||
import org.dromara.web.device.iot.DeviceMsgDto;
|
|
||||||
import org.dromara.web.device.iot.DeviceServerMsgDto;
|
|
||||||
import org.dromara.web.domain.EqArea;
|
import org.dromara.web.domain.EqArea;
|
||||||
import org.dromara.web.domain.bo.*;
|
import org.dromara.web.domain.bo.*;
|
||||||
import org.dromara.web.domain.vo.EqEquipmentDetailVo;
|
import org.dromara.web.domain.vo.EqEquipmentDetailVo;
|
||||||
@ -73,6 +70,21 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
public TableDataInfo<EqEquipmentVo> queryPageList(EqEquipmentBo bo, PageQuery pageQuery) {
|
public TableDataInfo<EqEquipmentVo> queryPageList(EqEquipmentBo bo, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<EqEquipment> lqw = buildQueryWrapper(bo);
|
LambdaQueryWrapper<EqEquipment> lqw = buildQueryWrapper(bo);
|
||||||
Page<EqEquipmentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
Page<EqEquipmentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
List<EqEquipmentVo> records = result.getRecords();
|
||||||
|
if (CollUtil.isEmpty(records)) return TableDataInfo.build(result);
|
||||||
|
//获取遥测数据
|
||||||
|
|
||||||
|
for (EqEquipmentVo record : records) {
|
||||||
|
String equipmentCode = record.getEquipmentCode();
|
||||||
|
DeviceMsgDto telemetryMsg = iotService.httpTelemetryGetSend(equipmentCode);
|
||||||
|
if (telemetryMsg == null) {
|
||||||
|
record.setLineStatus(0);//未获取到数据统一为离线
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
record.setStatus(telemetryMsg.getOpenPercentage());
|
||||||
|
record.setFaultStatus(telemetryMsg.getGarageException());
|
||||||
|
}
|
||||||
|
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,7 +234,7 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
//获取服务属性状态
|
//获取服务属性状态
|
||||||
DeviceServerMsgDto serverMsg = iotService.httpServerGetSend(bo.getEquipmentCode());
|
DeviceServerMsgDto serverMsg = iotService.httpServerGetSend(bo.getEquipmentCode());
|
||||||
result.setLineStatus(serverMsg.getLineStatus()?1:0);
|
result.setLineStatus(serverMsg.getLineStatus()?1:0);
|
||||||
|
if (!serverMsg.getLineStatus()) return result;
|
||||||
//获取客户端属性
|
//获取客户端属性
|
||||||
DeviceClientMsgDto clientMsg = iotService.httpClientGetSend(bo.getEquipmentCode());
|
DeviceClientMsgDto clientMsg = iotService.httpClientGetSend(bo.getEquipmentCode());
|
||||||
result.setEquipmentType(clientMsg.getEquipmentType());
|
result.setEquipmentType(clientMsg.getEquipmentType());
|
||||||
@ -233,7 +245,10 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
|
|
||||||
//获取遥测数据
|
//获取遥测数据
|
||||||
DeviceMsgDto telemetryMsg = iotService.httpTelemetryGetSend(bo.getEquipmentCode());
|
DeviceMsgDto telemetryMsg = iotService.httpTelemetryGetSend(bo.getEquipmentCode());
|
||||||
|
if (telemetryMsg == null) {
|
||||||
|
System.out.println("未获取到设备信息");
|
||||||
|
result.setLineStatus(0);
|
||||||
|
}
|
||||||
//开合状态
|
//开合状态
|
||||||
result.setOpenStatus(telemetryMsg.getOpenPercentage());
|
result.setOpenStatus(telemetryMsg.getOpenPercentage());
|
||||||
result.setOpenStatusText(
|
result.setOpenStatusText(
|
||||||
@ -254,15 +269,27 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean bindDevice(EqAppHomeBo bo) {
|
public Boolean bindDevice(EqAppHomeBo bo) {
|
||||||
|
|
||||||
String equipmentCode = bo.getEquipmentCode();
|
String equipmentCode = bo.getEquipmentCode(); //这里的设备编码改成了设备mac地址
|
||||||
|
//通过设备mac地址查询设备编码
|
||||||
|
final String macPrefix = "mock_";
|
||||||
|
|
||||||
|
equipmentCode = macPrefix + equipmentCode;
|
||||||
|
|
||||||
|
//根据设备名称地址查询设备id(设备code)
|
||||||
|
DeviceByDeviceName deviceByNameDto = iotService.apiTenantDevicesByName(equipmentCode);//无信息会抛异常 无需判断
|
||||||
|
if (deviceByNameDto==null) throw new RuntimeException(MessageUtils.message("iot.device.notFound"));
|
||||||
|
String equipmentName = equipmentCode;//暂时不存设备名称 下面从其他接口获取并存入了
|
||||||
|
equipmentCode = deviceByNameDto.getId().getId();
|
||||||
|
|
||||||
LambdaQueryWrapper<EqEquipment> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<EqEquipment> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.eq( EqEquipment::getEquipmentCode,equipmentCode);
|
lqw.eq( EqEquipment::getEquipmentCode,equipmentCode);
|
||||||
EqEquipmentVo eqEquipmentVo = baseMapper.selectVoOne(lqw);
|
EqEquipmentVo eqEquipmentVo = baseMapper.selectVoOne(lqw);
|
||||||
if (eqEquipmentVo!=null) throw new RuntimeException("设备已绑定");
|
if (eqEquipmentVo!=null) throw new RuntimeException(MessageUtils.message("message.fault.device.isbind"));
|
||||||
|
|
||||||
DeviceServerMsgDto deviceServerMsgDto = iotService.httpServerGetSend(equipmentCode);
|
DeviceServerMsgDto deviceServerMsgDto = iotService.httpServerGetSend(equipmentCode);
|
||||||
if (!deviceServerMsgDto.getLineStatus()) throw new RuntimeException("设备未连接 无法绑定");
|
if (!deviceServerMsgDto.getLineStatus()) throw new RuntimeException(MessageUtils.message("message.fault.device.offline"));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//从iot平台设置用户绑定 并获取设备信息
|
//从iot平台设置用户绑定 并获取设备信息
|
||||||
DeviceDto deviceDto = iotService.httpDeviceGetSend(equipmentCode);//无信息会抛异常 无需判断
|
DeviceDto deviceDto = iotService.httpDeviceGetSend(equipmentCode);//无信息会抛异常 无需判断
|
||||||
@ -277,14 +304,17 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
eqEquipmentBo.setUserName(sysUserVo.getUserName());
|
eqEquipmentBo.setUserName(sysUserVo.getUserName());
|
||||||
eqEquipmentBo.setNickName(sysUserVo.getNickName());
|
eqEquipmentBo.setNickName(sysUserVo.getNickName());
|
||||||
DeviceMsgDto deviceMsgDto = iotService.httpTelemetryGetSend(equipmentCode);
|
DeviceMsgDto deviceMsgDto = iotService.httpTelemetryGetSend(equipmentCode);
|
||||||
|
if (deviceMsgDto==null){
|
||||||
|
eqEquipmentBo.setStatus(deviceMsgDto.getOpenPercentage());//使用半开作为状态值
|
||||||
|
eqEquipmentBo.setFaultStatus(deviceMsgDto.getGarageException());
|
||||||
|
eqEquipmentBo.setLineStatus(1);//在线
|
||||||
|
}else{
|
||||||
|
eqEquipmentBo.setLineStatus(0);//离线
|
||||||
|
}
|
||||||
|
|
||||||
eqEquipmentBo.setStatus(deviceMsgDto.getOpenPercentage());//使用半开作为状态值
|
|
||||||
eqEquipmentBo.setFaultStatus(deviceMsgDto.getGarageException());
|
|
||||||
eqEquipmentBo.setLineStatus(1);//在线
|
|
||||||
|
|
||||||
//判断是否获取到信息 无信息会抛异常 无需判断
|
//判断是否获取到信息 无信息会抛异常 无需判断
|
||||||
EqEquipment add = MapstructUtils.convert(eqEquipmentBo, EqEquipment.class);
|
EqEquipment add = MapstructUtils.convert(eqEquipmentBo, EqEquipment.class);
|
||||||
validEntityBeforeSave(add);
|
|
||||||
baseMapper.insert(add);
|
baseMapper.insert(add);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -308,8 +338,8 @@ public class EqEquipmentServiceImpl implements IEqEquipmentService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EqEquipmentStatisticsVo statisticEquipmentList(Integer type, String startTime, String endTime) {
|
public EqEquipmentStatisticsVo selectEquipmentStatistic(Integer type, String startTime, String endTime) {
|
||||||
EqEquipmentStatisticsVo result = baseMapper.selectStatisticEquipmentList(type, startTime, endTime);
|
EqEquipmentStatisticsVo result = baseMapper.selectEquipmentStatistic(type, startTime, endTime);
|
||||||
result.setType(type);
|
result.setType(type);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,7 +95,7 @@ spring.data:
|
|||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 6379
|
port: 6379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 0
|
database: 2
|
||||||
# redis 密码必须配置
|
# redis 密码必须配置
|
||||||
password: ruoyi123
|
password: ruoyi123
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
@ -264,3 +264,4 @@ iot:
|
|||||||
telemetry: /api/plugins/telemetry/{entityType}/{entityId}/values/timeseries
|
telemetry: /api/plugins/telemetry/{entityType}/{entityId}/values/timeseries
|
||||||
operate: /api/plugins/rpc/oneway/{deviceId}
|
operate: /api/plugins/rpc/oneway/{deviceId}
|
||||||
device: /api/device/{deviceId}
|
device: /api/device/{deviceId}
|
||||||
|
deviceByName: /api/tenant/devices?deviceName={deviceName}
|
||||||
|
|||||||
@ -259,3 +259,5 @@ runStatus.name14=deviceException
|
|||||||
|
|
||||||
|
|
||||||
message.fault.device.notfound = Device not found
|
message.fault.device.notfound = Device not found
|
||||||
|
message.fault.device.isbind = Device is offline
|
||||||
|
message.fault.device.offline = Device is offline
|
||||||
|
|||||||
@ -60,191 +60,6 @@ tenant.not.exists=对不起, 您的租户不存在,请联系管理员
|
|||||||
tenant.blocked=对不起,您的租户已禁用,请联系管理员
|
tenant.blocked=对不起,您的租户已禁用,请联系管理员
|
||||||
tenant.expired=对不起,您的租户已过期,请联系管理员
|
tenant.expired=对不起,您的租户已过期,请联系管理员
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##《登录》login
|
|
||||||
login.name0=登录
|
|
||||||
login.name1=请输入账号
|
|
||||||
login.name2=请输入密码
|
|
||||||
login.name3=我已阅读并同意签署
|
|
||||||
login.name4=立即注册
|
|
||||||
##《注册》register
|
|
||||||
register.name0=注册
|
|
||||||
register.name1=注册账号
|
|
||||||
register.name2=请输入账号
|
|
||||||
register.name3=请输入密码
|
|
||||||
register.name4=请再次输入密码
|
|
||||||
##《注册成功》registerSuccess
|
|
||||||
registerSuccess.name0=注册成功
|
|
||||||
registerSuccess.name1=您的登录账号
|
|
||||||
registerSuccess.name2=您的密码
|
|
||||||
registerSuccess.name3=立即登录
|
|
||||||
##《首页》homepage
|
|
||||||
homepage.name0=首页
|
|
||||||
homepage.name1=状态
|
|
||||||
homepage.name2=已关闭
|
|
||||||
homepage.name3=打开
|
|
||||||
##《关门提醒》warningClose
|
|
||||||
warningClose.name0=关门提醒
|
|
||||||
warningClose.name1=设备-deviceName-已开门-num-分钟了,请记得关门
|
|
||||||
warningClose.name2=关门
|
|
||||||
warningClose.name3=我知道了
|
|
||||||
##《添加设备》add
|
|
||||||
add.name0=添加设备
|
|
||||||
add.name1=请输入设备编码
|
|
||||||
add.name2=请输入
|
|
||||||
add.name3=添加
|
|
||||||
## 《添加成功》addSuccess
|
|
||||||
addSuccess.name0=添加成功
|
|
||||||
addSuccess.name1=返回
|
|
||||||
addSuccess.name2=继续搜索
|
|
||||||
##《添加失败》addFailure
|
|
||||||
addFailure.name0=添加失败
|
|
||||||
addFailure.name1=请正确的设备编号后再试
|
|
||||||
addFailure.name2=返回
|
|
||||||
addFailure.name3=重新添加
|
|
||||||
##《设备详情》detail
|
|
||||||
detail.name0=详情
|
|
||||||
##(已关闭 打开10% 打开100%)
|
|
||||||
detail.name1=状态
|
|
||||||
detail.name2=已关闭
|
|
||||||
detail.name3=打开
|
|
||||||
detail.name4=运行状态
|
|
||||||
detail.name5=半开
|
|
||||||
detail.name6=关
|
|
||||||
detail.name7=停
|
|
||||||
detail.name8=开
|
|
||||||
detail.name9=半开门
|
|
||||||
detail.name10=灯管理
|
|
||||||
detail.name11=设置
|
|
||||||
detail.name12=min分second秒后关灯
|
|
||||||
detail.name13=倒计时重置
|
|
||||||
detail.name14=运行次数
|
|
||||||
detail.name15=操作次数
|
|
||||||
detail.name16=数据日志
|
|
||||||
detail.name17=清码
|
|
||||||
detail.name18=对码
|
|
||||||
##《倒计时设置》countdown
|
|
||||||
countdown.name0=倒计时设置
|
|
||||||
countdown.name1=取消
|
|
||||||
countdown.name2=确认
|
|
||||||
##《数据日志》log
|
|
||||||
log.name0=数据日志
|
|
||||||
log.name1=选择日期
|
|
||||||
log.name2=今天
|
|
||||||
log.name3=周日
|
|
||||||
log.name4=周一
|
|
||||||
log.name5=周二
|
|
||||||
log.name6=周三
|
|
||||||
log.name7=周四
|
|
||||||
log.name8=周五
|
|
||||||
log.name9=周六
|
|
||||||
log.name10=开门提醒
|
|
||||||
##《对码》checkcode
|
|
||||||
checkcode.name0=对码
|
|
||||||
checkcode.name1=对码中
|
|
||||||
checkcode.name2=对码成功
|
|
||||||
checkcode.name3=对码失败请重试
|
|
||||||
##《清码》clearcode
|
|
||||||
clearcode.name0=提示
|
|
||||||
clearcode.name1=请输入登录密码
|
|
||||||
clearcode.name2=请输入登录密码才能进行设备清码
|
|
||||||
clearcode.name3=取消
|
|
||||||
clearcode.name4=确认
|
|
||||||
clearcode.name5=密码错误请重试
|
|
||||||
|
|
||||||
##《设备掉线详情》offDetail
|
|
||||||
offDetail.name0=详情
|
|
||||||
offDetail.name1=设备已离线
|
|
||||||
|
|
||||||
##《优化-设置》set
|
|
||||||
set.name0=设置
|
|
||||||
set.name1=设备名称
|
|
||||||
set.name2=设备位置
|
|
||||||
set.name3=反弹力设置
|
|
||||||
set.name4=红外感应
|
|
||||||
set.name5=开启此功能,电机关门时,如有人或物在门下经过则触发红外感应器 ,门会立即停止关闭,并打开。
|
|
||||||
set.name6=行程距离限制
|
|
||||||
set.name7=半开门功能开关
|
|
||||||
set.name8=半开门高度设置
|
|
||||||
set.name9=提醒关门功能开关
|
|
||||||
set.name10=提醒关门时间设置
|
|
||||||
set.name11=自动关门 (提示 启动自动开门功能,需要先打开红外保护感应功能)
|
|
||||||
set.name12=打开此功能,当门开到最大时,在设置的倒计时时间内,门没有被控制,则在倒计时结束后,门会自动关闭。
|
|
||||||
set.name13=自动关门时间设置
|
|
||||||
set.name14=运行次数
|
|
||||||
set.name15=WiFi网络
|
|
||||||
set.name16=时区
|
|
||||||
set.name17=设备型号
|
|
||||||
set.name18=序列号
|
|
||||||
set.name19=模组版本
|
|
||||||
set.name20=MCU版本
|
|
||||||
set.name21=删除设备
|
|
||||||
|
|
||||||
##《通用》setCommon
|
|
||||||
setCommon.detail=详情
|
|
||||||
setCommon.add=添加
|
|
||||||
setCommon.edit=编辑
|
|
||||||
setCommon.delete=删除
|
|
||||||
setCommon.alert=提示
|
|
||||||
setCommon.cancel=取消
|
|
||||||
setCommon.confirm=确认
|
|
||||||
|
|
||||||
##《未设置详情》noinit
|
|
||||||
noinit.name0=详情
|
|
||||||
noinit.name1=行程未校准
|
|
||||||
noinit.name2=设备未校准行程,将不能进行设备控制
|
|
||||||
noinit.name3=行程校准教程
|
|
||||||
noinit.name4=请在设备上操作
|
|
||||||
noinit.name5=设置开门位置:
|
|
||||||
noinit.name6=1.请长按“SET”键
|
|
||||||
noinit.name7=观察:显示器显示”1”闪烁
|
|
||||||
noinit.name8=2.再次按下"SET"键
|
|
||||||
noinit.name9=观察:显示器显示为”1”常亮
|
|
||||||
noinit.name10=3.长按"UP"键,使门至最大开门位置后松手停止
|
|
||||||
noinit.name11=观察:门向开门方向运行,当门达到最大开门位置后
|
|
||||||
noinit.name12=设置关门位置:
|
|
||||||
noinit.name13=4.再次按下”SET"键
|
|
||||||
noinit.name14=观察:显示器显示为”2”常亮
|
|
||||||
noinit.name15=5.长按“向下”键至关闭位置后松手
|
|
||||||
noinit.name16=观察:门向关门方向运行,当门达到关闭位置后停止
|
|
||||||
noinit.name17=自动校验:
|
|
||||||
noinit.name18=6.再次按下"SET"键
|
|
||||||
|
|
||||||
|
|
||||||
##《修改设备名称》setEqname
|
|
||||||
setEqname.name0=修改设备名称
|
|
||||||
setEqname.name1=请输入名称
|
|
||||||
setEqname.name2=上一页
|
|
||||||
setEqname.name3=确认
|
|
||||||
##《设备位置修改》setEqarea
|
|
||||||
setEqarea.name0=修改设备位置
|
|
||||||
setEqarea.name1=上一页
|
|
||||||
setEqarea.name2=确认
|
|
||||||
##《反弹力设置》setRebound
|
|
||||||
setRebound.name0=电机反弹力
|
|
||||||
setRebound.name1=调节反弹力
|
|
||||||
setRebound.name2=电机在开门时,若开门的力超出设定范围值,门会立即停止开门;
|
|
||||||
setRebound.name3=若关门的力超出设定范围值,门会立即停止关闭并开门,此功能可以调整开/关门感应力的范围值。
|
|
||||||
##《删除设备》setDelete
|
|
||||||
setDelete.name0=删除设备
|
|
||||||
setDelete.name1=提示
|
|
||||||
setDelete.name2=删除设备后,将不能管理设备请谨慎操作!
|
|
||||||
setDelete.name3=取消
|
|
||||||
setDelete.name4=确认删除
|
|
||||||
##《时区设置》setZone
|
|
||||||
setZone.name0=时区
|
|
||||||
setZone.name1=时间格式
|
|
||||||
##《wifi网络》setWifi
|
|
||||||
setWifi.name0=wifi网络
|
|
||||||
setWifi.name1=提示
|
|
||||||
setWifi.name2=已链接WiFi:XXXXXXXX
|
|
||||||
setWifi.name3=若需更换网络,请确保你在设备旁
|
|
||||||
setWifi.name4=边后,点击重置WiFi按钮
|
|
||||||
setWifi.name5=确认删除
|
|
||||||
setWifi.name6=取消
|
|
||||||
|
|
||||||
## 《开合状态》
|
## 《开合状态》
|
||||||
openStatus.name0=已关闭
|
openStatus.name0=已关闭
|
||||||
openStatus.name1=打开
|
openStatus.name1=打开
|
||||||
@ -285,3 +100,368 @@ logStatus.name113=半开门运行提醒
|
|||||||
logStatus.name114=门体停止运行提醒
|
logStatus.name114=门体停止运行提醒
|
||||||
|
|
||||||
message.fault.device.notfound = 设备不存在
|
message.fault.device.notfound = 设备不存在
|
||||||
|
message.fault.device.isbind = 设备已绑定
|
||||||
|
message.fault.device.offline = 设备未连接 无法绑定
|
||||||
|
|
||||||
|
|
||||||
|
#====== app =========
|
||||||
|
##《登录》login
|
||||||
|
login.name0=登录
|
||||||
|
login.name1=请输入账号
|
||||||
|
login.name2=请输入密码
|
||||||
|
login.name3=我已阅读并同意签署
|
||||||
|
login.name4=立即注册
|
||||||
|
login.name5=支持手机号/邮箱登录
|
||||||
|
##《注册》register
|
||||||
|
register.name0=注册
|
||||||
|
register.name1=注册账号
|
||||||
|
register.name2=请输入账号
|
||||||
|
register.name3=请输入密码
|
||||||
|
register.name4=请再次输入密码
|
||||||
|
register.name5=两次输入的密码不一致
|
||||||
|
##《注册成功》registerSuccess
|
||||||
|
registerSuccess.name0=注册成功
|
||||||
|
registerSuccess.name1=您的登录账号
|
||||||
|
registerSuccess.name2=您的密码
|
||||||
|
registerSuccess.name3=立即登录
|
||||||
|
##《首页》homepage
|
||||||
|
homepage.name0=首页
|
||||||
|
homepage.name1=状态
|
||||||
|
homepage.name2=已关闭
|
||||||
|
homepage.name3=打开
|
||||||
|
homepage.name4=关门提醒
|
||||||
|
homepage.name5=开门提醒
|
||||||
|
homepage.name6=暂停提醒
|
||||||
|
homepage.name7=已关门
|
||||||
|
homepage.name8=是否开门?
|
||||||
|
homepage.name9=是否暂停
|
||||||
|
homepage.name10=请选择
|
||||||
|
##《关门提醒》warningClose
|
||||||
|
warningClose.name0=关门提醒
|
||||||
|
warningClose.name1=设备-deviceName-已开门-num-分钟了,请记得关门
|
||||||
|
warningClose.name2=设备
|
||||||
|
warningClose.name3=已开门
|
||||||
|
warningClose.name4=分钟了,请记得关门
|
||||||
|
warningClose.name5=关门
|
||||||
|
warningClose.name6=我知道了
|
||||||
|
##《添加设备》add
|
||||||
|
add.name0=添加设备
|
||||||
|
add.name1=请输入设备编码
|
||||||
|
add.name2=请输入
|
||||||
|
add.name3=添加
|
||||||
|
## 《添加成功》addSuccess
|
||||||
|
addSuccess.name0=添加成功
|
||||||
|
addSuccess.name1=返回
|
||||||
|
addSuccess.name2=继续搜索
|
||||||
|
##《添加失败》addFailure
|
||||||
|
addFailure.name0=添加失败
|
||||||
|
addFailure.name1=请输入正确的设备编号后再试
|
||||||
|
addFailure.name3=重新添加
|
||||||
|
##《设备详情》detail
|
||||||
|
detail.name0=详情
|
||||||
|
##(已关闭 打开10% 打开100%)
|
||||||
|
detail.name1=状态
|
||||||
|
detail.name2=已关闭
|
||||||
|
detail.name3=打开
|
||||||
|
detail.name4=运行状态
|
||||||
|
detail.name5=半开
|
||||||
|
detail.name6=关
|
||||||
|
detail.name7=停
|
||||||
|
detail.name8=开
|
||||||
|
detail.name9=半开门
|
||||||
|
detail.name10=灯管理
|
||||||
|
detail.name11=设置
|
||||||
|
detail.name12=min分second秒后关灯
|
||||||
|
detail.name13=倒计时重置
|
||||||
|
detail.name14=运行次数
|
||||||
|
detail.name15=操作次数
|
||||||
|
detail.name16=数据日志
|
||||||
|
detail.name17=清码
|
||||||
|
detail.name18=对码
|
||||||
|
detail.name19=开门设置
|
||||||
|
detail.name20=已打开
|
||||||
|
##《倒计时设置》countdown
|
||||||
|
countdown.name0=倒计时设置
|
||||||
|
countdown.name1=取消
|
||||||
|
countdown.name2=确认
|
||||||
|
##《数据日志》log
|
||||||
|
log.name0=数据日志
|
||||||
|
log.name1=选择日期
|
||||||
|
log.name2=今天
|
||||||
|
log.name3=周日
|
||||||
|
log.name4=周一
|
||||||
|
log.name5=周二
|
||||||
|
log.name6=周三
|
||||||
|
log.name7=周四
|
||||||
|
log.name8=周五
|
||||||
|
log.name9=周六
|
||||||
|
log.name10=开门提醒
|
||||||
|
log.name11=年
|
||||||
|
log.name12=月
|
||||||
|
log.name13=日
|
||||||
|
log.name14=时
|
||||||
|
log.name15=分
|
||||||
|
log.name16=秒
|
||||||
|
##《对码》checkcode
|
||||||
|
checkcode.name0=对码
|
||||||
|
checkcode.name1=对码中
|
||||||
|
checkcode.name2=对码成功
|
||||||
|
checkcode.name3=对码失败请重试
|
||||||
|
##《清码》clearcode
|
||||||
|
clearcode.name0=提示
|
||||||
|
clearcode.name1=请输入登录密码
|
||||||
|
clearcode.name2=请输入登录密码才能进行设备清码
|
||||||
|
clearcode.name3=取消
|
||||||
|
clearcode.name4=确认
|
||||||
|
clearcode.name5=密码错误请重试
|
||||||
|
|
||||||
|
##《设备掉线详情》offDetail
|
||||||
|
offDetail.name0=详情
|
||||||
|
offDetail.name1=设备已离线
|
||||||
|
|
||||||
|
##《优化-设置》set
|
||||||
|
set.name0=设置
|
||||||
|
set.name1=设备名称
|
||||||
|
set.name2=设备位置
|
||||||
|
set.name3=反弹力设置
|
||||||
|
set.name4=红外感应
|
||||||
|
set.name5=开启此功能,电机关门时,如有人或物在门下经过则触发红外感应器 ,门会立即停止关闭,并打开。
|
||||||
|
set.name6=行程距离限制
|
||||||
|
set.name7=半开门功能开关
|
||||||
|
set.name8=半开门高度设置
|
||||||
|
set.name9=提醒关门功能开关
|
||||||
|
set.name10=提醒关门时间设置
|
||||||
|
set.name11=自动关门
|
||||||
|
set.name12=打开此功能,当门开到最大时,在设置的倒计时时间内,门没有被控制,则在倒计时结束后,门会自动关闭。
|
||||||
|
set.name13=自动关门时间设置
|
||||||
|
set.name14=运行次数
|
||||||
|
set.name15=WiFi网络
|
||||||
|
set.name16=时区
|
||||||
|
set.name17=设备型号
|
||||||
|
set.name18=序列号
|
||||||
|
set.name19=模组版本
|
||||||
|
set.name20=MCU版本
|
||||||
|
set.name21=删除设备
|
||||||
|
set.name22=启动自动开门功能,需要先打开红外保护感应功能
|
||||||
|
|
||||||
|
##《通用》setCommon
|
||||||
|
setCommon.detail=详情
|
||||||
|
setCommon.add=添加
|
||||||
|
setCommon.edit=编辑
|
||||||
|
setCommon.delete=删除
|
||||||
|
setCommon.alert=提示
|
||||||
|
setCommon.cancel=取消
|
||||||
|
setCommon.confirm=确认
|
||||||
|
|
||||||
|
##《未设置详情》noinit
|
||||||
|
noinit.name0=详情
|
||||||
|
noinit.name1=行程未校准
|
||||||
|
noinit.name2=设备未校准行程,将不能进行设备控制
|
||||||
|
noinit.name3=行程校准教程
|
||||||
|
noinit.name4=请在设备上操作
|
||||||
|
noinit.name5=设置开门位置
|
||||||
|
noinit.name6=1.请长按“SET”键
|
||||||
|
noinit.name7=观察:显示器显示“1”闪烁
|
||||||
|
noinit.name8=2.再次按下"SET"键
|
||||||
|
noinit.name9=观察:显示器显示为“1”常亮
|
||||||
|
noinit.name10=3.长按“UP”键,使门至最大开门位置后松手停止
|
||||||
|
noinit.name11=观察:门向开门方向运行,当门达到最大开门位置后
|
||||||
|
noinit.name12=设置关门位置:
|
||||||
|
noinit.name13=4.再次按下“SET”键
|
||||||
|
noinit.name14=观察:显示器显示为“2”常亮
|
||||||
|
noinit.name15=5.长按“向下”键至关闭位置后松手
|
||||||
|
noinit.name16=观察:门向关门方向运行,当门达到关闭位置后停止
|
||||||
|
noinit.name17=自动校验:
|
||||||
|
noinit.name18=6.再次按下“SET”键
|
||||||
|
|
||||||
|
|
||||||
|
##《修改设备名称》setEqname
|
||||||
|
setEqname.name0=修改设备名称
|
||||||
|
setEqname.name1=请输入名称
|
||||||
|
setEqname.name2=上一页
|
||||||
|
setEqname.name3=确认
|
||||||
|
##《设备位置修改》setEqarea
|
||||||
|
setEqarea.name0=修改设备位置
|
||||||
|
setEqarea.name1=上一页
|
||||||
|
setEqarea.name2=确认
|
||||||
|
##《反弹力设置》setRebound
|
||||||
|
setRebound.name0=电机反弹力
|
||||||
|
setRebound.name1=调节反弹力
|
||||||
|
setRebound.name2=电机在开门时,若开门的力超出设定范围值,门会立即停止开门;
|
||||||
|
setRebound.name3=若关门的力超出设定范围值,门会立即停止关闭并开门,此功能可以调整开/关门感应力的范围值。
|
||||||
|
##《删除设备》setDelete
|
||||||
|
setDelete.name0=删除设备
|
||||||
|
setDelete.name1=提示
|
||||||
|
setDelete.name2=删除设备后,将不能管理设备请谨慎操作!
|
||||||
|
setDelete.name3=取消
|
||||||
|
setDelete.name4=确认删除
|
||||||
|
##《时区设置》setZone
|
||||||
|
setZone.name0=时区
|
||||||
|
setZone.name1=选择时间格式
|
||||||
|
setZone.name2=时间格式
|
||||||
|
##《wifi网络》setWifi
|
||||||
|
setWifi.name0=wifi网络
|
||||||
|
setWifi.name1=提示
|
||||||
|
setWifi.name2=已连接WiFi
|
||||||
|
setWifi.name3=若需更换网络,请确保你在设备旁边后,点击重置WiFi按钮
|
||||||
|
setWifi.name4=确认删除
|
||||||
|
setWifi.name5=取消
|
||||||
|
|
||||||
|
# 《设备共享》deviceShare
|
||||||
|
deviceShare.name1 = 设备共享
|
||||||
|
deviceShare.name2 = 请输入对方登录账号
|
||||||
|
deviceShare.name3 = 温馨提示
|
||||||
|
deviceShare.name4 = 设备共享后,对方账号也可以访问管理当前账号所有设备,对方不可删除当前账号设备。
|
||||||
|
|
||||||
|
# 《我的》my
|
||||||
|
my.name0 = 登录账号
|
||||||
|
my.name1 = 账号管理
|
||||||
|
my.name2 = 分布管理
|
||||||
|
my.name3 = 家庭管理
|
||||||
|
my.name4 = 设备共享
|
||||||
|
my.name5 = 切换语言
|
||||||
|
my.name6 = 我的
|
||||||
|
my.name7 = 设备配网
|
||||||
|
|
||||||
|
# 《我的账号》account
|
||||||
|
account.name0=我的账号
|
||||||
|
account.name1=退出登录
|
||||||
|
account.name2=头像
|
||||||
|
account.name3=昵称
|
||||||
|
account.name4=邮箱
|
||||||
|
account.name5=设置登录密码
|
||||||
|
account.name6=修改密码
|
||||||
|
account.name7=注销账号
|
||||||
|
account.name8=注销后无法恢复,请谨慎操作
|
||||||
|
account.name9=退出登录会清除您的登录信息,确认退出吗?
|
||||||
|
account.name10=重选
|
||||||
|
account.name11=关闭
|
||||||
|
account.name12=旋转
|
||||||
|
account.name13=预览
|
||||||
|
account.name14=上传
|
||||||
|
account.name15=注销账号后无法恢复,确认注销吗?
|
||||||
|
account.name16=注销账号
|
||||||
|
|
||||||
|
# 《修改昵称》accountForm
|
||||||
|
accountForm.name0=修改昵称
|
||||||
|
accountForm.name1=修改登录密码
|
||||||
|
accountForm.name2=绑定邮箱
|
||||||
|
accountForm.name3=添加
|
||||||
|
accountForm.name4=家庭名称
|
||||||
|
accountForm.name5=请输入昵称
|
||||||
|
accountForm.name6=请输入名称
|
||||||
|
accountForm.name7=请输入旧密码
|
||||||
|
accountForm.name8=请输入新密码
|
||||||
|
accountForm.name9=请再次输入密码
|
||||||
|
accountForm.name10=请输入邮箱
|
||||||
|
accountForm.name11=请输入验证码
|
||||||
|
accountForm.name12=发送验证码
|
||||||
|
accountForm.name13=请稍候……
|
||||||
|
accountForm.name14=s后获取
|
||||||
|
accountForm.name15=您当前邮箱号为
|
||||||
|
accountForm.name16=上一页
|
||||||
|
accountForm.name17=确认
|
||||||
|
accountForm.name18=两次输入的密码不一致
|
||||||
|
accountForm.name19=请输入正确的邮箱
|
||||||
|
accountForm.name20=请上传图片
|
||||||
|
accountForm.name21=上传/拍照
|
||||||
|
accountForm.name22=上传中...
|
||||||
|
accountForm.name23=上传失败
|
||||||
|
accountForm.name24=重新上传
|
||||||
|
accountForm.name25=修改头像
|
||||||
|
|
||||||
|
# 《设备共享》devForm
|
||||||
|
devForm.name0 = 设备共享
|
||||||
|
devForm.name1 = 请输入对方登录账号
|
||||||
|
devForm.name2 = 温馨提示
|
||||||
|
devForm.name3 = 设备共享后,对方账号也可以访问管理当前账号所有设备,对方不可删除当前账号设备。
|
||||||
|
devForm.name4 = 上一页
|
||||||
|
devForm.name5 = 添加
|
||||||
|
devForm.name6 = 设备共享成功,是否继续共享?
|
||||||
|
# 《分布管理》distribution
|
||||||
|
distribution.name0=分布管理
|
||||||
|
distribution.name1=默认
|
||||||
|
# 《家庭管理》 family
|
||||||
|
family.name0=家庭管理
|
||||||
|
family.name1=我的家
|
||||||
|
family.name2=我加入的家庭
|
||||||
|
family.name3=个区域
|
||||||
|
family.name4=个设备
|
||||||
|
# 《成员管理》familyDetail
|
||||||
|
familyDetail.name0=成员管理
|
||||||
|
familyDetail.name1=家庭名称
|
||||||
|
familyDetail.name2=我加入的家庭
|
||||||
|
familyDetail.name3=提示
|
||||||
|
familyDetail.name4=移除当前成员后,对方将不能访问当前家庭进行设备管理!
|
||||||
|
familyDetail.name5=取消
|
||||||
|
familyDetail.name6=确定
|
||||||
|
familyDetail.name7=删除
|
||||||
|
familyDetail.name8=主人
|
||||||
|
# 《设置语言》setLanguage
|
||||||
|
setLanguage.name0=设置语言
|
||||||
|
#《配网》ble
|
||||||
|
ble.name0=设备配网
|
||||||
|
ble.name1=执行成功!
|
||||||
|
ble.name2=环境已存在,不需要重复初始化!
|
||||||
|
ble.name3=配网环境未得到初始化,请先执行环境初始化!
|
||||||
|
ble.name4=搜索蓝牙任务,已经停止运行,无需重复停止!
|
||||||
|
ble.name5=搜索蓝牙任务,已经在运行,无需重复运行!
|
||||||
|
ble.name6=蓝牙设备不具备扫描WIFI列表的能力!
|
||||||
|
ble.name7=蓝牙设备未连接,请先连接设备!
|
||||||
|
ble.name8=传递参数错误!
|
||||||
|
ble.name9=初始化会话失败,请重新初始化!
|
||||||
|
ble.name10=预留!
|
||||||
|
ble.name11=环境检查OK!
|
||||||
|
ble.name12=位置权限未打开!
|
||||||
|
ble.name13=GPS未打开!
|
||||||
|
ble.name14=此设备不支持蓝牙!
|
||||||
|
ble.name15=需要打开蓝牙开关,才能继续!
|
||||||
|
ble.name16=需要位置权限,才能继续!
|
||||||
|
ble.name17=请允许位置权限,才能继续!
|
||||||
|
ble.name18=需要位置权限,才能继续!
|
||||||
|
ble.name19=正在连接蓝牙设备,请允许配对或稍后重试!!
|
||||||
|
ble.name20=已经连接蓝牙设备,请断开蓝牙后重新尝试!
|
||||||
|
ble.name21=正在供应配网数据,稍后重试!
|
||||||
|
ble.name22=需要蓝牙权限,才能继续!
|
||||||
|
ble.name23=需要蓝牙权限,才能继续!
|
||||||
|
ble.name24= 无需密码,点击确定开始配网!
|
||||||
|
ble.name25=请输入
|
||||||
|
ble.name26= 的密码!
|
||||||
|
ble.name27=APP需要位置权限,才能继续!
|
||||||
|
ble.name28=APP需要蓝牙权限,才能继续!
|
||||||
|
ble.name29=需要根据提示处理!
|
||||||
|
ble.name30=正在扫描蓝牙设备....
|
||||||
|
ble.name31=正在连接蓝牙设备....(最长40S)
|
||||||
|
ble.name32=参数错误,请重试!
|
||||||
|
ble.name33=正在获取WIFI列表....
|
||||||
|
ble.name34=配网中....
|
||||||
|
ble.name35=扫描完成!
|
||||||
|
ble.name36=请打开蓝牙!
|
||||||
|
ble.name37=未知错误!
|
||||||
|
ble.name38=连接蓝牙成功!
|
||||||
|
ble.name39=连接蓝牙失败!可尝试重新搜索,重启蓝牙,或重启应用!
|
||||||
|
ble.name40=蓝牙连接断开!
|
||||||
|
ble.name41=未知错误!尝试手动重启蓝牙,或重启应用!
|
||||||
|
ble.name42=配网成功!
|
||||||
|
ble.name43=密码错误,重新尝试!
|
||||||
|
ble.name44=无法找到网络,重新尝试!
|
||||||
|
ble.name45=设备断开连接,重新尝试!
|
||||||
|
ble.name46=失败,可重启APP或重新尝试!
|
||||||
|
ble.name47=初始化配网环境
|
||||||
|
ble.name48=操作说明
|
||||||
|
ble.name49=第一步
|
||||||
|
ble.name50=第二步
|
||||||
|
ble.name51=下一步
|
||||||
|
ble.name52=扫描蓝牙设备结果
|
||||||
|
ble.name53=提示:没有扫描到蓝牙设备!
|
||||||
|
ble.name54=提示:点击需要配网的蓝牙设备,进入下一步。
|
||||||
|
ble.name55=重新搜索
|
||||||
|
ble.name56=获取WIFI列表结果
|
||||||
|
ble.name57=提示:没有扫描到可用的WIFI网络!
|
||||||
|
ble.name58=提示:点击要连接的WIFI网络,输入密码,开始配网!
|
||||||
|
ble.name59=重新获取
|
||||||
|
ble.name60=长按设备WIFI按键10秒以上,LED灯快速闪烁后,松手。
|
||||||
|
ble.name61=点击,下一步,按提示输入信息,开始配网。
|
||||||
|
ble.name62=提示:输入wifi密码
|
||||||
|
ble.name63=提示:开始配网
|
||||||
|
ble.name64=返回首页
|
||||||
|
|||||||
@ -28,24 +28,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
e.user_id,
|
e.user_id,
|
||||||
s.nick_name,
|
s.nick_name,
|
||||||
e.user_name,
|
e.user_name,
|
||||||
COUNT(*) AS bind_num, -- 设备总数
|
COUNT(e.equipment_id) AS bind_num, -- 设备总数
|
||||||
SUM(CASE WHEN e.line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
|
SUM(CASE WHEN e.line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
|
||||||
SUM(CASE WHEN e.line_status = 1 THEN 1 ELSE 0 END) AS online_num -- 在线个数
|
SUM(CASE WHEN e.line_status = 1 THEN 1 ELSE 0 END) AS online_num -- 在线个数
|
||||||
FROM
|
FROM
|
||||||
eq_equipment e
|
sys_user s
|
||||||
JOIN
|
left JOIN
|
||||||
sys_user s ON e.user_id = s.user_id
|
eq_equipment e
|
||||||
|
ON e.user_id = s.user_id
|
||||||
<where>
|
<where>
|
||||||
|
s.user_type='app_user'
|
||||||
<if test="nickName != null and nickName != ''">
|
<if test="nickName != null and nickName != ''">
|
||||||
AND nick_name like
|
AND s.nick_name like
|
||||||
CONCAT('%', #{nickName}, '%')
|
CONCAT('%', #{nickName}, '%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
e.user_name, s.nick_name;
|
e.user_id,e.user_name, s.nick_name
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectStatisticEquipmentList" resultType="org.dromara.web.domain.vo.EqEquipmentStatisticsVo">
|
<select id="selectEquipmentStatistic" resultType="org.dromara.web.domain.vo.EqEquipmentStatisticsVo">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(*) AS bind_num, -- 设备总数
|
COUNT(*) AS bind_num, -- 设备总数
|
||||||
SUM(CASE WHEN line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
|
SUM(CASE WHEN line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user