feat(发布历史记录逻辑):

This commit is contained in:
fuhao 2024-08-14 15:49:22 +08:00
parent 39b7e2f354
commit f817669bd0
No known key found for this signature in database
6 changed files with 191 additions and 0 deletions

View File

@ -0,0 +1,35 @@
package com.ruoyi.web.controller.board;
import com.ruoyi.board.domain.ReleaseRecord;
import com.ruoyi.board.service.IReleaseRecordService;
import com.ruoyi.board.service.impl.ReleaseRecordServiceImpl;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 发布记录表(pub_release_record)表控制层
*
* @author fuhao
*/
@RestController
@RequestMapping("/pub_release_record")
public class ReleaseRecordController {
/**
* 服务对象
*/
@Autowired
private IReleaseRecordService releaseRecordServiceImpl;
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("selectOne")
public ReleaseRecord selectOne(Integer id) {
return releaseRecordServiceImpl.getById(id);
}
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.board.domain;
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 java.util.Date;
import lombok.Data;
/**
* 发布记录表
*/
@Data
@TableName(value = "pub_release_record")
public class ReleaseRecord {
/**
* 主键自增
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 情报板ID
*/
@TableField(value = "board_id")
private Integer boardId;
/**
* 预置信息ID
*/
@TableField(value = "preset_content_id")
private Integer presetContentId;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 创建人
*/
@TableField(value = "created_by")
private Integer createdBy;
}

View File

@ -0,0 +1,48 @@
package com.ruoyi.board.domain;
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 lombok.Data;
import java.util.Date;
/**
* 发布记录表
*/
@Data
public class ReleaseRecordDto {
/**
* 主键自增
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 情报板ID
*/
@TableField(value = "board_id")
private Integer boardId;
/**
* 预置信息ID
*/
@TableField(value = "preset_content_id")
private Integer presetContentId;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 创建人
*/
@TableField(value = "created_by")
private Integer createdBy;
@TableField(value = "info_type")
private Integer infoType;
}

View File

@ -0,0 +1,7 @@
package com.ruoyi.board.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.ruoyi.board.domain.ReleaseRecord;
public interface ReleaseRecordMapper extends MPJBaseMapper<ReleaseRecord> {
}

View File

@ -0,0 +1,39 @@
package com.ruoyi.board.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.ruoyi.board.domain.PresetContent;
import com.ruoyi.board.domain.ReleaseRecordDto;
import lombok.Data;
import org.springframework.stereotype.Service;
import com.ruoyi.board.domain.ReleaseRecord;
import com.ruoyi.board.mapper.ReleaseRecordMapper;
import com.ruoyi.board.service.IReleaseRecordService;
@Service
public class ReleaseRecordServiceImpl extends MPJBaseServiceImpl<ReleaseRecordMapper, ReleaseRecord> implements IReleaseRecordService {
@Override
public ReleaseRecord getOneLatestByBoardId(String boardId, Integer type) {
// LambdaQueryWrapper<ReleaseRecord> releaseRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
// releaseRecordLambdaQueryWrapper
// .eq(ReleaseRecord::getBoardId, boardId)
// .orderByDesc(ReleaseRecord::getCreateTime)
// .last("LIMIT 1");
ReleaseRecordDto releaseRecord = selectJoinOne(ReleaseRecordDto.class,
new MPJLambdaWrapper<ReleaseRecord>()
.selectAll(ReleaseRecord.class)
.select(PresetContent::getInfoType)
.leftJoin(PresetContent.class, PresetContent::getId, ReleaseRecord::getPresetContentId)
.eq(ReleaseRecord::getBoardId, boardId)
.eq(PresetContent::getInfoType, type)
.orderByDesc(ReleaseRecord::getCreateTime)
.last("LIMIT 1")
);
System.out.println(releaseRecord);
return null;
}
}

View File

@ -0,0 +1,17 @@
<?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.ruoyi.board.mapper.ReleaseRecordMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.board.domain.ReleaseRecord">
<!--@mbg.generated-->
<!--@Table pub_release_record-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="board_id" jdbcType="INTEGER" property="boardId" />
<result column="preset_content_id" jdbcType="INTEGER" property="presetContentId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="created_by" jdbcType="INTEGER" property="createdBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, board_id, preset_content_id, create_time, created_by
</sql>
</mapper>