进房间自动领取奖励发送通知
This commit is contained in:
parent
3e360af785
commit
f5c8dbc333
@ -141,4 +141,9 @@ public enum GroupMessageTypeEnum {
|
|||||||
*/
|
*/
|
||||||
ROCKET_ENERGY_LAUNCH,
|
ROCKET_ENERGY_LAUNCH,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 火箭奖励用户
|
||||||
|
*/
|
||||||
|
ROCKET_REWARD_USER,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
|
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
|
||||||
import com.red.circle.common.business.enums.SendPropsOrigin;
|
import com.red.circle.common.business.enums.SendPropsOrigin;
|
||||||
|
import com.red.circle.external.inner.endpoint.message.ImGroupClient;
|
||||||
|
import com.red.circle.external.inner.model.cmd.message.CustomGroupMsgBodyCmd;
|
||||||
|
import com.red.circle.external.inner.model.enums.message.GroupMessageTypeEnum;
|
||||||
import com.red.circle.other.app.dto.clientobject.RocketRewardCO;
|
import com.red.circle.other.app.dto.clientobject.RocketRewardCO;
|
||||||
import com.red.circle.other.app.dto.cmd.RocketRewardClaimCmd;
|
import com.red.circle.other.app.dto.cmd.RocketRewardClaimCmd;
|
||||||
import com.red.circle.other.app.manager.RocketImPushManager;
|
import com.red.circle.other.app.manager.RocketImPushManager;
|
||||||
@ -32,7 +35,9 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,7 +55,7 @@ public class RocketRewardClaimCmdExe {
|
|||||||
private final RocketConfigGateway rocketConfigGateway;
|
private final RocketConfigGateway rocketConfigGateway;
|
||||||
private final RocketRewardLogGateway rocketRewardLogGateway;
|
private final RocketRewardLogGateway rocketRewardLogGateway;
|
||||||
private final DistributedLockUtil distributedLockUtil;
|
private final DistributedLockUtil distributedLockUtil;
|
||||||
private final RocketImPushManager rocketImPushManager;
|
private final ImGroupClient imGroupClient;
|
||||||
private final WalletGoldClient walletGoldClient;
|
private final WalletGoldClient walletGoldClient;
|
||||||
private final PropsBackpackClient propsBackpackClient;
|
private final PropsBackpackClient propsBackpackClient;
|
||||||
private final BadgeBackpackClient badgeBackpackClient;
|
private final BadgeBackpackClient badgeBackpackClient;
|
||||||
@ -73,7 +78,7 @@ public class RocketRewardClaimCmdExe {
|
|||||||
* 无返回值,静默领取
|
* 无返回值,静默领取
|
||||||
*/
|
*/
|
||||||
@Async("rocketRewardExecutor")
|
@Async("rocketRewardExecutor")
|
||||||
public void executeAsync(Long roomId, Long userId) {
|
public void executeAsync(Long roomId, String roomAccount, Long userId) {
|
||||||
try {
|
try {
|
||||||
log.debug("异步自动领取火箭奖励: roomId={}, userId={}", roomId, userId);
|
log.debug("异步自动领取火箭奖励: roomId={}, userId={}", roomId, userId);
|
||||||
|
|
||||||
@ -84,8 +89,16 @@ public class RocketRewardClaimCmdExe {
|
|||||||
RocketRewardCO result = execute(cmd);
|
RocketRewardCO result = execute(cmd);
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
log.info("异步自动领取成功: roomId={}, userId={}, reward={}",
|
Map<String, Object> map = new HashMap<>();
|
||||||
roomId, userId, result.getRewardType());
|
map.put("rewardType", result.getRewardType());
|
||||||
|
map.put("cover", result.getCover());
|
||||||
|
map.put("rocketLevel", result.getRocketLevel());
|
||||||
|
map.put("userId", userId);
|
||||||
|
imGroupClient.sendCustomMessage(roomAccount,
|
||||||
|
CustomGroupMsgBodyCmd.builder()
|
||||||
|
.type(GroupMessageTypeEnum.ROCKET_REWARD_USER)
|
||||||
|
.data(map)
|
||||||
|
.build());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 静默失败,不影响进房
|
// 静默失败,不影响进房
|
||||||
@ -157,7 +170,9 @@ public class RocketRewardClaimCmdExe {
|
|||||||
rewardCO.setRewardType(selectedReward.getType());
|
rewardCO.setRewardType(selectedReward.getType());
|
||||||
rewardCO.setRewardItemId(selectedReward.getId());
|
rewardCO.setRewardItemId(selectedReward.getId());
|
||||||
rewardCO.setRewardItemName(selectedReward.getName());
|
rewardCO.setRewardItemName(selectedReward.getName());
|
||||||
|
rewardCO.setCover(selectedReward.getCover());
|
||||||
rewardCO.setRewardAmount(getRewardAmount(selectedReward));
|
rewardCO.setRewardAmount(getRewardAmount(selectedReward));
|
||||||
|
rewardCO.setRocketLevel(rocketLevel);
|
||||||
rewardCO.setMessage("恭喜您获得火箭奖励!");
|
rewardCO.setMessage("恭喜您获得火箭奖励!");
|
||||||
|
|
||||||
log.info("火箭奖励领取成功: roomId={}, userId={}, level={}, rewardType={}, rewardId={}",
|
log.info("火箭奖励领取成功: roomId={}, userId={}, level={}, rewardType={}, rewardId={}",
|
||||||
|
|||||||
@ -128,7 +128,7 @@ public class RoomEnterCmdExe {
|
|||||||
|
|
||||||
// 自动领取火箭奖励
|
// 自动领取火箭奖励
|
||||||
try {
|
try {
|
||||||
rocketRewardClaimCmdExe.executeAsync(cmd.getRoomId(), cmd.getReqUserId());
|
rocketRewardClaimCmdExe.executeAsync(cmd.getRoomId(), manager.getRoomAccount(), cmd.getReqUserId());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("触发自动领取火箭奖励失败: roomId={}, userId={}", cmd.getRoomId(), cmd.getReqUserId(), e);
|
log.error("触发自动领取火箭奖励失败: roomId={}, userId={}", cmd.getRoomId(), cmd.getReqUserId(), e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,6 +33,16 @@ public class RocketRewardCO {
|
|||||||
*/
|
*/
|
||||||
private Long rewardAmount;
|
private Long rewardAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 封面图
|
||||||
|
*/
|
||||||
|
private String cover;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 火箭等级
|
||||||
|
*/
|
||||||
|
private Integer rocketLevel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否贡献者
|
* 是否贡献者
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user