serv-控制器

This commit is contained in:
2025-10-15 17:58:20 +08:00
parent 5f76c539f4
commit 0dd65e9eda
59 changed files with 4974 additions and 29 deletions

View File

@@ -0,0 +1,193 @@
package org.xyzh.system.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.resource.TbBanner;
import org.xyzh.common.dto.resource.TbResourceRecommend;
import org.xyzh.common.dto.resource.TbTag;
import java.util.List;
import java.util.Map;
/**
* @description 运营管理控制器
* @filename OperationController.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
@RestController
@RequestMapping("/system/operation")
public class OperationController {
private static final Logger logger = LoggerFactory.getLogger(OperationController.class);
// ==================== Banner管理 ====================
/**
* 获取Banner列表
*/
@GetMapping("/banner/list")
public ResultDomain<TbBanner> getBannerList() {
// TODO: 实现获取Banner列表
return null;
}
/**
* 添加Banner
*/
@PostMapping("/banner/add")
public ResultDomain<TbBanner> addBanner(@RequestBody TbBanner banner) {
// TODO: 实现添加Banner上传图片、设置链接
return null;
}
/**
* 更新Banner
*/
@PutMapping("/banner/update")
public ResultDomain<TbBanner> updateBanner(@RequestBody TbBanner banner) {
// TODO: 实现更新Banner
return null;
}
/**
* 删除Banner
*/
@DeleteMapping("/banner/{bannerID}")
public ResultDomain<Boolean> deleteBanner(@PathVariable String bannerID) {
// TODO: 实现删除Banner
return null;
}
/**
* 调整Banner排序
*/
@PutMapping("/banner/sort")
public ResultDomain<Boolean> sortBanners(@RequestBody List<Map<String, Object>> bannerOrders) {
// TODO: 实现调整Banner排序
return null;
}
/**
* 上传Banner图片
*/
@PostMapping("/banner/upload-image")
public ResultDomain<String> uploadBannerImage(@RequestParam("file") String file) {
// TODO: 实现上传Banner图片
return null;
}
// ==================== 资源推荐管理 ====================
/**
* 获取TOP资源推荐列表
*/
@GetMapping("/recommend/top-list")
public ResultDomain<TbResourceRecommend> getTopRecommendList() {
// TODO: 实现获取TOP资源推荐列表
return null;
}
/**
* 手动调整推荐排序
*/
@PutMapping("/recommend/sort")
public ResultDomain<Boolean> sortRecommendations(@RequestBody List<Map<String, Object>> recommendOrders) {
// TODO: 实现手动调整TOP资源推荐列表上下移动排序
return null;
}
/**
* 添加推荐资源
*/
@PostMapping("/recommend/add")
public ResultDomain<TbResourceRecommend> addRecommendResource(@RequestBody Map<String, Object> params) {
// TODO: 实现添加推荐资源
return null;
}
/**
* 移除推荐资源
*/
@DeleteMapping("/recommend/remove/{resourceID}")
public ResultDomain<Boolean> removeRecommendResource(@PathVariable String resourceID) {
// TODO: 实现移除推荐资源
return null;
}
/**
* 批量更新推荐状态
*/
@PutMapping("/recommend/batch-update")
public ResultDomain<Boolean> batchUpdateRecommendStatus(@RequestBody Map<String, Object> params) {
// TODO: 实现批量更新推荐状态
return null;
}
// ==================== 标签管理 ====================
/**
* 获取标签列表
*/
@GetMapping("/tag/list")
public ResultDomain<TbTag> getTagList() {
// TODO: 实现获取标签列表
return null;
}
/**
* 创建自定义标签
*/
@PostMapping("/tag/create")
public ResultDomain<TbTag> createTag(@RequestBody TbTag tag) {
// TODO: 实现创建自定义数据标签
return null;
}
/**
* 更新标签
*/
@PutMapping("/tag/update")
public ResultDomain<TbTag> updateTag(@RequestBody TbTag tag) {
// TODO: 实现更新标签
return null;
}
/**
* 删除标签
*/
@DeleteMapping("/tag/{tagID}")
public ResultDomain<Boolean> deleteTag(@PathVariable String tagID) {
// TODO: 实现删除标签
return null;
}
/**
* 关联标签到资源
*/
@PostMapping("/tag/link-resource")
public ResultDomain<Boolean> linkTagToResource(@RequestBody Map<String, Object> params) {
// TODO: 实现标签关联资源/课程
return null;
}
/**
* 按标签筛选数据
*/
@GetMapping("/tag/filter")
public ResultDomain<Map<String, Object>> filterByTag(@RequestParam String tagID) {
// TODO: 实现按标签筛选数据
return null;
}
/**
* 获取标签使用统计
*/
@GetMapping("/tag/statistics")
public ResultDomain<Map<String, Object>> getTagStatistics() {
// TODO: 实现获取标签使用统计
return null;
}
}

View File

