serv-控制器
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user