From b5099247d653368626c0919b6ebd1aaf9cadd255 Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 7 Jul 2021 00:25:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E6=84=BF=E6=8A=BD=E5=8D=A1bug?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/dao/WishDrawCardInfo.java | 10 ++++++---- .../com/ljsd/jieling/logic/hero/HeroLogic.java | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WishDrawCardInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WishDrawCardInfo.java index a99072339..e343536d4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WishDrawCardInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WishDrawCardInfo.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.logic.dao; -import java.io.Serializable; /** * @Author hj @@ -8,9 +7,7 @@ import java.io.Serializable; * @Description: * @Version 1.0 */ -public class WishDrawCardInfo implements Serializable { - - private static final long serialVersionUID = 1L; +public class WishDrawCardInfo implements Cloneable { private int id; private int heroTid; @@ -45,4 +42,9 @@ public class WishDrawCardInfo implements Serializable { public void setStatus(int status) { this.status = status; } + + @Override + public WishDrawCardInfo clone() throws CloneNotSupportedException { + return (WishDrawCardInfo)super.clone(); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index b58a5f52f..e647378d6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -495,7 +495,18 @@ public class HeroLogic{ * @throws ErrorCodeException */ public void updateWishDrawCardInfo(User user, List list) throws ErrorCodeException { - HashMap map = Utils.clone(user.getHeroManager().getWishDrawCardInfoMap()); + HashMap wishDrawCardInfoMap = user.getHeroManager().getWishDrawCardInfoMap(); + + // 英雄拷贝 + HashMap map = new HashMap<>(wishDrawCardInfoMap.size()); + wishDrawCardInfoMap.forEach((k,v)->{ + try { + map.put(k,v.clone()); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + }); + // 遍历 for (CommonProto.wishDrawCardInfo v : list) { WishDrawCardInfo cardInfo = map.get(v.getId()); @@ -527,8 +538,6 @@ public class HeroLogic{ else { user.getHeroManager().setWishDrawCardInfoMap(map); } - // 推送消息 - sendWishCardIndication(user); } private void changeRandomItem(User user,int activityId,int[][] random){