init: UserBaseService (backend + deploy + scripts)
ci-userbase-service / build-and-push (push) Successful in 40s
ci-userbase-service / build-and-push (push) Successful in 40s
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package com.yunhai.userbase.service;
|
||||
|
||||
import com.yunhai.userbase.entity.ApplicationInfo;
|
||||
import com.yunhai.userbase.model.application.ApplicationInfoQuery;
|
||||
import com.yunhai.userbase.model.application.ApplicationInfoRequest;
|
||||
import com.yunhai.userbase.model.application.ApplicationInfoSortVo;
|
||||
import com.yunhai.userbase.model.application.ApplicationInfoVo;
|
||||
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 应用信息业务接口(缓存由 Spring Cache 注解统一管控)。
|
||||
*/
|
||||
public interface IApplicationInfoService {
|
||||
|
||||
/**
|
||||
* 根据 id 查询应用信息(带缓存,防击穿)。
|
||||
*/
|
||||
ApplicationInfo getById(Integer id);
|
||||
|
||||
/**
|
||||
* 保存/更新应用信息(写后同步更新缓存)。
|
||||
*/
|
||||
ApplicationInfo save(ApplicationInfo info);
|
||||
|
||||
/**
|
||||
* 根据 id 删除应用信息(同步清除缓存)。
|
||||
*/
|
||||
void deleteById(Integer id);
|
||||
|
||||
/**
|
||||
* 新增应用信息。<br>
|
||||
* 由入参构造实体并落库;appKey 为整型,从 100000 起按数据库最大值自增,appSecret 为 32 位 UUID。<br>
|
||||
*
|
||||
* @param request 应用新增入参
|
||||
*/
|
||||
void add(ApplicationInfoRequest request);
|
||||
|
||||
/**
|
||||
* 编辑应用信息。<br>
|
||||
* 按 id 查找后拷贝入参字段并保存,appKey/appSecret 不随编辑变更。<br>
|
||||
*
|
||||
* @param id 应用ID
|
||||
* @param request 应用编辑入参
|
||||
*/
|
||||
void edit(Integer id, ApplicationInfoRequest request);
|
||||
|
||||
/**
|
||||
* 根据 id 删除应用信息。<br>
|
||||
*
|
||||
* @param id 应用ID
|
||||
*/
|
||||
void delete(Integer id);
|
||||
|
||||
/**
|
||||
* 重设应用密钥(appSecret)。<br>
|
||||
* 按 id 查找应用并生成新的 32 位 UUID 密钥后保存。<br>
|
||||
*
|
||||
* @param id 应用ID
|
||||
*/
|
||||
void resetAppSecret(Integer id);
|
||||
|
||||
/**
|
||||
* 根据条件分页查询应用列表。<br>
|
||||
*
|
||||
* @param query 查询条件(name 关键词按名称模糊或 appKey 精确匹配,categoryId 按类别精确匹配)
|
||||
* @param pageable 分页参数(page 从 0 起,size 每页条数)
|
||||
* @return 分页后的应用视图(含总条数 totalElements)
|
||||
*/
|
||||
Page<ApplicationInfoVo> list(ApplicationInfoQuery query, Pageable pageable);
|
||||
|
||||
List<ApplicationInfoSortVo> findListByCategoryId(Integer categoryId);
|
||||
|
||||
/**
|
||||
* 同一应用类型内排序。<br>
|
||||
* 入参为该类型下应用的完整有序 id 列表,按列表顺序写入 sortNo(1 起)。<br>
|
||||
* 接口会额外校验:所有 id 必须存在且同属一个应用类型,避免跨类型串号导致排序错乱。<br>
|
||||
*
|
||||
* @param ids 同一应用类型下的应用ID有序列表
|
||||
*/
|
||||
void sort(List<Integer> ids);
|
||||
}
|
||||
Reference in New Issue
Block a user