1111111
parent
e0626aa1d8
commit
f7c733c0cb
|
|
@ -476,9 +476,10 @@ public class Room implements Runnable {
|
||||||
black_key = gm_key;
|
black_key = gm_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
//String black = Redis.use("group1_db10").hget(black_key, "black");
|
// String black = Redis.use("group1_db10").hget(black_key, "black");
|
||||||
String black = null;
|
String black = null;
|
||||||
//String black_rate = Redis.use("group1_db10").hget(black_key, "group_black_rate");
|
// String black_rate = Redis.use("group1_db10").hget(black_key,
|
||||||
|
// "group_black_rate");
|
||||||
String black_rate = "0";
|
String black_rate = "0";
|
||||||
|
|
||||||
if (StringUtil.isNotEmpty(black) && black.equals("0")) {
|
if (StringUtil.isNotEmpty(black) && black.equals("0")) {
|
||||||
|
|
@ -524,15 +525,13 @@ public class Room implements Runnable {
|
||||||
} else {
|
} else {
|
||||||
String StrWhiteValue = Redis.use("group1_db2").hget("genusersvalue",
|
String StrWhiteValue = Redis.use("group1_db2").hget("genusersvalue",
|
||||||
Integer.toString(player.playerid));
|
Integer.toString(player.playerid));
|
||||||
String miling = Redis.use("group1_db2").hget("genusersmiling",
|
String miling = Redis.use("group1_db2").hget("genusersmiling", Integer.toString(player.playerid));
|
||||||
Integer.toString(player.playerid));
|
|
||||||
|
|
||||||
String loginGods = Redis.use("group1_db2").hget("genuserslogin",
|
String loginGods = Redis.use("group1_db2").hget("genuserslogin", Integer.toString(player.playerid));
|
||||||
Integer.toString(player.playerid));
|
|
||||||
|
|
||||||
if(StringUtil.isNotEmpty(miling)&&StringUtil.isNotEmpty(loginGods)) {
|
if (StringUtil.isNotEmpty(miling) && StringUtil.isNotEmpty(loginGods)) {
|
||||||
String mdmiling = Utils.getMD5Hash(player.playerid + "changhongd2026@");
|
String mdmiling = Utils.getMD5Hash(player.playerid + "changhongd2026@");
|
||||||
if (StringUtil.isNotEmpty(StrWhiteValue)&&mdmiling.equals(miling)) {
|
if (StringUtil.isNotEmpty(StrWhiteValue) && mdmiling.equals(miling)) {
|
||||||
|
|
||||||
player.is_white = true;
|
player.is_white = true;
|
||||||
while_list = true;
|
while_list = true;
|
||||||
|
|
@ -554,10 +553,10 @@ public class Room implements Runnable {
|
||||||
player.initSeat();
|
player.initSeat();
|
||||||
this.playerMapByPlaying.put(player.playerid, player);
|
this.playerMapByPlaying.put(player.playerid, player);
|
||||||
}
|
}
|
||||||
Global.logger.info("游戏开始:"+this.status);
|
Global.logger.info("游戏开始:" + this.status);
|
||||||
if (this.round == 0 && this.status == Constant.ROOM_STATUS_NOBEGIN) {
|
if (this.round == 0 && this.status == Constant.ROOM_STATUS_NOBEGIN) {
|
||||||
this.status = Constant.ROOM_STATUS_PLAYING;
|
this.status = Constant.ROOM_STATUS_PLAYING;
|
||||||
Global.logger.info("this.status:"+this.status);
|
Global.logger.info("this.status:" + this.status);
|
||||||
|
|
||||||
this.redis_room_map.put("status", this.status + "");
|
this.redis_room_map.put("status", this.status + "");
|
||||||
Redis.use().hset(this.room_key, "status", this.status + "");
|
Redis.use().hset(this.room_key, "status", this.status + "");
|
||||||
|
|
@ -596,13 +595,13 @@ public class Room implements Runnable {
|
||||||
*/
|
*/
|
||||||
public void endGame() {
|
public void endGame() {
|
||||||
boolean total = totalType();
|
boolean total = totalType();
|
||||||
// if (!total)
|
if (!total)
|
||||||
// total = entrustTotal();
|
total = entrustTotal();
|
||||||
// Global.logger.info("total: " + total);
|
Global.logger.info("total: " + total);
|
||||||
CountXiPai();
|
CountXiPai();
|
||||||
CheckModifyHp();
|
CheckModifyHp();
|
||||||
boolean settlement = redisUpdateHp();// 结算分数
|
boolean settlement = redisUpdateHp();// 结算分数
|
||||||
// total = total || settlement;
|
total = total || settlement;
|
||||||
// Global.logger.info("total: " + total);
|
// Global.logger.info("total: " + total);
|
||||||
this.saveRecRound();
|
this.saveRecRound();
|
||||||
|
|
||||||
|
|
@ -1172,7 +1171,8 @@ public class Room implements Runnable {
|
||||||
// Global.logger.info("输家:" + player.hp.total_hp);
|
// Global.logger.info("输家:" + player.hp.total_hp);
|
||||||
player.practicalHpPumpReal = roomMoney;
|
player.practicalHpPumpReal = roomMoney;
|
||||||
player.practicalHpPump = 1;
|
player.practicalHpPump = 1;
|
||||||
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump, true, 0, false, null,-1);
|
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump, true, 0, false, null,
|
||||||
|
-1);
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1185,21 +1185,19 @@ public class Room implements Runnable {
|
||||||
}
|
}
|
||||||
if (player.hp.total_hp > 0 && scoreWin > 0) {
|
if (player.hp.total_hp > 0 && scoreWin > 0) {
|
||||||
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp,
|
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp,
|
||||||
hpPump || player.practicalHpPump > 0, true, 0, false, null,0);
|
hpPump || player.practicalHpPump > 0, true, 0, false, null, 0);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
curHp = Global.eventCtr.redisFag(player, 0, false, false, 0,
|
curHp = Global.eventCtr.redisFag(player, 0, false, false, 0, false, null, 0);
|
||||||
false, null,0);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// if (this.basePump != 0) {
|
// if (this.basePump != 0) {
|
||||||
// player.practicalHpPump = 0;
|
// player.practicalHpPump = 0;
|
||||||
// player.practicalHpPumpReal = 0;
|
// player.practicalHpPumpReal = 0;
|
||||||
// }
|
// }
|
||||||
if(hpPump) {
|
if (hpPump) {
|
||||||
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump || player.practicalHpPump > 0,
|
curHp = Global.eventCtr.redisFag(player, player.hp.total_hp,
|
||||||
false, 0, false, null,0);
|
hpPump || player.practicalHpPump > 0, false, 0, false, null, 0);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1576,11 +1574,11 @@ public class Room implements Runnable {
|
||||||
if (player.hp.cur_hp - (long) hp < 0) {
|
if (player.hp.cur_hp - (long) hp < 0) {
|
||||||
if (player.hp.cur_hp > 0) {
|
if (player.hp.cur_hp > 0) {
|
||||||
player.hp.cur_hp = Global.eventCtr.redisFag(player, 0, false, false, (int) player.hp.cur_hp, true,
|
player.hp.cur_hp = Global.eventCtr.redisFag(player, 0, false, false, (int) player.hp.cur_hp, true,
|
||||||
"洗牌",0);
|
"洗牌", 0);
|
||||||
player.xi_pai_total += (int) player.hp.cur_hp;
|
player.xi_pai_total += (int) player.hp.cur_hp;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
player.hp.cur_hp = Global.eventCtr.redisFag(player, 0, false, false, hp, true, "洗牌",0);
|
player.hp.cur_hp = Global.eventCtr.redisFag(player, 0, false, false, hp, true, "洗牌", 0);
|
||||||
player.xi_pai_total += hp;
|
player.xi_pai_total += hp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1634,15 +1632,14 @@ public class Room implements Runnable {
|
||||||
hp = (int) player.room.upper_limit_hp;
|
hp = (int) player.room.upper_limit_hp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (hp == 0)
|
if (hp == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
player.hp.total_hp += hp;
|
player.hp.total_hp += hp;
|
||||||
// player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp);
|
// player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp);
|
||||||
if(hp>0) {
|
if (hp > 0) {
|
||||||
player.hp.cur_hp = Global.eventCtr.redisFag(player, hp, false, false, 0, false, null,0);
|
player.hp.cur_hp = Global.eventCtr.redisFag(player, hp, false, false, 0, false, null, 0);
|
||||||
}else {
|
} else {
|
||||||
String gm_key = GroupMemberCache.genKey(this.groupId, player.playerid);
|
String gm_key = GroupMemberCache.genKey(this.groupId, player.playerid);
|
||||||
player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp);
|
player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp);
|
||||||
|
|
||||||
|
|
@ -1852,6 +1849,7 @@ public class Room implements Runnable {
|
||||||
if (this.isEntrust()) {
|
if (this.isEntrust()) {
|
||||||
for (Entry<Integer, Player> entry : this.playerMapById.entrySet()) {
|
for (Entry<Integer, Player> entry : this.playerMapById.entrySet()) {
|
||||||
Player player = entry.getValue();
|
Player player = entry.getValue();
|
||||||
|
Global.logger.info("当前托管局数:" + this.entrusResultType);
|
||||||
if (player.isEntrust() && player.manualAutoCard == false) {
|
if (player.isEntrust() && player.manualAutoCard == false) {
|
||||||
if (this.entrusResultType == Constant.ENTRUST_CURREN_RESULT) {
|
if (this.entrusResultType == Constant.ENTRUST_CURREN_RESULT) {
|
||||||
entrustTotal = true;
|
entrustTotal = true;
|
||||||
|
|
|
||||||
|
|
@ -1954,10 +1954,14 @@ public class GroupLogService {
|
||||||
ITObject rewardData = rewardArray.getTObject(0);
|
ITObject rewardData = rewardArray.getTObject(0);
|
||||||
|
|
||||||
// log.info("reward:" + rewardData.getDouble("reward") );
|
// log.info("reward:" + rewardData.getDouble("reward") );
|
||||||
|
if(rewardData.getDouble("reward")<resData.getDouble("pump")) {
|
||||||
|
resData.putDouble("pump", resData.getDouble("pump"));
|
||||||
|
}else {
|
||||||
resData.putDouble("pump", rewardData.getDouble("reward"));
|
resData.putDouble("pump", rewardData.getDouble("reward"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
resData.putInt("gains", hp_cost - hp_reward);
|
resData.putInt("gains", hp_cost - hp_reward);
|
||||||
// 总数
|
// 总数
|
||||||
resData.putInt("count", count);
|
resData.putInt("count", count);
|
||||||
|
|
|
||||||
|
|
@ -1577,19 +1577,52 @@ public class GroupService {
|
||||||
// } finally {
|
// } finally {
|
||||||
// jedis9.close();
|
// jedis9.close();
|
||||||
// }
|
// }
|
||||||
|
Double todayReward = 0.0;
|
||||||
GroupBean gb = GroupCache.getGroup(groupId);
|
GroupBean gb = GroupCache.getGroup(groupId);
|
||||||
|
// 计算群主每日抽水
|
||||||
|
String pumpwhere_sql = String.format(
|
||||||
|
" WHERE gid = %s and uid=%s and reason = %s and time>=%s and time <=%s AND info != '' ", groupId,
|
||||||
|
gb.owner, ConsumeCode.HP_PARTNER_REWARD, DateUtils.getBeginDay() , DateUtils.getEndDay());
|
||||||
|
String pumpsql = String.format("SELECT ifnull(sum(hp),0) as hp FROM group_hp_log %s ", pumpwhere_sql);
|
||||||
|
|
||||||
|
ITArray resultArray = DataBase.use().executeQueryByTArray(pumpsql);
|
||||||
|
if (resultArray.size() == 0) {
|
||||||
|
todayReward = 0.0;
|
||||||
|
} else {
|
||||||
|
ITObject dbData = resultArray.getTObject(0);
|
||||||
|
Double pump = dbData.getDouble("hp");
|
||||||
|
String xipaiwhere_sql = String.format(
|
||||||
|
" WHERE gid = %s and reason in(%s,%s) and time>=%s and time <=%s AND info != '' ", groupId,
|
||||||
|
ConsumeCode.HP_XIPAI_PUMP, ConsumeCode.HP_PARTNER_XIPAI_REWARD_BACK,
|
||||||
|
DateUtils.getBeginDay() , DateUtils.getEndDay());
|
||||||
|
String xipaisql = String.format("SELECT ifnull(sum(hp),0) as hp FROM group_hp_log %s ", xipaiwhere_sql);
|
||||||
|
ITArray xipaiArray = DataBase.use().executeQueryByTArray(xipaisql);
|
||||||
|
|
||||||
|
if (xipaiArray.size() == 0) {
|
||||||
|
// 获得赠送
|
||||||
|
todayReward = pump;
|
||||||
|
} else {
|
||||||
|
ITObject xipaiData = xipaiArray.getTObject(0);
|
||||||
|
// 获得赠送
|
||||||
|
todayReward = pump - xipaiData.getDouble("hp");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
if (gb.owner == tagId) {
|
if (gb.owner == tagId) {
|
||||||
String rewardsql = String.format(
|
String rewardsql = String.format(
|
||||||
" SELECT -sum(win_score+round_reward) reward FROM `team_round_stat_day` WHERE stat_day >= %s AND stat_day < %s and uid!=%s and parent_uid=%s group by stat_day order by stat_day desc",
|
" SELECT -sum(win_score+round_reward) reward FROM `team_round_stat_day` WHERE stat_day >= %s AND stat_day < %s and uid!=%s and parent_uid=%s group by stat_day order by stat_day desc",
|
||||||
DateUtils.getBeginDay() - 3600 * 48, DateUtils.getEndDay(), gb.owner, gb.owner);
|
DateUtils.getBeginDay() - 3600 * 48, DateUtils.getEndDay(), gb.owner, gb.owner);
|
||||||
|
|
||||||
// log.info("rewardsql:" + rewardsql);
|
log.info("rewardsql:" + rewardsql+"---todayReward:"+todayReward);
|
||||||
ITArray rewardArray = DataBase.use().executeQueryByTArray(rewardsql);
|
ITArray rewardArray = DataBase.use().executeQueryByTArray(rewardsql);
|
||||||
if (rewardArray.size() != 0) {
|
if (rewardArray.size() != 0) {
|
||||||
ITObject rewardData = rewardArray.getTObject(0);
|
ITObject rewardData = rewardArray.getTObject(0);
|
||||||
|
|
||||||
day_rewad = (rewardData.getDouble("reward").longValue());
|
day_rewad = (rewardData.getDouble("reward").longValue());
|
||||||
|
if (day_rewad < todayReward) {
|
||||||
|
day_rewad = todayReward.longValue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (rewardArray.size() > 1) {
|
if (rewardArray.size() > 1) {
|
||||||
ITObject rewardData = rewardArray.getTObject(1);
|
ITObject rewardData = rewardArray.getTObject(1);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,165 @@
|
||||||
|
package com.mjlogin.util.sms;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.mjlogin.service.AccountService;
|
||||||
|
import com.taurus.core.util.Logger;
|
||||||
|
|
||||||
|
public class WeChatOpenIdValidator {
|
||||||
|
private static Logger logger = Logger.getLogger(WeChatOpenIdValidator.class);
|
||||||
|
public static void main(String[] args) {
|
||||||
|
WeChatOpenIdValidator w = new WeChatOpenIdValidator();
|
||||||
|
String appid="wx512208d074b2ac34";
|
||||||
|
String appsecret="605ab6f94702a28d225ac344f8054571";
|
||||||
|
String token = w.getAccessToken(appid, appsecret);
|
||||||
|
System.out.println("token:"+token);
|
||||||
|
String openId="oLpNT2Y6oVRZq3Pv1kwemiVwRxJE";
|
||||||
|
boolean verifyOpenId = w.verifyAppIdAndOpenId(appid, appsecret, openId);
|
||||||
|
System.out.println("verifyOpenId:"+verifyOpenId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过前端传来的 code 获取 openid 和 session_key
|
||||||
|
* @param code 前端 wx.login 获取的临时凭证
|
||||||
|
* @return 用户信息(openid, session_key等)
|
||||||
|
*/
|
||||||
|
public static JSONObject getUserInfoByOpenId(String access_token,String openid) {
|
||||||
|
// 1. 构建请求 URL
|
||||||
|
String url = String.format(
|
||||||
|
"https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s",
|
||||||
|
access_token, openid
|
||||||
|
);
|
||||||
|
logger.info("获取用户详情的url:"+url);
|
||||||
|
|
||||||
|
// 2. 发送 HTTP GET 请求
|
||||||
|
String result = AccountService.request(url);
|
||||||
|
JSONObject json = JSONObject.parseObject(result);
|
||||||
|
|
||||||
|
// 3. 检查错误码
|
||||||
|
Integer errcode = json.getInteger("errcode");
|
||||||
|
if (errcode != null && errcode != 0) {
|
||||||
|
// 处理错误
|
||||||
|
String errmsg = json.getString("errmsg");
|
||||||
|
throw new RuntimeException("获取 用户详情 失败: errcode=" + errcode + ", errmsg=" + errmsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 返回成功结果
|
||||||
|
// String openid = json.getString("openid");
|
||||||
|
// String sessionKey = json.getString("session_key");
|
||||||
|
// String unionid = json.getString("unionid");
|
||||||
|
logger.info("json:"+json);
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 通过前端传来的 code 获取 openid 和 session_key
|
||||||
|
* @param code 前端 wx.login 获取的临时凭证
|
||||||
|
* @return 用户信息(openid, session_key等)
|
||||||
|
*/
|
||||||
|
public static JSONObject getOpenIdByCode(String code,String appid,String secret) {
|
||||||
|
// 1. 构建请求 URL
|
||||||
|
String url = String.format(
|
||||||
|
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code",
|
||||||
|
appid, secret, code
|
||||||
|
);
|
||||||
|
logger.info("获取openid的url:"+url);
|
||||||
|
|
||||||
|
// 2. 发送 HTTP GET 请求
|
||||||
|
String result = AccountService.request(url);
|
||||||
|
JSONObject json = JSONObject.parseObject(result);
|
||||||
|
|
||||||
|
// 3. 检查错误码
|
||||||
|
Integer errcode = json.getInteger("errcode");
|
||||||
|
if (errcode != null && errcode != 0) {
|
||||||
|
// 处理错误
|
||||||
|
String errmsg = json.getString("errmsg");
|
||||||
|
throw new RuntimeException("获取 openid 失败: errcode=" + errcode + ", errmsg=" + errmsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 返回成功结果
|
||||||
|
// String openid = json.getString("openid");
|
||||||
|
// String accessToken = json.getString("access_token");
|
||||||
|
logger.info("json:"+json);
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 2. 获取 Access Token
|
||||||
|
* @param appid 公众号 AppID
|
||||||
|
* @param appsecret 公众号 AppSecret
|
||||||
|
* @return access_token 字符串,失败返回 null
|
||||||
|
*/
|
||||||
|
public String getAccessToken(String appid, String appsecret) {
|
||||||
|
String url = String.format(
|
||||||
|
"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"
|
||||||
|
+ "",
|
||||||
|
appid, appsecret
|
||||||
|
);
|
||||||
|
System.out.println("url:"+url);
|
||||||
|
try {
|
||||||
|
String result = AccountService.request(url);
|
||||||
|
if (result == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject json = JSONObject.parseObject(result);
|
||||||
|
String accessToken = json.getString("access_token");
|
||||||
|
Integer errcode = json.getInteger("errcode");
|
||||||
|
|
||||||
|
if (errcode != null && errcode != 0) {
|
||||||
|
logger.error("获取 access_token 失败, errcode: {}, errmsg: {}", errcode, json.getString("errmsg"));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("获取 access_token 成功: {}", accessToken);
|
||||||
|
return accessToken;
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("获取 access_token 异常", e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 5. 验证 AppID 和 OpenID 是否匹配
|
||||||
|
* @param appid 公众号 AppID
|
||||||
|
* @param appsecret 公众号 AppSecret
|
||||||
|
* @param openid 待验证的 openid
|
||||||
|
* @return true-匹配, false-不匹配
|
||||||
|
*/
|
||||||
|
public boolean verifyAppIdAndOpenId(String appid, String appsecret, String openid) {
|
||||||
|
// 先获取 access_token
|
||||||
|
String accessToken = getAccessToken(appid, appsecret);
|
||||||
|
if (accessToken == null) {
|
||||||
|
logger.error("获取 access_token 失败,AppID 可能无效");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用 access_token 和 openid 获取用户信息
|
||||||
|
String url = String.format(
|
||||||
|
"https://api.weixin.qq.com/sns/userinfo/info?access_token=%s&openid=%s&lang=zh_CN",
|
||||||
|
accessToken, openid
|
||||||
|
);
|
||||||
|
|
||||||
|
try {
|
||||||
|
String result = AccountService.request(url);
|
||||||
|
if (result == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject json = JSONObject.parseObject(result);
|
||||||
|
Integer errcode = json.getInteger("errcode");
|
||||||
|
System.out.println("result:"+result);
|
||||||
|
if (errcode == null) {
|
||||||
|
// 成功获取用户信息,说明匹配
|
||||||
|
logger.info("AppID 和 OpenID 匹配,用户昵称: {}", json.getString("nickname"));
|
||||||
|
return true;
|
||||||
|
} else if (errcode == 40003) {
|
||||||
|
logger.warn("AppID 和 OpenID 不匹配, errcode: 40003");
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
logger.warn("验证失败, errcode: {}, errmsg: {}", errcode, json.getString("errmsg"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("验证 AppID 和 OpenID 异常", e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue