抢红包校验

back_recharge
lvxinran 2020-01-11 13:38:58 +08:00
parent 27a48fac95
commit 1329c2b56b
2 changed files with 7 additions and 0 deletions

View File

@ -108,6 +108,8 @@ public interface BIReason {
int SEND_LIKE_REWARD = 63;//红包榜点赞奖励
int RED_PACKAGE_REWARD = 64;//抢红包奖励
int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级
int SECRETBOX_CONSUME = 1001;//秘盒抽卡

View File

@ -1054,12 +1054,17 @@ public class GuildLogic {
*/
public static void robRedPackage(ISession session, int redId, MessageTypeProto.MessageType messageType) throws Exception{
int uid = session.getUid();
AcceptRedInfo isAlready = RedisUtil.getInstence().getMapValue("red_already_list", String.valueOf(redId), String.valueOf(uid), AcceptRedInfo.class);
if(isAlready!=null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
Object redPackage = RedisUtil.getInstence().lPop(RedisKey.getKey("red_remain_list", String.valueOf(redId),false));
Family.RobRedPackageResponse.Builder builder = Family.RobRedPackageResponse.newBuilder();
if(redPackage!=null){
builder.setIsSuccess(1);
RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(UserManager.getUser(uid).getPlayerInfoManager().getGuildId()), String.valueOf(redId), RedPackage.class);
SGuildRedPackConfig config = SGuildRedPackConfig.sGuildRedPackConfigMap.get(packInfo.getTypeId());
ItemUtil.drop(UserManager.getUser(uid),new int[][]{new int[]{config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage))}},BIReason.RED_PACKAGE_REWARD);
RedisUtil.getInstence().putMapEntry("red_already_list", String.valueOf(redId),String.valueOf(uid),new AcceptRedInfo(uid,config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage)),(int)(TimeUtils.now()/1000)));
}
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);