generated from root/miduo_server
增加F5获取角色信息接口
parent
169bb603b6
commit
1ab9b3c47f
|
|
@ -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<DBObject> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Integer, Integer> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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";
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue