2024年2月28日 新增功能

This commit is contained in:
bai 2024-02-28 08:29:44 +08:00
parent 5862e348ab
commit 3e6507ba2f
5 changed files with 69 additions and 4 deletions

View File

@ -171,7 +171,7 @@ public class RefreshLiveServer extends BaseSync {
kcZhihuijiaoshiService.update(outUw);
}
//同步刷新智慧教室设备刷新时间
refreshState(null);
//refreshState(null);
}
/**
@ -188,6 +188,14 @@ public class RefreshLiveServer extends BaseSync {
qw.eq(StringUtils.isNotBlank(jxlName),"jxl_name",jxlName);
List<KcZhihuijiaoshi> list = kcZhihuijiaoshiService.list(qw);
//查询旧数据带标志位的
QueryWrapper<KcZhihuijiaoshiStateLog> qrqw = new QueryWrapper<>();
qrqw.isNotNull("force_state");
List<KcZhihuijiaoshiStateLog> KcZhihuijiaoshiStateLogList = kcZhihuijiaoshiStateLogService.list(qrqw);
Map<String, KcZhihuijiaoshiStateLog> KcZhihuijiaoshiStateLogMap = Maps.newHashMap();
KcZhihuijiaoshiStateLogList.forEach(x -> KcZhihuijiaoshiStateLogMap.put(x.getJsbh(),x));
//删除旧数据
QueryWrapper<KcZhihuijiaoshiStateLog> rqw = new QueryWrapper<>();
rqw.eq(StringUtils.isNotBlank(jxlName),"jxl_name",jxlName);
@ -207,6 +215,10 @@ public class RefreshLiveServer extends BaseSync {
stateLogMap.put(x.getJsbh(),_stateLog);
stateLog = _stateLog;
}
if(KcZhihuijiaoshiStateLogMap.containsKey(x.getJsbh())){
KcZhihuijiaoshiStateLog log = KcZhihuijiaoshiStateLogMap.get(x.getJsbh());
stateLog.setForceState(log.getForceState());
}
try{
String res = com.xkcoding.http.HttpUtil.get(x.getPullUrl());
log.info("返回内容:" + res);
@ -227,6 +239,7 @@ public class RefreshLiveServer extends BaseSync {
default:
}
}
});
//重新计算内容
stateLogMap.forEach((k,v) -> {

View File

@ -25,6 +25,7 @@ import org.jeecg.modules.kc.grab.imports.entity.Xxhbjsjbxx;
import org.jeecg.modules.kc.grab.imports.service.IXxhbjsjbxxService;
import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoxuelouInfo;
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi;
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoxuelouInfoService;
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiService;
@ -94,7 +95,6 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
@Autowired
private RedisUtil redisUtil;
@Data
public class JieciIntTime {
private Integer ksTime;
@ -222,6 +222,12 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
log.info("08: {}",timer.intervalRestart());
//查找状态日志塞进去
List<KcZhihuijiaoshiStateLog> zhihuijiaoshiStateLogList = kcZhihuijiaoshiStateLogService.list();
Map<String, KcZhihuijiaoshiStateLog> zhihuijiaoshiStateLogMap = Maps.newHashMap();
zhihuijiaoshiStateLogList.forEach(x -> zhihuijiaoshiStateLogMap.put(x.getJsbh(),x));
//计算哪节在时间范围内
Map<String, KcZhihuijiaoshi> jxlMap = Maps.newHashMap();
@ -251,6 +257,10 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
KcJiaoxuelouInfo info = jiaoxuelouInfoMap.get(x.getJxlId());
x.setJsNum(StringUtils.defaultString(info.getJsNum(),"0"));
}
if(zhihuijiaoshiStateLogMap.containsKey(x.getJsbh())){
KcZhihuijiaoshiStateLog data = zhihuijiaoshiStateLogMap.get(x.getJsbh());
x.setForceState(data.getForceState());
}
});
log.info("09: {}",timer.intervalRestart());
//查询多余的数据

View File

@ -8,6 +8,10 @@ import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.aspect.annotation.AutoLog;
@ -66,7 +70,14 @@ public class KcZhihuijiaoshiStateLogController extends JeecgController<KcZhihuij
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<KcZhihuijiaoshiStateLog> queryWrapper = QueryGenerator.initQueryWrapper(kcZhihuijiaoshiStateLog, req.getParameterMap());
Page<KcZhihuijiaoshiStateLog> page = new Page<KcZhihuijiaoshiStateLog>(pageNo, pageSize);
if(StringUtils.isNotBlank(kcZhihuijiaoshiStateLog.getTypeIsBad())){
queryWrapper.ne("type","green");
}
if(StringUtils.isNotBlank(kcZhihuijiaoshiStateLog.getForceStateIsBad())){
queryWrapper.and(x -> x.ne("force_state","green").or().isNull("force_state"));
queryWrapper.apply("( if(force_state is not null,force_state,type) = '" + kcZhihuijiaoshiStateLog.getForceStateIsBad() + "' )");
}
Page<KcZhihuijiaoshiStateLog> page = new Page<>(pageNo, pageSize);
IPage<KcZhihuijiaoshiStateLog> pageList = kcZhihuijiaoshiStateLogService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ -98,7 +109,24 @@ public class KcZhihuijiaoshiStateLogController extends JeecgController<KcZhihuij
kcZhihuijiaoshiStateLogService.updateById(kcZhihuijiaoshiStateLog);
return Result.OK("编辑成功!");
}
/**
* 编辑
*
* @param kcZhihuijiaoshiStateLog
* @return
*/
@AutoLog(value = "状态日志-编辑-教室编号")
@ApiOperation(value="状态日志-编辑-教室编号", notes="状态日志-编辑-教室编号")
@RequestMapping(value = "/updateByJsbh", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<?> updateByJsId(@RequestBody KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog) {
LambdaUpdateWrapper<KcZhihuijiaoshiStateLog> luw = new LambdaUpdateWrapper<>();
luw.set(KcZhihuijiaoshiStateLog::getForceState, kcZhihuijiaoshiStateLog.getForceState());
luw.eq(KcZhihuijiaoshiStateLog::getJsbh, kcZhihuijiaoshiStateLog.getJsbh());
kcZhihuijiaoshiStateLogService.update(luw);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*

View File

@ -164,4 +164,9 @@ public class KcZhihuijiaoshi implements Serializable {
@TableField(exist = false)
private Boolean queryNoZhiHuiJiaoShi;
/**强制状态green: 直播正常, yellow: 部分异常,red: 设备异常)*/
@TableField(exist = false)
private java.lang.String forceState;
}

View File

@ -73,6 +73,9 @@ public class KcZhihuijiaoshiStateLog {
@Excel(name = "状态指示灯green: 直播正常, yellow: 部分异常,red: 设备异常)", width = 15)
@ApiModelProperty(value = "状态指示灯green: 直播正常, yellow: 部分异常,red: 设备异常)")
private java.lang.String type;
//查找失败的
@TableField(exist = false)
private java.lang.String typeIsBad;
/**创建人*/
@Excel(name = "创建人", width = 15)
@ApiModelProperty(value = "创建人")
@ -95,4 +98,10 @@ public class KcZhihuijiaoshiStateLog {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private java.util.Date updateTime;
/**强制状态green: 直播正常, yellow: 部分异常,red: 设备异常)*/
private java.lang.String forceState;
//查找失败的
@TableField(exist = false)
private java.lang.String forceStateIsBad;
}