pub struct RewardRepository { /* private fields */ }Expand description
奖励仓储
Implementations§
Source§impl RewardRepository
impl RewardRepository
Sourcepub async fn get_reward_by_id(
&self,
reward_id: i32,
) -> ApiResult<Option<RewardRow>>
pub async fn get_reward_by_id( &self, reward_id: i32, ) -> ApiResult<Option<RewardRow>>
按 ID 查询奖品
Sourcepub async fn deduct_exchange_balance(
&self,
member_id: i32,
amount: i32,
) -> ApiResult<u64>
pub async fn deduct_exchange_balance( &self, member_id: i32, amount: i32, ) -> ApiResult<u64>
扣减兑换余额
Sourcepub async fn deduct_lucky_balance(
&self,
member_id: i32,
amount: i32,
) -> ApiResult<u64>
pub async fn deduct_lucky_balance( &self, member_id: i32, amount: i32, ) -> ApiResult<u64>
扣减抽奖余额
Sourcepub async fn get_ticket_number(
&self,
member_id: i32,
) -> ApiResult<Option<TicketNumberRow>>
pub async fn get_ticket_number( &self, member_id: i32, ) -> ApiResult<Option<TicketNumberRow>>
查询组员奖券账户
Sourcepub async fn insert_reward_record(
&self,
member_id: i32,
reward_id: i32,
exchange_number: i32,
) -> ApiResult<i64>
pub async fn insert_reward_record( &self, member_id: i32, reward_id: i32, exchange_number: i32, ) -> ApiResult<i64>
新增兑换记录
Sourcepub async fn insert_lucky_tickets(
&self,
member_id: i32,
reward_id: i32,
event_id: i32,
physical_category: Option<i16>,
count: i32,
) -> ApiResult<()>
pub async fn insert_lucky_tickets( &self, member_id: i32, reward_id: i32, event_id: i32, physical_category: Option<i16>, count: i32, ) -> ApiResult<()>
批量新增抽奖券
Sourcepub async fn select_reward_list(
&self,
member_id: i32,
) -> ApiResult<Vec<RewardRecordResultDto>>
pub async fn select_reward_list( &self, member_id: i32, ) -> ApiResult<Vec<RewardRecordResultDto>>
查询兑换记录
Sourcepub async fn get_reward_tickets(
&self,
member_id: i32,
) -> ApiResult<Vec<RewardTicketResultDto>>
pub async fn get_reward_tickets( &self, member_id: i32, ) -> ApiResult<Vec<RewardTicketResultDto>>
查询奖券汇总
Sourcepub async fn select_winner(
&self,
reward_id: i32,
event_id: i32,
) -> ApiResult<Option<RewardWinnerDto>>
pub async fn select_winner( &self, reward_id: i32, event_id: i32, ) -> ApiResult<Option<RewardWinnerDto>>
随机抽取中奖者
Sourcepub async fn block_winner(
&self,
event_id: i32,
status: i16,
winner_id: i32,
physical_category: Option<i16>,
) -> ApiResult<()>
pub async fn block_winner( &self, event_id: i32, status: i16, winner_id: i32, physical_category: Option<i16>, ) -> ApiResult<()>
封锁中奖者同类奖券
Sourcepub async fn update_ticket_status(
&self,
ticket_id: &str,
status: i16,
record_id: i64,
) -> ApiResult<()>
pub async fn update_ticket_status( &self, ticket_id: &str, status: i16, record_id: i64, ) -> ApiResult<()>
更新奖券状态
Sourcepub async fn decrement_stock(
&self,
reward_id: i32,
event_id: i32,
count: i32,
) -> ApiResult<u64>
pub async fn decrement_stock( &self, reward_id: i32, event_id: i32, count: i32, ) -> ApiResult<u64>
扣减奖品库存
Sourcepub async fn mark_non_win_tickets(&self, reward_id: i32) -> ApiResult<()>
pub async fn mark_non_win_tickets(&self, reward_id: i32) -> ApiResult<()>
标记未中奖券
Sourcepub async fn has_opened_rewards(&self, event_id: i32) -> ApiResult<bool>
pub async fn has_opened_rewards(&self, event_id: i32) -> ApiResult<bool>
检查活动是否已经开奖
Sourcepub async fn update_event_deadline(
&self,
event_id: i32,
end_time: NaiveDateTime,
) -> ApiResult<()>
pub async fn update_event_deadline( &self, event_id: i32, end_time: NaiveDateTime, ) -> ApiResult<()>
更新活动下所有奖品截止时间
Sourcepub async fn get_reward_balance(
&self,
member_id: i32,
event_id: i32,
) -> ApiResult<EventBalanceDto>
pub async fn get_reward_balance( &self, member_id: i32, event_id: i32, ) -> ApiResult<EventBalanceDto>
查询活动余额
Sourcepub async fn get_ticket_details(
&self,
member_id: i32,
) -> ApiResult<Vec<RewardTicketsDetailDto>>
pub async fn get_ticket_details( &self, member_id: i32, ) -> ApiResult<Vec<RewardTicketsDetailDto>>
查询奖券明细
Sourcepub async fn check_account_exists(&self, member_id: i32) -> ApiResult<bool>
pub async fn check_account_exists(&self, member_id: i32) -> ApiResult<bool>
检测转账目标账户
Sourcepub async fn check_balance_account_exists(
&self,
member_id: i32,
event_id: i32,
) -> ApiResult<bool>
pub async fn check_balance_account_exists( &self, member_id: i32, event_id: i32, ) -> ApiResult<bool>
检测指定活动余额账户是否存在
Sourcepub async fn create_balance_account(
&self,
member_id: i32,
event_id: i32,
) -> ApiResult<()>
pub async fn create_balance_account( &self, member_id: i32, event_id: i32, ) -> ApiResult<()>
创建余额账户
Sourcepub async fn transfer_decr(
&self,
from_id: i32,
event_id: i32,
ticket_type: i32,
amount: i32,
) -> ApiResult<u64>
pub async fn transfer_decr( &self, from_id: i32, event_id: i32, ticket_type: i32, amount: i32, ) -> ApiResult<u64>
转账扣减余额
Sourcepub async fn transfer_incr(
&self,
to_id: i32,
event_id: i32,
ticket_type: i32,
amount: i32,
) -> ApiResult<()>
pub async fn transfer_incr( &self, to_id: i32, event_id: i32, ticket_type: i32, amount: i32, ) -> ApiResult<()>
转账增加余额
Sourcepub async fn insert_transfer_log(
&self,
from_id: i32,
to_id: i32,
event_id: i32,
ticket_type: i32,
amount: i32,
) -> ApiResult<()>
pub async fn insert_transfer_log( &self, from_id: i32, to_id: i32, event_id: i32, ticket_type: i32, amount: i32, ) -> ApiResult<()>
写入转账日志
Sourcepub async fn get_transfer_logs(
&self,
member_id: i32,
) -> ApiResult<Vec<RewardTicketTransferLog>>
pub async fn get_transfer_logs( &self, member_id: i32, ) -> ApiResult<Vec<RewardTicketTransferLog>>
查询转账日志
Auto Trait Implementations§
impl Freeze for RewardRepository
impl !RefUnwindSafe for RewardRepository
impl Send for RewardRepository
impl Sync for RewardRepository
impl Unpin for RewardRepository
impl UnsafeUnpin for RewardRepository
impl !UnwindSafe for RewardRepository
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request