From 1ab9b3c47fc37ea2880fd82478154cc9565476d7 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Tue, 1 Apr 2025 04:13:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0F5=E8=8E=B7=E5=8F=96=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jmfy/controller/PayController.java | 117 ++- .../java/com/jmfy/handler/PayHandler.java | 825 +++--------------- .../com/jmfy/modelVo/PlayerInfoCache.java | 112 +++ .../jmfy/redisProperties/RedisUserKey.java | 1 + 4 files changed, 335 insertions(+), 720 deletions(-) create mode 100644 src/main/java/com/jmfy/modelVo/PlayerInfoCache.java diff --git a/src/main/java/com/jmfy/controller/PayController.java b/src/main/java/com/jmfy/controller/PayController.java index 71b8177..c8a51f4 100644 --- a/src/main/java/com/jmfy/controller/PayController.java +++ b/src/main/java/com/jmfy/controller/PayController.java @@ -2,12 +2,14 @@ package com.jmfy.controller; import cn.hutool.core.util.XmlUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jmfy.Application; import com.jmfy.dao.MongoConnectDao; import com.jmfy.handler.PayHandler; import com.jmfy.model.ServerInfo; import com.jmfy.modelVo.PayVo; +import com.jmfy.modelVo.PlayerInfoCache; import com.jmfy.redisProperties.RedisUserKey; import com.jmfy.sdk.SdkSign; import com.jmfy.util.*; @@ -1890,7 +1892,7 @@ public class PayController { @RequestParam("statusMsg") String statusMsg, @RequestParam("ots") int ots, String payDoneTime, - @RequestParam("extInfo") String extInfo, + String extInfo, @RequestParam("osign") String osign) { JSONObject json = new JSONObject(); json.put("appId", Constant.F5_APPID); @@ -1906,6 +1908,9 @@ public class PayController { if(payDoneTime == null){ payDoneTime = ""; } + if(extInfo == null){ + extInfo = ""; + } String signStr = appId + orderId + defaultAmount + defaultCurrency + gameAmount + gameCurrency + productId + userId + serverId + orderStatus + ots + payDoneTime + extInfo + Constant.F5_PAY_KEY; String mySign=MD5Util.encrypByMd5(signStr); @@ -1917,14 +1922,6 @@ public class PayController { json.put("deliverStatus", 2); return json.toString(); } - //extInfo为游戏订单号 - if(StringUtils.isEmpty(extInfo)){ - LOGGER.error("错误信息:extInfo empty"); - json.put("code", -2); - json.put("msg", "extInfo empty"); - json.put("deliverStatus", 2); - return json.toString(); - } //渠道订单号不能为空 if(StringUtils.isEmpty(orderId)){ LOGGER.error("错误信息:orderId empty"); @@ -1936,7 +1933,20 @@ public class PayController { // 统一发货接口 int payres = 0; Double amountDouble = defaultAmount * 100; - payres = payHandler.processOrderNew(extInfo, orderId,amountDouble.intValue()); + //充值中心充值,订单号需要现生成 + if(payChannel.equals("WINGA")){ + payres = payHandler.processOrderWithoutOrderId(String.valueOf(userId), orderId, productId,amountDouble.intValue(),defaultCurrency,payChannel); //充值中心充值,订单号需要现生成 + }else{ + //extInfo为游戏订单号 + if(StringUtils.isEmpty(extInfo)){ + LOGGER.error("错误信息:extInfo empty"); + json.put("code", -2); + json.put("msg", "extInfo empty"); + json.put("deliverStatus", 2); + return json.toString(); + } + payres = payHandler.processOrderNew(extInfo, orderId,amountDouble.intValue()); + } // 成功 if (payres == 1) { json.put("code", 200); @@ -1966,4 +1976,91 @@ public class PayController { return json.toString(); } + @RequestMapping(value = "/pay/f5GetRole", method = {RequestMethod.POST,RequestMethod.GET}) + public String f5GetRole(@RequestParam("appId") String appId, + @RequestParam("userId") long userId, + @RequestParam("osign") String osign) throws Exception { + JSONObject json = new JSONObject(); + json.put("appId", Constant.F5_APPID); + json.put("userId", userId); + String currentServerId = "0"; + String currentRoleId = "0"; + JSONArray serverList = new JSONArray(); + LOGGER.info("f5GetRole--01, appId={},userId={},osign={}", appId,userId,osign); + if(!appId.equals(Constant.F5_APPID)){ + LOGGER.error("错误信息:参数不正确 appId={},userId={}", appId,userId); + json.put("code", 4010); + json.put("msg", "appId error"); + json.put("currentServerId", currentServerId); + json.put("currentRoleId", currentRoleId); + json.put("serverList", serverList); + return json.toString(); + } + String signStr = Constant.F5_APPID + userId + Constant.F5_SECURE_KEY; + String mySign = MD5Util.encrypByMd5(signStr); + if(!mySign.equals(osign)){ + LOGGER.error("错误信息:签名不一致 mySign={},osign={}", mySign,osign); + json.put("code", 4011); + json.put("msg", "sign error"); + json.put("currentServerId", currentServerId); + json.put("currentRoleId", currentRoleId); + json.put("serverList", serverList); + return json.toString(); + } + MongoTemplate mongoTemplate = mongoConnectDao.getConnect().getMongoTemplete(Application.coreDb); + //查询mongo:客户端传的serverId找到合服后的对应的真实的serverId + BasicQuery query = new BasicQuery(new BasicDBObject("open_id", String.valueOf(userId))); + List list = mongoTemplate.find(query, DBObject.class); + if(list == null || list.isEmpty()){ + json.put("code", 404); + json.put("msg", "user not exist"); + json.put("currentServerId", currentServerId); + json.put("currentRoleId", currentRoleId); + json.put("serverList", serverList); + return json.toString(); + } + long loginTime = 0; + for(DBObject obj : list){ + String serverId = obj.get("server_id").toString(); + BasicQuery serverQuery = new BasicQuery(new BasicDBObject("server_id", serverId)); + ServerInfo serverInfo = mongoTemplate.findOne(query, ServerInfo.class, "server_info"); + if(serverInfo == null){ + continue; + } + String uid = obj.get("uid").toString(); + PlayerInfoCache cache = RedisUtil.getInstence().getMapValue(RedisUserKey.PLAYER_INFO_CACHE + RedisUserKey.Delimiter_colon, "",uid, PlayerInfoCache.class,-1); + if(cache == null){ + continue; + } + JSONObject serverObj = new JSONObject(); + serverObj.put("serverId", serverInfo.getRealServerId()); + serverObj.put("serverName", serverInfo.getName()); + JSONArray roleList = new JSONArray(); + JSONObject roleObj = new JSONObject(); + roleObj.put("roleId", uid); + roleObj.put("roleName", cache.getName()); + roleList.add(roleObj); + serverObj.put("roleList", roleList); + serverList.add(serverObj); + long lastLoginTime = cache.getOffLineTime(); + //取最近登录时间的角色信息 + if(lastLoginTime >= loginTime){ + loginTime = lastLoginTime; + currentServerId = String.valueOf(serverInfo.getRealServerId()); + currentRoleId = uid; + } + } + if(serverList.size() > 0){ + json.put("code", 200); + json.put("msg", "SUCCESS"); + }else{ + json.put("code", 404); + json.put("msg", "user not exist"); + } + json.put("currentServerId", currentServerId); + json.put("currentRoleId", currentRoleId); + json.put("serverList", serverList); + return json.toString(); + } + } diff --git a/src/main/java/com/jmfy/handler/PayHandler.java b/src/main/java/com/jmfy/handler/PayHandler.java index a82db06..6d42c14 100644 --- a/src/main/java/com/jmfy/handler/PayHandler.java +++ b/src/main/java/com/jmfy/handler/PayHandler.java @@ -1,17 +1,29 @@ package com.jmfy.handler; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.jmfy.Application; +import com.jmfy.dao.MongoConnectDao; import com.jmfy.dao.PayDao; import com.jmfy.dao.ServerListDao; import com.jmfy.model.CoreServerList; +import com.jmfy.model.ServerInfo; +import com.jmfy.model.User; import com.jmfy.modelVo.MarkedVo; import com.jmfy.modelVo.PayVo; import com.jmfy.redisProperties.RedisUserKey; +import com.jmfy.util.CreateUniqueCodeManager; import com.jmfy.util.RPCClient; import com.jmfy.util.RedisUtil; +import com.jmfy.util.loginRedis.TimeUtil; import com.ljsd.jieling.thrift.idl.Result; import com.ljsd.jieling.thrift.idl.itemData; +import com.mongodb.BasicDBObject; +import com.mongodb.DBObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.BasicQuery; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -28,6 +40,8 @@ public class PayHandler { private ServerListDao serverListDao; @Resource private PayDao payDao; + @Resource + private MongoConnectDao mongoConnectDao; /** * 统一发货接口 @@ -188,6 +202,107 @@ public class PayHandler { return 1; } + /** + * 无游戏订单订单号的处理,一般为网页支付之类的非游戏内支付 + * @param cpOrderNo + * @param amount + * @param payWay + * @return + * @throws Exception + */ + public int processOrderWithoutOrderId(String openId,String cpOrderNo,String productId,int amount, String currencyCode,String payChannel) throws Exception { + //以渠道订单号为cp订单号 + PayVo payVo = payDao.getOder(cpOrderNo); + //如果订单已经存在直接返回成功 + if(payVo!=null){ + if(payVo.getStatus() == 1){ + return 1; + } + }else{ + //初始化一个订单 + payVo = this.createOrder(openId, amount, cpOrderNo, amount,productId,currencyCode); + } + //初始化失败,返回失败 + if(payVo == null) { + LOGGER.error(cpOrderNo + " is not exit"); + return -1; + } + String orderId = payVo.getBillno(); + int serverId = payVo.getRegion(); + int uid = payVo.getUid(); + String goodsId = payVo.getPay_item(); + MarkedVo marked = new MarkedVo(); + marked.setPartition(String.valueOf(serverId)); + CoreServerList coreServerList = serverListDao.findServer(marked); + if (null == coreServerList) { + LOGGER.error("应用不存在"); + return -2; + } else { + String rpcString = RedisUtil.getInstence().getObject(RedisUserKey.LOGIC_SERVER_INFO, String.valueOf(serverId), String.class, -1); + System.out.println("rpcString " + rpcString); + if (null == rpcString) { + LOGGER.error("serverAddress not exist"); + } + String thriftIp = rpcString.split(":")[0]; + String thriftPort = rpcString.split(":")[3]; + if (thriftIp == null || thriftIp.isEmpty() || null == thriftPort || thriftPort.isEmpty()) { + LOGGER.error("serverAddress not exist"); + return -3; + } else { + Result result = RPCClient.deliveryRecharge(thriftIp, thriftPort, uid, goodsId, openId, orderId, System.currentTimeMillis(), amount, ""); + if (result.getResultCode() != 1) { + LOGGER.error(result.getResultMsg()); + return -4; + } else { + LOGGER.info("pay " + orderId + " is ok "); + } + payVo.setStatus(1); + payVo.setPayWay(payChannel); + payVo.setCporderId(cpOrderNo); + payVo.setSandbox(0); //正式订单 + if(amount != 0) { + payVo.setAmount(amount); + } + payDao.upOder(payVo); + } + + } + return 1; + } + + public PayVo createOrder(String openId,int serverId,String cpOrderNo, int amount, String productId,String currencyCode) throws Exception { + try { + LOGGER.info("--CreatOrder日志:openId={},serverId={},cpOrderNo={},productId={},price={},CurrencyCode={}",openId,serverId,cpOrderNo,productId,amount,currencyCode); + MongoTemplate mongoTemplate = mongoConnectDao.getConnect().getMongoTemplete(Application.coreDb); + //查询mongo:客户端传的serverId找到合服后的对应的真实的serverId + BasicQuery query = new BasicQuery(new BasicDBObject("server_id", serverId+"")); + ServerInfo serverInfo = mongoTemplate.findOne(query, ServerInfo.class, "server_info"); + if(serverInfo == null){ + return null; + } + serverId = serverInfo.getRealServerId(); + DBObject dbObject = new BasicDBObject(); + dbObject.put("openId", openId); + dbObject.put("serverId", serverId); + BasicQuery userQuery = new BasicQuery(dbObject); + DBObject obj = mongoTemplate.findOne(userQuery,DBObject.class,"user_info"); + //用户不存在,则不创建订单 + if(obj == null){ + return null; + } + int uid = Integer.parseInt(obj.get("uid").toString()); + PayVo payVo = new PayVo(openId, uid, serverId, "F5", productId, TimeUtil.getTimeStamp(System.currentTimeMillis()), amount,currencyCode); + payVo.setBillno(cpOrderNo); + payVo.setRegion(serverId); + LOGGER.info("--CreatOrder日志01:region={}, serverId={},serverInfo={},query={}",payVo.getRegion(),serverId, JSON.toJSON(serverInfo),JSON.toJSON(query)); + mongoTemplate.insert(payVo); + return payVo; + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } + /** * 测试订单 * @param orderId @@ -293,714 +408,4 @@ public class PayHandler { // return 1; //} - //判断充值金额是否与商品表一致 - public int priceAmount(int goodId){ - Map priceMap = new HashMap<>(); - priceMap.put(304,128); - priceMap.put(305,328); - priceMap.put(306,648); - priceMap.put(318,128); - priceMap.put(319,328); - priceMap.put(320,648); - priceMap.put(332,128); - priceMap.put(333,328); - priceMap.put(334,648); - priceMap.put(346,128); - priceMap.put(347,328); - priceMap.put(348,648); - priceMap.put(360,128); - priceMap.put(361,328); - priceMap.put(362,648); - priceMap.put(374,128); - priceMap.put(375,328); - priceMap.put(376,648); - priceMap.put(388,128); - priceMap.put(389,328); - priceMap.put(390,648); - priceMap.put(504,128); - priceMap.put(505,328); - priceMap.put(506,648); - priceMap.put(515,198); - priceMap.put(516,328); - priceMap.put(517,648); - priceMap.put(518,128); - priceMap.put(519,328); - priceMap.put(520,648); - priceMap.put(521,6); - priceMap.put(522,30); - priceMap.put(523,68); - priceMap.put(524,128); - priceMap.put(525,198); - priceMap.put(526,328); - priceMap.put(527,648); - priceMap.put(532,128); - priceMap.put(533,328); - priceMap.put(534,648); - priceMap.put(535,6); - priceMap.put(536,30); - priceMap.put(537,68); - priceMap.put(538,128); - priceMap.put(539,198); - priceMap.put(540,328); - priceMap.put(541,648); - priceMap.put(546,128); - priceMap.put(547,328); - priceMap.put(548,648); - priceMap.put(555,128); - priceMap.put(556,198); - priceMap.put(557,328); - priceMap.put(558,648); - priceMap.put(559,128); - priceMap.put(560,328); - priceMap.put(561,648); - priceMap.put(569,128); - priceMap.put(570,198); - priceMap.put(571,328); - priceMap.put(572,648); - priceMap.put(573,128); - priceMap.put(574,328); - priceMap.put(575,648); - priceMap.put(576,6); - priceMap.put(577,30); - priceMap.put(578,68); - priceMap.put(579,128); - priceMap.put(580,198); - priceMap.put(581,328); - priceMap.put(582,648); - priceMap.put(583,128); - priceMap.put(584,198); - priceMap.put(585,328); - priceMap.put(586,648); - priceMap.put(587,128); - priceMap.put(588,328); - priceMap.put(589,648); - priceMap.put(596,128); - priceMap.put(597,198); - priceMap.put(598,328); - priceMap.put(599,648); - priceMap.put(600,128); - priceMap.put(601,328); - priceMap.put(602,648); - priceMap.put(603,6); - priceMap.put(604,30); - priceMap.put(605,68); - priceMap.put(606,128); - priceMap.put(608,328); - priceMap.put(609,648); - priceMap.put(614,128); - priceMap.put(615,328); - priceMap.put(616,648); - priceMap.put(617,6); - priceMap.put(618,30); - priceMap.put(619,68); - priceMap.put(620,128); - priceMap.put(621,198); - priceMap.put(622,328); - priceMap.put(623,648); - priceMap.put(624,128); - priceMap.put(625,198); - priceMap.put(626,328); - priceMap.put(627,648); - priceMap.put(628,128); - priceMap.put(629,328); - priceMap.put(630,648); - priceMap.put(631,128); - priceMap.put(632,198); - priceMap.put(633,328); - priceMap.put(634,648); - priceMap.put(635,128); - priceMap.put(636,328); - priceMap.put(637,648); - priceMap.put(638,128); - priceMap.put(639,198); - priceMap.put(640,328); - priceMap.put(641,648); - priceMap.put(642,128); - priceMap.put(643,328); - priceMap.put(644,648); - priceMap.put(645,128); - priceMap.put(646,198); - priceMap.put(647,328); - priceMap.put(648,648); - priceMap.put(649,128); - priceMap.put(650,328); - priceMap.put(651,648); - priceMap.put(652,128); - priceMap.put(653,198); - priceMap.put(654,328); - priceMap.put(655,648); - priceMap.put(656,128); - priceMap.put(657,328); - priceMap.put(658,648); - priceMap.put(659,6); - priceMap.put(660,30); - priceMap.put(661,68); - priceMap.put(662,128); - priceMap.put(663,198); - priceMap.put(664,328); - priceMap.put(665,648); - priceMap.put(666,128); - priceMap.put(667,198); - priceMap.put(668,328); - priceMap.put(669,648); - priceMap.put(670,128); - priceMap.put(671,328); - priceMap.put(672,648); - priceMap.put(673,6); - priceMap.put(674,30); - priceMap.put(675,68); - priceMap.put(676,128); - priceMap.put(677,328); - priceMap.put(678,648); - priceMap.put(679,128); - priceMap.put(680,198); - priceMap.put(681,328); - priceMap.put(682,648); - priceMap.put(683,128); - priceMap.put(684,328); - priceMap.put(685,648); - priceMap.put(33,128); - priceMap.put(34,6); - priceMap.put(35,6); - priceMap.put(36,30); - priceMap.put(37,198); - priceMap.put(38,128); - priceMap.put(39,328); - priceMap.put(40,648); - priceMap.put(42,12); - priceMap.put(43,98); - priceMap.put(44,648); - priceMap.put(46,128); - priceMap.put(47,6); - priceMap.put(48,6); - priceMap.put(49,30); - priceMap.put(50,198); - priceMap.put(51,128); - priceMap.put(52,328); - priceMap.put(53,648); - priceMap.put(54,128); - priceMap.put(55,6); - priceMap.put(56,6); - priceMap.put(57,30); - priceMap.put(58,198); - priceMap.put(59,128); - priceMap.put(60,328); - priceMap.put(61,648); - priceMap.put(62,128); - priceMap.put(63,6); - priceMap.put(64,6); - priceMap.put(65,30); - priceMap.put(66,198); - priceMap.put(67,128); - priceMap.put(68,328); - priceMap.put(69,648); - priceMap.put(70,128); - priceMap.put(71,6); - priceMap.put(72,6); - priceMap.put(73,30); - priceMap.put(74,198); - priceMap.put(75,128); - priceMap.put(76,328); - priceMap.put(77,648); - priceMap.put(13,198); - priceMap.put(14,198); - priceMap.put(15,198); - priceMap.put(16,198); - priceMap.put(17,198); - priceMap.put(18,198); - priceMap.put(19,198); - priceMap.put(20,198); - priceMap.put(251,68); - priceMap.put(252,128); - priceMap.put(253,328); - priceMap.put(254,448); - priceMap.put(255,648); - priceMap.put(21,30); - priceMap.put(400,68); - priceMap.put(401,128); - priceMap.put(402,328); - priceMap.put(9,12); - priceMap.put(10,30); - priceMap.put(11,98); - priceMap.put(12,30); - priceMap.put(24,68); - priceMap.put(25,128); - priceMap.put(26,328); - priceMap.put(27,388); - priceMap.put(28,448); - priceMap.put(29,448); - priceMap.put(30,448); - priceMap.put(31,648); - priceMap.put(32,648); - priceMap.put(7000,68); - priceMap.put(7001,128); - priceMap.put(7002,328); - priceMap.put(7003,448); - priceMap.put(7004,648); - priceMap.put(7100,68); - priceMap.put(7101,128); - priceMap.put(7102,328); - priceMap.put(7103,448); - priceMap.put(7104,648); - priceMap.put(8000,648); - priceMap.put(8001,648); - priceMap.put(8003,648); - priceMap.put(9000,328); - priceMap.put(9001,328); - priceMap.put(1,6); - priceMap.put(2,30); - priceMap.put(3,98); - priceMap.put(4,198); - priceMap.put(5,328); - priceMap.put(6,648); - priceMap.put(78,128); - priceMap.put(79,328); - priceMap.put(7801,128); - priceMap.put(7901,328); - priceMap.put(7802,128); - priceMap.put(7902,328); - priceMap.put(1001,6); - priceMap.put(1002,12); - priceMap.put(1003,30); - priceMap.put(1005,68); - priceMap.put(1004,98); - priceMap.put(1021,6); - priceMap.put(1022,12); - priceMap.put(1023,30); - priceMap.put(1025,68); - priceMap.put(1024,98); - priceMap.put(2000,0); - priceMap.put(2001,6); - priceMap.put(2002,30); - priceMap.put(2003,68); - priceMap.put(2004,98); - priceMap.put(2005,198); - priceMap.put(2006,198); - priceMap.put(2007,328); - priceMap.put(2008,328); - priceMap.put(2009,448); - priceMap.put(2010,648); - priceMap.put(2011,198); - priceMap.put(2012,288); - priceMap.put(2013,328); - priceMap.put(2014,328); - priceMap.put(2015,488); - priceMap.put(2016,488); - priceMap.put(2017,648); - priceMap.put(3000,0); - priceMap.put(3001,12); - priceMap.put(3002,30); - priceMap.put(3003,68); - priceMap.put(3004,128); - priceMap.put(3005,328); - priceMap.put(3006,448); - priceMap.put(3007,648); - priceMap.put(3008,648); - priceMap.put(3009,648); - priceMap.put(3010,328); - priceMap.put(4000,12); - priceMap.put(4001,30); - priceMap.put(4002,68); - priceMap.put(4003,30); - priceMap.put(4004,30); - priceMap.put(4005,30); - priceMap.put(5001,198); - priceMap.put(5002,198); - priceMap.put(5003,198); - priceMap.put(101,98); - priceMap.put(102,98); - priceMap.put(103,98); - priceMap.put(104,98); - priceMap.put(105,98); - priceMap.put(106,198); - priceMap.put(201,68); - priceMap.put(202,328); - priceMap.put(203,98); - priceMap.put(204,198); - priceMap.put(205,198); - priceMap.put(206,30); - priceMap.put(207,198); - priceMap.put(208,68); - priceMap.put(209,328); - priceMap.put(210,198); - priceMap.put(211,198); - priceMap.put(212,68); - priceMap.put(213,98); - priceMap.put(214,98); - priceMap.put(227,98); - priceMap.put(215,128); - priceMap.put(216,128); - priceMap.put(217,128); - priceMap.put(218,128); - priceMap.put(219,128); - priceMap.put(220,198); - priceMap.put(221,198); - priceMap.put(222,198); - priceMap.put(223,328); - priceMap.put(224,328); - priceMap.put(225,328); - priceMap.put(226,648); - priceMap.put(300,30); - priceMap.put(301,68); - priceMap.put(302,128); - priceMap.put(303,328); - priceMap.put(314,30); - priceMap.put(315,68); - priceMap.put(316,128); - priceMap.put(317,328); - priceMap.put(610,98); - priceMap.put(611,128); - priceMap.put(612,198); - priceMap.put(613,328); - priceMap.put(328,98); - priceMap.put(329,198); - priceMap.put(330,328); - priceMap.put(331,488); - priceMap.put(342,98); - priceMap.put(343,128); - priceMap.put(344,198); - priceMap.put(345,328); - priceMap.put(356,30); - priceMap.put(357,68); - priceMap.put(358,128); - priceMap.put(359,328); - priceMap.put(370,30); - priceMap.put(371,68); - priceMap.put(372,128); - priceMap.put(373,328); - priceMap.put(384,98); - priceMap.put(385,128); - priceMap.put(386,198); - priceMap.put(387,328); - priceMap.put(500,98); - priceMap.put(501,198); - priceMap.put(502,328); - priceMap.put(503,488); - priceMap.put(528,98); - priceMap.put(529,128); - priceMap.put(530,198); - priceMap.put(531,328); - priceMap.put(542,98); - priceMap.put(543,198); - priceMap.put(544,328); - priceMap.put(545,488); - priceMap.put(507,68); - priceMap.put(508,98); - priceMap.put(509,128); - priceMap.put(510,328); - priceMap.put(511,648); - priceMap.put(512,128); - priceMap.put(513,198); - priceMap.put(514,328); - priceMap.put(562,6); - priceMap.put(563,30); - priceMap.put(564,68); - priceMap.put(565,128); - priceMap.put(566,198); - priceMap.put(567,328); - priceMap.put(568,648); - priceMap.put(349,6); - priceMap.put(350,30); - priceMap.put(351,68); - priceMap.put(352,128); - priceMap.put(353,198); - priceMap.put(354,328); - priceMap.put(355,648); - priceMap.put(363,68); - priceMap.put(364,98); - priceMap.put(365,128); - priceMap.put(366,328); - priceMap.put(367,648); - priceMap.put(368,198); - priceMap.put(369,328); - priceMap.put(549,6); - priceMap.put(550,30); - priceMap.put(551,68); - priceMap.put(552,128); - priceMap.put(553,198); - priceMap.put(554,328); - priceMap.put(377,68); - priceMap.put(378,98); - priceMap.put(379,128); - priceMap.put(380,328); - priceMap.put(381,648); - priceMap.put(382,328); - priceMap.put(383,648); - priceMap.put(391,6); - priceMap.put(392,30); - priceMap.put(393,68); - priceMap.put(394,128); - priceMap.put(395,198); - priceMap.put(396,328); - priceMap.put(397,648); - priceMap.put(307,6); - priceMap.put(308,30); - priceMap.put(309,68); - priceMap.put(310,68); - priceMap.put(311,128); - priceMap.put(312,198); - priceMap.put(313,328); - priceMap.put(590,6); - priceMap.put(591,30); - priceMap.put(592,68); - priceMap.put(593,128); - priceMap.put(594,198); - priceMap.put(595,328); - priceMap.put(321,6); - priceMap.put(322,30); - priceMap.put(323,68); - priceMap.put(324,128); - priceMap.put(325,198); - priceMap.put(326,328); - priceMap.put(327,648); - priceMap.put(335,6); - priceMap.put(336,30); - priceMap.put(337,68); - priceMap.put(338,128); - priceMap.put(339,198); - priceMap.put(340,328); - priceMap.put(341,648); - priceMap.put(6001,18); - priceMap.put(6002,50); - priceMap.put(6003,328); - priceMap.put(6004,12); - priceMap.put(6005,18); - priceMap.put(6006,30); - priceMap.put(6007,12); - priceMap.put(6008,18); - priceMap.put(6009,30); - priceMap.put(6010,12); - priceMap.put(6011,18); - priceMap.put(6012,30); - priceMap.put(6013,12); - priceMap.put(6014,18); - priceMap.put(6015,30); - priceMap.put(6016,12); - priceMap.put(6017,18); - priceMap.put(6018,30); - priceMap.put(6019,18); - priceMap.put(6020,60); - priceMap.put(6021,198); - priceMap.put(6101,6); - priceMap.put(6102,12); - priceMap.put(6103,30); - priceMap.put(6201,6); - priceMap.put(6202,12); - priceMap.put(6203,30); - priceMap.put(6301,12); - priceMap.put(6302,18); - priceMap.put(6303,30); - priceMap.put(6401,6); - priceMap.put(6402,12); - priceMap.put(6403,30); - priceMap.put(6501,12); - priceMap.put(6502,18); - priceMap.put(6503,30); - priceMap.put(6601,6); - priceMap.put(6602,12); - priceMap.put(6603,30); - priceMap.put(6701,6); - priceMap.put(6702,12); - priceMap.put(6703,30); - priceMap.put(10001,648); - priceMap.put(10002,648); - priceMap.put(20001,60); - priceMap.put(30500,30); - priceMap.put(30501,30); - priceMap.put(30502,60); - priceMap.put(30600,68); - priceMap.put(30601,98); - priceMap.put(30602,128); - priceMap.put(30700,128); - priceMap.put(30701,198); - priceMap.put(30800,198); - priceMap.put(30801,288); - priceMap.put(30900,198); - priceMap.put(30901,288); - priceMap.put(31000,328); - priceMap.put(31001,488); - priceMap.put(32000,98); - priceMap.put(33001,30); - priceMap.put(33002,60); - priceMap.put(33003,60); - priceMap.put(33004,60); - priceMap.put(33005,60); - priceMap.put(33006,98); - priceMap.put(33007,98); - priceMap.put(33008,98); - priceMap.put(33009,128); - priceMap.put(33010,128); - priceMap.put(33011,128); - priceMap.put(33012,198); - priceMap.put(33013,198); - priceMap.put(33014,128); - priceMap.put(33015,198); - priceMap.put(33016,198); - priceMap.put(33017,128); - priceMap.put(33018,328); - priceMap.put(33019,328); - priceMap.put(33020,328); - priceMap.put(33021,328); - priceMap.put(34001,30); - priceMap.put(34002,68); - priceMap.put(34003,98); - priceMap.put(34004,128); - priceMap.put(34005,198); - priceMap.put(34006,288); - priceMap.put(34007,60); - priceMap.put(34008,128); - priceMap.put(35001,18); - priceMap.put(35002,30); - priceMap.put(35003,60); - priceMap.put(35004,98); - priceMap.put(35005,128); - priceMap.put(35006,198); - priceMap.put(30503,128); - priceMap.put(30504,328); - priceMap.put(30505,648); - priceMap.put(30506,60); - priceMap.put(30507,128); - priceMap.put(30508,328); - priceMap.put(30509,648); - priceMap.put(30510,60); - priceMap.put(30511,128); - priceMap.put(30512,328); - priceMap.put(30513,648); - priceMap.put(30603,128); - priceMap.put(30604,198); - priceMap.put(30605,328); - priceMap.put(30606,128); - priceMap.put(30607,198); - priceMap.put(30608,328); - priceMap.put(30702,98); - priceMap.put(30703,128); - priceMap.put(30704,198); - priceMap.put(30705,328); - priceMap.put(30706,488); - priceMap.put(30707,648); - priceMap.put(30802,128); - priceMap.put(30803,198); - priceMap.put(30804,328); - priceMap.put(30805,328); - priceMap.put(30806,488); - priceMap.put(30807,648); - priceMap.put(30902,128); - priceMap.put(30903,198); - priceMap.put(30904,328); - priceMap.put(31002,198); - priceMap.put(31003,328); - priceMap.put(31004,648); - priceMap.put(32018,30); - priceMap.put(32001,60); - priceMap.put(32023,30); - priceMap.put(32029,60); - priceMap.put(32033,60); - priceMap.put(32037,98); - priceMap.put(32043,98); - priceMap.put(32002,98); - priceMap.put(32047,128); - priceMap.put(32053,128); - priceMap.put(32057,128); - priceMap.put(32063,198); - priceMap.put(32067,198); - priceMap.put(32003,128); - priceMap.put(32085,198); - priceMap.put(32004,128); - priceMap.put(32095,198); - priceMap.put(32100,328); - priceMap.put(32005,328); - priceMap.put(32110,328); - priceMap.put(32118,328); - priceMap.put(32006,648); - priceMap.put(32028,60); - priceMap.put(32048,68); - priceMap.put(32058,98); - priceMap.put(32068,98); - priceMap.put(32073,128); - priceMap.put(32078,128); - priceMap.put(32088,128); - priceMap.put(32098,198); - priceMap.put(32103,198); - priceMap.put(32113,328); - priceMap.put(35101,18); - priceMap.put(35102,30); - priceMap.put(35103,60); - priceMap.put(35104,98); - priceMap.put(35105,328); - priceMap.put(35106,648); - priceMap.put(35201,18); - priceMap.put(35202,30); - priceMap.put(35203,60); - priceMap.put(35204,98); - priceMap.put(35205,128); - priceMap.put(35206,648); - priceMap.put(35301,30); - priceMap.put(35302,60); - priceMap.put(35303,98); - priceMap.put(35304,128); - priceMap.put(35305,198); - priceMap.put(35306,328); - priceMap.put(35401,30); - priceMap.put(35402,60); - priceMap.put(35403,98); - priceMap.put(35404,128); - priceMap.put(35405,198); - priceMap.put(35406,328); - priceMap.put(36006,6); - priceMap.put(36012,12); - priceMap.put(36018,18); - priceMap.put(36030,30); - priceMap.put(36060,60); - priceMap.put(36098,98); - priceMap.put(36128,128); - priceMap.put(36198,198); - priceMap.put(36328,328); - priceMap.put(36488,328); - priceMap.put(36648,648); - priceMap.put(6801,12); - priceMap.put(6802,18); - priceMap.put(6803,30); - priceMap.put(6901,12); - priceMap.put(6902,18); - priceMap.put(6903,30); - priceMap.put(7201,12); - priceMap.put(7202,18); - priceMap.put(7203,30); - priceMap.put(7301,12); - priceMap.put(7302,18); - priceMap.put(7303,30); - priceMap.put(72001,198); - priceMap.put(55001,30); - priceMap.put(55002,68); - priceMap.put(55003,98); - priceMap.put(55004,128); - priceMap.put(55005,128); - priceMap.put(55011,30); - priceMap.put(55012,98); - priceMap.put(55013,128); - priceMap.put(55014,128); - priceMap.put(60001,18); - priceMap.put(60002,50); - priceMap.put(60003,98); - priceMap.put(60004,198); - priceMap.put(60005,288); - priceMap.put(60006,488); - priceMap.put(60007,288); - priceMap.put(60008,288); - priceMap.put(60009,288); - priceMap.put(60010,288); - priceMap.put(60011,288); - priceMap.put(61000,0); - priceMap.put(61001,6); - priceMap.put(61002,30); - priceMap.put(61003,68); - priceMap.put(61004,98); - priceMap.put(61005,128); - priceMap.put(61006,328); - priceMap.put(61007,648); - - Integer priceTemp = priceMap.get(goodId); - return priceTemp; - } - } diff --git a/src/main/java/com/jmfy/modelVo/PlayerInfoCache.java b/src/main/java/com/jmfy/modelVo/PlayerInfoCache.java new file mode 100644 index 0000000..8aa1f9a --- /dev/null +++ b/src/main/java/com/jmfy/modelVo/PlayerInfoCache.java @@ -0,0 +1,112 @@ +package com.jmfy.modelVo; + +public class PlayerInfoCache { + private int serverId; + private String name; + private int head; + private int headFrame; + private int level; + private int guildPosition; + private int id; + private int designation; + private int maxForce; + private int sex; + private long offLineTime;// 离线时间 + private int likeNums;//竞技场被点赞数 + + public String getName() { + return name; + } + + public int getHead() { + return head; + } + + public int getHeadFrame() { + return headFrame; + } + + public void setName(String name) { + this.name = name; + } + + public void setHead(int head) { + this.head = head; + } + + public void setHeadFrame(int headFrame) { + this.headFrame = headFrame; + } + + public void setServerId(int serverId) { + this.serverId = serverId; + } + + public int getServerId() { + return serverId; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getGuildPosition() { + return guildPosition; + } + + public void setGuildPosition(int guildPosition) { + this.guildPosition = guildPosition; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDesignation() { + return designation; + } + + public void setDesignation(int designation) { + this.designation = designation; + } + + public int getMaxForce() { + return maxForce; + } + + public void setMaxForce(int maxForce) { + this.maxForce = maxForce; + } + + public int getSex() { + return sex; + } + + public void setSex(int sex) { + this.sex = sex; + } + + public long getOffLineTime() { + return offLineTime; + } + + public void setOffLineTime(long offLineTime) { + this.offLineTime = offLineTime; + } + + public int getLikeNums() { + return likeNums; + } + + public void setLikeNums(int likeNums) { + this.likeNums = likeNums; + } +} diff --git a/src/main/java/com/jmfy/redisProperties/RedisUserKey.java b/src/main/java/com/jmfy/redisProperties/RedisUserKey.java index 35568c9..d5dc8d6 100644 --- a/src/main/java/com/jmfy/redisProperties/RedisUserKey.java +++ b/src/main/java/com/jmfy/redisProperties/RedisUserKey.java @@ -65,6 +65,7 @@ public class RedisUserKey { public final static String RedisRecordMQ = "RedisRecordMQ"; public static final String LOGIC_SERVER_INFO = "LOGIC_SERVER_INFO"; + public static final String PLAYER_INFO_CACHE = "PLAYER_INFO_CACHE"; }