Documentation ¶
Overview ¶
Package model provides model-level struct
Index ¶
- Constants
- func CreateMissionMysql(m Mission)
- func CreateProjectMysql(p Project)
- func CreateTodoMysql(t Todo)
- func CreateUserMysql(u User)
- func DeleteMissionMysql(mid int)
- func DeleteProjectMysql(pid int)
- func DeleteTodoMysql(tid int)
- func DeleteUserMysql(uid int)
- func SyncMysql()
- func UpdateMissionMysql(m Mission)
- func UpdateProjectMysql(p Project)
- func UpdateTodoMysql(t Todo)
- func UpdateUserMysql(u User)
- type Chat
- type Comment
- type Mission
- func (m *Mission) AddReceiver(uid int) (err error)
- func (m *Mission) ForceSave()
- func (m *Mission) GetComments() (comments []Comment)
- func (m *Mission) GetCompletedUsersId() []int
- func (m *Mission) GetPictures() (pics []string)
- func (m *Mission) GetReceiversId() []int
- func (m *Mission) GetReceiversName() []string
- func (m *Mission) Remove() (err error)
- func (m *Mission) Save()
- func (m *Mission) Sync()
- func (m *Mission) UpdateCompleteNum()
- func (m *Mission) UpdatePics(pics []string) (err error)
- type Project
- func (p *Project) AddMember(uid int) (err error)
- func (p *Project) GetCreator() (creator *User)
- func (p *Project) GetMembers() (members []*User)
- func (p *Project) GetMembersId() []int
- func (p *Project) GetMembersName() []string
- func (p *Project) GetMissions() (missions []*Mission)
- func (p *Project) Remove() (err error)
- func (p *Project) RemoveMember(uid int) (err error)
- func (p *Project) Save()
- func (p *Project) Sync()
- type Todo
- type User
- func (u *User) AcceptMission(mid int)
- func (u *User) CompleteMission(mid int)
- func (u *User) CreateAvatar()
- func (u *User) DealtChat(cid int, dealt bool)
- func (u *User) FullAvatarUrl() string
- func (u *User) GetAllAcceptedMissionsId() []int
- func (u *User) GetAllCompletedMissionsId() []int
- func (u *User) GetAllMsgsId() []int
- func (u *User) GetAllOfflineMsg() []*Chat
- func (u *User) GetAllProjects() []Project
- func (u *User) GetCreatedProjects() []Project
- func (u *User) GetJoinedProjects() []Project
- func (u *User) GetName() (name string)
- func (u *User) JoinProject(pid int)
- func (u *User) Save()
- func (u *User) Sync()
- func (u *User) UnCompleteMission(mid int)
Constants ¶
const ( PeerToPeer = iota //private msg server <<-->> client Discuss //group chat server <<-->> client //system call UserJoined //server -->> client UserLeft //server -->> client InvitedToProject //server -->> client KickedFromProject //server -->> client DeliveredMission //server -->> client InvitedToMission //server -->> client )
const ( UserInsert = "" /* 192-byte string literal not displayed */ UserUpdate = "" /* 151-byte string literal not displayed */ UserDelete = "DELETE FROM user WHERE redis_id = ?" TodoInsert = "" /* 204-byte string literal not displayed */ TodoUpdate = "" /* 141-byte string literal not displayed */ TodoDelete = "DELETE FROM todo WHERE redis_id = ?" MissionInsert = "" /* 165-byte string literal not displayed */ MissionUpdate = "UPDATE mission SET name=?, describtion=?, publisher=?, completion_num=?, completed_time=?, deadine=? WHERE redis_id=?" MissionDelete = "DELETE FROM mission WHERE redis_id = ?" ProjectInsert = "" /* 131-byte string literal not displayed */ ProjectUpdate = "UPDATE project SET name=?, describtion=?, background_pic=?, private=? WHERE redis_id=?" ProjectDelete = "DELETE FROM project WHERE redis_id = ?" )
const ( UId = "id" UPid = "pid" USamId = "samId" UCreateTime = "createTime" UAlias = "alias" UName = "name" UPhone = "phone" UPassword = "password" UEmail = "email" UAvatar = "avatar" USchool = "school" UDep = "depart" UGrade = "grade" UClass = "class" UStuNum = "stuNum" )
user redis key name
const ( TId = "id" TPid = "pid" TCreateTime = "createTime" TStartTime = "startTime" TPlace = "place" TRepeat = "repeat" TAllDay = "allDay" TRepeatMode = "repeatMode" TDesc = "desc" TRemark = "remark" TOwnerId = "ownerId" TDone = "done" TFinishTime = "finishTime" TMissionId = "missionId" )
to-do thing redis key name
const ( MId = "id" MPid = "pid" MName = "name" MCreateTime = "createTime" MDesc = "desc" MPublisherId = "publisherId" MCompletionNum = "completionNum" MCompletedTime = "completedTime" MDeadline = "deadline" MProjectId = "projectId" //comments CId = "id" CPid = "pid" CCreateTime = "createTime" CCriticPid = "criticPid" CCriticName = "criticName" )
mission redis key name
const ( PId = "id" PPid = "pid" PName = "name" PCreateTime = "createTime" PDesc = "desc" PBackgroundPic = "backgroundPic" PCreatorId = "creatorId" PPrivate = "private" )
project redis key name
const ( ChId = "id" ChPid = "pid" ChType = "type" //ChTarget = "target" ChMsg = "msg" ChGroupName = "groupName" ChFrom = "from" ChTimeStamp = "timestamp" ChInfo = "info" ChDealt = "dealt" )
Variables ¶
This section is empty.
Functions ¶
func CreateMissionMysql ¶
func CreateMissionMysql(m Mission)
CreateMissionMysql creates mission in mysql
func CreateProjectMysql ¶
func CreateProjectMysql(p Project)
CreateProjectMysql creates project in mysql
func DeleteMissionMysql ¶
func DeleteMissionMysql(mid int)
DeleteMissionMysql deletes mission in mysql
func DeleteProjectMysql ¶
func DeleteProjectMysql(pid int)
DeleteProjectMysql deletes project in mysql
func UpdateMissionMysql ¶
func UpdateMissionMysql(m Mission)
UpdateMissionMysql updates mission in mysql
func UpdateProjectMysql ¶
func UpdateProjectMysql(p Project)
UpdateProjectMysql updates project in mysql
Types ¶
type Chat ¶
type Chat struct { Id int `json:"-" redis:"id"` Pid string `json:"id,omitempty" redis:"pid"` Type int `json:"type" redis:"type"` Msg string `json:"msg,omitempty" redis:"msg"` //Target string `json:"target,omitempty" redis:"target"` //joined or left user GroupName string `json:"groupName,omitempty" redis:"groupName"` //as mission's name From string `json:"from,omitempty" redis:"from"` SenderId int `json:"-" redis:"-"` //server side use To []string `json:"to,omitempty" redis:"to"` ReceiversId []int `json:"-" redis:"-"` //server side use Timestamp int64 `json:"timestamp,omitempty" redis:"timestamp"` ExtraInfo map[string]string `json:"extraInfo" redis:"-"` SerializedInfo string `json:"-" redis:"info"` //serialize from extra info Dealt bool `json:"dealt,omitempty" redis:"dealt"` }
func InitedChat ¶
InitedChat returns a full loaded chat object by id
func (*Chat) AddToOffline ¶
type Comment ¶
type Comment struct { Id int `json:"-" redis:"id"` Pid string `json:"id,omitempty" redis:"pid"` CreateTime int64 `json:"createTime,omitempty" redis:"createTime"` MissionPid string `json:"-" redis:"-"` CriticPid string `json:"uid,omitempty" redis:"criticPid"` CriticName string `json:"uName,omitempty" redis:"criticName"` }
type Mission ¶
type Mission struct { Id int `json:"-" redis:"id"` //private id Pid string `json:"id,omitempty" redis:"pid"` //public id CreateTime int64 `json:"createTime,omitempty" redis:"createTime"` //create time timestamp of this mission Name string `json:"name,omitempty" redis:"name"` Desc string `json:"desc,omitempty" redis:"desc"` //description for the mission Pictures []string `json:"pictures,omitempty" redis:"-"` PublisherId int `json:"publisherId,omitempty" redis:"publisherId"` //who published the mission ReceiversId []int `json:"receiversId,omitempty" redis:"-"` //user list who accepted the mission CompletionNum int `json:"completionNum,omitempty" redis:"completionNum"` //completed number CompletedTime int64 `json:"completedTime,omitempty" redis:"completedTime"` Deadline int64 `json:"deadline,omitempty" redis:"deadline"` Comments []Comment `json:"comments,omitempty" redis:"-"` ProjectId int `json:"projectId,omitempty" redis:"projectId"` //belong to which mission }
func InitedMission ¶
InitedMission returns a full loaded mission object by id
func (*Mission) AddReceiver ¶
AddReceiver adds a user to mission's receiver set
func (*Mission) GetComments ¶
GetComments gets mission's comments
func (*Mission) GetCompletedUsersId ¶
GetCompletedUsersId gets users id slice who have completed the mission
func (*Mission) GetPictures ¶
GetPictures return mission's pics
func (*Mission) GetReceiversId ¶
GetReceiversId gets mission's receivers' id slice
func (*Mission) GetReceiversName ¶
GetReceiversName gets mission's receivers' name
func (*Mission) UpdateCompleteNum ¶
func (m *Mission) UpdateCompleteNum()
UpdateCompleteNum when user-completed num changed
func (*Mission) UpdatePics ¶
UpdatePics update to-do's pictures list
type Project ¶
type Project struct { Id int `json:"-" redis:"id"` //private id Pid string `json:"id,omitempty" redis:"pid"` //public id Name string `json:"name,omitempty" redis:"name"` CreateTime int64 `json:"createTime,omitempty" redis:"createTime"` //create time timestamp of this project Desc string `json:"desc,omitempty" redis:"desc"` //description for the project BackgroundPic string `json:"backgroundPic,omitempty" redis:"backgroundPic"` CreatorId int `json:"creatorId,omitempty" redis:"creatorId"` //who created the project Private bool `json:"private,omitempty" redis:"private"` MembersId []int `json:"membersId,omitempty" redis:"-"` //user list who in this project }
func InitedProject ¶
InitedProject returns a full loaded project object by id
func (*Project) GetCreator ¶
GetCreator gets project's creator
func (*Project) GetMembers ¶
GetMembers gets project members
func (*Project) GetMembersId ¶
GetMembersId gets project members id
func (*Project) GetMembersName ¶
GetMembersName gets project members name
func (*Project) GetMissions ¶
GetMission gets project's missions
func (*Project) RemoveMember ¶
RemoveMember removes a user from project members
type Todo ¶
type Todo struct { Id int `json:"-" redis:"id"` //private id Pid string `json:"id,omitempty" redis:"pid"` CreateTime int64 `json:"createTime,omitempty" redis:"createTime"` //create time timestamp of this todo StartTime int64 `json:"startTime,omitempty" redis:"startTime"` //start timestamp of this action Place string `json:"place,omitempty" redis:"place"` Pictures []string `json:"pictures,omitempty" redis:"-"` Repeat bool `json:"repeat,omitempty" redis:"repeat"` RepeatMode int `json:"repeatMode,omitempty" redis:"repeatMode"` AllDay bool `json:"allDay,omitempty" redis:"allDay"` Desc string `json:"desc,omitempty" redis:"desc"` //description for the action Remark string `json:"remark,omitempty" redis:"remark"` OwnerId int `json:"ownerId,omitempty" redis:"ownerId"` //whose Done bool `json:"done,omitempty" redis:"done"` FinishTime int64 `json:"finishTime,omitempty" redis:"finishTime"` MissionId int `json:"missionId,omitempty" redis:"missionId"` //belong to which mission }
func InitedTodo ¶
InitedTodo returns a full loaded to-do object by id
func (*Todo) GetMission ¶
GetMission gets project from to-do's project id
func (*Todo) UpdatePics ¶
UpdatePics update to-do's pictures list
type User ¶
type User struct { Id int `json:"-" redis:"id"` //private id Pid string `json:"id,omitempty" redis:"pid"` SamId string `json:"samId,omitempty" redis:"samId"` //unique id in samaritan CreateTime int64 `json:"createTime,omitempty" redis:"createTime"` //create time timestamp of this user Alias string `json:"alias,omitempty" redis:"alias"` //nick name Name string `json:"name,omitempty" redis:"name"` //real name Phone string `json:"phone,omitempty" redis:"phone"` Password string `json:"password" redis:"password"` Email string `json:"email,omitempty" redis:"email"` Avatar string `json:"avatar,omitempty" redis:"avatar"` //avatar url School string `json:"school,omitempty" redis:"school"` Department string `json:"depart,omitempty" redis:"depart"` Grade int `json:"grade,omitempty" redis:"grade"` Class string `json:"class,omitempty" redis:"class"` StudentNum string `json:"stuNum,omitempty" redis:"stuNum"` //1218404001... }
func InitedUser ¶
InitedUser returns a full loaded user object by id
func (*User) AcceptMission ¶
AcceptMission add mission to user accepted mission set
func (*User) CompleteMission ¶
CompleteMission adds mission to user completed mission
func (*User) FullAvatarUrl ¶
FullAvatarUrl return full url of avatar img
func (*User) GetAllAcceptedMissionsId ¶
GetAllAcceptedMissionsId gets all accepted missions id
func (*User) GetAllCompletedMissionsId ¶
GetAllCompletedMissionsId gets all completed missions id
func (*User) GetAllOfflineMsg ¶
func (*User) GetAllProjects ¶
GetAllProjects gets all projects
func (*User) GetCreatedProjects ¶
GetCreatedProjects gets user created projects
func (*User) GetJoinedProjects ¶
GetJoinedProjects gets user joined projects
func (*User) JoinProject ¶
JoinProject add project to user joined project set
func (*User) UnCompleteMission ¶
UnCompleteMission adds mission to user uncompleted mission