publish 0.0.8

This commit is contained in:
曾文豪
2023-01-10 10:38:36 +08:00
parent ff8a3fb3c2
commit 725c134ab8
28 changed files with 542 additions and 17 deletions

View File

@@ -1,9 +1,9 @@
package com.tiesheng.core;
import com.tiesheng.login.LoginAutoImportSelector;
import com.tiesheng.message.MessageAutoConfigurer;
import com.tiesheng.migration.MigrationAutoImportSelector;
import com.tiesheng.util.UtilAutoConfigurer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
import java.lang.annotation.*;
@@ -16,6 +16,7 @@ import java.lang.annotation.*;
@Documented
@Import({
UtilAutoConfigurer.class,
MessageAutoConfigurer.class,
CoreAutoImportSelector.class,
LoginAutoImportSelector.class,
MigrationAutoImportSelector.class

View File

@@ -7,7 +7,6 @@ import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.util.exception.ApiException;
import com.tiesheng.util.exception.ApiRespEnum;
import com.tiesheng.util.pojos.ApiResp;
import org.springframework.context.annotation.Configuration;
import javax.servlet.http.HttpServletResponse;
@@ -16,7 +15,6 @@ import javax.servlet.http.HttpServletResponse;
*
* @author hao
*/
@Configuration
public interface TieshengWebConfigurer {

View File

@@ -1,8 +1,10 @@
package com.tiesheng.core.controller.log;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tiesheng.core.pojos.dao.CoreLogLogin;
import com.tiesheng.core.pojos.dao.CoreLogMessage;
import com.tiesheng.core.pojos.dao.CoreLogOperation;
import com.tiesheng.core.pojos.dto.PageDTO;
import com.tiesheng.core.service.CoreLogService;
@@ -64,4 +66,26 @@ public class LogController {
return ApiResp.respOK(page.getRecords(), page.getTotal());
}
/**
* 登录日志列表
*
* @return
*/
@GetMapping("/message/page")
public ApiResp<List<CoreLogMessage>> messagePage(String result, @Valid PageDTO dto) {
QueryWrapper<CoreLogMessage> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_deleted", 0);
if (!StrUtil.isEmpty(result)) {
queryWrapper.eq("result", result);
}
dto.likeColumns(queryWrapper, "type", "target", "content", "resp_body");
queryWrapper.orderByDesc("create_time");
Page<CoreLogMessage> page = dto.pageObj();
coreLogService.getLogMessageMapper().selectPage(page, queryWrapper);
return ApiResp.respOK(page.getRecords(), page.getTotal());
}
}

View File

@@ -0,0 +1,7 @@
package com.tiesheng.core.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tiesheng.core.pojos.dao.CoreLogMessage;
public interface CoreLogMessageMapper extends BaseMapper<CoreLogMessage> {
}

View File

@@ -0,0 +1,134 @@
package com.tiesheng.core.pojos.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tiesheng.core.pojos.DaoBase;
import java.util.Date;
/**
* 日志-消息
*/
@TableName(value = "core_log_message")
public class CoreLogMessage extends DaoBase {
/**
* 类型
*/
@TableField(value = "`type`")
private String type;
/**
* 发送对象
*/
@TableField(value = "target")
private String target;
/**
* 发送内容
*/
@TableField(value = "content")
private String content;
/**
* 返回结果
*/
@TableField(value = "resp_body")
private String respBody;
/**
* 结果
*/
@TableField(value = "`result`")
private Integer result;
/**
* 获取类型
*
* @return type - 类型
*/
public String getType() {
return type;
}
/**
* 设置类型
*
* @param type 类型
*/
public void setType(String type) {
this.type = type;
}
/**
* 获取发送对象
*
* @return target - 发送对象
*/
public String getTarget() {
return target;
}
/**
* 设置发送对象
*
* @param target 发送对象
*/
public void setTarget(String target) {
this.target = target;
}
/**
* 获取发送内容
*
* @return content - 发送内容
*/
public String getContent() {
return content;
}
/**
* 设置发送内容
*
* @param content 发送内容
*/
public void setContent(String content) {
this.content = content;
}
/**
* 获取返回结果
*
* @return resp_body - 返回结果
*/
public String getRespBody() {
return respBody;
}
/**
* 设置返回结果
*
* @param respBody 返回结果
*/
public void setRespBody(String respBody) {
this.respBody = respBody;
}
/**
* 获取结果
*
* @return result - 结果
*/
public Integer getResult() {
return result;
}
/**
* 设置结果
*
* @param result 结果
*/
public void setResult(Integer result) {
this.result = result;
}
}

View File

@@ -1,14 +1,19 @@
package com.tiesheng.core.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.json.JSONUtil;
import com.tiesheng.core.config.web.TieshengWebConfigurer;
import com.tiesheng.core.config.web.bean.CurrentWebUser;
import com.tiesheng.core.mapper.CoreLogLoginMapper;
import com.tiesheng.core.mapper.CoreLogMessageMapper;
import com.tiesheng.core.mapper.CoreLogOperationMapper;
import com.tiesheng.core.pojos.dao.CoreLogLogin;
import com.tiesheng.core.pojos.dao.CoreLogMessage;
import com.tiesheng.core.pojos.dao.CoreLogOperation;
import com.tiesheng.core.pojos.dao.CorePlatformUnique;
import com.tiesheng.message.pojos.MessageReqResp;
import com.tiesheng.message.service.TieshengMessageConfigurer;
import com.tiesheng.util.ServletKit;
import com.tiesheng.util.ip2region.DataBlock;
import com.tiesheng.util.ip2region.Ip2Region;
@@ -21,17 +26,23 @@ import javax.servlet.http.HttpServletRequest;
* @author hao
*/
@Service
public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLogOperation> {
public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLogOperation> implements TieshengMessageConfigurer {
@Autowired
TieshengWebConfigurer tieshengWebConfigurer;
@Autowired
CoreLogLoginMapper coreLogLoginMapper;
@Autowired
CoreLogMessageMapper coreLogMessageMapper;
public CoreLogLoginMapper getLogLoginMapper() {
return coreLogLoginMapper;
}
public CoreLogMessageMapper getLogMessageMapper() {
return coreLogMessageMapper;
}
///////////////////////////////////////////////////////////////////////////
// 操作日志
///////////////////////////////////////////////////////////////////////////
@@ -82,4 +93,21 @@ public class CoreLogService extends TsServiceBase<CoreLogOperationMapper, CoreLo
}
///////////////////////////////////////////////////////////////////////////
// 消息日志
///////////////////////////////////////////////////////////////////////////
/**
* 添加消息日志
*
* @param type
* @param reqResp
*/
@Override
public void onMessageSend(String type, MessageReqResp reqResp) {
CoreLogMessage coreLogMessage = BeanUtil.copyProperties(reqResp, CoreLogMessage.class);
coreLogMessage.setType(type);
coreLogMessageMapper.insert(coreLogMessage);
}
}

View File

@@ -1,5 +1,6 @@
package com.tiesheng.core.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tiesheng.core.config.web.TieshengWebConfigurer;
import com.tiesheng.core.mapper.CorePlatformUniqueMapper;
@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author hao
@@ -68,4 +70,24 @@ public class CorePlatformUniqueService extends TsServiceBase<CorePlatformUniqueM
return platformUnique;
}
/**
* 通过平台和用户id查询
*
* @param platform
* @param userIds
* @return
*/
private List<CorePlatformUnique> getByPlatformAndUser(String platform, List<String> userIds) {
if (CollUtil.isEmpty(userIds)) {
return CollUtil.newArrayList();
}
QueryWrapper<CorePlatformUnique> queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", userIds);
queryWrapper.eq("platform", platform);
queryWrapper.last("limit 1");
return list(queryWrapper);
}
}

