This commit is contained in:
lzttt 2024-10-09 17:24:58 +08:00
commit b58e42788c
8 changed files with 350 additions and 0 deletions

View File

@ -0,0 +1,84 @@
package cn.iocoder.yudao.module.notice.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import cn.iocoder.yudao.module.notice.service.DlBaseNoticeService;
import cn.iocoder.yudao.module.notice.vo.DlBaseNoticeReqVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
/**
* 平台通用信息公告(DlBaseNotice)表控制层
*
* @author 小李
* @date 9:48 2024/10/9
**/
@RestController
@RequestMapping("/base/notice")
public class DlBaseNoticeController {
/**
* 服务对象
*/
@Resource
private DlBaseNoticeService dlBaseNoticeService;
/**
* 平台通用信息公告 分页查询 按服务
*
* @author 小李
* @date 9:52 2024/10/9
* @param reqVO 查询对象
* @param pageNo 页数
* @param pageSize 条数
**/
@GetMapping("/page")
@Operation(summary = "平台通用信息公告 分页查询 按服务")
public CommonResult<?> pageNotice(DlBaseNoticeReqVO reqVO,
@RequestParam(value = "pageNo", defaultValue = "1")Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize) {
Page<DlBaseNotice> page = new Page<>(pageNo, pageSize);
return success(dlBaseNoticeService.pageNotice(reqVO, page));
}
/**
* 平台通用信息公告 新增修改 按服务
*
* @author 小李
* @date 10:04 2024/10/9
* @param reqVO 请求对象
**/
@PostMapping("/update")
@Operation(summary = "平台通用信息公告 新增、修改 按服务")
public CommonResult<?> updateNotice(@RequestBody DlBaseNoticeReqVO reqVO) {
dlBaseNoticeService.updateNotice(reqVO);
return CommonResult.ok();
}
/**
* 平台通用信息公告 删除 按服务
*
* @author 小李
* @date 10:10 2024/10/9
* @param ids ids
**/
@DeleteMapping("/remove")
@Operation(summary = "平台通用信息公告 删除 按服务")
public CommonResult<?> removeNotice(@RequestParam("ids") List<String> ids) {
dlBaseNoticeService.removeNotice(ids);
return CommonResult.ok();
}
@GetMapping("get")
@Operation(summary = "平台通用信息公告 查询 按服务")
public CommonResult<?> getNoticeById(@RequestParam("id") String id) {
return success(dlBaseNoticeService.getById(id));
}
}

View File

@ -0,0 +1,53 @@
package cn.iocoder.yudao.module.notice.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 平台通用信息公告
*
* @author 小李
* @date 9:41 2024/10/9
**/
@TableName(value ="dl_base_notice")
@Data
@EqualsAndHashCode(callSuper = true)
public class DlBaseNotice extends TenantBaseDO {
/**
* 公告ID
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 公告标题
*/
private String title;
/**
* 公告内容
*/
private String content;
/**
* 公告类型1通知 2公告
*/
private Integer type;
/**
* 公告状态0正常 1关闭
*/
private Integer status;
/** 父服务(服务拼音维修业务即weixiu) */
private String parentServer;
/**
* 展示在那个服务使用端小程序即wxAPP即app
*/
private String server;
}

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.notice.mapper;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import cn.iocoder.yudao.module.notice.vo.DlBaseNoticeReqVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 针对表dl_base_notice(平台通用信息公告)的数据库操作Mapper
*
* @author 小李
* @date 9:44 2024/10/9
**/
@Mapper
public interface DlBaseNoticeMapper extends BaseMapper<DlBaseNotice> {
/**
* 平台通用信息公告 分页查询 按服务
*
* @author 小李
* @date 9:52 2024/10/9
* @param reqVO 查询对象
**/
IPage<DlBaseNotice> pageNotice(@Param("map") DlBaseNoticeReqVO reqVO, Page<DlBaseNotice> page);
}

View File

@ -0,0 +1,45 @@
package cn.iocoder.yudao.module.notice.service;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import cn.iocoder.yudao.module.notice.vo.DlBaseNoticeReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* 针对表dl_base_notice(平台通用信息公告)的数据库操作Service
*
* @author 小李
* @date 9:45 2024/10/9
**/
public interface DlBaseNoticeService extends IService<DlBaseNotice> {
/**
* 平台通用信息公告 分页查询 按服务
*
* @author 小李
* @date 9:52 2024/10/9
* @param reqVO 查询对象
**/
IPage<DlBaseNotice> pageNotice(DlBaseNoticeReqVO reqVO, Page<DlBaseNotice> page);
/**
* 平台通用信息公告 新增修改 按服务
*
* @author 小李
* @date 10:04 2024/10/9
* @param reqVO 请求对象
**/
void updateNotice(DlBaseNoticeReqVO reqVO);
/**
* 平台通用信息公告 删除 按服务
*
* @author 小李
* @date 10:10 2024/10/9
* @param ids ids
**/
void removeNotice(List<String> ids);
}

View File

@ -0,0 +1,65 @@
package cn.iocoder.yudao.module.notice.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import cn.iocoder.yudao.module.notice.mapper.DlBaseNoticeMapper;
import cn.iocoder.yudao.module.notice.service.DlBaseNoticeService;
import cn.iocoder.yudao.module.notice.vo.DlBaseNoticeReqVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 针对表dl_base_notice(平台通用信息公告)的数据库操作Service实现
*
* @author 小李
* @date 9:45 2024/10/9
**/
@Service
public class DlBaseNoticeServiceImpl extends ServiceImpl<DlBaseNoticeMapper, DlBaseNotice>
implements DlBaseNoticeService {
/**
* 平台通用信息公告 分页查询 按服务
*
* @author 小李
* @date 9:52 2024/10/9
* @param reqVO 查询对象
**/
@Override
public IPage<DlBaseNotice> pageNotice(DlBaseNoticeReqVO reqVO, Page<DlBaseNotice> page){
return baseMapper.pageNotice(reqVO, page);
}
/**
* 平台通用信息公告 新增修改 按服务
*
* @author 小李
* @date 10:04 2024/10/9
* @param reqVO 请求对象
**/
@Override
public void updateNotice(DlBaseNoticeReqVO reqVO){
baseMapper.insertOrUpdate(reqVO);
}
/**
* 平台通用信息公告 删除 按服务
*
* @author 小李
* @date 10:10 2024/10/9
* @param ids ids
**/
@Override
public void removeNotice(List<String> ids){
baseMapper.deleteByIds(ids);
}
}

View File

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.notice.vo;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import lombok.Data;
/**
* 平台通用信息公告 请求VO
*
* @author 小李
* @date 9:43 2024/10/9
**/
@Data
public class DlBaseNoticeReqVO extends DlBaseNotice {
}

View File

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.notice.vo;
import cn.iocoder.yudao.module.notice.entity.DlBaseNotice;
import lombok.Data;
/**
* 平台通用信息公告 响应VO
*
* @author 小李
* @date 9:43 2024/10/9
**/
@Data
public class DlBaseNoticeRespVO extends DlBaseNotice {
}

View File

@ -0,0 +1,43 @@
<?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="cn.iocoder.yudao.module.notice.mapper.DlBaseNoticeMapper">
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.notice.entity.DlBaseNotice">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="content" column="content" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="TINYINT"/>
<result property="status" column="status" jdbcType="TINYINT"/>
<result property="parentServer" column="parent_server" jdbcType="VARCHAR"/>
<result property="server" column="server" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_SQL">
select id,
title,
content,
type,
status,
parent_server,
server
from dl_base_notice dbn
where dbn.deleted = '0'
</sql>
<select id="pageNotice" resultMap="BaseResultMap">
<include refid="Base_SQL" />
and dbn.parent_server = #{map.parentServer}
<if test="map.server != null and map.server != ''">
and dbn.server = #{map.server}
</if>
<if test="map.status != null">
and dbn.status = #{map.status}
</if>
<if test="map.title != null and map.title != ''">
and dbn.title like concat('%', #{map.title}, '%')
</if>
order by dbn.create_time desc
</select>
</mapper>