新增 用户无障碍设置
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package com.vetti.hotake.domain;
|
||||
|
||||
import com.vetti.common.annotation.Excel;
|
||||
import com.vetti.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 用户无障碍设置对象 hotake_accessibility
|
||||
*
|
||||
* @author vetti
|
||||
* @date 2026-02-01
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class HotakeAccessibility extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
@ApiModelProperty("主键ID")
|
||||
private Integer id;
|
||||
|
||||
/** 颜色模式: light(明亮), dark(暗黑), system(系统) */
|
||||
@ApiModelProperty("颜色模式: light(明亮), dark(暗黑), system(系统)")
|
||||
@Excel(name = "颜色模式")
|
||||
private String colorMode;
|
||||
|
||||
/** 高对比度模式: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("高对比度模式: 0-关闭, 1-开启")
|
||||
@Excel(name = "高对比度模式")
|
||||
private Integer highContrastMode;
|
||||
|
||||
/** 减少动画: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("减少动画: 0-关闭, 1-开启")
|
||||
@Excel(name = "减少动画")
|
||||
private Integer reduceMotion;
|
||||
|
||||
/** 字体大小: small(小), medium(中), large(大), extra_large(特大) */
|
||||
@ApiModelProperty("字体大小: small(小), medium(中), large(大), extra_large(特大)")
|
||||
@Excel(name = "字体大小")
|
||||
private String fontSize;
|
||||
|
||||
/** 屏幕阅读器支持: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("屏幕阅读器支持: 0-关闭, 1-开启")
|
||||
@Excel(name = "屏幕阅读器支持")
|
||||
private Integer screenReaderSupport;
|
||||
|
||||
/** 音频描述: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("音频描述: 0-关闭, 1-开启")
|
||||
@Excel(name = "音频描述")
|
||||
private Integer audioDescriptions;
|
||||
|
||||
/** 增强键盘导航: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("增强键盘导航: 0-关闭, 1-开启")
|
||||
@Excel(name = "增强键盘导航")
|
||||
private Integer enhancedKeyboardNavigation;
|
||||
|
||||
/** 焦点指示器: 0-关闭, 1-开启 */
|
||||
@ApiModelProperty("焦点指示器: 0-关闭, 1-开启")
|
||||
@Excel(name = "焦点指示器")
|
||||
private Integer focusIndicators;
|
||||
|
||||
/** 语言设置: en(英语), zh(中文)等 */
|
||||
@ApiModelProperty("语言设置: en(英语), zh(中文)等")
|
||||
@Excel(name = "语言设置")
|
||||
private String language;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.vetti.hotake.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeAccessibility;
|
||||
|
||||
/**
|
||||
* 用户无障碍设置Mapper接口
|
||||
*
|
||||
* @author vetti
|
||||
* @date 2026-02-01
|
||||
*/
|
||||
public interface HotakeAccessibilityMapper
|
||||
{
|
||||
/**
|
||||
* 查询用户无障碍设置
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
public HotakeAccessibility selectHotakeAccessibilityById(Integer id);
|
||||
|
||||
/**
|
||||
* 查询用户无障碍设置列表
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 用户无障碍设置集合
|
||||
*/
|
||||
public List<HotakeAccessibility> selectHotakeAccessibilityList(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 新增用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertHotakeAccessibility(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 修改用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateHotakeAccessibility(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 删除用户无障碍设置
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeAccessibilityById(Integer id);
|
||||
|
||||
/**
|
||||
* 批量删除用户无障碍设置
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeAccessibilityByIds(Integer[] ids);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.vetti.hotake.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.vetti.hotake.domain.HotakeAccessibility;
|
||||
|
||||
/**
|
||||
* 用户无障碍设置Service接口
|
||||
*
|
||||
* @author vetti
|
||||
* @date 2026-02-01
|
||||
*/
|
||||
public interface IHotakeAccessibilityService
|
||||
{
|
||||
/**
|
||||
* 查询用户无障碍设置
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
public HotakeAccessibility selectHotakeAccessibilityById(Integer id);
|
||||
|
||||
/**
|
||||
* 查询用户无障碍设置列表
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 用户无障碍设置集合
|
||||
*/
|
||||
public List<HotakeAccessibility> selectHotakeAccessibilityList(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 新增用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
public HotakeAccessibility insertHotakeAccessibility(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 修改用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
public HotakeAccessibility updateHotakeAccessibility(HotakeAccessibility hotakeAccessibility);
|
||||
|
||||
/**
|
||||
* 批量删除用户无障碍设置
|
||||
*
|
||||
* @param ids 需要删除的用户无障碍设置主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeAccessibilityByIds(Integer[] ids);
|
||||
|
||||
/**
|
||||
* 删除用户无障碍设置信息
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteHotakeAccessibilityById(Integer id);
|
||||
|
||||
/**
|
||||
* 获取当前登录用户的无障碍设置
|
||||
* 如果不存在则自动创建默认设置
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
public HotakeAccessibility getCurrentUserAccessibility(String username);
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
package com.vetti.hotake.service.impl;
|
||||
|
||||
import com.vetti.common.core.service.BaseServiceImpl;
|
||||
import com.vetti.common.enums.FillTypeEnum;
|
||||
import com.vetti.hotake.domain.HotakeAccessibility;
|
||||
import com.vetti.hotake.mapper.HotakeAccessibilityMapper;
|
||||
import com.vetti.hotake.service.IHotakeAccessibilityService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户无障碍设置Service业务层处理
|
||||
*
|
||||
* @author vetti
|
||||
* @date 2026-02-01
|
||||
*/
|
||||
@Service
|
||||
public class HotakeAccessibilityServiceImpl extends BaseServiceImpl implements IHotakeAccessibilityService {
|
||||
|
||||
@Autowired
|
||||
private HotakeAccessibilityMapper hotakeAccessibilityMapper;
|
||||
|
||||
/**
|
||||
* 查询用户无障碍设置
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public HotakeAccessibility selectHotakeAccessibilityById(Integer id) {
|
||||
return hotakeAccessibilityMapper.selectHotakeAccessibilityById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户无障碍设置列表
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public List<HotakeAccessibility> selectHotakeAccessibilityList(HotakeAccessibility hotakeAccessibility) {
|
||||
return hotakeAccessibilityMapper.selectHotakeAccessibilityList(hotakeAccessibility);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public HotakeAccessibility insertHotakeAccessibility(HotakeAccessibility hotakeAccessibility) {
|
||||
fill(FillTypeEnum.INSERT.getCode(), hotakeAccessibility);
|
||||
hotakeAccessibilityMapper.insertHotakeAccessibility(hotakeAccessibility);
|
||||
return hotakeAccessibility;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户无障碍设置
|
||||
*
|
||||
* @param hotakeAccessibility 用户无障碍设置
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public HotakeAccessibility updateHotakeAccessibility(HotakeAccessibility hotakeAccessibility) {
|
||||
fill(FillTypeEnum.UPDATE.getCode(), hotakeAccessibility);
|
||||
hotakeAccessibilityMapper.updateHotakeAccessibility(hotakeAccessibility);
|
||||
return hotakeAccessibility;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除用户无障碍设置
|
||||
*
|
||||
* @param ids 需要删除的用户无障碍设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeAccessibilityByIds(Integer[] ids) {
|
||||
return hotakeAccessibilityMapper.deleteHotakeAccessibilityByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户无障碍设置信息
|
||||
*
|
||||
* @param id 用户无障碍设置主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public int deleteHotakeAccessibilityById(Integer id) {
|
||||
return hotakeAccessibilityMapper.deleteHotakeAccessibilityById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登录用户的无障碍设置
|
||||
* 如果不存在则自动创建默认设置
|
||||
*
|
||||
* @param username 用户名
|
||||
* @return 用户无障碍设置
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public HotakeAccessibility getCurrentUserAccessibility(String username) {
|
||||
// 查询当前用户的设置
|
||||
HotakeAccessibility query = new HotakeAccessibility();
|
||||
query.setCreateBy(username);
|
||||
List<HotakeAccessibility> list = hotakeAccessibilityMapper.selectHotakeAccessibilityList(query);
|
||||
|
||||
// 如果存在,返回第一条
|
||||
if (list != null && !list.isEmpty()) {
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
// 如果不存在,创建默认设置
|
||||
HotakeAccessibility defaultAccessibility = new HotakeAccessibility();
|
||||
// 设置默认值(根据数据库表定义)
|
||||
defaultAccessibility.setColorMode("light"); // 默认明亮模式
|
||||
defaultAccessibility.setHighContrastMode(0); // 默认关闭
|
||||
defaultAccessibility.setReduceMotion(0); // 默认关闭
|
||||
defaultAccessibility.setFontSize("medium"); // 默认中等字体
|
||||
defaultAccessibility.setScreenReaderSupport(1); // 默认开启
|
||||
defaultAccessibility.setAudioDescriptions(1); // 默认开启
|
||||
defaultAccessibility.setEnhancedKeyboardNavigation(0); // 默认关闭
|
||||
defaultAccessibility.setFocusIndicators(0); // 默认关闭
|
||||
defaultAccessibility.setLanguage("en"); // 默认英语
|
||||
|
||||
// 保存并返回
|
||||
return insertHotakeAccessibility(defaultAccessibility);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user