# afanti
**Repository Path**: sunpp125/afanti
## Basic Information
- **Project Name**: afanti
- **Description**: springboot +dubbo
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-06-29
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# afanti项目
## 项目拆分
本次afanti系统分为两个项目,分别为:
**afanti-service**:afanti服务
**afanti-api**:afanti对外API
## 本次上线项目分支
http://10.200.5.103/ai_dp/afanti/tree/master
## 部署及编译所需java版本
jdk1.8.0_152
## 编译方式
maven 打包生成可执行jar 包:
afanti-service-0.0.1-SNAPSHOT.jar
afanti-api-0.0.1-SNAPSHOT.jar
## mysql连接地址
##### 创建一个新数据库,创建脚本:
```sql
CREATE DATABASE /*!32312 IF NOT EXISTS*/`afanti` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `afanti`;
/*Table structure for table `t_dest` */
DROP TABLE IF EXISTS `t_dest`;
CREATE TABLE `t_dest` (
`dest_id` int(10) NOT NULL COMMENT '主键目的地id',
`dest_name` varchar(100) DEFAULT '' COMMENT '中文名称',
`parent_id` int(10) DEFAULT NULL COMMENT '上级目的地ID',
`parent_name` varchar(50) DEFAULT '' COMMENT '上级目的地名称',
`district_id` int(10) DEFAULT NULL COMMENT '行政区域ID',
`district_name` varchar(50) DEFAULT NULL COMMENT '行政区域名称',
`dest_type` varchar(50) DEFAULT NULL COMMENT '目的地类型',
`dest_type_name` varchar(50) DEFAULT '' COMMENT '目的地类型中文名',
`parents` varchar(100) DEFAULT '' COMMENT '父ID集合',
`parent_names` varchar(100) DEFAULT '' COMMENT '父级名称集合',
`children` longtext COMMENT '子目的地集合',
`en_name` varchar(100) DEFAULT '' COMMENT '英文名称',
`pinyin` varchar(150) DEFAULT '' COMMENT '拼音',
`short_pinyin` char(20) DEFAULT NULL COMMENT '简拼',
`cancel_flag` char(1) DEFAULT 'Y' COMMENT '是否有效',
`stage` tinyint(1) DEFAULT '1' COMMENT 'POI类型,1-地区类,2-POI类,3-酒店类',
`range` tinyint(1) DEFAULT '0' COMMENT '0-POI和酒店类,1-城市以上目的地,2-城市以下目的地',
`intro` varchar(500) DEFAULT '' COMMENT '一句话简介',
`star` tinyint(1) DEFAULT '0' COMMENT '星级,最高为5',
`abroad` char(1) DEFAULT 'N' COMMENT '是否境外,Y-是,N-否,默认为N',
`img_url` varchar(150) DEFAULT '' COMMENT '图片URL',
`city_ranking` int(10) DEFAULT NULL COMMENT '景点城市排名',
`country_ranking` int(10) DEFAULT NULL COMMENT '景点全国排名',
`scenic_num` int(10) DEFAULT '0' COMMENT '地区下属景点数量',
`play_time` char(20) DEFAULT NULL COMMENT '游玩时长',
`heritage` char(1) DEFAULT 'N' COMMENT '是否世界遗产,Y-是,N-否,默认为N',
`protected_area` char(1) DEFAULT 'N' COMMENT '是否国家保护地,Y-是,N-否',
`ent_sight` varchar(50) DEFAULT 'N' COMMENT '是否同时属于景点和娱乐点',
`count_want` int(10) DEFAULT '0' COMMENT '数据统计-想去',
`count_been` int(10) DEFAULT '0' COMMENT '数据统计-去过',
`coord_type` char(10) DEFAULT '' COMMENT '坐标类型,BAIDU-百度地图,GOOGLE-谷歌地图',
`scenic_tag` varchar(500) DEFAULT '' COMMENT '景点主题标签',
`longitude` decimal(11,8) DEFAULT '0.00000000' COMMENT '经度',
`latitude` decimal(11,8) DEFAULT '0.00000000' COMMENT '纬度',
`g_longitude` decimal(11,8) DEFAULT '0.00000000' COMMENT '谷歌地图经度',
`g_latitude` decimal(11,8) DEFAULT '0.00000000' COMMENT '谷歌地图纬度',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dest_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_hotel_detail` */
DROP TABLE IF EXISTS `t_hotel_detail`;
CREATE TABLE `t_hotel_detail` (
`hotel_id` int(10) NOT NULL COMMENT '酒店详情id',
`dest_id` int(10) NOT NULL COMMENT '目的地id',
`opening_time` varchar(20) DEFAULT NULL COMMENT '开业时间',
`hotel_name` varchar(100) DEFAULT NULL COMMENT '酒店名称',
`en_name` varchar(400) DEFAULT NULL COMMENT '英文名称',
`star` varchar(50) DEFAULT '0' COMMENT '星级,最高为5',
`referenceprice` decimal(10,0) DEFAULT NULL COMMENT '参考价格',
`tag` varchar(200) DEFAULT NULL COMMENT '主题标签',
`type` varchar(200) DEFAULT NULL COMMENT '酒店类型',
`img_url` varchar(150) DEFAULT NULL COMMENT '图片地址',
`survey` varchar(4000) DEFAULT NULL COMMENT '概况',
`facilities` varchar(200) DEFAULT NULL COMMENT '设施',
`address` varchar(500) DEFAULT NULL COMMENT '地址',
`traffic` varchar(4000) DEFAULT NULL COMMENT '交通',
`policy` varchar(4000) DEFAULT NULL COMMENT '政策',
`service` varchar(1000) DEFAULT NULL COMMENT '服务',
`tel` varchar(200) DEFAULT NULL COMMENT '电话',
`website` varchar(100) DEFAULT NULL COMMENT '网址',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`hotel_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_scenic_detail` */
DROP TABLE IF EXISTS `t_scenic_detail`;
CREATE TABLE `t_scenic_detail` (
`scenic_id` int(10) NOT NULL COMMENT '景点id',
`dest_id` int(10) NOT NULL COMMENT '目的地id',
`scenic_name` varchar(50) DEFAULT NULL COMMENT '景点名称',
`en_name` varchar(100) DEFAULT NULL,
`survey` varchar(500) DEFAULT NULL COMMENT '概况',
`address` varchar(255) DEFAULT NULL COMMENT '地址',
`traffic` text COMMENT '交通',
`bussiness_hours` varchar(500) DEFAULT NULL COMMENT '营业时间',
`ticket_price` text COMMENT '门票价格',
`tel` varchar(100) DEFAULT NULL COMMENT '电话',
`website` varchar(40) DEFAULT NULL COMMENT '网址',
`tips` text COMMENT '小贴士',
`remark` varchar(500) DEFAULT NULL COMMENT '备注信息',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`scenic_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_subject_themes_relation` */
DROP TABLE IF EXISTS `t_subject_themes_relation`;
CREATE TABLE `t_subject_themes_relation` (
`relation_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '关系ID',
`subject_id` int(10) NOT NULL COMMENT '主题ID',
`subject_name` varchar(30) NOT NULL COMMENT '主题名称',
`subject_pinyin` varchar(30) DEFAULT NULL COMMENT '主题拼音',
`theme_names` varchar(100) DEFAULT '' COMMENT '对应行程主题',
`cancel_flag` char(1) DEFAULT NULL COMMENT '是否有效',
`redflag` char(1) DEFAULT NULL COMMENT '是否标红',
`type` varchar(30) DEFAULT NULL COMMENT '主题类型',
PRIMARY KEY (`relation_id`)
) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
/*Table structure for table `t_travel` */
DROP TABLE IF EXISTS `t_travel`;
CREATE TABLE `t_travel` (
`travel_id` int(10) NOT NULL COMMENT '行程id',
`title` varchar(100) DEFAULT '' COMMENT '行程名称',
`dest_id` int(11) DEFAULT NULL COMMENT '目的地id(外键)',
`memo` text COMMENT '描述',
`status` tinyint(1) DEFAULT '99' COMMENT '状态,1-草稿,99-发布',
`travel_days` int(10) DEFAULT NULL COMMENT '行程天数',
`cost` decimal(20,0) DEFAULT NULL COMMENT '建议花费',
`img_url` varchar(150) DEFAULT '' COMMENT '图片地址',
`seq` int(20) DEFAULT '0' COMMENT '排序',
`hashtag` varchar(100) DEFAULT NULL COMMENT '主题标签包含亲子、情侣',
`adopt_num` int(8) DEFAULT '1' COMMENT '采纳数量',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`travel_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_travel_detail` */
DROP TABLE IF EXISTS `t_travel_detail`;
CREATE TABLE `t_travel_detail` (
`travel_detail_id` int(10) NOT NULL COMMENT '行程明细id',
`travel_id` int(10) DEFAULT NULL COMMENT '行程id(外键)',
`memo` text COMMENT '描述信息',
`seq` int(11) DEFAULT '1' COMMENT '排序',
`remark` varchar(100) DEFAULT '' COMMENT '备注信息',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`travel_detail_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_travel_detail_dest` */
DROP TABLE IF EXISTS `t_travel_detail_dest`;
CREATE TABLE `t_travel_detail_dest` (
`travel_detail_destid` int(10) NOT NULL COMMENT '行程明细对应目的地id',
`travel_detail_id` int(10) DEFAULT NULL COMMENT '行程明细id',
`dest_id` int(10) DEFAULT NULL COMMENT '目的地id',
`seq` int(1) DEFAULT '0' COMMENT '排序',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`travel_detail_destid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_user_dest_intention` */
DROP TABLE IF EXISTS `t_user_dest_intention`;
CREATE TABLE `t_user_dest_intention` (
`user_dest_intention_id` int(10) NOT NULL COMMENT '用户目的地意向id',
`dest_id` int(10) NOT NULL COMMENT '目的地id',
`user_id` int(10) NOT NULL COMMENT '用户id',
`open_id` int(10) NOT NULL COMMENT '微信id',
`want_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT ' 想去状态 1有效,0无效',
`been_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT ' 要去状态 1有效,0无效',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`user_dest_intention_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_user_travel` */
DROP TABLE IF EXISTS `t_user_travel`;
CREATE TABLE `t_user_travel` (
`user_travel_id` int(10) NOT NULL COMMENT '用户行程id',
`user_id` int(10) NOT NULL COMMENT '用户id',
`open_id` int(10) NOT NULL COMMENT '微信id(唯一标识)',
`travel_id` int(10) NOT NULL COMMENT '他人行程id',
`title` varchar(100) NOT NULL DEFAULT '' COMMENT '行程名称',
`dest_id` int(11) NOT NULL COMMENT '目的地id(外键)',
`memo` text NOT NULL COMMENT '描述',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT ' 状态 1有效,0无效',
`travel_days` int(10) NOT NULL COMMENT '行程天数',
`cost` decimal(20,0) NOT NULL COMMENT '建议花费',
`img_url` varchar(150) NOT NULL DEFAULT '' COMMENT '图片地址',
`seq` int(20) NOT NULL DEFAULT '0' COMMENT '排序',
`hashtag` char(50) DEFAULT NULL COMMENT '主题标签包含亲子、情侣',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`user_travel_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_user_travel_detail` */
DROP TABLE IF EXISTS `t_user_travel_detail`;
CREATE TABLE `t_user_travel_detail` (
`user_travel_detail_id` int(10) NOT NULL COMMENT '用户行程明细id',
`user_travel_id` int(10) NOT NULL COMMENT '用户行程id(外键)',
`memo` text NOT NULL COMMENT '描述信息',
`seq` int(11) NOT NULL DEFAULT '1' COMMENT '排序',
`remark` varchar(100) DEFAULT '' COMMENT '备注信息',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`user_travel_detail_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Table structure for table `t_user_travel_detail_dest` */
DROP TABLE IF EXISTS `t_user_travel_detail_dest`;
CREATE TABLE `t_user_travel_detail_dest` (
`user_travel_detail_destid` int(10) NOT NULL COMMENT '用户行程明细与目的地关联id',
`user_travel_detail_id` int(10) NOT NULL COMMENT '用户行程明细id',
`dest_id` int(10) NOT NULL COMMENT '目的地id',
`seq` int(1) NOT NULL DEFAULT '0' COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT ' 状态 1有效,0无效',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`user_travel_detail_destid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
```
## 主机配置
使用域名方式访问,只有afanti-api需要域名方式(ip修改为应用部署具体服务器对应ip,部署在同一台服务器ip可以相同)
10.115.x.45 zhiyu.m.lvmama.com
## 相关脚本(在项目文件夹下)
afanti-service 启停脚本:
```shell
APP_NAME='afanti-service'
command='nohup java -Xms512m -Xmx512m -jar afanti-service-0.0.1-SNAPSHOT.jar'
log_file_url="logs/log.log"
pid_file="afanti-service.pid"
log_path="logs"
start(){
if [ "$log_file_url" != "" ]; then
echo "STARTING $APP_NAME ....."
exec $command > "$log_file_url" 2>&1 &
echo $! > "$pid_file"
else
echo "STARTING $APP_NAME ....."
exec $command &
echo $! > "$pid_file" &
fi
}
stop(){
echo "STOPING $APP_NAME ....."
PID=$(cat "$pid_file")
kill -9 $PID
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
printf 'Usage: %s {start|stop|restart}\n'
exit 1
;;
esac
```
afanti-service.sh 可传参数 start stop restart
afanti-api 启停脚本:
```shell
APP_NAME='afanti-api'
command='nohup java -Xms512m -Xmx512m -jar afanti-api-0.0.1-SNAPSHOT.jar'
log_file_url="logs/log.log"
pid_file="afanti-api.pid"
log_path="logs"
start(){
if [ "$log_file_url" != "" ]; then
echo "STARTING $APP_NAME ....."
exec $command > "$log_file_url" 2>&1 &
echo $! > "$pid_file"
else
echo "STARTING $APP_NAME ....."
exec $command &
echo $! > "$pid_file" &
fi
}
stop(){
echo "STOPING $APP_NAME ....."
PID=$(cat "$pid_file")
kill -9 $PID
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
printf 'Usage: %s {start|stop|restart}\n'
exit 1
;;
esac
```
afanti-api.sh 可传参数 start stop restart
# 启动顺序:
**1)** afanti-service(启动成功30S后) **2)** afanti-api
**afanti-service-0.0.1-SNAPSHOT.jar**
**afanti-api-0.0.1-SNAPSHOT.jar**
# 配置文件
在项目文件夹下 config文件夹中,为yml类型
afanti-service的application.yml文件内容:
```yml
server:
port: 9988
#address: localhost
context-path: /afanti-service
spring:
datasource:
name: afanti
url: jdbc:mysql://192.168.0.63:3306/afanti?characterEncoding=UTF-8
username: root
password: 111111
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat,log4j
maxActive: 50
initialSize: 5
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
#cachePrepStmts: true 开启二级缓存
testOnBorrow: true
testOnReturn: true
poolPreparedStatements: true
maxOpenPreparedStatements: 20
dubbo:
application:
name: afanti-service
registry:
protocol: zookeeper
address: N/A
protocol:
name: dubbo
port: 20880
scan: com.lvmama
aop:
proxy-target-class: true
mybatis:
typeAliasesPackage: com.lvmama.core.bean
mapperLocations: classpath*:dao/**/*.xml
```
afanti-api的application.yml文件内容:
```yml
server:
port: 6088
#address: localhost
context-path: /afanti-api
spring:
dubbo:
application:
name: afanti-api
registry:
protocol: zookeeper
address: N/A
scan: com.lvmama
consumer:
timeout: 60000
```
## 部署完成测试
POST man测试:
https://m.lvmama.com/zhiyu/trip/searchTravels
入参:
```text
{
"destId":251,
"pageNo":1,
"pageSize":10
}
```