From 52020807a992756152f1b9724ee635c4d65802ac Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Sun, 23 Jun 2024 17:02:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=99=BB=E5=BD=95=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/KcDetectionDetailedServiceImpl.java | 29 ++- .../kc/wjxDjxx/entity/StudentWjglSys.java | 49 +++++ .../controller/BlLoginLogController.java | 189 ++++++++++++++++++ .../kc/blLoginLog/entity/BlLoginLog.java | 98 +++++++++ .../blLoginLog/mapper/BlLoginLogMapper.java | 17 ++ .../mapper/xml/BlLoginLogMapper.xml | 5 + .../service/IBlLoginLogService.java | 17 ++ .../service/impl/BlLoginLogServiceImpl.java | 68 +++++++ .../service/impl/SysUserServiceImpl.java | 2 +- .../src/main/resources/application-prod.yml | 2 +- 10 files changed, 469 insertions(+), 7 deletions(-) create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/StudentWjglSys.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/controller/BlLoginLogController.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/entity/BlLoginLog.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/BlLoginLogMapper.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/xml/BlLoginLogMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/IBlLoginLogService.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/impl/BlLoginLogServiceImpl.java diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/detection/service/impl/KcDetectionDetailedServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/detection/service/impl/KcDetectionDetailedServiceImpl.java index 840a9979..dd12281a 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/detection/service/impl/KcDetectionDetailedServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/detection/service/impl/KcDetectionDetailedServiceImpl.java @@ -94,6 +94,7 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl> calls = Lists.newArrayList(); + log.info("----------抓取图片开始--------------"); //新版,查询当前是否有课 KcZhihuijiaoshi jiaoshi = new KcZhihuijiaoshi(); @@ -106,6 +107,7 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl kcJieciList = jieciService.getIndexJcList(kcJieci); + log.info("----------kcJieciList--------------{}",kcJieciList); if(kcJieciList != null && !kcJieciList.isEmpty()){ KcJieci kcJieciParam = kcJieciList.get(0); String[] jcArray = StringUtils.split(kcJieciParam.getJieci(),"、"); @@ -114,6 +116,7 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl page = new Page<>(1, -1); IPage pageList = kcKetangbiaoService.getKclblist(page, kcKetangbiao); + log.info("----------pageList--------------{},{}",pageList.getRecords().size(),pageList.getRecords()); if(pageList != null){ List list = pageList.getRecords(); Set jsbhSet = Sets.newHashSet(); @@ -140,6 +144,11 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl zhjsQW = new QueryWrapper<>(); @@ -149,6 +158,7 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl zhihuijiaoshiList = zhihuijiaoshiService.list(zhjsQW); + log.info("----------zhihuijiaoshiList--------------{}",zhihuijiaoshiList); zhihuijiaoshiList.forEach(x -> { try { Thread.sleep(1000L); @@ -180,11 +190,14 @@ public class KcDetectionDetailedServiceImpl extends ServiceImpl { + @Autowired + private IBlLoginLogService blLoginLogService; + + /** + * 分页列表查询 + * + * @param blLoginLog + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "登录日志-分页列表查询") + @ApiOperation(value="登录日志-分页列表查询", notes="登录日志-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(BlLoginLog blLoginLog, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(blLoginLog, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.ge(StringUtils.isNotEmpty(blLoginLog.getStartTime()),"create_time",blLoginLog.getStartTime()); + queryWrapper.le(StringUtils.isNotEmpty(blLoginLog.getEndTime()),"create_time",blLoginLog.getEndTime()+" 23:59:59"); + IPage pageList = blLoginLogService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param blLoginLog + * @return + */ + @AutoLog(value = "登录日志-添加") + @ApiOperation(value="登录日志-添加", notes="登录日志-添加") + @RequiresPermissions("blLoginLog:bl_login_log:add") + @PostMapping(value = "/add") + public Result add(@RequestBody BlLoginLog blLoginLog) { + blLoginLogService.save(blLoginLog); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param blLoginLog + * @return + */ + @AutoLog(value = "登录日志-编辑") + @ApiOperation(value="登录日志-编辑", notes="登录日志-编辑") + @RequiresPermissions("blLoginLog:bl_login_log:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody BlLoginLog blLoginLog) { + blLoginLogService.updateById(blLoginLog); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "登录日志-通过id删除") + @ApiOperation(value="登录日志-通过id删除", notes="登录日志-通过id删除") + @RequiresPermissions("blLoginLog:bl_login_log:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + blLoginLogService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "登录日志-批量删除") + @ApiOperation(value="登录日志-批量删除", notes="登录日志-批量删除") + @RequiresPermissions("blLoginLog:bl_login_log:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.blLoginLogService.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) { + BlLoginLog blLoginLog = blLoginLogService.getById(id); + if(blLoginLog==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(blLoginLog); + } + + /** + * 导出excel + * + * @param request + * @param blLoginLog + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, BlLoginLog blLoginLog) { + return super.exportXls(request, blLoginLog, BlLoginLog.class, "登录日志"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("blLoginLog:bl_login_log:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, BlLoginLog.class); + } + + + + @PostMapping(value = "/addLog") + public Result addLog(@RequestBody SysUser sysUser) { + blLoginLogService.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null,null); + return Result.OK("添加成功!"); + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/entity/BlLoginLog.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/entity/BlLoginLog.java new file mode 100644 index 00000000..1605d956 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/entity/BlLoginLog.java @@ -0,0 +1,98 @@ +package org.jeecg.modules.kc.blLoginLog.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 登录日志 + * @Author: jeecg-boot + * @Date: 2024-06-17 + * @Version: V1.0 + */ +@Data +@TableName("bl_login_log") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="bl_login_log对象", description="登录日志") +public class BlLoginLog implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /**日志类型(1登录日志,2操作日志, 3.租户操作日志)*/ + @ApiModelProperty(value = "日志类型(1登录日志,2操作日志, 3.租户操作日志)") + private java.lang.Integer logType; + /**日志内容*/ + @Excel(name = "日志内容", width = 35) + @ApiModelProperty(value = "日志内容") + private java.lang.String logContent; + /**操作类型*/ + @ApiModelProperty(value = "操作类型") + private java.lang.Integer operateType; + /**操作用户账号*/ + @Excel(name = "操作用户账号", width = 15) + @ApiModelProperty(value = "操作用户账号") + private java.lang.String userid; + /**操作用户名称*/ + @Excel(name = "操作用户名称", width = 15) + @ApiModelProperty(value = "操作用户名称") + private java.lang.String username; + /**IP*/ + @Excel(name = "IP", width = 15) + @ApiModelProperty(value = "IP") + private java.lang.String ip; + /**请求java方法*/ + @ApiModelProperty(value = "请求java方法") + private java.lang.String method; + /**请求路径*/ + @ApiModelProperty(value = "请求路径") + private java.lang.String requestUrl; + /**请求参数*/ + @ApiModelProperty(value = "请求参数") + private java.lang.String requestParam; + /**请求类型*/ + @ApiModelProperty(value = "请求类型") + private java.lang.String requestType; + /**耗时*/ + @ApiModelProperty(value = "耗时") + private java.lang.Integer costTime; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建时间*/ + @Excel(name = "登录时间", width = 30 ,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; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; + /**租户ID*/ + @ApiModelProperty(value = "租户ID") + private java.lang.Integer tenantId; + @TableField(exist = false) + private String startTime; + @TableField(exist = false) + private String endTime; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/BlLoginLogMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/BlLoginLogMapper.java new file mode 100644 index 00000000..ab393d4a --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/BlLoginLogMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.kc.blLoginLog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.kc.blLoginLog.entity.BlLoginLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 登录日志 + * @Author: jeecg-boot + * @Date: 2024-06-17 + * @Version: V1.0 + */ +public interface BlLoginLogMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/xml/BlLoginLogMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/xml/BlLoginLogMapper.xml new file mode 100644 index 00000000..f5a49557 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/mapper/xml/BlLoginLogMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/IBlLoginLogService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/IBlLoginLogService.java new file mode 100644 index 00000000..71359b91 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/IBlLoginLogService.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.kc.blLoginLog.service; + +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.kc.blLoginLog.entity.BlLoginLog; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.system.entity.SysUser; + +/** + * @Description: 登录日志 + * @Author: jeecg-boot + * @Date: 2024-06-17 + * @Version: V1.0 + */ +public interface IBlLoginLogService extends IService { + + void addLog(String logContent, Integer logType, Integer operatetype, SysUser user); +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/impl/BlLoginLogServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/impl/BlLoginLogServiceImpl.java new file mode 100644 index 00000000..091c3000 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/blLoginLog/service/impl/BlLoginLogServiceImpl.java @@ -0,0 +1,68 @@ +package org.jeecg.modules.kc.blLoginLog.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.dto.LogDTO; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.IpUtils; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.modules.kc.blLoginLog.entity.BlLoginLog; +import org.jeecg.modules.kc.blLoginLog.mapper.BlLoginLogMapper; +import org.jeecg.modules.kc.blLoginLog.service.IBlLoginLogService; +import org.jeecg.modules.system.entity.SysUser; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; + +/** + * @Description: 登录日志 + * @Author: jeecg-boot + * @Date: 2024-06-17 + * @Version: V1.0 + */ +@Service +public class BlLoginLogServiceImpl extends ServiceImpl implements IBlLoginLogService { + + + @Override + public void addLog(String logContent, Integer logType, Integer operatetype, SysUser user) { + BlLoginLog sysLog = new BlLoginLog(); + sysLog.setId(String.valueOf(IdWorker.getId())); + //注解上的描述,操作日志内容 + sysLog.setLogContent(logContent); + sysLog.setLogType(logType); + sysLog.setOperateType(operatetype); + try { + //获取request + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + //设置IP地址 + sysLog.setIp(IpUtils.getIpAddr(request)); + } catch (Exception e) { + sysLog.setIp("127.0.0.1"); + } + //获取登录用户信息 +// if(user==null){ +// try { +// user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// } catch (Exception e) { +// //e.printStackTrace(); +// } +// } + if(user!=null){ + sysLog.setUserid(user.getUsername()); + sysLog.setUsername(user.getRealname()); + sysLog.setCreateBy(user.getUsername()); + } + sysLog.setCreateTime(new Date()); + //保存日志(异常捕获处理,防止数据太大存储失败,导致业务失败)JT-238 + try { + baseMapper.insert(sysLog); + } catch (Exception e) { + log.warn(" LogContent length : "+sysLog.getLogContent().length()); + log.warn(e.getMessage()); + } + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index fd6a88fa..6e51e463 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -550,7 +550,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // // baseCommonService.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null); try { - blLoginLogService.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null,sysUser); + blLoginLogService.addLog("用户名: " + sysUser.getRealname() + ",登录成功!", CommonConstant.LOG_TYPE_1, null,sysUser); }catch (Exception e) { System.out.println("Error---------->: " + sysUser.getUsername()); } diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index 272b3e57..858506a8 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -60,7 +60,7 @@ spring: clusterCheckinInterval: 15000 threadPool: class: org.quartz.simpl.SimpleThreadPool - threadCount: 10 + threadCount: 100 threadPriority: 5 threadsInheritContextClassLoaderOfInitializingThread: true #json 时间戳统一转换