mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	1. 开始迁移通知模块的代码
This commit is contained in:
		| @@ -1,92 +0,0 @@ | ||||
| package com.ruoyi.web.controller.system; | ||||
|  | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.DeleteMapping; | ||||
| import org.springframework.web.bind.annotation.GetMapping; | ||||
| import org.springframework.web.bind.annotation.PathVariable; | ||||
| import org.springframework.web.bind.annotation.PostMapping; | ||||
| import org.springframework.web.bind.annotation.PutMapping; | ||||
| import org.springframework.web.bind.annotation.RequestBody; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
| import com.ruoyi.common.annotation.Log; | ||||
| import com.ruoyi.common.core.controller.BaseController; | ||||
| import com.ruoyi.common.core.domain.AjaxResult; | ||||
| import com.ruoyi.common.core.page.TableDataInfo; | ||||
| import com.ruoyi.common.enums.BusinessType; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.system.domain.SysNotice; | ||||
| import com.ruoyi.system.service.ISysNoticeService; | ||||
|  | ||||
| /** | ||||
|  * 公告 信息操作处理 | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| @RestController | ||||
| @RequestMapping("/system/notice") | ||||
| public class SysNoticeController extends BaseController | ||||
| { | ||||
|     @Autowired | ||||
|     private ISysNoticeService noticeService; | ||||
|  | ||||
|     /** | ||||
|      * 获取通知公告列表 | ||||
|      */ | ||||
|     @PreAuthorize("@ss.hasPermi('system:notice:list')") | ||||
|     @GetMapping("/list") | ||||
|     public TableDataInfo list(SysNotice notice) | ||||
|     { | ||||
|         startPage(); | ||||
|         List<SysNotice> list = noticeService.selectNoticeList(notice); | ||||
|         return getDataTable(list); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据通知公告编号获取详细信息 | ||||
|      */ | ||||
|     @PreAuthorize("@ss.hasPermi('system:notice:query')") | ||||
|     @GetMapping(value = "/{noticeId}") | ||||
|     public AjaxResult getInfo(@PathVariable Long noticeId) | ||||
|     { | ||||
|         return AjaxResult.success(noticeService.selectNoticeById(noticeId)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增通知公告 | ||||
|      */ | ||||
|     @PreAuthorize("@ss.hasPermi('system:notice:add')") | ||||
|     @Log(title = "通知公告", businessType = BusinessType.INSERT) | ||||
|     @PostMapping | ||||
|     public AjaxResult add(@Validated @RequestBody SysNotice notice) | ||||
|     { | ||||
|         notice.setCreateBy(SecurityUtils.getUsername()); | ||||
|         return toAjax(noticeService.insertNotice(notice)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 修改通知公告 | ||||
|      */ | ||||
|     @PreAuthorize("@ss.hasPermi('system:notice:edit')") | ||||
|     @Log(title = "通知公告", businessType = BusinessType.UPDATE) | ||||
|     @PutMapping | ||||
|     public AjaxResult edit(@Validated @RequestBody SysNotice notice) | ||||
|     { | ||||
|         notice.setUpdateBy(SecurityUtils.getUsername()); | ||||
|         return toAjax(noticeService.updateNotice(notice)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 删除通知公告 | ||||
|      */ | ||||
|     @PreAuthorize("@ss.hasPermi('system:notice:remove')") | ||||
|     @Log(title = "通知公告", businessType = BusinessType.DELETE) | ||||
|     @DeleteMapping("/{noticeIds}") | ||||
|     public AjaxResult remove(@PathVariable Long[] noticeIds) | ||||
|     { | ||||
|         return toAjax(noticeService.deleteNoticeByIds(noticeIds)); | ||||
|     } | ||||
| } | ||||
| @@ -1,110 +0,0 @@ | ||||
| package com.ruoyi.framework.config; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import javax.sql.DataSource; | ||||
|  | ||||
| import org.apache.ibatis.io.VFS; | ||||
| import org.apache.ibatis.session.SqlSessionFactory; | ||||
| import org.mybatis.spring.SqlSessionFactoryBean; | ||||
| import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.core.env.Environment; | ||||
| import org.springframework.core.io.DefaultResourceLoader; | ||||
| import org.springframework.core.io.Resource; | ||||
| import org.springframework.core.io.support.PathMatchingResourcePatternResolver; | ||||
| import org.springframework.core.io.support.ResourcePatternResolver; | ||||
| import org.springframework.core.type.classreading.CachingMetadataReaderFactory; | ||||
| import org.springframework.core.type.classreading.MetadataReader; | ||||
| import org.springframework.core.type.classreading.MetadataReaderFactory; | ||||
| import org.springframework.util.ClassUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
|  | ||||
| /** | ||||
|  * Mybatis支持*匹配扫描包 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| @Configuration | ||||
| public class MyBatisConfig { | ||||
|     @Autowired | ||||
|     private Environment env; | ||||
|  | ||||
|     static final String DEFAULT_RESOURCE_PATTERN = "**/*.class"; | ||||
|  | ||||
|     public static String setTypeAliasesPackage(String typeAliasesPackage) { | ||||
|         ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver(); | ||||
|         MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver); | ||||
|         List<String> allResult = new ArrayList<String>(); | ||||
|         try { | ||||
|             for (String aliasesPackage : typeAliasesPackage.split(",")) { | ||||
|                 List<String> result = new ArrayList<String>(); | ||||
|                 aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX | ||||
|                         + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN; | ||||
|                 Resource[] resources = resolver.getResources(aliasesPackage); | ||||
|                 if (resources != null && resources.length > 0) { | ||||
|                     MetadataReader metadataReader = null; | ||||
|                     for (Resource resource : resources) { | ||||
|                         if (resource.isReadable()) { | ||||
|                             metadataReader = metadataReaderFactory.getMetadataReader(resource); | ||||
|                             try { | ||||
|                                 result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName()); | ||||
|                             } catch (ClassNotFoundException e) { | ||||
|                                 e.printStackTrace(); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 if (result.size() > 0) { | ||||
|                     HashSet<String> hashResult = new HashSet<String>(result); | ||||
|                     allResult.addAll(hashResult); | ||||
|                 } | ||||
|             } | ||||
|             if (allResult.size() > 0) { | ||||
|                 typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0])); | ||||
|             } else { | ||||
|                 throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包"); | ||||
|             } | ||||
|         } catch (IOException e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
|         return typeAliasesPackage; | ||||
|     } | ||||
|  | ||||
|     public Resource[] resolveMapperLocations(String[] mapperLocations) { | ||||
|         ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver(); | ||||
|         List<Resource> resources = new ArrayList<Resource>(); | ||||
|         if (mapperLocations != null) { | ||||
|             for (String mapperLocation : mapperLocations) { | ||||
|                 try { | ||||
|                     Resource[] mappers = resourceResolver.getResources(mapperLocation); | ||||
|                     resources.addAll(Arrays.asList(mappers)); | ||||
|                 } catch (IOException e) { | ||||
|                     // ignore | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return resources.toArray(new Resource[resources.size()]); | ||||
|     } | ||||
|  | ||||
|     @Bean | ||||
|     public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { | ||||
|         String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); | ||||
|         String mapperLocations = env.getProperty("mybatis.mapperLocations"); | ||||
|         String configLocation = env.getProperty("mybatis.configLocation"); | ||||
|         typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); | ||||
|         VFS.addImplClass(SpringBootVFS.class); | ||||
|  | ||||
|         final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); | ||||
|         sessionFactory.setDataSource(dataSource); | ||||
|         sessionFactory.setTypeAliasesPackage(typeAliasesPackage); | ||||
|         sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); | ||||
|         sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); | ||||
|         return sessionFactory.getObject(); | ||||
|     } | ||||
| } | ||||
| @@ -8,7 +8,7 @@ import com.ruoyi.common.core.domain.BaseEntity; | ||||
|  | ||||
| /** | ||||
|  * 系统访问记录表 sys_logininfor | ||||
|  *  | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public class SysLogininfor extends BaseEntity | ||||
| @@ -52,93 +52,4 @@ public class SysLogininfor extends BaseEntity | ||||
|     @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") | ||||
|     private Date loginTime; | ||||
|  | ||||
|     public Long getInfoId() | ||||
|     { | ||||
|         return infoId; | ||||
|     } | ||||
|  | ||||
|     public void setInfoId(Long infoId) | ||||
|     { | ||||
|         this.infoId = infoId; | ||||
|     } | ||||
|  | ||||
|     public String getUserName() | ||||
|     { | ||||
|         return userName; | ||||
|     } | ||||
|  | ||||
|     public void setUserName(String userName) | ||||
|     { | ||||
|         this.userName = userName; | ||||
|     } | ||||
|  | ||||
|     public String getStatus() | ||||
|     { | ||||
|         return status; | ||||
|     } | ||||
|  | ||||
|     public void setStatus(String status) | ||||
|     { | ||||
|         this.status = status; | ||||
|     } | ||||
|  | ||||
|     public String getIpaddr() | ||||
|     { | ||||
|         return ipaddr; | ||||
|     } | ||||
|  | ||||
|     public void setIpaddr(String ipaddr) | ||||
|     { | ||||
|         this.ipaddr = ipaddr; | ||||
|     } | ||||
|  | ||||
|     public String getLoginLocation() | ||||
|     { | ||||
|         return loginLocation; | ||||
|     } | ||||
|  | ||||
|     public void setLoginLocation(String loginLocation) | ||||
|     { | ||||
|         this.loginLocation = loginLocation; | ||||
|     } | ||||
|  | ||||
|     public String getBrowser() | ||||
|     { | ||||
|         return browser; | ||||
|     } | ||||
|  | ||||
|     public void setBrowser(String browser) | ||||
|     { | ||||
|         this.browser = browser; | ||||
|     } | ||||
|  | ||||
|     public String getOs() | ||||
|     { | ||||
|         return os; | ||||
|     } | ||||
|  | ||||
|     public void setOs(String os) | ||||
|     { | ||||
|         this.os = os; | ||||
|     } | ||||
|  | ||||
|     public String getMsg() | ||||
|     { | ||||
|         return msg; | ||||
|     } | ||||
|  | ||||
|     public void setMsg(String msg) | ||||
|     { | ||||
|         this.msg = msg; | ||||
|     } | ||||
|  | ||||
|     public Date getLoginTime() | ||||
|     { | ||||
|         return loginTime; | ||||
|     } | ||||
|  | ||||
|     public void setLoginTime(Date loginTime) | ||||
|     { | ||||
|         this.loginTime = loginTime; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,100 +0,0 @@ | ||||
| package com.ruoyi.system.domain; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
| import javax.validation.constraints.Size; | ||||
| import org.apache.commons.lang3.builder.ToStringBuilder; | ||||
| import org.apache.commons.lang3.builder.ToStringStyle; | ||||
| import com.ruoyi.common.core.domain.BaseEntity; | ||||
|  | ||||
| /** | ||||
|  * 通知公告表 sys_notice | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public class SysNotice extends BaseEntity | ||||
| { | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     /** 公告ID */ | ||||
|     private Long noticeId; | ||||
|  | ||||
|     /** 公告标题 */ | ||||
|     private String noticeTitle; | ||||
|  | ||||
|     /** 公告类型(1通知 2公告) */ | ||||
|     private String noticeType; | ||||
|  | ||||
|     /** 公告内容 */ | ||||
|     private String noticeContent; | ||||
|  | ||||
|     /** 公告状态(0正常 1关闭) */ | ||||
|     private String status; | ||||
|  | ||||
|     public Long getNoticeId() | ||||
|     { | ||||
|         return noticeId; | ||||
|     } | ||||
|  | ||||
|     public void setNoticeId(Long noticeId) | ||||
|     { | ||||
|         this.noticeId = noticeId; | ||||
|     } | ||||
|  | ||||
|     public void setNoticeTitle(String noticeTitle) | ||||
|     { | ||||
|         this.noticeTitle = noticeTitle; | ||||
|     } | ||||
|  | ||||
|     @NotBlank(message = "公告标题不能为空") | ||||
|     @Size(min = 0, max = 50, message = "公告标题不能超过50个字符") | ||||
|     public String getNoticeTitle() | ||||
|     { | ||||
|         return noticeTitle; | ||||
|     } | ||||
|  | ||||
|     public void setNoticeType(String noticeType) | ||||
|     { | ||||
|         this.noticeType = noticeType; | ||||
|     } | ||||
|  | ||||
|     public String getNoticeType() | ||||
|     { | ||||
|         return noticeType; | ||||
|     } | ||||
|  | ||||
|     public void setNoticeContent(String noticeContent) | ||||
|     { | ||||
|         this.noticeContent = noticeContent; | ||||
|     } | ||||
|  | ||||
|     public String getNoticeContent() | ||||
|     { | ||||
|         return noticeContent; | ||||
|     } | ||||
|  | ||||
|     public void setStatus(String status) | ||||
|     { | ||||
|         this.status = status; | ||||
|     } | ||||
|  | ||||
|     public String getStatus() | ||||
|     { | ||||
|         return status; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||||
|             .append("noticeId", getNoticeId()) | ||||
|             .append("noticeTitle", getNoticeTitle()) | ||||
|             .append("noticeType", getNoticeType()) | ||||
|             .append("noticeContent", getNoticeContent()) | ||||
|             .append("status", getStatus()) | ||||
|             .append("createBy", getCreateBy()) | ||||
|             .append("createTime", getCreateTime()) | ||||
|             .append("updateBy", getUpdateBy()) | ||||
|             .append("updateTime", getUpdateTime()) | ||||
|             .append("remark", getRemark()) | ||||
|             .toString(); | ||||
|     } | ||||
| } | ||||
| @@ -1,68 +0,0 @@ | ||||
| package com.ruoyi.system.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.ruoyi.system.domain.SysConfig; | ||||
|  | ||||
| /** | ||||
|  * 参数配置 数据层 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public interface SysConfigMapper { | ||||
|     /** | ||||
|      * 查询参数配置信息 | ||||
|      * | ||||
|      * @param config 参数配置信息 | ||||
|      * @return 参数配置信息 | ||||
|      */ | ||||
|     public SysConfig selectConfig(SysConfig config); | ||||
|  | ||||
|     /** | ||||
|      * 查询参数配置列表 | ||||
|      * | ||||
|      * @param config 参数配置信息 | ||||
|      * @return 参数配置集合 | ||||
|      */ | ||||
|     public List<SysConfig> selectConfigList(SysConfig config); | ||||
|  | ||||
|     /** | ||||
|      * 根据键名查询参数配置信息 | ||||
|      * | ||||
|      * @param configKey 参数键名 | ||||
|      * @return 参数配置信息 | ||||
|      */ | ||||
|     public SysConfig checkConfigKeyUnique(String configKey); | ||||
|  | ||||
|     /** | ||||
|      * 新增参数配置 | ||||
|      * | ||||
|      * @param config 参数配置信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int insertConfig(SysConfig config); | ||||
|  | ||||
|     /** | ||||
|      * 修改参数配置 | ||||
|      * | ||||
|      * @param config 参数配置信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int updateConfig(SysConfig config); | ||||
|  | ||||
|     /** | ||||
|      * 删除参数配置 | ||||
|      * | ||||
|      * @param configId 参数ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteConfigById(Long configId); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除参数信息 | ||||
|      * | ||||
|      * @param configIds 需要删除的参数ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteConfigByIds(Long[] configIds); | ||||
| } | ||||
| @@ -1,42 +0,0 @@ | ||||
| package com.ruoyi.system.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.ruoyi.system.domain.SysLogininfor; | ||||
|  | ||||
| /** | ||||
|  * 系统访问日志情况信息 数据层 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public interface SysLogininforMapper { | ||||
|     /** | ||||
|      * 新增系统登录日志 | ||||
|      * | ||||
|      * @param logininfor 访问日志对象 | ||||
|      */ | ||||
|     public void insertLogininfor(SysLogininfor logininfor); | ||||
|  | ||||
|     /** | ||||
|      * 查询系统登录日志集合 | ||||
|      * | ||||
|      * @param logininfor 访问日志对象 | ||||
|      * @return 登录记录集合 | ||||
|      */ | ||||
|     public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除系统登录日志 | ||||
|      * | ||||
|      * @param infoIds 需要删除的登录日志ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteLogininforByIds(Long[] infoIds); | ||||
|  | ||||
|     /** | ||||
|      * 清空系统登录日志 | ||||
|      * | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int cleanLogininfor(); | ||||
| } | ||||
| @@ -1,60 +0,0 @@ | ||||
| package com.ruoyi.system.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.ruoyi.system.domain.SysNotice; | ||||
|  | ||||
| /** | ||||
|  * 通知公告表 数据层 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public interface SysNoticeMapper { | ||||
|     /** | ||||
|      * 查询公告信息 | ||||
|      * | ||||
|      * @param noticeId 公告ID | ||||
|      * @return 公告信息 | ||||
|      */ | ||||
|     public SysNotice selectNoticeById(Long noticeId); | ||||
|  | ||||
|     /** | ||||
|      * 查询公告列表 | ||||
|      * | ||||
|      * @param notice 公告信息 | ||||
|      * @return 公告集合 | ||||
|      */ | ||||
|     public List<SysNotice> selectNoticeList(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 新增公告 | ||||
|      * | ||||
|      * @param notice 公告信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int insertNotice(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 修改公告 | ||||
|      * | ||||
|      * @param notice 公告信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int updateNotice(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除公告 | ||||
|      * | ||||
|      * @param noticeId 公告ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteNoticeById(Long noticeId); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除公告信息 | ||||
|      * | ||||
|      * @param noticeIds 需要删除的公告ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteNoticeByIds(Long[] noticeIds); | ||||
| } | ||||
| @@ -1,48 +0,0 @@ | ||||
| package com.ruoyi.system.mapper; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.ruoyi.system.domain.SysOperLog; | ||||
|  | ||||
| /** | ||||
|  * 操作日志 数据层 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public interface SysOperLogMapper { | ||||
|     /** | ||||
|      * 新增操作日志 | ||||
|      * | ||||
|      * @param operLog 操作日志对象 | ||||
|      */ | ||||
|     public void insertOperlog(SysOperLog operLog); | ||||
|  | ||||
|     /** | ||||
|      * 查询系统操作日志集合 | ||||
|      * | ||||
|      * @param operLog 操作日志对象 | ||||
|      * @return 操作日志集合 | ||||
|      */ | ||||
|     public List<SysOperLog> selectOperLogList(SysOperLog operLog); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除系统操作日志 | ||||
|      * | ||||
|      * @param operIds 需要删除的操作日志ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteOperLogByIds(Long[] operIds); | ||||
|  | ||||
|     /** | ||||
|      * 查询操作日志详细 | ||||
|      * | ||||
|      * @param operId 操作ID | ||||
|      * @return 操作日志对象 | ||||
|      */ | ||||
|     public SysOperLog selectOperLogById(Long operId); | ||||
|  | ||||
|     /** | ||||
|      * 清空操作日志 | ||||
|      */ | ||||
|     public void cleanOperLog(); | ||||
| } | ||||
| @@ -1,60 +0,0 @@ | ||||
| package com.ruoyi.system.service; | ||||
|  | ||||
| import java.util.List; | ||||
| import com.ruoyi.system.domain.SysNotice; | ||||
|  | ||||
| /** | ||||
|  * 公告 服务层 | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public interface ISysNoticeService | ||||
| { | ||||
|     /** | ||||
|      * 查询公告信息 | ||||
|      *  | ||||
|      * @param noticeId 公告ID | ||||
|      * @return 公告信息 | ||||
|      */ | ||||
|     public SysNotice selectNoticeById(Long noticeId); | ||||
|  | ||||
|     /** | ||||
|      * 查询公告列表 | ||||
|      *  | ||||
|      * @param notice 公告信息 | ||||
|      * @return 公告集合 | ||||
|      */ | ||||
|     public List<SysNotice> selectNoticeList(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 新增公告 | ||||
|      *  | ||||
|      * @param notice 公告信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int insertNotice(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 修改公告 | ||||
|      *  | ||||
|      * @param notice 公告信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int updateNotice(SysNotice notice); | ||||
|  | ||||
|     /** | ||||
|      * 删除公告信息 | ||||
|      *  | ||||
|      * @param noticeId 公告ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteNoticeById(Long noticeId); | ||||
|      | ||||
|     /** | ||||
|      * 批量删除公告信息 | ||||
|      *  | ||||
|      * @param noticeIds 需要删除的公告ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteNoticeByIds(Long[] noticeIds); | ||||
| } | ||||
| @@ -1,101 +0,0 @@ | ||||
| package com.ruoyi.system.service.impl; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import com.ruoyi.common.core.domain.entity.SysDictData; | ||||
| import com.ruoyi.common.utils.DictUtils; | ||||
| import com.ruoyi.system.mapper.SysDictDataMapper; | ||||
| import com.ruoyi.system.service.ISysDictDataService; | ||||
|  | ||||
| /** | ||||
|  * 字典 业务层处理 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| @Service | ||||
| public class SysDictDataServiceImpl implements ISysDictDataService { | ||||
|  | ||||
|     @Autowired | ||||
|     private SysDictDataMapper dictDataMapper; | ||||
|  | ||||
|     /** | ||||
|      * 根据条件分页查询字典数据 | ||||
|      * | ||||
|      * @param dictData 字典数据信息 | ||||
|      * @return 字典数据集合信息 | ||||
|      */ | ||||
|     @Override | ||||
|     public List<SysDictData> selectDictDataList(SysDictData dictData) { | ||||
|         return dictDataMapper.selectDictDataList(dictData); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据字典类型和字典键值查询字典数据信息 | ||||
|      * | ||||
|      * @param dictType  字典类型 | ||||
|      * @param dictValue 字典键值 | ||||
|      * @return 字典标签 | ||||
|      */ | ||||
|     @Override | ||||
|     public String selectDictLabel(String dictType, String dictValue) { | ||||
|         return dictDataMapper.selectDictLabel(dictType, dictValue); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据字典数据ID查询信息 | ||||
|      * | ||||
|      * @param dictCode 字典数据ID | ||||
|      * @return 字典数据 | ||||
|      */ | ||||
|     @Override | ||||
|     public SysDictData selectDictDataById(Long dictCode) { | ||||
|         return dictDataMapper.selectDictDataById(dictCode); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 批量删除字典数据信息 | ||||
|      * | ||||
|      * @param dictCodes 需要删除的字典数据ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteDictDataByIds(Long[] dictCodes) { | ||||
|         int row = dictDataMapper.deleteDictDataByIds(dictCodes); | ||||
|         if (row > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典数据信息 | ||||
|      * | ||||
|      * @param dictData 字典数据信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int insertDictData(SysDictData dictData) { | ||||
|         int row = dictDataMapper.insertDictData(dictData); | ||||
|         if (row > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 修改保存字典数据信息 | ||||
|      * | ||||
|      * @param dictData 字典数据信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int updateDictData(SysDictData dictData) { | ||||
|         int row = dictDataMapper.updateDictData(dictData); | ||||
|         if (row > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
| } | ||||
| @@ -1,177 +0,0 @@ | ||||
| package com.ruoyi.system.service.impl; | ||||
|  | ||||
| import java.util.List; | ||||
| import javax.annotation.PostConstruct; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.entity.SysDictData; | ||||
| import com.ruoyi.common.core.domain.entity.SysDictType; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.utils.DictUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.mapper.SysDictDataMapper; | ||||
| import com.ruoyi.system.mapper.SysDictTypeMapper; | ||||
| import com.ruoyi.system.service.ISysDictTypeService; | ||||
|  | ||||
| /** | ||||
|  * 字典 业务层处理 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| @Service | ||||
| public class SysDictTypeServiceImpl implements ISysDictTypeService { | ||||
|     @Autowired | ||||
|     private SysDictTypeMapper dictTypeMapper; | ||||
|  | ||||
|     @Autowired | ||||
|     private SysDictDataMapper dictDataMapper; | ||||
|  | ||||
|     /** | ||||
|      * 项目启动时,初始化字典到缓存 | ||||
|      */ | ||||
|     @PostConstruct | ||||
|     public void init() { | ||||
|         List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll(); | ||||
|         for (SysDictType dictType : dictTypeList) { | ||||
|             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType()); | ||||
|             DictUtils.setDictCache(dictType.getDictType(), dictDatas); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据条件分页查询字典类型 | ||||
|      * | ||||
|      * @param dictType 字典类型信息 | ||||
|      * @return 字典类型集合信息 | ||||
|      */ | ||||
|     @Override | ||||
|     public List<SysDictType> selectDictTypeList(SysDictType dictType) { | ||||
|         return dictTypeMapper.selectDictTypeList(dictType); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据所有字典类型 | ||||
|      * | ||||
|      * @return 字典类型集合信息 | ||||
|      */ | ||||
|     @Override | ||||
|     public List<SysDictType> selectDictTypeAll() { | ||||
|         return dictTypeMapper.selectDictTypeAll(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据字典类型查询字典数据 | ||||
|      * | ||||
|      * @param dictType 字典类型 | ||||
|      * @return 字典数据集合信息 | ||||
|      */ | ||||
|     @Override | ||||
|     public List<SysDictData> selectDictDataByType(String dictType) { | ||||
|         List<SysDictData> dictDatas = DictUtils.getDictCache(dictType); | ||||
|         if (StringUtils.isNotEmpty(dictDatas)) { | ||||
|             return dictDatas; | ||||
|         } | ||||
|         dictDatas = dictDataMapper.selectDictDataByType(dictType); | ||||
|         if (StringUtils.isNotEmpty(dictDatas)) { | ||||
|             DictUtils.setDictCache(dictType, dictDatas); | ||||
|             return dictDatas; | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据字典类型ID查询信息 | ||||
|      * | ||||
|      * @param dictId 字典类型ID | ||||
|      * @return 字典类型 | ||||
|      */ | ||||
|     @Override | ||||
|     public SysDictType selectDictTypeById(Long dictId) { | ||||
|         return dictTypeMapper.selectDictTypeById(dictId); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据字典类型查询信息 | ||||
|      * | ||||
|      * @param dictType 字典类型 | ||||
|      * @return 字典类型 | ||||
|      */ | ||||
|     @Override | ||||
|     public SysDictType selectDictTypeByType(String dictType) { | ||||
|         return dictTypeMapper.selectDictTypeByType(dictType); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 批量删除字典类型信息 | ||||
|      * | ||||
|      * @param dictIds 需要删除的字典ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteDictTypeByIds(Long[] dictIds) { | ||||
|         for (Long dictId : dictIds) { | ||||
|             SysDictType dictType = selectDictTypeById(dictId); | ||||
|             if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) { | ||||
|                 throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName())); | ||||
|             } | ||||
|         } | ||||
|         int count = dictTypeMapper.deleteDictTypeByIds(dictIds); | ||||
|         if (count > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return count; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 新增保存字典类型信息 | ||||
|      * | ||||
|      * @param dictType 字典类型信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int insertDictType(SysDictType dictType) { | ||||
|         int row = dictTypeMapper.insertDictType(dictType); | ||||
|         if (row > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 修改保存字典类型信息 | ||||
|      * | ||||
|      * @param dictType 字典类型信息 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     @Transactional | ||||
|     public int updateDictType(SysDictType dictType) { | ||||
|         SysDictType oldDict = dictTypeMapper.selectDictTypeById(dictType.getDictId()); | ||||
|         dictDataMapper.updateDictDataType(oldDict.getDictType(), dictType.getDictType()); | ||||
|         int row = dictTypeMapper.updateDictType(dictType); | ||||
|         if (row > 0) { | ||||
|             DictUtils.clearDictCache(); | ||||
|         } | ||||
|         return row; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 校验字典类型称是否唯一 | ||||
|      * | ||||
|      * @param dict 字典类型 | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public String checkDictTypeUnique(SysDictType dict) { | ||||
|         Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); | ||||
|         SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); | ||||
|         if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) { | ||||
|             return UserConstants.NOT_UNIQUE; | ||||
|         } | ||||
|         return UserConstants.UNIQUE; | ||||
|     } | ||||
| } | ||||
| @@ -1,89 +0,0 @@ | ||||
| <?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.system.mapper.SysNoticeMapper"> | ||||
|      | ||||
|     <resultMap type="SysNotice" id="SysNoticeResult"> | ||||
|         <result property="noticeId"       column="notice_id"       /> | ||||
|         <result property="noticeTitle"    column="notice_title"    /> | ||||
|         <result property="noticeType"     column="notice_type"     /> | ||||
|         <result property="noticeContent"  column="notice_content"  /> | ||||
|         <result property="status"         column="status"          /> | ||||
|         <result property="createBy"       column="create_by"       /> | ||||
|         <result property="createTime"     column="create_time"     /> | ||||
|         <result property="updateBy"       column="update_by"       /> | ||||
|         <result property="updateTime"     column="update_time"     /> | ||||
|         <result property="remark"         column="remark"          /> | ||||
|     </resultMap> | ||||
|      | ||||
|     <sql id="selectNoticeVo"> | ||||
|         select notice_id, notice_title, notice_type, cast(notice_content as char) as notice_content, status, create_by, create_time, update_by, update_time, remark  | ||||
| 		from sys_notice | ||||
|     </sql> | ||||
|      | ||||
|     <select id="selectNoticeById" parameterType="Long" resultMap="SysNoticeResult"> | ||||
|         <include refid="selectNoticeVo"/> | ||||
|         where notice_id = #{noticeId} | ||||
|     </select> | ||||
|      | ||||
|     <select id="selectNoticeList" parameterType="SysNotice" resultMap="SysNoticeResult"> | ||||
|         <include refid="selectNoticeVo"/> | ||||
|         <where> | ||||
| 			<if test="noticeTitle != null and noticeTitle != ''"> | ||||
| 				AND notice_title like concat('%', #{noticeTitle}, '%') | ||||
| 			</if> | ||||
| 			<if test="noticeType != null and noticeType != ''"> | ||||
| 				AND notice_type = #{noticeType} | ||||
| 			</if> | ||||
| 			<if test="createBy != null and createBy != ''"> | ||||
| 				AND create_by like concat('%', #{createBy}, '%') | ||||
| 			</if> | ||||
| 		</where> | ||||
|     </select> | ||||
|      | ||||
|     <insert id="insertNotice" parameterType="SysNotice"> | ||||
|         insert into sys_notice ( | ||||
| 			<if test="noticeTitle != null and noticeTitle != '' ">notice_title, </if> | ||||
| 			<if test="noticeType != null and noticeType != '' ">notice_type, </if> | ||||
| 			<if test="noticeContent != null and noticeContent != '' ">notice_content, </if> | ||||
| 			<if test="status != null and status != '' ">status, </if> | ||||
| 			<if test="remark != null and remark != ''">remark,</if> | ||||
|  			<if test="createBy != null and createBy != ''">create_by,</if> | ||||
|  			create_time | ||||
|  		)values( | ||||
| 			<if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle}, </if> | ||||
| 			<if test="noticeType != null and noticeType != ''">#{noticeType}, </if> | ||||
| 			<if test="noticeContent != null and noticeContent != ''">#{noticeContent}, </if> | ||||
| 			<if test="status != null and status != ''">#{status}, </if> | ||||
| 			<if test="remark != null and remark != ''">#{remark},</if> | ||||
|  			<if test="createBy != null and createBy != ''">#{createBy},</if> | ||||
|  			sysdate() | ||||
| 		) | ||||
|     </insert> | ||||
| 	  | ||||
|     <update id="updateNotice" parameterType="SysNotice"> | ||||
|         update sys_notice  | ||||
|         <set> | ||||
|             <if test="noticeTitle != null and noticeTitle != ''">notice_title = #{noticeTitle}, </if> | ||||
|             <if test="noticeType != null and noticeType != ''">notice_type = #{noticeType}, </if> | ||||
|             <if test="noticeContent != null">notice_content = #{noticeContent}, </if> | ||||
|             <if test="status != null and status != ''">status = #{status}, </if> | ||||
|             <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> | ||||
|  			update_time = sysdate() | ||||
|         </set> | ||||
|         where notice_id = #{noticeId} | ||||
|     </update> | ||||
| 	 | ||||
|     <delete id="deleteNoticeById" parameterType="Long"> | ||||
|         delete from sys_notice where notice_id = #{noticeId} | ||||
|     </delete> | ||||
|      | ||||
|     <delete id="deleteNoticeByIds" parameterType="Long"> | ||||
|         delete from sys_notice where notice_id in  | ||||
|         <foreach item="noticeId" collection="array" open="(" separator="," close=")"> | ||||
|             #{noticeId} | ||||
|         </foreach> | ||||
|     </delete> | ||||
|      | ||||
| </mapper> | ||||
| @@ -0,0 +1,64 @@ | ||||
| package cn.iocoder.dashboard.modules.system.controller.notice; | ||||
|  | ||||
| import io.swagger.annotations.Api; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
|  | ||||
| @Api(tags = "通知公告 API") | ||||
| @RestController | ||||
| @RequestMapping("/system/notice") | ||||
| public class SysNoticeController { | ||||
|  | ||||
| //    /** | ||||
| //     * 获取通知公告列表 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:notice:list')") | ||||
| //    @GetMapping("/list") | ||||
| //    public TableDataInfo list(SysNotice notice) { | ||||
| //        startPage(); | ||||
| //        List<SysNotice> list = noticeService.selectNoticeList(notice); | ||||
| //        return getDataTable(list); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 根据通知公告编号获取详细信息 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:notice:query')") | ||||
| //    @GetMapping(value = "/{noticeId}") | ||||
| //    public AjaxResult getInfo(@PathVariable Long noticeId) { | ||||
| //        return AjaxResult.success(noticeService.selectNoticeById(noticeId)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 新增通知公告 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:notice:add')") | ||||
| //    @Log(title = "通知公告", businessType = BusinessType.INSERT) | ||||
| //    @PostMapping | ||||
| //    public AjaxResult add(@Validated @RequestBody SysNotice notice) { | ||||
| //        notice.setCreateBy(SecurityUtils.getUsername()); | ||||
| //        return toAjax(noticeService.insertNotice(notice)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 修改通知公告 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:notice:edit')") | ||||
| //    @Log(title = "通知公告", businessType = BusinessType.UPDATE) | ||||
| //    @PutMapping | ||||
| //    public AjaxResult edit(@Validated @RequestBody SysNotice notice) { | ||||
| //        notice.setUpdateBy(SecurityUtils.getUsername()); | ||||
| //        return toAjax(noticeService.updateNotice(notice)); | ||||
| //    } | ||||
| // | ||||
| //    /** | ||||
| //     * 删除通知公告 | ||||
| //     */ | ||||
| //    @PreAuthorize("@ss.hasPermi('system:notice:remove')") | ||||
| //    @Log(title = "通知公告", businessType = BusinessType.DELETE) | ||||
| //    @DeleteMapping("/{noticeIds}") | ||||
| //    public AjaxResult remove(@PathVariable Long[] noticeIds) { | ||||
| //        return toAjax(noticeService.deleteNoticeByIds(noticeIds)); | ||||
| //    } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,11 @@ | ||||
| package cn.iocoder.dashboard.modules.system.convert.notice; | ||||
|  | ||||
| import org.mapstruct.Mapper; | ||||
| import org.mapstruct.factory.Mappers; | ||||
|  | ||||
| @Mapper | ||||
| public interface SysNoticeConvert { | ||||
|  | ||||
|     SysNoticeConvert INSTANCE = Mappers.getMapper(SysNoticeConvert.class); | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,9 @@ | ||||
| package cn.iocoder.dashboard.modules.system.dal.mysql.dao.notice; | ||||
|  | ||||
| import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.notice.SysNoticeDO; | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import org.apache.ibatis.annotations.Mapper; | ||||
|  | ||||
| @Mapper | ||||
| public interface SysNoticeMapper extends BaseMapper<SysNoticeDO> { | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.notice; | ||||
|  | ||||
| import cn.iocoder.dashboard.common.enums.CommonStatusEnum; | ||||
| import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; | ||||
| import cn.iocoder.dashboard.modules.system.enums.notice.SysNoticeTypeEnum; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
|  | ||||
| import javax.validation.constraints.NotBlank; | ||||
| import javax.validation.constraints.Size; | ||||
|  | ||||
| /** | ||||
|  * 通知公告表 | ||||
|  * | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| @TableName("sys_notice") | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| public class SysNoticeDO extends BaseDO { | ||||
|  | ||||
|     /** | ||||
|      * 公告ID | ||||
|      */ | ||||
|     private Long id; | ||||
|     /** | ||||
|      * 公告标题 | ||||
|      */ | ||||
|     @NotBlank(message = "公告标题不能为空") | ||||
|     @Size(max = 50, message = "公告标题不能超过50个字符") | ||||
|     private String title; | ||||
|     /** | ||||
|      * 公告类型 | ||||
|      * | ||||
|      * 枚举 {@link SysNoticeTypeEnum} | ||||
|      */ | ||||
|     @TableField("notice_type") | ||||
|     private String type; | ||||
|     /** | ||||
|      * 公告内容 | ||||
|      */ | ||||
|     private String content; | ||||
|     /** | ||||
|      * 公告状态 | ||||
|      * | ||||
|      * 枚举 {@link CommonStatusEnum} | ||||
|      */ | ||||
|     private Integer status; | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,23 @@ | ||||
| package cn.iocoder.dashboard.modules.system.enums.notice; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Getter; | ||||
|  | ||||
| /** | ||||
|  * 通知类型 | ||||
|  * | ||||
|  * @author 芋道源码 | ||||
|  */ | ||||
| @Getter | ||||
| @AllArgsConstructor | ||||
| public enum SysNoticeTypeEnum { | ||||
|  | ||||
|     NOTICE(1), | ||||
|     ANNOUNCEMENT(2); | ||||
|  | ||||
|     /** | ||||
|      * 类型 | ||||
|      */ | ||||
|     private final Integer type; | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV