diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/AnnouncementMapper.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/AnnouncementMapper.java index 5993517a..b665e12e 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/AnnouncementMapper.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/mapper/AnnouncementMapper.java @@ -16,8 +16,11 @@ package top.charles7c.cnadmin.system.mapper; +import java.util.List; + import top.charles7c.cnadmin.common.base.BaseMapper; import top.charles7c.cnadmin.system.model.entity.AnnouncementDO; +import top.charles7c.cnadmin.system.model.vo.AnnouncementDashboardVO; /** * 公告 Mapper @@ -25,4 +28,12 @@ import top.charles7c.cnadmin.system.model.entity.AnnouncementDO; * @author Charles7c * @since 2023/8/20 10:55 */ -public interface AnnouncementMapper extends BaseMapper {} \ No newline at end of file +public interface AnnouncementMapper extends BaseMapper { + + /** + * 查询仪表盘公告列表 + * + * @return 公告列表 + */ + List selectDashboardList(); +} \ No newline at end of file diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/vo/AnnouncementDashboardVO.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/vo/AnnouncementDashboardVO.java new file mode 100644 index 00000000..fe3125c1 --- /dev/null +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/vo/AnnouncementDashboardVO.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.cnadmin.system.model.vo; + +import java.io.Serializable; + +import lombok.Data; + +import io.swagger.v3.oas.annotations.media.Schema; + +import top.charles7c.cnadmin.system.enums.AnnouncementTypeEnum; + +/** + * 仪表盘公告信息 + * + * @author Charles7c + * @since 2023/8/20 10:55 + */ +@Data +@Schema(description = "仪表盘公告信息") +public class AnnouncementDashboardVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @Schema(description = "ID", example = "1") + private Long id; + + /** + * 标题 + */ + @Schema(description = "标题", example = "这是标题") + private String title; + + /** + * 类型 + */ + @Schema(description = "类型") + private AnnouncementTypeEnum type; +} \ No newline at end of file diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/AnnouncementService.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/AnnouncementService.java index b68b434d..9ba168b6 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/AnnouncementService.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/AnnouncementService.java @@ -16,9 +16,12 @@ package top.charles7c.cnadmin.system.service; +import java.util.List; + import top.charles7c.cnadmin.common.base.BaseService; import top.charles7c.cnadmin.system.model.query.AnnouncementQuery; import top.charles7c.cnadmin.system.model.request.AnnouncementRequest; +import top.charles7c.cnadmin.system.model.vo.AnnouncementDashboardVO; import top.charles7c.cnadmin.system.model.vo.AnnouncementDetailVO; import top.charles7c.cnadmin.system.model.vo.AnnouncementVO; @@ -29,4 +32,12 @@ import top.charles7c.cnadmin.system.model.vo.AnnouncementVO; * @since 2023/8/20 10:55 */ public interface AnnouncementService - extends BaseService {} \ No newline at end of file + extends BaseService { + + /** + * 查询仪表盘公告列表 + * + * @return 公告列表 + */ + List listDashboard(); +} \ No newline at end of file diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/AnnouncementServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/AnnouncementServiceImpl.java index 4e425194..838a17f7 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/AnnouncementServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/AnnouncementServiceImpl.java @@ -16,6 +16,8 @@ package top.charles7c.cnadmin.system.service.impl; +import java.util.List; + import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -25,6 +27,7 @@ import top.charles7c.cnadmin.system.mapper.AnnouncementMapper; import top.charles7c.cnadmin.system.model.entity.AnnouncementDO; import top.charles7c.cnadmin.system.model.query.AnnouncementQuery; import top.charles7c.cnadmin.system.model.request.AnnouncementRequest; +import top.charles7c.cnadmin.system.model.vo.AnnouncementDashboardVO; import top.charles7c.cnadmin.system.model.vo.AnnouncementDetailVO; import top.charles7c.cnadmin.system.model.vo.AnnouncementVO; import top.charles7c.cnadmin.system.service.AnnouncementService; @@ -38,4 +41,10 @@ import top.charles7c.cnadmin.system.service.AnnouncementService; @Service @RequiredArgsConstructor public class AnnouncementServiceImpl extends BaseServiceImpl implements AnnouncementService {} \ No newline at end of file + AnnouncementDetailVO, AnnouncementQuery, AnnouncementRequest> implements AnnouncementService { + + @Override + public List listDashboard() { + return baseMapper.selectDashboardList(); + } +} \ No newline at end of file diff --git a/continew-admin-system/src/main/resources/mapper/AnnouncementMapper.xml b/continew-admin-system/src/main/resources/mapper/AnnouncementMapper.xml new file mode 100644 index 00000000..3bad9748 --- /dev/null +++ b/continew-admin-system/src/main/resources/mapper/AnnouncementMapper.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/continew-admin-ui/src/api/dashboard.ts b/continew-admin-ui/src/api/dashboard.ts index 773a1048..3fadd98d 100644 --- a/continew-admin-ui/src/api/dashboard.ts +++ b/continew-admin-ui/src/api/dashboard.ts @@ -1,6 +1,18 @@ import axios from 'axios'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; +const BASE_URL = '/dashboard'; + +export interface AnnouncementDashboardRecord { + id: string; + title: string; + type: number; +} + +export function listAnnouncement() { + return axios.get(`${BASE_URL}/announcement`); +} + export interface ContentDataRecord { x: string; y: number; diff --git a/continew-admin-ui/src/views/dashboard/workplace/components/announcement.vue b/continew-admin-ui/src/views/dashboard/workplace/components/announcement.vue index e1d1a13b..537c7a6b 100644 --- a/continew-admin-ui/src/views/dashboard/workplace/components/announcement.vue +++ b/continew-admin-ui/src/views/dashboard/workplace/components/announcement.vue @@ -6,47 +6,128 @@ :body-style="{ padding: '15px 20px 13px 20px' }" >
- {{ item.label }} + 活动 + 消息 + 通知 - {{ item.content }} + {{ item.title }}
+ + + + + + + + {{ detail.title }} + + + + + + + + +
+ + + 最后更新于: + {{ detail.updateTime }} + +
+
+
diff --git a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/DashboardController.java b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/DashboardController.java new file mode 100644 index 00000000..23ebb3d1 --- /dev/null +++ b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/DashboardController.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.cnadmin.webapi.controller.common; + +import java.util.List; + +import lombok.RequiredArgsConstructor; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import top.charles7c.cnadmin.common.model.vo.R; +import top.charles7c.cnadmin.monitor.annotation.Log; +import top.charles7c.cnadmin.system.model.vo.AnnouncementDashboardVO; +import top.charles7c.cnadmin.system.service.AnnouncementService; + +/** + * 仪表盘 API + * + * @author Charles7c + * @since 2023/1/22 21:48 + */ +@Tag(name = "仪表盘 API") +@Log(ignore = true) +@Validated +@RestController +@RequiredArgsConstructor +@RequestMapping("/dashboard") +public class DashboardController { + + private final AnnouncementService announcementService; + + @Operation(summary = "查询公告列表", description = "查询公告列表") + @GetMapping("/announcement") + public R> listAnnouncement() { + return R.ok(announcementService.listDashboard()); + } +}