controller

package
v0.0.0-...-bdd2f32 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2019 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (
	READING_COURSE_TYPE_GD = 1
	ENGLISH_COURSE_TYPE_GD = 2
)
View Source
const (
	READING_COURSE_STATUS_START = iota
	READING_COURSE_STATUS_PAIED
	READING_COURSE_STATUS_REFUND
	READING_COURSE_STATUS_REFUND_NOT_AUTO
	READING_COURSE_STATUS_REFUND_MANUAL
)
View Source
const (
	COUPON_URI_PREFIX      = "coupon"
	COUPON_URI_CREATE      = "create"
	COUPON_URI_EXCHANGE    = "exchange"
	COUPON_URI_GO_EXCHANGE = "go-exchange"
	COUPON_URI_LIST        = "list"
)
View Source
const (
	READING_COURSE_URI_PREFIX          = "course"
	READING_COURSE_URI_CATA_AUDIOS     = "catalogaudios"
	READING_COURSE_URI_CATA_SIGNIN     = "catalogsignin"
	READING_COURSE_URI_CREATE_COMMENT  = "createcomment"
	READING_COURSE_URI_GET_COMMENT     = "getcommentlist"
	READING_COURSE_URI_UPDATE_COMMENT  = "updatecomment"
	READING_COURSE_URI_GET_ALL_COMMENT = "getallcomment"
	READING_COURSE_URI_REPLY_COMMENT   = "replycomment"
	READING_COURSE_URI_GET_GRADUATION  = "getgraduation"
	// tmp html
	READING_NOW_COURSE_URI_LIST          = "nowcourselist"
	READING_COURSE_URI_LIST              = "usercourselist"
	READING_COURSE_URI_INDEX             = "index"
	READING_COURSE_URI_BOOK_CATALOG      = "bookcatalog"
	READING_COURSE_URI_BOOK_DETAIL       = "bookdetail"
	READING_COURSE_URI_MYSELF            = "myself"
	READING_COURSE_URI_ATTENDANCE        = "attendance"
	READING_COURSE_URI_ATTENDANCE_DETAIL = "attendancedetail"
	READING_COURSE_URI_REMIND            = "remind"
	READING_COURSE_URI_SHARE             = "share"
	READING_COURSE_URI_SHARE_TO          = "shareto"
)
View Source
const (
	READING_COURSE_MANAGER_URI_PREFIX             = "coursemanager"
	READING_COURSE_MANAGER_URI_GET_BOOKS          = "getbooklist"
	READING_COURSE_MANAGER_URI_CREATE_BOOK        = "createbook"
	READING_COURSE_MANAGER_URI_DELETE_BOOK        = "deletebook"
	READING_COURSE_MANAGER_URI_UPDATE_BOOK        = "updatebook"
	READING_COURSE_MANAGER_URI_GET_CHAPTER        = "getchapter"
	READING_COURSE_MANAGER_URI_GET_CHAPTERS       = "getchapterlist"
	READING_COURSE_MANAGER_URI_CREATE_CHAPTER     = "createchapter"
	READING_COURSE_MANAGER_URI_DELETE_CHAPTER     = "deletechapter"
	READING_COURSE_MANAGER_URI_UPDATE_CHAPTER     = "updatechapter"
	READING_COURSE_MANAGER_URI_UPDATE_CHAPTER_RE  = "updatechapterre"
	READING_COURSE_MANAGER_URI_GET_BCATALOGS      = "getbookcatalogs"
	READING_COURSE_MANAGER_URI_CREATE_BCATALOG    = "createbookcatalog"
	READING_COURSE_MANAGER_URI_DELETE_BCATALOG    = "deletebookcatalog"
	READING_COURSE_MANAGER_URI_UPDATE_BCATALOG    = "updatebookcatalog"
	READING_COURSE_MANAGER_URI_GET_BCCHAPTERS     = "getbcchapters"
	READING_COURSE_MANAGER_URI_CREATE_BCCHAPTERS  = "createbcchapters"
	READING_COURSE_MANAGER_URI_DELETE_BCCHAPTER   = "deletebcchapter"
	READING_COURSE_MANAGER_URI_GET_COURSES        = "getcourselist"
	READING_COURSE_MANAGER_URI_CREATE_COURSE      = "createcourse"
	READING_COURSE_MANAGER_URI_DELETE_COURSE      = "deletecourse"
	READING_COURSE_MANAGER_URI_UPDATE_COURSE      = "updatecourse"
	READING_COURSE_MANAGER_URI_GET_MCOURSES       = "getmcourselist"
	READING_COURSE_MANAGER_URI_CREATE_MCOURSE     = "createmcourse"
	READING_COURSE_MANAGER_URI_DELETE_MCOURSE     = "deletemcourse"
	READING_COURSE_MANAGER_URI_UPDATE_MCOURSE     = "updatemcourse"
	READING_COURSE_MANAGER_URI_GET_MCBOOKS        = "getmcbooklist"
	READING_COURSE_MANAGER_URI_CREATE_MCBOOK      = "createmcbook"
	READING_COURSE_MANAGER_URI_DELETE_MCBOOK      = "deletemcbook"
	READING_COURSE_MANAGER_URI_UPDATE_MCBOOK      = "updatemcbook"
	READING_COURSE_MANAGER_URI_GET_MCBCATALOGS    = "getmcbcataloglist"
	READING_COURSE_MANAGER_URI_CREATE_MCBCATALOG  = "createmcbcatalog"
	READING_COURSE_MANAGER_URI_DELETE_MCBCATALOG  = "deletemcbcatalog"
	READING_COURSE_MANAGER_URI_UPDATE_MCBCATALOG  = "updatemcbcatalog"
	READING_COURSE_MANAGER_URI_CREATE_MCBCAUDIO   = "createmcbcaudio"
	READING_COURSE_MANAGER_URI_GET_MCBCCHAPTERS   = "getmcbcchapterlist"
	READING_COURSE_MANAGER_URI_CREATE_MCBCCHAPTER = "createmcbcchapter"
	READING_COURSE_MANAGER_URI_DELETE_MCBCCHAPTER = "deletemcbcchapter"
)
View Source
const (
	COURSE_BOOK_LOCK = iota
	COURSE_BOOK_UNLOCK
)
View Source
const (
	COURSE_BOOK_CATALOG_LOCK = iota
	COURSE_BOOK_CATALOG_UNLOCK
)
View Source
const (
	REFUND_WAY_AUTO             = 1
	REFUND_WAY_FROM_TRANSACTION = 2
)
View Source
const (
	DATA_STATISTICS_CREATE_COURSE_TYPE                  = "createcoursetype"
	DATA_STATISTICS_GET_COURSE_TYPE_LIST                = "getcoursetypelist"
	DATA_STATISTICS_CREATE_COURSE_CHANNEL               = "createcoursechannel"
	DATA_STATISTICS_DELETE_COURSE_CHANNEL               = "deletecoursechannel"
	DATA_STATISTICS_GET_COURSE_CHANNEL_LIST             = "getcoursechannellist"
	DATA_STATISTICS_SET_USER_COURSE_REFUND              = "setusercourserefund"
	DATA_STATISTICS_USER_COURSE_MANUAL_REFUND           = "usercoursemanualrefund"
	DATA_STATISTICS_USER_COURSE_REFUND_FROM_TRANSACTION = "usercourserefundfromtransaction"
	DATA_STATISTICS_GET_COURSE_STATISTICS               = "getcoursedatastatistics"
)
View Source
const (
	MSG_ERROR_SYSTEM               = "system error."
	MSG_ERROR_COURSE_NOT_FOUND     = "course not found."
	MSG_ERROR_USER_NOT_FOUND       = "user not found, please relogin."
	MSG_ERROR_USER_COURSE_NOT_JOIN = "您暂未报名该课程"
)

ERROR MSG

View Source
const (
	READING_URI_SIGN_UP      = "signup"
	READING_URI_ENROLL       = "enroll"
	READING_URI_GO_ENROLL    = "goenroll"
	READING_URI_PAY          = "pay"
	READING_URI_PAY_NOTIFY   = "paynotify"
	READING_URI_SUCCESS      = "success"
	READING_URI_PROTO        = "proto"
	READING_URI_CHECK_COURSE = "check_course"
)
View Source
const (
	DEFAULT_ENROLL_NAME   = "请输入姓名"
	DEFAULT_ENROLL_MOBILE = "请输入手机号"
	DEFAULT_ENROLL_WECHAT = "微信号(选填)"
)
View Source
const (
	WECHAT_MSG_TPL    = "tpl"
	WECHAT_MSG_CUSTOM = "custom"
)
View Source
const (
	DATA_STATISTICS_URI_PREFIX = "statistics"
)
View Source
const (
	DEFAULT_REMIND_WORKER_NUM = 100
)
View Source
const (
	DEFAULT_TPL_WORKER_NUM = 1024
)
View Source
const (
	READING_COURSE_GD_MONEY = 19900
)
View Source
const (
	READING_URI_TODAY_ORDER = "today_order"
)

manager uri

View Source
const (
	REGISTER_URI_PREFIX = "register"
)
View Source
const (
	ReadingPrefix = "/reading"
)
View Source
const (
	TEST_OPEN_ID = "oaKrZwsAF6pRX6z3Qn_EhIZ3DG90"
)
View Source
const (
	TPL_ID_HOMEWORK_REMIND = "5s9bGDoC2bEcUbfJI5KoU9xxXHohay8MMdRG54blDKs"
)

Variables

View Source
var (
	MonthConst map[int64]string = map[int64]string{
		1:  "Jan.",
		2:  "Feb.",
		3:  "Mar.",
		4:  "Apr.",
		5:  "May",
		6:  "Jun.",
		7:  "Jul.",
		8:  "Aug.",
		9:  "Sep.",
		10: "Oct.",
		11: "Nov.",
		12: "Dec.",
	}
)

Functions

func EnableDebug

func EnableDebug()

func GetIPFromRequest

func GetIPFromRequest(r *http.Request) string

func WriteBytes

func WriteBytes(w http.ResponseWriter, code int, v []byte)

func WriteJSON

func WriteJSON(w http.ResponseWriter, code int, v interface{}) error

Types

type BookDetail

type BookDetail struct {
	models.CourseBookDetail
	Status int
}

course

type CatalogDetail

type CatalogDetail struct {
	models.MonthCourseCatalog
	Status   int
	TaskTime string
}

catalog

type CourseCatalogDetailList

type CourseCatalogDetailList struct {
	models.Book
	models.MonthCourseCatalog
	models.MonthCourseCatalogAudio
	AudioTime         string
	PrevCatalogId     int64
	NextCatalogId     int64
	IfChecked         int64
	TaskTime          string
	ChapterDetailList []models.CourseBookCatalogDetail
	OpenId            string
	UserId            int64
	CourseId          int64
	BookId            int64
	CatalogId         int64
}

book detail

type CourseCatalogList

type CourseCatalogList struct {
	models.Book
	CatalogList []CatalogDetail
	UserId      int64
	CourseId    int64
	BookId      int64
}

type CourseDetail

type CourseDetail struct {
	TodayCatalogs []models.CourseBookCatalogTime
	MonthCourses  []MonthCourseDetail
	UserId        int64
	CourseId      int64
}

type CourseError

type CourseError struct {
	RedirectUrl string
}

type CourseShare

type CourseShare struct {
	DayNum     int64
	UserId     int64
	CourseId   int64
	CourseType int64
	OpenId     string
	AppId      string
	JssdkInfo
}

type CourseShareInfo

type CourseShareInfo struct {
	NickName  string
	AvatarUrl string
	OpenId    string
	AppId     string
	JssdkInfo
}

type CustomMsg

type CustomMsg struct {
	MsgType core.MsgType
	ToUser  string
	Content string
}

type GraduationInfo

type GraduationInfo struct {
	Name          string
	TimeInfo      string
	CourseName    string
	CourseNum     string
	GraduationNum string
}

type GraduationManager

type GraduationManager struct {
	// contains filtered or unexported fields
}

func NewGraduationManager

func NewGraduationManager(cfg *config.Config) (*GraduationManager, error)

func (*GraduationManager) CheckUserImage

func (gm *GraduationManager) CheckUserImage(graduationNum string) (string, bool)

func (*GraduationManager) HandleUserImage

func (gm *GraduationManager) HandleUserImage(info *GraduationInfo) (string, error)

type HandlerRequest

type HandlerRequest struct {
	Method string
	Path   string
	Val    []byte
	Params []string
}

type HomeworkRemindTplMsg

type HomeworkRemindTplMsg struct {
	First    *template.DataItem `json:"first"`
	Keyword1 *template.DataItem `json:"keyword1"`
	Keyword2 *template.DataItem `json:"keyword2"`
	Keyword3 *template.DataItem `json:"keyword3"`
	Remark   *template.DataItem `json:"remark"`
}

type JssdkInfo

type JssdkInfo struct {
	NonceStr  string
	Timestamp string
	Sign      string
	Url       string
}

type Logic

type Logic struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewLogic

func NewLogic(cfg *config.Config) *Logic

func (*Logic) HandleReceiveMsg

func (self *Logic) HandleReceiveMsg(msg *robot_proto.ReceiveMsgInfo)

func (*Logic) RobotReceiveMsg

func (self *Logic) RobotReceiveMsg(w http.ResponseWriter, r *http.Request)

func (*Logic) Run

func (self *Logic) Run()

type MonthCourseDetail

type MonthCourseDetail struct {
	models.MonthCourse
	Books []BookDetail
}

type MsgInfo

type MsgInfo struct {
	Msg     string
	MsgType string
}

type NowCourseList

type NowCourseList struct {
	Courses []models.Course
	UserId  int64
	Now     int64
}

type ReadingEnrollUserInfo

type ReadingEnrollUserInfo struct {
	NickName     string
	AvatarUrl    string
	OpenId       string
	EnrollName   string
	EnrollMobile string
	EnrollWechat string

	CourseType     int64
	CourseNum      int64
	IfCourseStart  int64
	StartTime      string
	EndTime        string
	IndexStartTime string

	WxJsApiParams
}

about html tml struct

type ReadingHandler

type ReadingHandler struct {
	// contains filtered or unexported fields
}

func NewReadingHandler

func NewReadingHandler(l *Logic) *ReadingHandler

func (*ReadingHandler) ServeHTTP

func (self *ReadingHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type RegisterInfo

type RegisterInfo struct {
	NickName     string
	AvatarUrl    string
	OpenId       string
	EnrollName   string
	EnrollMobile string
	EnrollWechat string
	Source       int
	UserId       int64

	Course models.Course
	Coupon models.Coupon

	RealPay string

	IfCourseStart  int64
	StartTime      string
	EndTime        string
	IndexStartTime string

	WxJsApiParams
}

type RemindInfo

type RemindInfo struct {
	Course  models.Course
	Catalog models.CourseBookCatalogTime
}

type RemindWorker

type RemindWorker struct {
	WorkerNum int
	// contains filtered or unexported fields
}

func NewRemindWorker

func NewRemindWorker(cfg *config.Config, wc *WechatController) *RemindWorker

func (*RemindWorker) Stop

func (self *RemindWorker) Stop()

type ShareTpl

type ShareTpl struct {
	Title string
	Img   string
}

type TplMsg

type TplMsg struct {
	ToUser string
	TplId  string
	Url    string
	Data   interface{}
}

type UserCourseAttendance

type UserCourseAttendance struct {
	AttendanceList []models.UserCourseList
	UserId         int64
}

course attendance

type UserCourseAttendanceDetail

type UserCourseAttendanceDetail struct {
	Course               models.Course
	AttendanceDetailList []models.UserCourseAttendance
	UserId               int64
	CourseId             int64

	StartYear        int
	StartMonth       int
	StartDay         int
	EndYear          int
	EndMonth         int
	EndDay           int
	NowYear          int
	NowMonth         int
	NowDay           int
	BeforeRenderAttr string
}

type UserCourseDetail

type UserCourseDetail struct {
	TodayCatalogs  []models.CourseBookCatalogTime
	UserCourseList []models.UserCourseDetail
	UserId         int64
	Now            int64
	UserName       string
}

user course

type UserInfo

type UserInfo struct {
	OpenId      string
	Name        string
	AvatarUrl   string
	Source      int
	CouponCDKey string
}

check user

type WechatController

type WechatController struct {
	// contains filtered or unexported fields
}

func NewWechatController

func NewWechatController(cfg *config.Config) *WechatController

func (*WechatController) JssdkSign

func (self *WechatController) JssdkSign(info *JssdkInfo)

func (*WechatController) SendCustomMsg

func (self *WechatController) SendCustomMsg(msg *CustomMsg) error

func (*WechatController) SendTplMsg

func (self *WechatController) SendTplMsg(msg *TplMsg) error

type WechatMsg

type WechatMsg struct {
	MsgType string
	Tpl     *TplMsg
	Custom  *CustomMsg
}

type WechatTplWorker

type WechatTplWorker struct {
	WorkerNum int
	// contains filtered or unexported fields
}

func NewWechatTplWorker

func NewWechatTplWorker(cfg *config.Config, wc *WechatController) *WechatTplWorker

func (*WechatTplWorker) Send

func (self *WechatTplWorker) Send(msg *WechatMsg)

func (*WechatTplWorker) Stop

func (self *WechatTplWorker) Stop()

type WxJsApiParams

type WxJsApiParams struct {
	AppId     string `json:"appid"`
	TimeStamp string `json:"timeStamp"`
	NonceStr  string `json:"nonceStr"`
	Package   string `json:"package"`
	SignType  string `json:"signType"`
	PaySign   string `json:"paySign"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL