抽奖新增碎片类型
This commit is contained in:
parent
ed796d3228
commit
1b5fc22d7f
@ -7,10 +7,12 @@ import com.red.circle.common.business.enums.SendPropsOrigin;
|
||||
import com.red.circle.other.app.service.activity.LotteryPrizeGrantService;
|
||||
import com.red.circle.other.infra.database.rds.entity.activity.LotteryPrize;
|
||||
import com.red.circle.other.inner.endpoint.material.props.BadgeBackpackClient;
|
||||
import com.red.circle.other.inner.endpoint.material.props.FragmentsBackpackClient;
|
||||
import com.red.circle.other.inner.endpoint.material.props.PropsBackpackClient;
|
||||
import com.red.circle.other.inner.endpoint.material.props.RoomThemeBackpackClient;
|
||||
import com.red.circle.other.inner.endpoint.user.user.UserProfileClient;
|
||||
import com.red.circle.other.inner.enums.material.BadgeBackpackExpireTypeEnum;
|
||||
import com.red.circle.other.inner.enums.material.PropsTypeEnum;
|
||||
import com.red.circle.other.inner.enums.sys.SysBadgeConfigTypeEnum;
|
||||
import com.red.circle.other.inner.enums.sys.SysCurrencySendReasonEnum;
|
||||
import com.red.circle.other.inner.model.cmd.material.GiveBadgeCmd;
|
||||
@ -23,6 +25,7 @@ import com.red.circle.wallet.inner.endpoint.wallet.WalletGoldClient;
|
||||
import com.red.circle.wallet.inner.model.cmd.DiamondReceiptCmd;
|
||||
import com.red.circle.wallet.inner.model.cmd.GoldReceiptCmd;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Set;
|
||||
|
||||
import com.red.circle.wallet.inner.model.enums.GoldOrigin;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -46,6 +49,7 @@ public class LotteryPrizeGrantServiceImpl implements LotteryPrizeGrantService {
|
||||
private final BadgeBackpackClient badgeBackpackClient;
|
||||
private final RoomThemeBackpackClient roomThemeBackpackClient;
|
||||
private final UserProfileClient userProfileClient;
|
||||
private final FragmentsBackpackClient fragmentsBackpackClient;
|
||||
|
||||
@Override
|
||||
public void grantPrize(Long userId, LotteryPrize prize, String recordNo) {
|
||||
@ -79,6 +83,10 @@ public class LotteryPrizeGrantServiceImpl implements LotteryPrizeGrantService {
|
||||
case "BADGE":
|
||||
grantBadge(userId, prize, recordNo);
|
||||
break;
|
||||
|
||||
case "FRAGMENTS":
|
||||
grantFragments(userId, prize);
|
||||
break;
|
||||
|
||||
case "THEME":
|
||||
grantTheme(userId, prize, recordNo);
|
||||
@ -248,12 +256,26 @@ public class LotteryPrizeGrantServiceImpl implements LotteryPrizeGrantService {
|
||||
.setDays(days)
|
||||
.setBadgeType(SysBadgeConfigTypeEnum.ACTIVITY)
|
||||
);
|
||||
|
||||
// 发送通知
|
||||
// propsBackpackClient.givePropsNotify(userId, "BADGE", days, prize.getPropsId());
|
||||
|
||||
log.info("Badge granted, userId: {}, badgeId: {}, days: {}, expireType: {}, recordNo: {}",
|
||||
userId, prize.getPropsId(), days, expireType, recordNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发放徽章.
|
||||
*/
|
||||
private void grantFragments(Long userId, LotteryPrize prize) {
|
||||
if (prize.getPropsId() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 这里的天数是数量,随便数量
|
||||
int days = prize.getPrizeValue() != null ? prize.getPrizeValue().intValue() : 1;
|
||||
|
||||
// 新增碎片
|
||||
fragmentsBackpackClient.incrFragments(
|
||||
userId,
|
||||
prize.getPropsId(),
|
||||
days,
|
||||
PropsTypeEnum.FRAGMENTS.name()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user