Package com.bytedesk.core.push
Class PushRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<PushEntity,PushRequest,PushResponse>
com.bytedesk.core.push.PushRestService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BytedeskProperties
private final IpService
private final org.modelmapper.ModelMapper
private final PushFilterService
private final PushRepository
private final PushServiceEmail
private final PushServiceSms
private final UidUtils
private final UserService
Fields inherited from class com.bytedesk.core.base.BaseRestService
authService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
convertToResponse
(PushEntity entity) create
(PushRequest pushRequest) protected org.springframework.data.jpa.domain.Specification<PushEntity>
createSpecification
(PushRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现void
delete
(PushRequest entity) void
deleteByUid
(String uid) protected PushEntity
doSave
(PushEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<PushEntity>
executePageQuery
(org.springframework.data.jpa.domain.Specification<PushEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现existsByStatusAndTypeAndReceiver
(PushStatusEnum status, String type, String receiver) findByDeviceUid
(String deviceUid) findByStatusAndReceiverAndContent
(PushStatusEnum status, String receiver, String content) handleOptimisticLockingFailureException
(org.springframework.orm.ObjectOptimisticLockingFailureException e, PushEntity entity) org.springframework.data.domain.Page<PushResponse>
queryByOrg
(PushRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法org.springframework.data.domain.Page<PushResponse>
queryByUser
(PushRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法save
(PushEntity push) 保存实体,带重试机制scan
(PushRequest pushRequest, jakarta.servlet.http.HttpServletRequest request) scanConfirm
(PushRequest pushRequest, jakarta.servlet.http.HttpServletRequest request) scanQuery
(PushRequest pushRequest, jakarta.servlet.http.HttpServletRequest request) sendCode
(AuthRequest authRequest, jakarta.servlet.http.HttpServletRequest request) update
(PushRequest request) validateCode
(String receiver, String code, jakarta.servlet.http.HttpServletRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, queryByUid, recover, setUserUidToRequest
-
Field Details
-
pushRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
uidUtils
-
pushServiceEmail
-
pushServiceSms
-
userService
-
bytedeskProperties
-
ipService
-
pushFilterService
-
-
Constructor Details
-
PushRestService
public PushRestService()
-
-
Method Details
-
sendCode
-
validateCode
-
scanQuery
public PushResponse scanQuery(PushRequest pushRequest, jakarta.servlet.http.HttpServletRequest request) -
scan
-
scanConfirm
public PushResponse scanConfirm(PushRequest pushRequest, jakarta.servlet.http.HttpServletRequest request) -
create
- Specified by:
create
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
findByStatusAndReceiverAndContent
public Optional<PushEntity> findByStatusAndReceiverAndContent(PushStatusEnum status, String receiver, String content) -
findByDeviceUid
-
existsByStatusAndTypeAndReceiver
public Boolean existsByStatusAndTypeAndReceiver(PushStatusEnum status, String type, String receiver) -
save
Description copied from class:BaseRestService
保存实体,带重试机制- Overrides:
save
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
doSave
Description copied from class:BaseRestService
子类实现具体的保存逻辑- Specified by:
doSave
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
handleOptimisticLockingFailureException
public PushEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, PushEntity entity) - Specified by:
handleOptimisticLockingFailureException
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
findStatusPending
-
autoOutdateCode
@Async public void autoOutdateCode() -
queryByOrg
Description copied from class:BaseRestService
通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByOrg
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
queryByUser
Description copied from class:BaseRestService
通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByUser
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
findByUid
- Specified by:
findByUid
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
update
- Specified by:
update
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
deleteByUid
- Specified by:
deleteByUid
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
delete
- Specified by:
delete
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
convertToResponse
- Specified by:
convertToResponse
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<PushEntity> createSpecification(PushRequest request) Description copied from class:BaseRestService
创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecification
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<PushEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<PushEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService
执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQuery
in classBaseRestService<PushEntity,
PushRequest, PushResponse>
-