|
@@ -256,64 +256,67 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
|
|
|
public void checkEquipmentStatus() {
|
|
|
LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
|
|
|
query.eq(TEquipment::getEqeStatus, 1);
|
|
|
+ query.eq(TEquipment::getAdminId, 34);
|
|
|
List<TEquipment> equipmentList = equipmentService.list(query);
|
|
|
if (equipmentList.size() > 0) {
|
|
|
// 获取当前时间,并检查设备状态是否过期
|
|
|
long nowTime = System.currentTimeMillis();
|
|
|
for (TEquipment equipment : equipmentList) {
|
|
|
- // 如果设备的最后刷新时间超过480秒前,则清除设备状态信息,更改为关机状态
|
|
|
- long updateTime = equipment.getLastUpdateTime().getTime();
|
|
|
- if (nowTime > updateTime && (nowTime - updateTime) > 480000) {
|
|
|
- equipment.setCabinetTm("");
|
|
|
- equipment.setCabinetHd("");
|
|
|
- equipment.setFurnaceTm("");
|
|
|
- equipment.setFurnaceSp("");
|
|
|
- equipment.setEqeStatus(0);
|
|
|
- equipmentService.updateById(equipment);
|
|
|
- // 说明机器没有上传信号,判断为网络不好或者关机,发送信号通知客户 查机器归属国内还是国外
|
|
|
- TAdmin admin = adminService.getById(equipment.getAdminId());
|
|
|
- String ifForeign = admin.getIfForeign();
|
|
|
- // 查询是申泽还是七云的
|
|
|
- String companyType = admin.getCompanyType();
|
|
|
- LambdaQueryWrapper<TWechat> wechatQuery = Wrappers.lambdaQuery();
|
|
|
- wechatQuery.eq(TWechat::getAdminId, equipment.getAdminId());
|
|
|
- TWechat wechat = wechatService.getOne(wechatQuery);
|
|
|
- if(wechat != null) {
|
|
|
- // 有绑定微信的话发公众号
|
|
|
- String openId = wechat.getOpenId();
|
|
|
- wechatService.sendNoworkMessage(openId,equipment.getClientId(),equipment.getName(), ifForeign, companyType);
|
|
|
- if (ifForeign.equals("1")) {
|
|
|
- // 国外再发邮件
|
|
|
- String messageReceiver = equipment.getMessageReceiver();
|
|
|
- if(StringUtils.isNotEmpty(messageReceiver)) {
|
|
|
- String[] split = messageReceiver.split(",");
|
|
|
- for (String s : split) {
|
|
|
- WechatSendUtil.sentEmail(s,equipment.getName());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if(StringUtils.isNotEmpty(admin.getEmail())){
|
|
|
- WechatSendUtil.sentEmail(admin.getEmail(),equipment.getName());
|
|
|
+ if (equipment.getModifyDate() != null) {
|
|
|
+ // 如果设备的最后刷新时间超过480秒前,则清除设备状态信息,更改为关机状态
|
|
|
+ long updateTime = equipment.getModifyDate().getTime();
|
|
|
+ if (nowTime > updateTime && (nowTime - updateTime) > 480000) {
|
|
|
+ equipment.setCabinetTm("");
|
|
|
+ equipment.setCabinetHd("");
|
|
|
+ equipment.setFurnaceTm("");
|
|
|
+ equipment.setFurnaceSp("");
|
|
|
+ equipment.setEqeStatus(0);
|
|
|
+ equipmentService.updateById(equipment);
|
|
|
+ // 说明机器没有上传信号,判断为网络不好或者关机,发送信号通知客户 查机器归属国内还是国外
|
|
|
+ TAdmin admin = adminService.getById(equipment.getAdminId());
|
|
|
+ String ifForeign = admin.getIfForeign();
|
|
|
+ // 查询是申泽还是七云的
|
|
|
+ String companyType = admin.getCompanyType();
|
|
|
+ LambdaQueryWrapper<TWechat> wechatQuery = Wrappers.lambdaQuery();
|
|
|
+ wechatQuery.eq(TWechat::getAdminId, equipment.getAdminId());
|
|
|
+ TWechat wechat = wechatService.getOne(wechatQuery);
|
|
|
+ if(wechat != null) {
|
|
|
+ // 有绑定微信的话发公众号
|
|
|
+ String openId = wechat.getOpenId();
|
|
|
+ wechatService.sendNoworkMessage(openId,equipment.getClientId(),equipment.getName(), ifForeign, companyType);
|
|
|
+ if (ifForeign.equals("1")) {
|
|
|
+ // 国外再发邮件
|
|
|
+ String messageReceiver = equipment.getMessageReceiver();
|
|
|
+ if(StringUtils.isNotEmpty(messageReceiver)) {
|
|
|
+ String[] split = messageReceiver.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ WechatSendUtil.sentEmail(s,equipment.getName());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if(StringUtils.isNotEmpty(admin.getEmail())){
|
|
|
+ WechatSendUtil.sentEmail(admin.getEmail(),equipment.getName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 0或空:国内,1:国外
|
|
|
- if (ifForeign.equals("0") || ifForeign.equals("")) {
|
|
|
- //TODO 国内发短信
|
|
|
} else {
|
|
|
- // 国外发送邮件
|
|
|
- String messageReceiver = equipment.getMessageReceiver();
|
|
|
- if(StringUtils.isNotEmpty(messageReceiver)) {
|
|
|
- String[] split = messageReceiver.split(",");
|
|
|
- for (String s : split) {
|
|
|
- WechatSendUtil.sentEmail(s,equipment.getName());
|
|
|
- }
|
|
|
+ // 0或空:国内,1:国外
|
|
|
+ if (ifForeign.equals("0") || ifForeign.equals("")) {
|
|
|
+ //TODO 国内发短信
|
|
|
} else {
|
|
|
- if(StringUtils.isNotEmpty(admin.getEmail())){
|
|
|
- WechatSendUtil.sentEmail(admin.getEmail(),equipment.getName());
|
|
|
+ // 国外发送邮件
|
|
|
+ String messageReceiver = equipment.getMessageReceiver();
|
|
|
+ if(StringUtils.isNotEmpty(messageReceiver)) {
|
|
|
+ String[] split = messageReceiver.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ WechatSendUtil.sentEmail(s,equipment.getName());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if(StringUtils.isNotEmpty(admin.getEmail())){
|
|
|
+ WechatSendUtil.sentEmail(admin.getEmail(),equipment.getName());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -321,4 +324,20 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据经度获取时区
|
|
|
+ * @param currentLon
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static int lateTimeZone(double currentLon) {
|
|
|
+ int timeZone ;
|
|
|
+ int shangValue = (int)(currentLon / 15);
|
|
|
+ double yushuValue = Math.abs(currentLon % 15);
|
|
|
+ if (yushuValue <= 7.5) {
|
|
|
+ timeZone = shangValue;
|
|
|
+ } else {
|
|
|
+ timeZone = shangValue +(currentLon > 0 ? 1 :-1);
|
|
|
+ }
|
|
|
+ return timeZone;
|
|
|
+ }
|
|
|
}
|