Package com.bytedesk.ai.robot_settings
Class RobotSettingsRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<RobotSettingsEntity,RobotSettingsRequest,RobotSettingsResponse>
com.bytedesk.ai.robot_settings.RobotSettingsRestService
@Service
public class RobotSettingsRestService
extends BaseRestService<RobotSettingsEntity,RobotSettingsRequest,RobotSettingsResponse>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.modelmapper.ModelMapperprivate final RobotSettingsRepositoryprivate final ServiceSettingsHelperprivate final TriggerSettingsHelperprivate final UidUtilsFields inherited from class com.bytedesk.core.base.BaseRestService
authService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertToResponse(RobotSettingsEntity entity) private voidcopyPropertiesExcludingIds(Object source, Object target) create(RobotSettingsRequest request) protected org.springframework.data.jpa.domain.Specification<RobotSettingsEntity>createSpecification(RobotSettingsRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现voiddelete(RobotSettingsRequest request) voiddeleteByUid(String uid) protected RobotSettingsEntitydoSave(RobotSettingsEntity entity) 子类实现具体的保存逻辑private voidensureSingleDefault(String orgUid, RobotSettingsEntity target) 保证同一个 orgUid 下仅有一个 isDefault=true。protected org.springframework.data.domain.Page<RobotSettingsEntity>executePageQuery(org.springframework.data.jpa.domain.Specification<RobotSettingsEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现getOrCreateDefault(String orgUid) Get or create default settings for organizationhandleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, RobotSettingsEntity entity) Publish draft settings to online for robotupdate(RobotSettingsRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, queryByOrg, queryByUid, queryByUser, recover, save, setUserUidToRequest
-
Field Details
-
robotSettingsRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
uidUtils
-
serviceSettingsHelper
-
triggerSettingsHelper
-
-
Constructor Details
-
RobotSettingsRestService
public RobotSettingsRestService()
-
-
Method Details
-
findByUid
@Cacheable(value="robotSettings", key="#uid", unless="#result == null") public Optional<RobotSettingsEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
create
- Specified by:
createin classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
update
- Specified by:
updatein classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
delete
- Specified by:
deletein classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<RobotSettingsEntity> createSpecification(RobotSettingsRequest request) Description copied from class:BaseRestService创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecificationin classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<RobotSettingsEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<RobotSettingsEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQueryin classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
doSave
@CachePut(value="robotSettings", key="#entity.uid", unless="#result == null") protected RobotSettingsEntity doSave(RobotSettingsEntity entity) Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
handleOptimisticLockingFailureException
public RobotSettingsEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, RobotSettingsEntity entity) -
getOrCreateDefault
Get or create default settings for organization -
publish
@Transactional @CachePut(value="robotSettings", key="#uid", unless="#result == null") public RobotSettingsResponse publish(String uid) Publish draft settings to online for robot -
copyPropertiesExcludingIds
-
convertToResponse
- Specified by:
convertToResponsein classBaseRestService<RobotSettingsEntity,RobotSettingsRequest, RobotSettingsResponse>
-
ensureSingleDefault
保证同一个 orgUid 下仅有一个 isDefault=true。 在事务内使用,借助悲观锁串行化并发修改。
-