db.go
8.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package DB
import (
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"letu/Lib/Cache"
)
var Redis *Cache.Redis
var DBSession *mgo.Session
var CItem *mgo.Collection //所有游玩项目内容
var CComplaint *mgo.Collection //投诉
var CInvestigation *mgo.Collection //调查
var CMember *mgo.Collection //会员
var CCommodity *mgo.Collection //商城
var CTags *mgo.Collection //标签
var CScenic *mgo.Collection //景区
var CLine *mgo.Collection //推荐线路
var CUserLog *mgo.Collection //用户行为记录
var CSystemLog *mgo.Collection //操作记录
var CTrajectory *mgo.Collection //移动轨迹
var CIcons *mgo.Collection //图标信息
var DB *mgo.Database
type SItem struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
Name string `bson:"Name" json:"Name"`
SubName string `bson:"SubName" json:"SubName"`
Location SLocation `bson:"Location" json:"Location"`
Tags []STag `bson:"Tags" json:"Tags"`
Icon string `bson:"Icon" json:"Icon"`
LimitHeight string `bson:"LimitHeight" json:"LimitHeight"` //限高
PlayDuration string `bson:"PlayDuration" json:"PlayDuration"` //游玩时长
SceneTime string `bson:"SceneTime" json:"SceneTime"` //场次时间
Picture []string `bson:"Picture" json:"Picture"`
Voice string `bson:"Voice" json:"Voice"` //音频
Tel string `bson:"Tel" json:"Tel"`
AverageConsumption string `bson:"AverageConsumption" json:"AverageConsumption"` //人均消费
Menu string `bson:"Menu" json:"Menu"` //目录
Time string `bson:"Time" json:"Time"`
OpenHours string `bson:"OpenHours" json:"OpenHours"` //开放时间
LocationDescription string `bson:"LocationDescription" json:"LocationDescription"` //位置描述
Reminder string `bson:"Reminder" json:"Reminder"` //温馨提示
State int `bson:"State" json:"State"` // 运行状态0=正常1=停运
}
type SIcons struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
ScenicId string `bson:"ScenicId" json:"ScenicId"`
Name string `bson:"Name" json:"Name"`
Picture string `bson:"Picture" json:"Picture"`
}
type STrajectory struct {
UserId string `bson:"UserId" json:"UserId"` // 用户ID
Location SLocation `bson:"Location" json:"Location"`
Time int64 `bson:"Time" json:"Time"`
}
type SLocation struct {
Latitude float64 `bson:"Latitude" json:"Latitude"` //纬度
Longitude float64 `bson:"Longitude" json:"Longitude"` //经度
}
type SDevice struct {
DeviceId string `bson:"DeviceId" json:"DeviceId"`
Ip string `bson:"Ip" json:"Ip"`
Mac string `bson:"Mac" json:"Mac"`
SystemType string `bson:"SystemType" json:"SystemType"` //ios,android
SystemVersion string `bson:"SystemVersion" json:"SystemVersion"` //系统版本
SystemModel string `bson:"SystemModel" json:"SystemModel"` //机型
}
type SUserLog struct {
Type string `bson:"Type" json:"Type"` // Log(事件)类型
SubType string `bson:"SubType" json:"SubType"` // 分类
ScenicId string `bson:"ScenicId" json:"ScenicId"`
UserId string `bson:"UserId" json:"UserId"` // 用户ID
UserName string `bson:"UserName" json:"UserName"` //用户名称
DateTime int64 `bson:"DateTime" json:"DateTime"` //时间戳
Location SLocation `bson:"Location" json:"Location"` //位置
Remarks string `bson:"Remarks" json:"Remarks"` //备注
Source string `bson:"Source" json:"Source"` //来源
Device SDevice `bson:"Device" json:"Device"` //设备信息
}
type SSystemLog struct {
UserId string `bson:"UserId" json:"UserId"` // 用户ID
UserName string `bson:"UserName" json:"UserName"` //用户名称
Mobile string `bson:"Mobile" json:"Mobile"` //手机号
TypeNum int64 `bson:"TypeNum" json:"TypeNum"` //类型编号
TypeName string `bson:"TypeName" json:"TypeName"` //类型名称
DateTime int64 `bson:"DateTime" json:"DateTime"` //时间戳
Location SLocation `bson:"Location" json:"Location"` //位置
Content string `bson:"Content" json:"Content"` //内容
Error interface{} `bson:"Error" json:"Error"` //错误信息
}
type SCommodity struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
Name string `bson:"Name" json:"Name"`
Price string `bson:"Price" json:"Price"`
ShopName string `bson:"ShopName" json:"ShopName"`
ItemId string `bson:"ItemId" json:"ItemId"` //项目id
KvPhoto string `bson:"KvPhoto" json:"KvPhoto"` //用于列表页的图片
TopPhoto []SPicture `bson:"TopPhoto" json:"TopPhoto"` //详情页最上面的轮播图
Images []string `bson:"Images" json:"Images"` //详情页下面的产品详细图
}
type SLine struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
Name string `bson:"Name" json:"Name"`
SubName string `bson:"SubName" json:"SubName"` //游玩时长
Location []SLocation `bson:"Location" json:"Location"` //线路点坐标
PlayDuration string `bson:"PlayDuration" json:"PlayDuration"`
Suitable string `bson:"Suitable" json:"Suitable"` //适合人群
Content string `bson:"Content" json:"Content"`
Distance string `bson:"Distance" json:"Distance"` // 距离
Annotations []string `bson:"Annotations" json:"Annotations"` //需要点亮的设施id
}
type SComplaint struct {
Type string `bson:"Type" json:"Type"`
ScenicId string `bson:"ScenicId" json:"ScenicId"` // 景区id
Mobile string `bson:"Mobile" json:"Mobile"`
FullName string `bson:"FullName" json:"FullName"`
Sex string `bson:"Sex" json:"Sex"`
Content string `bson:"Content" json:"Content"`
Image []string `bson:"Image" json:"Image"`
}
type SInvestigation struct {
UserId string `bson:"UserId" json:"UserId"` // 用户ID
Mobile string `bson:"Mobile" json:"Mobile"` //手机号
Data interface{} `bson:"Data" json:"Data"`
}
type SMember struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
Password string `bson:"Password" json:"Password"`
Birthday string `bson:"Birthday" json:"Birthday"`
FullName string `bson:"FullName" json:"FullName"`
Mobile string `bson:"Mobile" json:"Mobile"`
Openid string `bson:"Openid" json:"Openid"`
Token string `bson:"Token" json:"Token"`
Sex string `bson:"Sex" json:"Sex"`
}
type STag struct {
ScenicId string `bson:"ScenicId" json:"ScenicId"`
Type string `bson:"Type" json:"Type"`
Name string `bson:"Name" json:"Name"`
}
type SPicture struct {
Src string `bson:"Src" json:"Src"` // 地址,也可能是视频地址
Link string `bson:"Link" json:"Link"` // 链接地址
}
type SVideo struct {
Src string `bson:"Src" json:"Src"` // 地址,也可能是视频地址
Link string `bson:"Link" json:"Link"` // 链接地址
VideoPicture string `bson:"VideoPicture" json:"VideoPicture"` // 用于视频的首桢图
Title string `bson:"Title" json:"Title"` // 标题
}
type SScenic struct {
Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
Name string `bson:"Name" json:"Name"`
Describe string `bson:"Describe" json:"Describe"`
OpenHours string `bson:"OpenHours" json:"OpenHours"` //营业时间
Mobile string `bson:"Mobile" json:"Mobile"`
Address string `bson:"Address" json:"Address"`
InvestigationUrl string `bson:"InvestigationUrl" json:"InvestigationUrl"` //问券调查的url地址
Location SLocation `bson:"Location" json:"Location"`
Picture []SPicture `bson:"Picture" json:"Picture"`
ShopAdPicture []SPicture `bson:"ShopAdPicture" json:"ShopAdPicture"` //商城列表页图片
ItemScenicPicture []SPicture `bson:"ItemScenicPicture" json:"ItemScenicPicture"` //项目场次照片
ActivityPicture []SPicture `bson:"ActivityPicture" json:"ActivityPicture"` //活动照片
VideoList []SVideo `bson:"VideoList" json:"VideoList"`
}