Files
apes-Authon-Server/src/main/java/cn/apes/cloud/controller/UserPreferenceController.java
T
2026-08-09 08:06:26 +08:00

118 lines
3.7 KiB
Java

package cn.apes.cloud.controller;
import cn.apes.cloud.config.TenantSource;
import cn.apes.cloud.domain.entity.UserPreference;
import cn.apes.cloud.service.impl.UserPreferenceServiceImpl;
import cn.apes.commons.Res;
import cn.apes.commons.auth.Login;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 用户个性化配置控制器
*
* @author OpenClaw
* @since 2026-08-06
*/
@RestController
@TenantSource
@RequestMapping("/userPreference")
public class UserPreferenceController {
@Resource
private UserPreferenceServiceImpl userPreferenceService;
/**
* 查询指定用户的个性化配置
*
* @param userId 用户ID
* @return Res 响应对象
* - code: 状态码,1表示成功
* - data: 个性化配置对象(未配置时返回默认值 uiSize=2)
*/
@Login
@PostMapping("/get")
public Res getUserPreference(@RequestParam Long userId) {
return userPreferenceService.getUserPreference(userId);
}
/**
* 查询当前登录用户的个性化配置
*
* @return Res 响应对象
* - code: 状态码,1表示成功
* - data: 当前用户的个性化配置对象(未配置时返回默认值 uiSize=2)
*/
@Login
@PostMapping("/mine")
public Res getCurrentUserPreference() {
return userPreferenceService.getCurrentUserPreference();
}
/**
* 新增用户个性化配置
*
* @param preference 配置对象
* - userId: 用户ID(必填)
* - uiSize: UI尺寸 1-最大 2-中等 3-最小(必填)
* @return Res 响应对象
* - code: 状态码,1表示成功
* - msg: 操作结果消息
*/
@Login
@PostMapping("/add")
public Res addUserPreference(@RequestBody UserPreference preference) {
return userPreferenceService.addUserPreference(preference);
}
/**
* 更新用户个性化配置
*
* @param preference 配置对象
* - userId: 用户ID(必填)
* - uiSize: UI尺寸 1-最大 2-中等 3-最小(必填)
* @return Res 响应对象
* - code: 状态码,1表示成功
* - msg: 操作结果消息
*/
@Login
@PostMapping("/update")
public Res updateUserPreference(@RequestBody UserPreference preference) {
return userPreferenceService.updateUserPreference(preference);
}
/**
* 保存当前登录用户的个性化配置(不存在则新增,已存在则更新)
*
* @param preference 配置对象
* - uiSize: UI尺寸 1-最大 2-中等 3-最小(必填)
* @return Res 响应对象
* - code: 状态码,1表示成功
* - msg: 操作结果消息
*/
@Login
@PostMapping("/save")
public Res saveCurrentUserPreference(@RequestBody UserPreference preference) {
return userPreferenceService.saveCurrentUserPreference(preference);
}
/**
* 删除用户个性化配置(逻辑删除)
*
* @param userId 用户ID
* @return Res 响应对象
* - code: 状态码,1表示成功
* - msg: 操作结果消息
*/
@Login
@PostMapping("/delete")
public Res deleteUserPreference(@RequestParam Long userId) {
return userPreferenceService.deleteUserPreference(userId);
}
}