View File

@@ -0,0 +1,23 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for core_log_message
-- ----------------------------
CREATE TABLE `core_log_message`
(
`id` varchar(50) NOT NULL,
`create_time` datetime NOT NULL,
`update_time` datetime NOT NULL,
`is_deleted` int(6) NOT NULL DEFAULT '0',
`type` varchar(50) DEFAULT NULL COMMENT '类型',
`target` varchar(255) DEFAULT NULL COMMENT '发送对象',
`content` text COMMENT '发送内容',
`resp_body` text COMMENT '返回结果',
`result` int(6) NOT NULL DEFAULT '0' COMMENT '结果',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
ROW_FORMAT = DYNAMIC COMMENT ='日志-消息';
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -0,0 +1,21 @@
<?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="com.tiesheng.core.mapper.CoreLogMessageMapper">
<resultMap id="BaseResultMap" type="com.tiesheng.core.pojos.dao.CoreLogMessage">
<!--@mbg.generated-->
<!--@Table core_log_message-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted" />
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="target" jdbcType="VARCHAR" property="target" />
<result column="content" jdbcType="LONGVARCHAR" property="content" />
<result column="resp_body" jdbcType="LONGVARCHAR" property="respBody" />
<result column="result" jdbcType="INTEGER" property="result" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, create_time, update_time, is_deleted, `type`, target, content, resp_body, `result`
</sql>
</mapper>