commit f3a5d08997c091e6ea74411222a8507e644983f3 Author: mashiyu Date: Tue Oct 17 20:32:10 2017 +0800 发货机 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c3605dc --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/.idea + + +/target +/logs diff --git a/com/jmfy/annotations.xml b/com/jmfy/annotations.xml new file mode 100644 index 0000000..daf6c48 --- /dev/null +++ b/com/jmfy/annotations.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/delivery-server.iml b/delivery-server.iml new file mode 100644 index 0000000..57a99f1 --- /dev/null +++ b/delivery-server.iml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..ed40923 --- /dev/null +++ b/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + + com.jmfy + delivery-server + 1.0-SNAPSHOT + + + UTF-8 + 1.7 + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.7.RELEASE + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + + org.springframework.boot + spring-boot-starter-aop + + + + + com.alibaba + fastjson + 1.2.35 + + + + org.apache.kafka + kafka-clients + 0.9.0.1 + + + jca + jca + 1.5 + + + org.apache.commons + commons-io + 1.3.2 + + + net.sf.json-lib + json-lib + 2.4 + jdk15 + + + org.json + json + 20150729 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..7fe9cf4 --- /dev/null +++ b/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: out + diff --git a/src/main/java/com/jmfy/Application.java b/src/main/java/com/jmfy/Application.java new file mode 100644 index 0000000..adb7b66 --- /dev/null +++ b/src/main/java/com/jmfy/Application.java @@ -0,0 +1,24 @@ +package com.jmfy; + +import com.jmfy.Handler.BaseHandler; +import com.jmfy.Handler.ManagerManager; +import com.jmfy.util.KProducer; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; + +import java.util.Map; + +@SpringBootApplication +public class Application { + public static void main(String[] args) throws Exception { + ConfigurableApplicationContext configurableApplicationContext = SpringApplication.run(Application.class, args); +// ManagerManager handlerManager = ManagerManager.getInstance(); + KProducer kProducer = configurableApplicationContext.getBean(KProducer.class); + kProducer.init(); +// Map commandHanderMap = configurableApplicationContext.getBeansOfType(BaseHandler.class); +// for (BaseHandler handler : commandHanderMap.values()){ +// handlerManager.addHandler(handler); +// } + } +} diff --git a/src/main/java/com/jmfy/Handler/BaseHandler.java b/src/main/java/com/jmfy/Handler/BaseHandler.java new file mode 100644 index 0000000..8bec250 --- /dev/null +++ b/src/main/java/com/jmfy/Handler/BaseHandler.java @@ -0,0 +1,5 @@ +package com.jmfy.Handler; + +public abstract class BaseHandler { + +} diff --git a/src/main/java/com/jmfy/Handler/ManagerManager.java b/src/main/java/com/jmfy/Handler/ManagerManager.java new file mode 100644 index 0000000..09ac8dd --- /dev/null +++ b/src/main/java/com/jmfy/Handler/ManagerManager.java @@ -0,0 +1,21 @@ +package com.jmfy.Handler; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.stereotype.Component; + +@Component +public class ManagerManager { + private static final Logger LOGGER = LoggerFactory.getLogger(ManagerManager.class); + private static ManagerManager instance; + private ConfigurableApplicationContext configurableApplicationContext; + + + public static ManagerManager getInstance(){ + if (instance == null) + instance = new ManagerManager(); + return instance; + } + +} diff --git a/src/main/java/com/jmfy/controller/HealthController.java b/src/main/java/com/jmfy/controller/HealthController.java new file mode 100644 index 0000000..03108c9 --- /dev/null +++ b/src/main/java/com/jmfy/controller/HealthController.java @@ -0,0 +1,22 @@ +package com.jmfy.controller; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HealthController { + + private static final Logger LOGGER = LoggerFactory.getLogger(HealthController.class); + + + + + @GetMapping(value = "/health") + public String getStatus(){ + return "ok"; + } + + +} diff --git a/src/main/java/com/jmfy/controller/ManagerController.java b/src/main/java/com/jmfy/controller/ManagerController.java new file mode 100644 index 0000000..b86753b --- /dev/null +++ b/src/main/java/com/jmfy/controller/ManagerController.java @@ -0,0 +1,29 @@ +package com.jmfy.controller; + +import com.jmfy.dto.JsonResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +@RestController +public class ManagerController { + + private static final Logger LOGGER = LoggerFactory.getLogger(ManagerController.class); + + @PostMapping(value = "/manager") +// @GetMapping(value = "/manager") + public JsonResult changeEnerge(HttpServletRequest request){ + try { + + JsonResult jsonResult = new JsonResult(); + return jsonResult; + } catch (Exception e) { + e.printStackTrace(); + JsonResult jsonResult = new JsonResult(); + return jsonResult; + } + } +} diff --git a/src/main/java/com/jmfy/dao/UserDao.java b/src/main/java/com/jmfy/dao/UserDao.java new file mode 100644 index 0000000..7cc3799 --- /dev/null +++ b/src/main/java/com/jmfy/dao/UserDao.java @@ -0,0 +1,8 @@ +package com.jmfy.dao; + +public interface UserDao { + /* + * 获取玩家信息 + * */ +// public CUser getCUserInfoByUid(String dbName,int uid); +} diff --git a/src/main/java/com/jmfy/dao/impl/UserDaoImpl.java b/src/main/java/com/jmfy/dao/impl/UserDaoImpl.java new file mode 100644 index 0000000..0d7cd5f --- /dev/null +++ b/src/main/java/com/jmfy/dao/impl/UserDaoImpl.java @@ -0,0 +1,27 @@ +package com.jmfy.dao.impl; + +import com.jmfy.dao.UserDao; +import com.mongodb.Mongo; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +@Repository +public class UserDaoImpl implements UserDao{ + @Resource + private Mongo mongo; + + public MongoTemplate getrMongoTemplateByDBName(String dataBaseName){ + return new MongoTemplate(mongo,dataBaseName); + } + + +// @Override +// public CUser getCUserInfoByUid(String dbName,int uid) { +// MongoTemplate rMongoTemplate =getrMongoTemplateByDBName(dbName); +// String sql = "{id:" + uid + "}"; +// BasicQuery basicQuery = new BasicQuery(sql); +// return rMongoTemplate.findOne(basicQuery, CUser.class); +// } +} diff --git a/src/main/java/com/jmfy/dto/JsonResult.java b/src/main/java/com/jmfy/dto/JsonResult.java new file mode 100644 index 0000000..86f560c --- /dev/null +++ b/src/main/java/com/jmfy/dto/JsonResult.java @@ -0,0 +1,33 @@ +package com.jmfy.dto; + +public class JsonResult { + private String status ="OK"; + private String msg=""; + private Object data; + + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public String getStatus() { + + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/src/main/java/com/jmfy/intercept/LoggerIntercepter.java b/src/main/java/com/jmfy/intercept/LoggerIntercepter.java new file mode 100644 index 0000000..e1963e9 --- /dev/null +++ b/src/main/java/com/jmfy/intercept/LoggerIntercepter.java @@ -0,0 +1,30 @@ +package com.jmfy.intercept; + +import com.alibaba.fastjson.JSON; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +@Component +@Aspect +public class LoggerIntercepter { + private static final Logger LOGGER = LoggerFactory.getLogger(LoggerIntercepter.class); + + @Around(value = "execution(* com.jmfy.controller.*.*(..))") + public Object logRequest(ProceedingJoinPoint joinPoint) throws Throwable { + Signature signature = joinPoint.getSignature(); + Object[] args = joinPoint.getArgs(); + LOGGER.info(signature.getName()); + LOGGER.info(signature.toString()); + LOGGER.info(signature.toShortString()); + LOGGER.info( JSON.toJSONString(args)); + LOGGER.info(JSON.toJSONString(joinPoint.proceed())); + return joinPoint.proceed(); + } + + +} diff --git a/src/main/java/com/jmfy/util/Connect.java b/src/main/java/com/jmfy/util/Connect.java new file mode 100644 index 0000000..488b0ad --- /dev/null +++ b/src/main/java/com/jmfy/util/Connect.java @@ -0,0 +1,37 @@ +package com.jmfy.util; + +import com.mongodb.MongoClient; +import com.mongodb.WriteConcern; +import com.mongodb.client.MongoIterable; +import org.springframework.data.mongodb.MongoDbFactory; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.SimpleMongoDbFactory; +import org.springframework.data.mongodb.core.convert.MongoConverter; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Component +public class Connect { + + @Resource + private MongoClient mongo; + @Resource + private MongoConverter mongoConverter; + + private Map mongoMaps= new HashMap<>(); + + @PostConstruct + public void init(){ + MongoIterable databases = mongo.listDatabaseNames(); + for(String dbName:databases){ + MongoDbFactory simpleMongoDbFactory = new SimpleMongoDbFactory(mongo,dbName); + MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoDbFactory, mongoConverter); + mongoMaps.put(dbName,mongoTemplate); + } + } + +} diff --git a/src/main/java/com/jmfy/util/KProducer.java b/src/main/java/com/jmfy/util/KProducer.java new file mode 100644 index 0000000..2131527 --- /dev/null +++ b/src/main/java/com/jmfy/util/KProducer.java @@ -0,0 +1,39 @@ +package com.jmfy.util; + +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.Producer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.Properties; + +@Component +public class KProducer { + private static final Logger LOGGER = LoggerFactory.getLogger(KProducer.class); + private static Producer producer; + public static void init() { + Properties props = new Properties(); + props.put("bootstrap.servers", "192.168.0.169:9092"); +// props.put("bootstrap.servers", "118.89.130.188:9092");//服务器ip:端口号,集群用逗号分隔 + props.put("acks", "all"); + props.put("retries", 0); + props.put("batch.size", 16384); + props.put("linger.ms", 1); + props.put("buffer.memory", 33554432); + props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); + props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); + producer = new KafkaProducer<>(props); + LOGGER.info("KProducer init..."); + } + + public static void sendMsgToKafka(String topic, String msg) { + String key = "tlog_msg"; + producer.send(new ProducerRecord<>(topic, key, msg)); + LOGGER.info("send kafka success.. "); + } + + +} diff --git a/src/main/java/com/jmfy/util/LogUtils.java b/src/main/java/com/jmfy/util/LogUtils.java new file mode 100644 index 0000000..e416396 --- /dev/null +++ b/src/main/java/com/jmfy/util/LogUtils.java @@ -0,0 +1,87 @@ +package com.jmfy.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Created by Administrator on 2017/5/16. + */ +public class LogUtils { + + /** + * 错误输入日志 + */ + public static final Logger log = LoggerFactory.getLogger(LogUtils.class); + + public static final Logger biLog = LoggerFactory.getLogger("BILog"); + /** + * 记录一直 info信息 + * + * @param message + */ + public static void logInfo(String message) { + StringBuilder s = new StringBuilder(); + s.append((message)); + log.info(s.toString()); + } + + public static void logInfo(String message, Throwable e) { + StringBuilder s = new StringBuilder(); + s.append(("exception : -->>")); + s.append((message)); + log.info(s.toString(), e); + } + + public static void logWarn(String message) { + StringBuilder s = new StringBuilder(); + s.append((message)); + + log.warn(s.toString()); + } + + public static void logWarn(String message, Throwable e) { + StringBuilder s = new StringBuilder(); + s.append(("exception : -->>")); + s.append((message)); + log.warn(s.toString(), e); + } + + public static void logDebug(String message) { + StringBuilder s = new StringBuilder(); + s.append((message)); + log.debug(s.toString()); + } + + public static void logDebug(String message, Throwable e) { + StringBuilder s = new StringBuilder(); + s.append(("exception : -->>")); + s.append((message)); + log.debug(s.toString(), e); + } + + public static void logBI(String message) { + StringBuilder s = new StringBuilder(); + s.append(message); + biLog.info(s.toString()); + } + + public static void logError(String message) { + StringBuilder s = new StringBuilder(); + s.append(message); + log.error(s.toString()); + } + + /** + * 记录日志错误信息 + * + * @param message + * @param e + */ + public static void logError(String message, Throwable e) { + StringBuilder s = new StringBuilder(); + s.append(("exception : -->>")); + s.append((message)); + log.error(s.toString(), e); + } + +} diff --git a/src/main/java/com/jmfy/util/MongoName.java b/src/main/java/com/jmfy/util/MongoName.java new file mode 100644 index 0000000..dc53125 --- /dev/null +++ b/src/main/java/com/jmfy/util/MongoName.java @@ -0,0 +1,24 @@ +package com.jmfy.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MongoName { + private static final Logger LOGGER = LoggerFactory.getLogger(MongoName.class); + +// public static String getMongoDBName(MarkedVo marked) { +// String areaid = ""; +// int partitionId = 0; +// if (marked.getAreaId() == 1){ +// areaid = "wx"; +// partitionId = marked.getPartition()-1999; +// } +// if (marked.getAreaId() == 2 ){ +// areaid = "qq"; +// partitionId = marked.getPartition()-999; +// } +// String dbName = "ysj_"+areaid+"_"+partitionId; +// LOGGER.info("Connect database----->"+dbName); +// return dbName; +// } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..f00a37f --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,16 @@ +#˿ +server.port=9076 +##contextPath +server.context-path=/delivery-server + +spring.data.mongodb.host=192.168.0.169 +spring.data.mongodb.port=27017 + +#spring.data.mongodb.uri = mongodb://mongouser:ysj#2017#ljsd@10.0.0.3:27017/admin?authSource=admin + +#spring.data.mongodb.host=gameP.pr1.ysj.db +#spring.data.mongodb.port=27017 +#spring.data.mongodb.username=game +#spring.data.mongodb.password=ysj0912 +#spring.data.mongodb.authentication-database=admin +#spring.data.mongodb.grid-fs-database=ysj-pr1-game \ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..c859986 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,122 @@ + + MacroteaLogging + + + + + + + + + + + [%level] - %d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] - %logger#%line - ${tip}:%msg%n + + + + + + + + + INFO + ACCEPT + DENY + + + + tlog/%d{yyyy-MM-dd}/trace-log.log + + ${maxHistory} + + + + + + %msg%n + + + + + + + + + + ERROR + ACCEPT + DENY + + + + + ${log_dir}/error/%d{yyyy-MM-dd}.log + + ${maxHistory} + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n + + + + + + + + + info + ACCEPT + DENY + + + + + ${log_dir}/info/%d{yyyy-MM-dd}.log + + ${maxHistory} + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file