Package com.bytedesk.ai.prompt
Class PromptRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<T,TRequest,TResponse>
com.bytedesk.core.base.BaseRestServiceWithExport<PromptEntity,PromptRequest,PromptResponse,PromptExcel>
com.bytedesk.ai.prompt.PromptRestService
@Service
public class PromptRestService
extends BaseRestServiceWithExport<PromptEntity,PromptRequest,PromptResponse,PromptExcel>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthServiceprivate final org.modelmapper.ModelMapperprivate static final Stringprivate final PermissionServiceprivate final PromptRepositoryprivate final RobotJsonLoaderprivate final UidUtils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertToExcel(PromptEntity entity) 转换为Excel对象 子类必须实现此方法convertToResponse(PromptEntity entity) create(PromptRequest request) private PromptResponsecreateInternal(PromptRequest request, boolean skipPermissionCheck) protected org.springframework.data.jpa.domain.Specification<PromptEntity>createSpecification(PromptRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现createSystemPrompt(PromptRequest request) voiddelete(PromptRequest request) voiddeleteByUid(String uid) protected PromptEntitydoSave(PromptEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<PromptEntity>executePageQuery(org.springframework.data.jpa.domain.Specification<PromptEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现existsByUid(String uid) findByNameAndOrgUidAndType(String name, String orgUid, String type) handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, PromptEntity entity) voidinitPrompts(String orgUid) private StringmapRobotNameToPromptType(String robotName) org.springframework.data.domain.Page<PromptResponse>queryByOrg(PromptRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<PromptEntity>queryByOrgEntity(PromptRequest request) 查询实体对象(用于Excel导出) 子类必须实现此方法org.springframework.data.domain.Page<PromptResponse>queryByUser(PromptRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法update(PromptRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, queryByUid, recover, save, setUserUidToRequest
-
Field Details
-
promptRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
uidUtils
-
authService
-
permissionService
-
robotJsonLoader
-
MODULE_NAME
- See Also:
-
-
Constructor Details
-
PromptRestService
public PromptRestService()
-
-
Method Details
-
queryByOrgEntity
Description copied from class:BaseRestServiceWithExport查询实体对象(用于Excel导出) 子类必须实现此方法- Overrides:
queryByOrgEntityin classBaseRestServiceWithExport<PromptEntity,PromptRequest, PromptResponse, PromptExcel>
-
queryByOrg
Description copied from class:BaseRestService通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByOrgin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
queryByUser
Description copied from class:BaseRestService通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByUserin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
findByUid
@Cacheable(value="prompt", key="#uid", unless="#result==null") public Optional<PromptEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
findByNameAndOrgUidAndType
@Cacheable(value="prompt", key="#name + \'_\' + #orgUid + \'_\' + #type", unless="#result==null") public Optional<PromptEntity> findByNameAndOrgUidAndType(String name, String orgUid, String type) -
existsByUid
-
create
- Specified by:
createin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
createSystemPrompt
-
createInternal
-
update
- Specified by:
updatein classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
doSave
Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
handleOptimisticLockingFailureException
public PromptEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, PromptEntity entity) - Specified by:
handleOptimisticLockingFailureExceptionin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
delete
- Specified by:
deletein classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
convertToResponse
- Specified by:
convertToResponsein classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
convertToExcel
Description copied from class:BaseRestServiceWithExport转换为Excel对象 子类必须实现此方法- Specified by:
convertToExcelin classBaseRestServiceWithExport<PromptEntity,PromptRequest, PromptResponse, PromptExcel>
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<PromptEntity> createSpecification(PromptRequest request) Description copied from class:BaseRestService创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecificationin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<PromptEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<PromptEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQueryin classBaseRestService<PromptEntity,PromptRequest, PromptResponse>
-
initPrompts
-
mapRobotNameToPromptType
-