diff --git a/db/23年7月变更.sql b/db/23年7月变更.sql index 14e5f1ce..72129ecb 100644 --- a/db/23年7月变更.sql +++ b/db/23年7月变更.sql @@ -20,3 +20,15 @@ alter table pay_meeting_guests_file ALTER TABLE sys_announcement ADD deadline datetime COMMENT '截止时间'; +CREATE TABLE sys_notice ( + id VARCHAR(50) PRIMARY KEY COMMENT 'id', + notice_name VARCHAR(100) NULL COMMENT '公告名称', + notice_content VARCHAR(300) NULL COMMENT '公告内容', + notice_file VARCHAR(1000) NULL COMMENT '附件', + notice_status INT(1) NULL COMMENT '状态(1-启用,0-禁用)', + create_by VARCHAR(50) NULL COMMENT '创建人', + create_time datetime(0) NULL COMMENT '创建日期', + update_by VARCHAR(50) NULL COMMENT '更新人', + update_time datetime(0) NULL COMMENT '更新日期' +) COMMENT '公告管理表'; + diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysNoticeController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysNoticeController.java new file mode 100644 index 00000000..046d35b0 --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysNoticeController.java @@ -0,0 +1,72 @@ +package com.jero.modules.system.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; +import com.jero.modules.system.entity.SysNotice; +import com.jero.modules.system.service.ISysNoticeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Author: liao + * @Date: 2023/7/14 15:42 + * @remarks: 公告管理 + */ +@RestController +@RequestMapping("/sysNotice") +@Api(tags = "公告管理") +public class SysNoticeController { + + @Autowired + private ISysNoticeService sysNoticeService; + + @ApiOperation(value = "公告管理-添加", notes = "公告管理-添加") + @PostMapping(value = "/add") + @RequiresPermissions("sysNotice:add") + public Result add(@Validated @RequestBody SysNotice sysNotice) { + sysNoticeService.add(sysNotice); + return Result.OK(Result.OPERATING_SUCCESS); + } + + @ApiOperation(value = "公告管理-根据id删除", notes = "公告管理-根据id删除") + @GetMapping(value = "/deleteById") + @RequiresPermissions("sysNotice:deleteById") + public Result deleteById(@RequestParam(name = "id") String id) { + sysNoticeService.deleteById(id); + return Result.OK(Result.OPERATING_SUCCESS); + } + + @ApiOperation(value = "公告管理-根据ids批量删除", notes = "公告管理-根据ids批量删除") + @GetMapping(value = "/deleteBatch") + @RequiresPermissions("sysNotice:deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + sysNoticeService.deleteBatch(ids); + return Result.OK(Result.OPERATING_SUCCESS); + } + + @ApiOperation(value = "公告管理-编辑", notes = "公告管理-编辑") + @PostMapping(value = "/edit") + @RequiresPermissions("sysNotice:edit") + public Result edit(@Validated @RequestBody SysNotice sysNotice) { + sysNoticeService.edit(sysNotice); + return Result.OK(Result.OPERATING_SUCCESS); + } + + @ApiOperation(value = "公告管理-分页查询", notes = "公告管理-分页查询") + @GetMapping(value = "/pageList") + @RequiresPermissions("sysNotice:pageList") + public Result> pageList(SysNotice sysNotice, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = sysNoticeService.pageList(sysNotice, pageNo, pageSize, req); + return Result.OK(pageList); + } + +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysNotice.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysNotice.java new file mode 100644 index 00000000..a63f3c5b --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysNotice.java @@ -0,0 +1,53 @@ +package com.jero.modules.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @Author: liao + * @Date: 2023/7/14 14:31 + * @remarks: 公告管理表 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SysNotice implements Serializable { + + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty("公告名称") + private String noticeName; + @ApiModelProperty("公告内容") + private String noticeContent; + @ApiModelProperty("附件") + private String noticeFile; + @ApiModelProperty("状态(1-启用,0-禁用)") + @NotNull(message = "状态不能为空") + private Integer noticeStatus; +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysNoticeMapper.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysNoticeMapper.java new file mode 100644 index 00000000..add4d47c --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysNoticeMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.system.entity.SysNotice; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author: liao + * @Date: 2023/7/14 14:49 + * @remarks: 公告管理 + */ +@Mapper +public interface SysNoticeMapper extends BaseMapper { +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysNoticeService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysNoticeService.java new file mode 100644 index 00000000..9234f167 --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysNoticeService.java @@ -0,0 +1,24 @@ +package com.jero.modules.system.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.system.entity.SysNotice; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Author: liao + * @Date: 2023/7/14 15:25 + * @remarks: 公告管理 + */ +public interface ISysNoticeService extends IService { + void add(SysNotice sysNotice); + + void deleteById(String id); + + void deleteBatch(String ids); + + void edit(SysNotice sysNotice); + + IPage pageList(SysNotice sysNotice, Integer pageNo, Integer pageSize, HttpServletRequest req); +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysNoticeServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysNoticeServiceImpl.java new file mode 100644 index 00000000..8456983a --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysNoticeServiceImpl.java @@ -0,0 +1,49 @@ +package com.jero.modules.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.system.entity.SysNotice; +import com.jero.modules.system.mapper.SysNoticeMapper; +import com.jero.modules.system.service.ISysNoticeService; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; + +/** + * @Author: liao + * @Date: 2023/7/14 15:41 + * @remarks: 公告管理 + */ +@Service +public class SysNoticeServiceImpl extends ServiceImpl implements ISysNoticeService { + @Override + public void add(SysNotice sysNotice) { + save(sysNotice); + } + + @Override + public void deleteById(String id) { + removeById(id); + } + + @Override + public void deleteBatch(String ids) { + removeByIds(Arrays.asList(ids.split(","))); + } + + @Override + public void edit(SysNotice sysNotice) { + updateById(sysNotice); + } + + @Override + public IPage pageList(SysNotice sysNotice, Integer pageNo, Integer pageSize, HttpServletRequest req) { + Page page = new Page<>(pageNo, pageSize); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysNotice, req.getParameterMap()); + return page(page, queryWrapper); + } +}