xhb 3 hónapja
szülő
commit
3cfda6f76f

+ 43 - 0
incubator-common/src/main/java/com/incubator/common/log4j/Log.java

@@ -0,0 +1,43 @@
+package com.incubator.common.log4j;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/**
+ * 日志工具类
+ *
+ * @author johnc
+ */
+public final class Log {
+
+    // 获取调用者的 Logger 实例
+    private static Logger getLogger() {
+        // 获取当前调用堆栈
+        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
+        // 第三层调用堆栈的类名即为调用者的类
+        String className = stackTrace[3].getClassName();
+        return LogManager.getLogger(className);
+    }
+
+    // 封装常用日志方法
+    public static void info(String message, Object... params) {
+        getLogger().info(message, params);
+    }
+
+    public static void debug(String message, Object... params) {
+        getLogger().debug(message, params);
+    }
+
+    public static void warn(String message, Object... params) {
+        getLogger().warn(message, params);
+    }
+
+    public static void error(String message, Object... params) {
+        getLogger().error(message, params);
+    }
+
+    public static void trace(String message, Object... params) {
+        getLogger().trace(message, params);
+    }
+
+}

+ 37 - 0
incubator-core/src/main/java/com/incubator/core/net/http/HttpHandler.java

@@ -0,0 +1,37 @@
+package com.incubator.core.net.http;
+
+import com.incubator.common.net.Connection;
+
+import java.util.Map;
+
+/**
+ * 描述:http网络报文处理基类
+ *
+ * @author agui
+ */
+public abstract class HttpHandler extends HttpMsgBase {
+
+	private Connection session;
+
+	private HttpHandler httpRequest;
+
+	public Connection getSession() {
+		return session;
+	}
+
+	/** 绑定会话 */
+	public void bindSession(Connection session) {
+		this.session = session;
+	}
+
+	/** 绑定事件 **/
+	public void bindHandler(HttpHandler handler) {
+		this.httpRequest = handler;
+	}
+
+	/** 设置消息内容 **/
+//	public abstract void initMsgBase() throws Exception;
+
+	public abstract HttpResponse onDate(HttpRequest request, Map<String, String> params) throws Exception;
+
+}

+ 81 - 0
incubator-game/src/main/java/com/incubator/game/handler/http/GetCardInfoHandler.java

@@ -0,0 +1,81 @@
+package com.incubator.game.handler.http;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.incubator.common.MessageHandler;
+import com.incubator.core.net.http.HttpRequest;
+import com.incubator.core.net.http.HttpHandler;
+import com.incubator.core.net.http.HttpResponse;
+import com.incubator.game.util.CardUtils;
+import com.incubator.game.util.JDGDUtils;
+import com.incubator.message.proto.CommonProto;
+
+import java.util.*;
+
+/**
+ * AI获取初始牌型接口V1.ll0接口定义
+ *
+ * @author johnc
+ */
+@MessageHandler(httpPath = "/getCardInfo")
+public class GetCardInfoHandler extends HttpHandler {
+
+	@Override
+	public HttpResponse onDate(HttpRequest request, Map<String, String> params) throws Exception {
+
+		HttpResponse response = new HttpResponse();
+		// 牌库
+		List<Integer> cardList = new ArrayList<>();
+		// 玩家1手牌
+		int[] player1 = new int[]{};
+		// 玩家2手牌
+		int[] player2 = new int[]{};
+		// 玩家3手牌
+		int[] player3 = new int[]{};
+		// 玩家4手牌
+		int[] player4 = new int[]{};
+
+		// 初始化牌库
+		for (int i = 0; i < 2; i++) {
+			cardList.addAll(Arrays.asList(JDGDUtils.values));
+			Collections.shuffle(cardList);
+		}
+
+		// 玩家1 发牌
+		for (int i = 0; i < 27; i++) {
+			int card = cardList.get(0);
+			player1 = CardUtils.add(player1, card);
+			cardList.remove(0);
+		}
+
+		// 玩家2 发牌
+		for (int i = 0; i < 27; i++) {
+			int card = cardList.get(0);
+			player2 = CardUtils.add(player2, card);
+			cardList.remove(0);
+		}
+
+		// 玩家3 发牌
+		for (int i = 0; i < 27; i++) {
+			int card = cardList.get(0);
+			player3 = CardUtils.add(player3, card);
+			cardList.remove(0);
+		}
+
+		// 玩家4 发牌
+		for (int i = 0; i < 27; i++) {
+			int card = cardList.get(0);
+			player4 = CardUtils.add(player4, card);
+			cardList.remove(0);
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("player1", player1);
+		data.put("player2", player2);
+		data.put("player3", player3);
+		data.put("player4", player4);
+		response.setCode(CommonProto.Code.OK_VALUE);
+		response.setData(data.toJSONString());
+
+		return response;
+	}
+}