2023年10月30日 新增日志
This commit is contained in:
parent
a6ea6b72d1
commit
de1ed8141d
|
|
@ -18,7 +18,9 @@ import org.jeecg.common.system.base.controller.JeecgController;
|
|||
import org.jeecg.modules.kc.grab.exports.entity.TBks;
|
||||
import org.jeecg.modules.kc.grab.exports.service.ITBksService;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiOperateLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiOperateLogService;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -48,6 +50,10 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
@Autowired
|
||||
private IKcZhihuijiaoshiOperateLogService kcZhihuijiaoshiOperateLogService;
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiMonitorLogService kcZhihuijiaoshiMonitorLogService;//操作与状态日志
|
||||
|
||||
|
||||
@AutoLog(value = "对外部访问接口-通过IDS访问奥威亚接口")
|
||||
@ApiOperation(value="T_BKS-抓取-通过id查询", notes="T_BKS-抓取-通过id查询")
|
||||
@GetMapping(value = "/runAvyApiByIds")
|
||||
|
|
@ -63,6 +69,19 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
|
||||
list.forEach(x -> {
|
||||
KcZhihuijiaoshiOperateLog operateLog = new KcZhihuijiaoshiOperateLog();
|
||||
operateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
operateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
operateLog.setJsbh(x.getJsbh());//教室编号
|
||||
operateLog.setJsmc(x.getJsmc());//教室名称
|
||||
operateLog.setOperateType(type);//操作类型(打开还是关闭)
|
||||
operateLog.setLogType(2);//日志类型
|
||||
operateLog.setOperateResultType("0");//调用成功还是失败
|
||||
|
||||
KcZhihuijiaoshiMonitorLog mnitorLog = new KcZhihuijiaoshiMonitorLog();
|
||||
mnitorLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
mnitorLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
mnitorLog.setJsbh(x.getJsbh());//教室编号
|
||||
mnitorLog.setJsmc(x.getJsmc());//教室名称
|
||||
//访问。汇总结果
|
||||
//http://${ip}/cgi-bin/plat.cgi?action=9&user=${user}&pwsd=${getMd5Str(pwd)}&command=1
|
||||
String hex = Convert.toHex("live_setParam_enable=" + type, CharsetUtil.CHARSET_UTF_8);
|
||||
|
|
@ -84,27 +103,25 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
rm.put("jsmc",x.getJsmc());
|
||||
rm.put("url",buildUrl);
|
||||
operateLog.setOperateUrl(buildUrl);//操作URL
|
||||
operateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
operateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
operateLog.setJsbh(x.getJsbh());//教室编号
|
||||
operateLog.setJsmc(x.getJsmc());//教室名称
|
||||
operateLog.setOperateType(type);//操作类型(打开还是关闭)
|
||||
operateLog.setLogType(2);//日志类型
|
||||
operateLog.setOperateResultType("0");//调用成功还是失败
|
||||
mnitorLog.setLogType(2);//默认调用成功失败
|
||||
try{
|
||||
String resText = HttpUtil.get(buildUrl);
|
||||
log.info("奥威亚返回接口内容:" + resText);//live_setParam_ret=ok
|
||||
rm.put("resText",resText);
|
||||
operateLog.setOperateResult(resText);
|
||||
mnitorLog.setLogType(2);//调用成功
|
||||
// res.setResult(rm);
|
||||
} catch (Exception e){
|
||||
log.error(e.getMessage(),e);
|
||||
rm.put("resText",e.getMessage());
|
||||
operateLog.setOperateResultType("1");
|
||||
operateLog.setOperateResult(e.getMessage());
|
||||
mnitorLog.setLogType(3);//调用失败
|
||||
// res.setResult(rm);
|
||||
}finally {
|
||||
kcZhihuijiaoshiOperateLogService.save(operateLog);
|
||||
//保存操作详细日志
|
||||
kcZhihuijiaoshiMonitorLogService.save(mnitorLog);
|
||||
}
|
||||
//解析,决定最后返回结果
|
||||
});
|
||||
|
|
@ -131,6 +148,20 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
|
||||
list.forEach(x -> {
|
||||
KcZhihuijiaoshiOperateLog operateLog = new KcZhihuijiaoshiOperateLog();
|
||||
operateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
operateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
operateLog.setJsbh(x.getJsbh());//教室编号
|
||||
operateLog.setJsmc(x.getJsmc());//教室名称
|
||||
operateLog.setOperateType(type);//操作类型(打开还是关闭)
|
||||
operateLog.setLogType(2);//日志类型
|
||||
operateLog.setOperateResultType("0");//调用成功还是失败
|
||||
|
||||
KcZhihuijiaoshiMonitorLog mnitorLog = new KcZhihuijiaoshiMonitorLog();
|
||||
mnitorLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
mnitorLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
mnitorLog.setJsbh(x.getJsbh());//教室编号
|
||||
mnitorLog.setJsmc(x.getJsmc());//教室名称
|
||||
|
||||
//访问。汇总结果
|
||||
//http://${ip}/cgi-bin/plat.cgi?action=9&user=${user}&pwsd=${getMd5Str(pwd)}&command=1
|
||||
String hex = Convert.toHex("live_setParam_enable=" + type, CharsetUtil.CHARSET_UTF_8);
|
||||
|
|
@ -152,27 +183,25 @@ public class httpController extends JeecgController<TBks, ITBksService> {
|
|||
rm.put("jsmc",x.getJsmc());
|
||||
rm.put("url",buildUrl);
|
||||
operateLog.setOperateUrl(buildUrl);//操作URL
|
||||
operateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
operateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
operateLog.setJsbh(x.getJsbh());//教室编号
|
||||
operateLog.setJsmc(x.getJsmc());//教室名称
|
||||
operateLog.setOperateType(type);//操作类型(打开还是关闭)
|
||||
operateLog.setLogType(2);//日志类型
|
||||
operateLog.setOperateResultType("0");//调用成功还是失败
|
||||
mnitorLog.setLogType(2);//默认调用成功失败
|
||||
try{
|
||||
String resText = HttpUtil.get(buildUrl);
|
||||
log.info("奥威亚返回接口内容:" + resText);//live_setParam_ret=ok
|
||||
rm.put("resText",resText);
|
||||
operateLog.setOperateResult(resText);
|
||||
mnitorLog.setLogType(2);//调用成功
|
||||
// res.setResult(rm);
|
||||
} catch (Exception e){
|
||||
log.error(e.getMessage(),e);
|
||||
rm.put("resText",e.getMessage());
|
||||
operateLog.setOperateResultType("1");
|
||||
operateLog.setOperateResult(e.getMessage());
|
||||
mnitorLog.setLogType(3);//调用失败
|
||||
// res.setResult(rm);
|
||||
}finally {
|
||||
kcZhihuijiaoshiOperateLogService.save(operateLog);
|
||||
//保存操作详细日志
|
||||
kcZhihuijiaoshiMonitorLogService.save(mnitorLog);
|
||||
}
|
||||
//解析,决定最后返回结果
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,29 +6,46 @@ import cn.hutool.core.util.CharsetUtil;
|
|||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.beust.jcommander.internal.Sets;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.modules.kc.grab.SynchronizationService.base.BaseSync;
|
||||
import org.jeecg.modules.kc.jiaoshi.controller.KcZhihuijiaoshiController;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiOperateLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiOperateLogService;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiService;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiStateLogService;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class RefreshLiveServer extends BaseSync {
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiService kcZhihuijiaoshiService;
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiOperateLogService kcZhihuijiaoshiOperateLogService;
|
||||
private KcZhihuijiaoshiController kcZhihuijiaoshiController;
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiOperateLogService kcZhihuijiaoshiOperateLogService;//真实操作日志
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiMonitorLogService kcZhihuijiaoshiMonitorLogService;//操作与状态日志
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiStateLogService kcZhihuijiaoshiStateLogService;//直播状态日志
|
||||
|
||||
/**
|
||||
* 若参数变量名修改 QuartzJobController中也需对应修改
|
||||
|
|
@ -41,50 +58,21 @@ public class RefreshLiveServer extends BaseSync {
|
|||
end();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 有参定时任务实现
|
||||
* @param param 执行参数
|
||||
*/
|
||||
public void run(Map<String, Object> param){
|
||||
QueryWrapper<KcZhihuijiaoshi> qw = new QueryWrapper<KcZhihuijiaoshi>();
|
||||
qw.eq("xm","教师近景");
|
||||
List<KcZhihuijiaoshi> list = kcZhihuijiaoshiService.list(qw);
|
||||
// Map<Integer,Boolean> liveOnMap = Maps.newHashMap();
|
||||
Set<Integer> onList = Sets.newHashSet();
|
||||
Set<Integer> outList = Sets.newHashSet();
|
||||
list.forEach(x -> {
|
||||
try{
|
||||
String res = com.xkcoding.http.HttpUtil.get(x.getPullUrl());
|
||||
// liveOnMap.put(x.getId(),true);
|
||||
onList.add(x.getId());
|
||||
log.info("返回内容:" + res);//live_setParam_ret=ok
|
||||
} catch (Exception e){
|
||||
//新版,查询当前是否有课
|
||||
KcZhihuijiaoshi jiaoshi = new KcZhihuijiaoshi();
|
||||
jiaoshi.setXm("教师近景");
|
||||
jiaoshi.setChangshang("奥威亚");
|
||||
QueryWrapper<KcZhihuijiaoshi> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("xm","教师近景");
|
||||
queryWrapper.eq("changshang","奥威亚");
|
||||
IPage<KcZhihuijiaoshi> pageList = kcZhihuijiaoshiController.queryPageListN(jiaoshi, 1,-1,queryWrapper);
|
||||
if(pageList != null){
|
||||
List<KcZhihuijiaoshi> list = pageList.getRecords();
|
||||
//正在上课的数据
|
||||
List<KcZhihuijiaoshi> skzList = list.stream().filter(x -> x.getNowIsClass() != null && x.getNowIsClass()).collect(Collectors.toList());
|
||||
skzList.forEach(x -> {
|
||||
KcZhihuijiaoshiOperateLog operateLog = new KcZhihuijiaoshiOperateLog();
|
||||
// liveOnMap.put(x.getId(),false);
|
||||
outList.add(x.getId());
|
||||
log.error(e.getMessage(),e);
|
||||
//打开推送开关
|
||||
//访问。汇总结果
|
||||
//http://${ip}/cgi-bin/plat.cgi?action=9&user=${user}&pwsd=${getMd5Str(pwd)}&command=1
|
||||
String hex = Convert.toHex("live_setParam_enable=1", CharsetUtil.CHARSET_UTF_8);
|
||||
String buildUrl = UrlBuilder.create()
|
||||
.setScheme("http")
|
||||
.setHost(x.getIp())
|
||||
.addPath("/cgi-bin")
|
||||
.addPath("/plat.cgi")
|
||||
.addQuery("action", "9")
|
||||
.addQuery("user", x.getUser())
|
||||
.addQuery("pwsd", SecureUtil.md5(x.getMima()))
|
||||
.addQuery("command", "1")
|
||||
.addQuery("data", hex)
|
||||
.build();
|
||||
log.info("访问奥威亚接口地址"+buildUrl);
|
||||
// Map<String,String> rm = Maps.newHashMap();
|
||||
// rm.put("xm",x.getXm());
|
||||
// rm.put("jsmc",x.getJsmc());
|
||||
// rm.put("url",buildUrl);
|
||||
operateLog.setOperateUrl(buildUrl);//操作URL
|
||||
operateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
operateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
operateLog.setJsbh(x.getJsbh());//教室编号
|
||||
|
|
@ -92,37 +80,121 @@ public class RefreshLiveServer extends BaseSync {
|
|||
operateLog.setOperateType("1");//操作类型(打开还是关闭)
|
||||
operateLog.setLogType(1);//日志类型
|
||||
operateLog.setOperateResultType("0");//调用成功还是失败
|
||||
try{
|
||||
String resText = HttpUtil.get(buildUrl);
|
||||
log.info("奥威亚返回接口内容:" + resText);//live_setParam_ret=ok
|
||||
// rm.put("resText",resText);
|
||||
operateLog.setOperateResult(resText);
|
||||
// res.setResult(rm);
|
||||
} catch (Exception e2){
|
||||
log.error(e2.getMessage(),e2);
|
||||
// rm.put("resText",e2.getMessage());
|
||||
operateLog.setOperateResultType("1");
|
||||
operateLog.setOperateResult(e2.getMessage());
|
||||
// res.setResult(rm);
|
||||
}finally {
|
||||
kcZhihuijiaoshiOperateLogService.save(operateLog);
|
||||
}
|
||||
|
||||
KcZhihuijiaoshiMonitorLog mnitorLog = new KcZhihuijiaoshiMonitorLog();
|
||||
mnitorLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
mnitorLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
mnitorLog.setJsbh(x.getJsbh());//教室编号
|
||||
mnitorLog.setJsmc(x.getJsmc());//教室名称
|
||||
try {
|
||||
String res = com.xkcoding.http.HttpUtil.get(x.getPullUrl());
|
||||
log.info("返回内容:" + res);//live_setParam_ret=ok
|
||||
//记录日志
|
||||
mnitorLog.setLogType(1);//播放成功
|
||||
} catch (Exception e){
|
||||
//播放失败
|
||||
//开启
|
||||
log.error(e.getMessage(),e);
|
||||
//打开推送开关
|
||||
//访问。汇总结果
|
||||
//http://${ip}/cgi-bin/plat.cgi?action=9&user=${user}&pwsd=${getMd5Str(pwd)}&command=1
|
||||
String hex = Convert.toHex("live_setParam_enable=1", CharsetUtil.CHARSET_UTF_8);
|
||||
String buildUrl = UrlBuilder.create()
|
||||
.setScheme("http")
|
||||
.setHost(x.getIp())
|
||||
.addPath("/cgi-bin")
|
||||
.addPath("/plat.cgi")
|
||||
.addQuery("action", "9")
|
||||
.addQuery("user", x.getUser())
|
||||
.addQuery("pwsd", SecureUtil.md5(x.getMima()))
|
||||
.addQuery("command", "1")
|
||||
.addQuery("data", hex)
|
||||
.build();
|
||||
log.info("访问奥威亚接口地址"+buildUrl);
|
||||
operateLog.setOperateUrl(buildUrl);//操作URL
|
||||
mnitorLog.setLogType(2);//默认调用成功失败
|
||||
try{
|
||||
String resText = HttpUtil.get(buildUrl);
|
||||
log.info("奥威亚返回接口内容:" + resText);//live_setParam_ret=ok
|
||||
operateLog.setOperateResult(resText);
|
||||
mnitorLog.setLogType(2);//调用成功
|
||||
} catch (Exception e2){
|
||||
log.error(e2.getMessage(),e2);
|
||||
operateLog.setOperateResultType("1");
|
||||
operateLog.setOperateResult(e2.getMessage());
|
||||
mnitorLog.setLogType(3);//调用失败
|
||||
}finally {
|
||||
kcZhihuijiaoshiOperateLogService.save(operateLog);
|
||||
}
|
||||
}finally {
|
||||
//保存操作详细日志
|
||||
kcZhihuijiaoshiMonitorLogService.save(mnitorLog);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新日志
|
||||
*/
|
||||
public void refreshState(){
|
||||
QueryWrapper<KcZhihuijiaoshi> qw = new QueryWrapper<KcZhihuijiaoshi>();
|
||||
//qw.eq("xm","教师近景");
|
||||
|
||||
List<KcZhihuijiaoshi> list = kcZhihuijiaoshiService.list(qw);
|
||||
|
||||
//删除旧数据
|
||||
kcZhihuijiaoshiStateLogService.remove(new QueryWrapper<>());
|
||||
Map<String, KcZhihuijiaoshiStateLog> stateLogMap = Maps.newHashMap();
|
||||
|
||||
list.forEach(x -> {
|
||||
KcZhihuijiaoshiStateLog stateLog = null;
|
||||
if(stateLogMap.containsKey(x.getJsbh())){
|
||||
stateLog = stateLogMap.get(x.getJsbh());
|
||||
}else{
|
||||
KcZhihuijiaoshiStateLog _stateLog = new KcZhihuijiaoshiStateLog();
|
||||
_stateLog.setJxlId(x.getJxlId());//教学楼ID
|
||||
_stateLog.setJxlName(x.getJxlName());//教学楼名称
|
||||
_stateLog.setJsbh(x.getJsbh());//教室编号
|
||||
_stateLog.setJsmc(x.getJsmc());//教室名称
|
||||
stateLogMap.put(x.getJsbh(),_stateLog);
|
||||
stateLog = _stateLog;
|
||||
}
|
||||
try{
|
||||
String res = com.xkcoding.http.HttpUtil.get(x.getPullUrl());
|
||||
log.info("返回内容:" + res);
|
||||
switch (x.getXm()){
|
||||
case "教师近景": stateLog.setLbzj("green");break;
|
||||
case "教师全景": stateLog.setJsqj("green");break;
|
||||
case "学生全景": stateLog.setXsqj("green");break;
|
||||
case "PPT": stateLog.setPpt("green");break;
|
||||
default:
|
||||
}
|
||||
} catch (Exception e){
|
||||
//失败
|
||||
switch (x.getXm()){
|
||||
case "教师近景": stateLog.setLbzj("red");break;
|
||||
case "教师全景": stateLog.setJsqj("red");break;
|
||||
case "学生全景": stateLog.setXsqj("red");break;
|
||||
case "PPT": stateLog.setPpt("red");break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
});
|
||||
// if(!onList.isEmpty()){
|
||||
// UpdateWrapper<KcZhihuijiaoshi> onUw = new UpdateWrapper<>();
|
||||
// onUw.set("sfyx",0);
|
||||
// onUw.in("id",onList);
|
||||
// kcZhihuijiaoshiService.update(onUw);
|
||||
// }
|
||||
//
|
||||
// if(!outList.isEmpty()) {
|
||||
// UpdateWrapper<KcZhihuijiaoshi> outUw = new UpdateWrapper<>();
|
||||
// outUw.set("sfyx", 1);
|
||||
// outUw.in("id", outList);
|
||||
// kcZhihuijiaoshiService.update(outUw);
|
||||
// }
|
||||
//重新计算内容
|
||||
stateLogMap.forEach((k,v) -> {
|
||||
int num = (StringUtils.equals("green",v.getLbzj())?1:0) + (StringUtils.equals("green",v.getJsqj())?1:0) + (StringUtils.equals("green",v.getXsqj())?1:0) + (StringUtils.equals("green",v.getPpt())?1:0);
|
||||
v.setGreenNum(num);
|
||||
if(num == 4){
|
||||
v.setType("green");
|
||||
}else if(num == 0){
|
||||
v.setType("red");
|
||||
}else{
|
||||
v.setType("yellow");
|
||||
}
|
||||
});
|
||||
kcZhihuijiaoshiStateLogService.saveBatch(stateLogMap.values());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import org.apache.commons.lang.StringUtils;
|
|||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.kc.grab.SynchronizationService.RefreshLiveServer;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcJiaoxuelouInfo;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshi;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcJiaoxuelouInfoService;
|
||||
|
|
@ -31,6 +32,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiStateLogService;
|
||||
import org.jeecg.modules.kc.kcJieci.entity.KcJieci;
|
||||
import org.jeecg.modules.kc.kcJieci.service.IKcJieciService;
|
||||
import org.jeecg.modules.kc.ktgl.entity.KcKetangbiao;
|
||||
|
|
@ -45,6 +47,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
|
|||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
|
@ -81,6 +84,13 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
@Autowired
|
||||
private IKcJiaoxuelouInfoService kcJiaoxuelouInfoService;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private RefreshLiveServer refreshLiveServer;
|
||||
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiStateLogService kcZhihuijiaoshiStateLogService;//直播状态日志
|
||||
|
||||
@Autowired
|
||||
private DictUtils dictUtils;
|
||||
|
||||
|
|
@ -89,6 +99,126 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
private Integer ksTime;
|
||||
private Integer jsTime;
|
||||
}
|
||||
|
||||
public IPage<KcZhihuijiaoshi> queryPageListN(KcZhihuijiaoshi kcZhihuijiaoshi,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
QueryWrapper<KcZhihuijiaoshi> queryWrapper) {
|
||||
Page<KcZhihuijiaoshi> page = new Page<KcZhihuijiaoshi>(pageNo, pageSize);
|
||||
IPage<KcZhihuijiaoshi> pageList = kcZhihuijiaoshiService.page(page, queryWrapper);
|
||||
//查询今天的课,
|
||||
DateTime starTime = DateTime.now();
|
||||
|
||||
String nowTimeStr = starTime.toString("HHmm");
|
||||
int nowTimeNum = Integer.parseInt(nowTimeStr);
|
||||
starTime = DateUtil.endOfDay(starTime);//校正为今天末尾
|
||||
String nowStr = starTime.toString("yyyy-MM-dd");
|
||||
|
||||
QueryWrapper<KcKetangbiao> ktqw = new QueryWrapper<>();
|
||||
ktqw.apply("skrq >= STR_TO_DATE('"+nowStr+"', '%Y-%m-%d')");
|
||||
ktqw.apply("skrq < DATE_ADD(STR_TO_DATE('"+nowStr+"','%Y-%m-%d'),INTERVAL 1 DAY)");
|
||||
List<KcKetangbiao> kcKetangbiaoList = kcKetangbiaoService.list(ktqw);
|
||||
|
||||
starTime = starTime.offset(DateField.DAY_OF_MONTH,1);//明天
|
||||
String nowStr2 = starTime.toString("yyyy-MM-dd");
|
||||
|
||||
QueryWrapper<KcKetangbiao> nextDayKtqw = new QueryWrapper<>();
|
||||
nextDayKtqw.eq("hh","01、02");//明天的只查01、02这个节次的
|
||||
nextDayKtqw.apply("skrq >= STR_TO_DATE('"+nowStr2+"', '%Y-%m-%d')");
|
||||
nextDayKtqw.apply("skrq < DATE_ADD(STR_TO_DATE('"+nowStr2+"','%Y-%m-%d'),INTERVAL 1 DAY)");
|
||||
List<KcKetangbiao> nextDayKcKetangbiaoList = kcKetangbiaoService.list(nextDayKtqw);
|
||||
|
||||
//查询全部的教学楼
|
||||
//QueryWrapper<KcKetangbiao> jxlqw = new QueryWrapper<>();
|
||||
List<KcJiaoxuelouInfo> jiaoxuelouInfoList = kcJiaoxuelouInfoService.list();
|
||||
|
||||
Map<String, KcJiaoxuelouInfo> jiaoxuelouInfoMap = jiaoxuelouInfoList.stream().collect(Collectors.toMap(KcJiaoxuelouInfo::getId,a -> a, (a,b) -> a));
|
||||
|
||||
//下一节次映射表
|
||||
Map<String,String> nextJcMap = Maps.newHashMap();
|
||||
nextJcMap.put("01、02","03、04");
|
||||
nextJcMap.put("03、04","05、06");
|
||||
nextJcMap.put("05、06","07、08");
|
||||
nextJcMap.put("07、08","09、10");
|
||||
nextJcMap.put("09、10","11、12");
|
||||
nextJcMap.put("11、12","01、02");
|
||||
|
||||
//查询节次时间
|
||||
QueryWrapper<KcJieci> jcqw = new QueryWrapper<>();
|
||||
jcqw.like("jieci","、");
|
||||
List<KcJieci> kcJieciList= kcJieciService.list(jcqw);
|
||||
Map<String, JieciIntTime> kcJieciMap = Maps.newHashMap();
|
||||
Set<String> nextKcJieciSet = Sets.newHashSet();
|
||||
kcJieciList.forEach(x -> {
|
||||
JieciIntTime jieciIntTime = new JieciIntTime();
|
||||
jieciIntTime.setKsTime(Integer.parseInt(x.getHhks())+30);//提前30分钟
|
||||
jieciIntTime.setJsTime(Integer.parseInt(x.getHhjs()));
|
||||
|
||||
if(jieciIntTime.getKsTime() <= nowTimeNum && nowTimeNum <= jieciIntTime.getJsTime()){
|
||||
//符合当前节
|
||||
kcJieciMap.put(x.getJieci(), jieciIntTime);
|
||||
}
|
||||
//下一节次
|
||||
|
||||
});
|
||||
//补充进下一节次里
|
||||
kcJieciMap.forEach((k,v) -> {
|
||||
if(nextJcMap.containsKey(k)){
|
||||
String nextKey = nextJcMap.get(k);
|
||||
//if(kcJieciMap.containsKey(nextKey)){
|
||||
nextKcJieciSet.add(nextKey);//存下一节课,占个可以就行
|
||||
//}
|
||||
}
|
||||
});
|
||||
|
||||
//根据节次信息包装进Map
|
||||
Set<String> kcKetangbiaoNowSet = Sets.newHashSet();
|
||||
Set<String> kcKetangbiaoNextSet = Sets.newHashSet();
|
||||
|
||||
kcKetangbiaoList.forEach(x -> {
|
||||
//匹配是否在上课范围内
|
||||
if(kcJieciMap.containsKey(x.getHh())){
|
||||
kcKetangbiaoNowSet.add(x.getJsbh());
|
||||
}
|
||||
//下一节不是01、02的归类为明天的
|
||||
if(nextKcJieciSet.contains(x.getHh()) && !StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.add(x.getJsbh());
|
||||
}
|
||||
});
|
||||
if(kcJieciMap.isEmpty() || kcJieciMap.containsKey("11、12")){//当前没有节次,当前匹配节次为最后一节,使用明天的课程填充进去
|
||||
nextDayKcKetangbiaoList.forEach(x -> {
|
||||
if(StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.add(x.getJsbh());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//计算哪节在时间范围内
|
||||
|
||||
//装填到数据里
|
||||
pageList.getRecords().forEach(x -> {
|
||||
//jsbh 教室编号
|
||||
//sksj 上课时间
|
||||
//hh 节次
|
||||
//kcJieciMap.containsKey(x.getHh)
|
||||
|
||||
//nowTimeNum
|
||||
if(kcKetangbiaoNowSet.contains(x.getJsbh())){
|
||||
x.setNowIsClass(true);
|
||||
}
|
||||
// x.setNowIsClass(true);//debug
|
||||
if(kcKetangbiaoNextSet.contains(x.getJsbh())){
|
||||
x.setNextIsClass(true);
|
||||
}
|
||||
if(jiaoxuelouInfoMap.containsKey(x.getJxlId())){
|
||||
KcJiaoxuelouInfo info = jiaoxuelouInfoMap.get(x.getJxlId());
|
||||
x.setJsNum(StringUtils.defaultString(info.getJsNum(),"0"));
|
||||
}
|
||||
});
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
|
|
@ -106,118 +236,7 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<KcZhihuijiaoshi> queryWrapper = QueryGenerator.initQueryWrapper(kcZhihuijiaoshi, req.getParameterMap());
|
||||
Page<KcZhihuijiaoshi> page = new Page<KcZhihuijiaoshi>(pageNo, pageSize);
|
||||
IPage<KcZhihuijiaoshi> pageList = kcZhihuijiaoshiService.page(page, queryWrapper);
|
||||
//查询今天的课,
|
||||
DateTime starTime = DateTime.now();
|
||||
|
||||
String nowTimeStr = starTime.toString("HHmm");
|
||||
int nowTimeNum = Integer.parseInt(nowTimeStr);
|
||||
starTime = DateUtil.endOfDay(starTime);//校正为今天末尾
|
||||
String nowStr = starTime.toString("yyyy-MM-dd");
|
||||
|
||||
QueryWrapper<KcKetangbiao> ktqw = new QueryWrapper<>();
|
||||
ktqw.apply("skrq >= STR_TO_DATE('"+nowStr+"', '%Y-%m-%d')");
|
||||
ktqw.apply("skrq < DATE_ADD(STR_TO_DATE('"+nowStr+"','%Y-%m-%d'),INTERVAL 1 DAY)");
|
||||
List<KcKetangbiao> kcKetangbiaoList = kcKetangbiaoService.list(ktqw);
|
||||
|
||||
starTime = starTime.offset(DateField.DAY_OF_MONTH,1);//明天
|
||||
String nowStr2 = starTime.toString("yyyy-MM-dd");
|
||||
|
||||
QueryWrapper<KcKetangbiao> nextDayKtqw = new QueryWrapper<>();
|
||||
nextDayKtqw.eq("hh","01、02");//明天的只查01、02这个节次的
|
||||
nextDayKtqw.apply("skrq >= STR_TO_DATE('"+nowStr2+"', '%Y-%m-%d')");
|
||||
nextDayKtqw.apply("skrq < DATE_ADD(STR_TO_DATE('"+nowStr2+"','%Y-%m-%d'),INTERVAL 1 DAY)");
|
||||
List<KcKetangbiao> nextDayKcKetangbiaoList = kcKetangbiaoService.list(nextDayKtqw);
|
||||
|
||||
//查询全部的教学楼
|
||||
//QueryWrapper<KcKetangbiao> jxlqw = new QueryWrapper<>();
|
||||
List<KcJiaoxuelouInfo> jiaoxuelouInfoList = kcJiaoxuelouInfoService.list();
|
||||
|
||||
Map<String, KcJiaoxuelouInfo> jiaoxuelouInfoMap = jiaoxuelouInfoList.stream().collect(Collectors.toMap(KcJiaoxuelouInfo::getId,a -> a, (a,b) -> a));
|
||||
|
||||
//下一节次映射表
|
||||
Map<String,String> nextJcMap = Maps.newHashMap();
|
||||
nextJcMap.put("01、02","03、04");
|
||||
nextJcMap.put("03、04","05、06");
|
||||
nextJcMap.put("05、06","07、08");
|
||||
nextJcMap.put("07、08","09、10");
|
||||
nextJcMap.put("09、10","11、12");
|
||||
nextJcMap.put("11、12","01、02");
|
||||
|
||||
//查询节次时间
|
||||
QueryWrapper<KcJieci> jcqw = new QueryWrapper<>();
|
||||
jcqw.like("jieci","、");
|
||||
List<KcJieci> kcJieciList= kcJieciService.list(jcqw);
|
||||
Map<String, JieciIntTime> kcJieciMap = Maps.newHashMap();
|
||||
Set<String> nextKcJieciSet = Sets.newHashSet();
|
||||
kcJieciList.forEach(x -> {
|
||||
JieciIntTime jieciIntTime = new JieciIntTime();
|
||||
jieciIntTime.setKsTime(Integer.parseInt(x.getHhks())+30);//提前30分钟
|
||||
jieciIntTime.setJsTime(Integer.parseInt(x.getHhjs()));
|
||||
|
||||
if(jieciIntTime.getKsTime() <= nowTimeNum && nowTimeNum <= jieciIntTime.getJsTime()){
|
||||
//符合当前节
|
||||
kcJieciMap.put(x.getJieci(), jieciIntTime);
|
||||
}
|
||||
//下一节次
|
||||
|
||||
});
|
||||
//补充进下一节次里
|
||||
kcJieciMap.forEach((k,v) -> {
|
||||
if(nextJcMap.containsKey(k)){
|
||||
String nextKey = nextJcMap.get(k);
|
||||
//if(kcJieciMap.containsKey(nextKey)){
|
||||
nextKcJieciSet.add(nextKey);//存下一节课,占个可以就行
|
||||
//}
|
||||
}
|
||||
});
|
||||
|
||||
//根据节次信息包装进Map
|
||||
Set<String> kcKetangbiaoNowSet = Sets.newHashSet();
|
||||
Set<String> kcKetangbiaoNextSet = Sets.newHashSet();
|
||||
|
||||
kcKetangbiaoList.forEach(x -> {
|
||||
//匹配是否在上课范围内
|
||||
if(kcJieciMap.containsKey(x.getHh())){
|
||||
kcKetangbiaoNowSet.add(x.getJsbh());
|
||||
}
|
||||
//下一节不是01、02的归类为明天的
|
||||
if(nextKcJieciSet.contains(x.getHh()) && !StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.add(x.getJsbh());
|
||||
}
|
||||
});
|
||||
if(kcJieciMap.isEmpty() || kcJieciMap.containsKey("11、12")){//当前没有节次,当前匹配节次为最后一节,使用明天的课程填充进去
|
||||
nextDayKcKetangbiaoList.forEach(x -> {
|
||||
if(StringUtils.equals(x.getHh(),"01、02")){
|
||||
kcKetangbiaoNextSet.add(x.getJsbh());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//计算哪节在时间范围内
|
||||
|
||||
//装填到数据里
|
||||
pageList.getRecords().forEach(x -> {
|
||||
//jsbh 教室编号
|
||||
//sksj 上课时间
|
||||
//hh 节次
|
||||
//kcJieciMap.containsKey(x.getHh)
|
||||
|
||||
//nowTimeNum
|
||||
if(kcKetangbiaoNowSet.contains(x.getJsbh())){
|
||||
x.setNowIsClass(true);
|
||||
}
|
||||
if(kcKetangbiaoNextSet.contains(x.getJsbh())){
|
||||
x.setNextIsClass(true);
|
||||
}
|
||||
if(jiaoxuelouInfoMap.containsKey(x.getJxlId())){
|
||||
KcJiaoxuelouInfo info = jiaoxuelouInfoMap.get(x.getJxlId());
|
||||
x.setJsNum(StringUtils.defaultString(info.getJsNum(),"0"));
|
||||
}
|
||||
});
|
||||
IPage<KcZhihuijiaoshi> pageList = queryPageListN(kcZhihuijiaoshi,pageNo,pageSize,queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
|
@ -377,5 +396,14 @@ public class KcZhihuijiaoshiController extends JeecgController<KcZhihuijiaoshi,
|
|||
return Result.OK(quartzJob);
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新状态日志
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/refreshLogs")
|
||||
public Result<?> refreshLogs(){
|
||||
refreshLiveServer.refreshState();
|
||||
return Result.OK(kcZhihuijiaoshiStateLogService.list());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,152 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags="状态日志")
|
||||
@RestController
|
||||
@RequestMapping("/jiaoshi/kcZhihuijiaoshiMonitorLog")
|
||||
public class KcZhihuijiaoshiMonitorLogController extends JeecgController<KcZhihuijiaoshiMonitorLog, IKcZhihuijiaoshiMonitorLogService> {
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiMonitorLogService kcZhihuijiaoshiMonitorLogService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param kcZhihuijiaoshiMonitorLog
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-分页列表查询")
|
||||
@ApiOperation(value="状态日志-分页列表查询", notes="状态日志-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<KcZhihuijiaoshiMonitorLog> queryWrapper = QueryGenerator.initQueryWrapper(kcZhihuijiaoshiMonitorLog, req.getParameterMap());
|
||||
Page<KcZhihuijiaoshiMonitorLog> page = new Page<KcZhihuijiaoshiMonitorLog>(pageNo, pageSize);
|
||||
IPage<KcZhihuijiaoshiMonitorLog> pageList = kcZhihuijiaoshiMonitorLogService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param kcZhihuijiaoshiMonitorLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-添加")
|
||||
@ApiOperation(value="状态日志-添加", notes="状态日志-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog) {
|
||||
kcZhihuijiaoshiMonitorLogService.save(kcZhihuijiaoshiMonitorLog);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param kcZhihuijiaoshiMonitorLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-编辑")
|
||||
@ApiOperation(value="状态日志-编辑", notes="状态日志-编辑")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<?> edit(@RequestBody KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog) {
|
||||
kcZhihuijiaoshiMonitorLogService.updateById(kcZhihuijiaoshiMonitorLog);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-通过id删除")
|
||||
@ApiOperation(value="状态日志-通过id删除", notes="状态日志-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
kcZhihuijiaoshiMonitorLogService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-批量删除")
|
||||
@ApiOperation(value="状态日志-批量删除", notes="状态日志-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.kcZhihuijiaoshiMonitorLogService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-通过id查询")
|
||||
@ApiOperation(value="状态日志-通过id查询", notes="状态日志-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog = kcZhihuijiaoshiMonitorLogService.getById(id);
|
||||
return Result.OK(kcZhihuijiaoshiMonitorLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param kcZhihuijiaoshiMonitorLog
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, KcZhihuijiaoshiMonitorLog kcZhihuijiaoshiMonitorLog) {
|
||||
return super.exportXls(request, kcZhihuijiaoshiMonitorLog, KcZhihuijiaoshiMonitorLog.class, "状态日志");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, KcZhihuijiaoshiMonitorLog.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiStateLogService;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags="状态日志")
|
||||
@RestController
|
||||
@RequestMapping("/jiaoshi/kcZhihuijiaoshiStateLog")
|
||||
public class KcZhihuijiaoshiStateLogController extends JeecgController<KcZhihuijiaoshiStateLog, IKcZhihuijiaoshiStateLogService> {
|
||||
@Autowired
|
||||
private IKcZhihuijiaoshiStateLogService kcZhihuijiaoshiStateLogService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param kcZhihuijiaoshiStateLog
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-分页列表查询")
|
||||
@ApiOperation(value="状态日志-分页列表查询", notes="状态日志-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@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);
|
||||
IPage<KcZhihuijiaoshiStateLog> pageList = kcZhihuijiaoshiStateLogService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param kcZhihuijiaoshiStateLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-添加")
|
||||
@ApiOperation(value="状态日志-添加", notes="状态日志-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog) {
|
||||
kcZhihuijiaoshiStateLogService.save(kcZhihuijiaoshiStateLog);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param kcZhihuijiaoshiStateLog
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-编辑")
|
||||
@ApiOperation(value="状态日志-编辑", notes="状态日志-编辑")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<?> edit(@RequestBody KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog) {
|
||||
kcZhihuijiaoshiStateLogService.updateById(kcZhihuijiaoshiStateLog);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-通过id删除")
|
||||
@ApiOperation(value="状态日志-通过id删除", notes="状态日志-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
kcZhihuijiaoshiStateLogService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-批量删除")
|
||||
@ApiOperation(value="状态日志-批量删除", notes="状态日志-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.kcZhihuijiaoshiStateLogService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "状态日志-通过id查询")
|
||||
@ApiOperation(value="状态日志-通过id查询", notes="状态日志-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog = kcZhihuijiaoshiStateLogService.getById(id);
|
||||
return Result.OK(kcZhihuijiaoshiStateLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param kcZhihuijiaoshiStateLog
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, KcZhihuijiaoshiStateLog kcZhihuijiaoshiStateLog) {
|
||||
return super.exportXls(request, kcZhihuijiaoshiStateLog, KcZhihuijiaoshiStateLog.class, "状态日志");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, KcZhihuijiaoshiStateLog.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("kc_zhihuijiaoshi_monitor_log")
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="kc_zhihuijiaoshi_monitor_log对象", description="状态日志")
|
||||
public class KcZhihuijiaoshiMonitorLog {
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.String id;
|
||||
/**日志类型(1:播放正常 | 2:播放失败,拉起成功 | 3:播放失败,拉起失败)*/
|
||||
@Excel(name = "日志类型(1:播放正常 | 2:播放失败,拉起成功 | 3:播放失败,拉起失败)", width = 15)
|
||||
@ApiModelProperty(value = "日志类型(1:播放正常 | 2:播放失败,拉起成功 | 3:播放失败,拉起失败)")
|
||||
private java.lang.Integer logType;
|
||||
/**教学楼编号*/
|
||||
@Excel(name = "教学楼编号", width = 15)
|
||||
@ApiModelProperty(value = "教学楼编号")
|
||||
private java.lang.String jxlId;
|
||||
/**教学楼名称*/
|
||||
@Excel(name = "教学楼名称", width = 15)
|
||||
@ApiModelProperty(value = "教学楼名称")
|
||||
private java.lang.String jxlName;
|
||||
/**教室编号*/
|
||||
@Excel(name = "教室编号", width = 15)
|
||||
@ApiModelProperty(value = "教室编号")
|
||||
private java.lang.String jsbh;
|
||||
/**教室名称*/
|
||||
@Excel(name = "教室名称", width = 15)
|
||||
@ApiModelProperty(value = "教室名称")
|
||||
private java.lang.String jsmc;
|
||||
/**创建人*/
|
||||
@Excel(name = "创建人", width = 15)
|
||||
@ApiModelProperty(value = "创建人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@Excel(name = "更新人", width = 15)
|
||||
@ApiModelProperty(value = "更新人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("kc_zhihuijiaoshi_state_log")
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="kc_zhihuijiaoshi_state_log对象", description="状态日志")
|
||||
public class KcZhihuijiaoshiStateLog {
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.String id;
|
||||
/**教学楼编号*/
|
||||
@Excel(name = "教学楼编号", width = 15)
|
||||
@ApiModelProperty(value = "教学楼编号")
|
||||
private java.lang.String jxlId;
|
||||
/**教学楼名称*/
|
||||
@Excel(name = "教学楼名称", width = 15)
|
||||
@ApiModelProperty(value = "教学楼名称")
|
||||
private java.lang.String jxlName;
|
||||
/**教室编号*/
|
||||
@Excel(name = "教室编号", width = 15)
|
||||
@ApiModelProperty(value = "教室编号")
|
||||
private java.lang.String jsbh;
|
||||
/**教室名称*/
|
||||
@Excel(name = "教室名称", width = 15)
|
||||
@ApiModelProperty(value = "教室名称")
|
||||
private java.lang.String jsmc;
|
||||
/**教师近景(录播主机*/
|
||||
@Excel(name = "教师近景(录播主机", width = 15)
|
||||
@ApiModelProperty(value = "教师近景(录播主机)")
|
||||
private java.lang.String lbzj;
|
||||
/**教师全景*/
|
||||
@Excel(name = "教师全景", width = 15)
|
||||
@ApiModelProperty(value = "教师全景")
|
||||
private java.lang.String jsqj;
|
||||
/**学生全景*/
|
||||
@Excel(name = "学生全景", width = 15)
|
||||
@ApiModelProperty(value = "学生全景")
|
||||
private java.lang.String xsqj;
|
||||
/**PPT*/
|
||||
@Excel(name = "PPT", width = 15)
|
||||
@ApiModelProperty(value = "PPT")
|
||||
private java.lang.String ppt;
|
||||
/**绿色的数量*/
|
||||
@Excel(name = "绿色的数量", width = 15)
|
||||
@ApiModelProperty(value = "绿色的数量")
|
||||
private java.lang.Integer greenNum;
|
||||
/**状态指示灯(green: 直播正常, yellow: 部分异常,red: 设备异常)*/
|
||||
@Excel(name = "状态指示灯(green: 直播正常, yellow: 部分异常,red: 设备异常)", width = 15)
|
||||
@ApiModelProperty(value = "状态指示灯(green: 直播正常, yellow: 部分异常,red: 设备异常)")
|
||||
private java.lang.String type;
|
||||
/**创建人*/
|
||||
@Excel(name = "创建人", width = 15)
|
||||
@ApiModelProperty(value = "创建人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@Excel(name = "更新人", width = 15)
|
||||
@ApiModelProperty(value = "更新人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface KcZhihuijiaoshiMonitorLogMapper extends BaseMapper<KcZhihuijiaoshiMonitorLog> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface KcZhihuijiaoshiStateLogMapper extends BaseMapper<KcZhihuijiaoshiStateLog> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.jeecg.modules.kc.jiaoshi.mapper.KcZhihuijiaoshiMonitorLogMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.jeecg.modules.kc.jiaoshi.mapper.KcZhihuijiaoshiStateLogMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.service;
|
||||
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IKcZhihuijiaoshiMonitorLogService extends IService<KcZhihuijiaoshiMonitorLog> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.service;
|
||||
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IKcZhihuijiaoshiStateLogService extends IService<KcZhihuijiaoshiStateLog> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.service.impl;
|
||||
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiMonitorLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.mapper.KcZhihuijiaoshiMonitorLogMapper;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiMonitorLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class KcZhihuijiaoshiMonitorLogServiceImpl extends ServiceImpl<KcZhihuijiaoshiMonitorLogMapper, KcZhihuijiaoshiMonitorLog> implements IKcZhihuijiaoshiMonitorLogService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package org.jeecg.modules.kc.jiaoshi.service.impl;
|
||||
|
||||
import org.jeecg.modules.kc.jiaoshi.entity.KcZhihuijiaoshiStateLog;
|
||||
import org.jeecg.modules.kc.jiaoshi.mapper.KcZhihuijiaoshiStateLogMapper;
|
||||
import org.jeecg.modules.kc.jiaoshi.service.IKcZhihuijiaoshiStateLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 状态日志
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2023-10-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class KcZhihuijiaoshiStateLogServiceImpl extends ServiceImpl<KcZhihuijiaoshiStateLogMapper, KcZhihuijiaoshiStateLog> implements IKcZhihuijiaoshiStateLogService {
|
||||
|
||||
}
|
||||
8
pom.xml
8
pom.xml
|
|
@ -138,10 +138,10 @@
|
|||
<artifactId>pegdown</artifactId>
|
||||
<version>${pegdown.version}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.jeecgframework.boot</groupId>-->
|
||||
<!-- <artifactId>jeecg-boot-base-core</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>org.jeecgframework.boot</groupId>
|
||||
<artifactId>jeecg-boot-base-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue