118 lines
3.7 KiB
Java
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);
|
|
}
|
|
}
|