@@ -0,0 +1,77 @@
package org.xyzh.system.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import org.xyzh.common.core.domain.ResultDomain;
import java.util.Map;
/**
* @description 系统总览控制器
* @filename SystemOverviewController.java
* @author system
* @copyright xyzh
* @since 2025-10-15
*/
@RestController
@RequestMapping("/system/overview")
public class SystemOverviewController {
private static final Logger logger = LoggerFactory.getLogger(SystemOverviewController.class);
/**
* 获取系统总览数据统计
*/
@GetMapping("/statistics")
public ResultDomain<Map<String, Object>> getSystemStatistics() {
// TODO: 实现获取系统总览数据统计
// 统计系统总用户数、资源总数、今日访问量
return null;
}
/**
* 获取活跃用户图表数据
*/
@GetMapping("/active-users")
public ResultDomain<Map<String, Object>> getActiveUsersChart(
@RequestParam(required = false) Integer days) {
// TODO: 实现获取活跃用户图表数据折线图展示7/30天活跃用户数
return null;
}
/**
* 获取资源分类统计图表
*/
@GetMapping("/resource-category-stats")
public ResultDomain<Map<String, Object>> getResourceCategoryStats() {
// TODO: 实现获取资源分类统计(饼图,展示各类型资源占比)
return null;
}
/**
* 获取用户活跃度数据
*/
@GetMapping("/user-activity")
public ResultDomain<Map<String, Object>> getUserActivityData() {
// TODO: 实现获取用户活跃度数据
return null;
}
/**
* 获取今日访问量统计
*/
@GetMapping("/today-visits")
public ResultDomain<Map<String, Object>> getTodayVisits() {
// TODO: 实现获取今日访问量统计
return null;
}
/**
* 获取系统运行状态
*/
@GetMapping("/system-status")
public ResultDomain<Map<String, Object>> getSystemStatus() {
// TODO: 实现获取系统运行状态
return null;
}
}

View File

@@ -18,6 +18,7 @@ import org.xyzh.common.dto.user.TbSysUserInfo;
import org.xyzh.common.vo.UserDeptRoleVO;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
@@ -133,37 +134,29 @@ public class UserController {
// ---------------- 用户信息 ----------------
// ---------------- 系统级用户信息管理 ----------------
/**
* @description 获取用户信息
* @param loginDomain
* @description 管理员获取用户信息
* @param userID 用户ID
* @author yslg
* @ since 2025-10-06
*/
@GetMapping("/userinfo")
public ResultDomain<TbSysUserInfo> getUserInfo(@HttpLogin LoginDomain loginDomain){
ResultDomain<TbSysUserInfo> result = new ResultDomain<>();
logger.info("loginDomain: {}", loginDomain);
String userID = loginDomain.getUser().getID();
ResultDomain<TbSysUserInfo> userInfo = userService.getUserInfoById(userID);
result.setData(userInfo.getData());
return result;
@GetMapping("/admin/userinfo/{userID}")
public ResultDomain<TbSysUserInfo> getAdminUserInfo(@PathVariable String userID){
return userService.getUserInfoById(userID);
}
/**
* @description 更新用户信息
* @description 管理员更新用户信息
* @param userInfo
* @author yslg
* @ since 2025-10-06
*/
@PutMapping("/userinfo")
public ResultDomain<TbSysUserInfo> updateUserInfo(@HttpLogin LoginDomain loginDomain, @RequestBody TbSysUserInfo userInfo) {
userInfo.setUserID(loginDomain.getUser().getID());
@PutMapping("/admin/userinfo")
public ResultDomain<TbSysUserInfo> updateAdminUserInfo(@RequestBody TbSysUserInfo userInfo) {
return userService.updateUserInfo(userInfo);
}
}

View File

@@ -10,6 +10,7 @@
<result column="parent_id" property="parentID" jdbcType="VARCHAR"/>
<result column="url" property="url" jdbcType="VARCHAR"/>
<result column="component" property="component" jdbcType="VARCHAR"/>
<result column="layout" property="layout" jdbcType="VARCHAR"/>
<result column="icon" property="icon" jdbcType="VARCHAR"/>
<result column="order_num" property="orderNum" jdbcType="INTEGER"/>
<result column="type" property="type" jdbcType="INTEGER"/>
@@ -23,7 +24,7 @@
<!-- 基础字段 -->
<sql id="Base_Column_List">
m.id, m.menu_id, m.name, m.parent_id, m.url, m.component, m.icon, m.order_num, m.type,
m.id, m.menu_id, m.name, m.parent_id, m.url, m.component, m.layout, m.icon, m.order_num, m.type,
m.creator, m.updater, m.create_time, m.update_time, m.delete_time, m.deleted
</sql>
@@ -169,6 +170,8 @@
<if test="url != null">url,</if>
<if test="component != null">component,</if>
<if test="icon != null">icon,</if>
<if test="layout != null">layout,</if>
<if test="orderNum != null">order_num,</if>
<if test="creator != null">creator,</if>
<if test="createTime != null">create_time,</if>
deleted
@@ -182,6 +185,8 @@
<if test="url != null">#{url},</if>
<if test="component != null">#{component},</if>
<if test="icon != null">#{icon},</if>
<if test="layout != null">#{layout},</if>
<if test="orderNum != null">#{orderNum},</if>
<if test="creator != null">#{creator},</if>
<if test="createTime != null">#{createTime},</if>
0
@@ -199,6 +204,8 @@
<if test="url != null">url = #{url},</if>
<if test="component != null">component = #{component},</if>
<if test="icon != null">icon = #{icon},</if>
<if test="layout != null">layout = #{layout},</if>
<if test="orderNum != null">order_num = #{orderNum},</if>
<if test="updater != null">updater = #{updater},</if>
update_time = NOW()
</set>