// Code generated by goctl. DO NOT EDIT.
package handler

import (
	"net/http"

	acquirer "git.i2edu.net/i2/i2-bill-api/internal/handler/acquirer"
	acquirer_mkt_qr "git.i2edu.net/i2/i2-bill-api/internal/handler/acquirer_mkt_qr"
	acquirer_student "git.i2edu.net/i2/i2-bill-api/internal/handler/acquirer_student"
	auth "git.i2edu.net/i2/i2-bill-api/internal/handler/auth"
	base_organ "git.i2edu.net/i2/i2-bill-api/internal/handler/base_organ"
	base_organ_school "git.i2edu.net/i2/i2-bill-api/internal/handler/base_organ_school"
	mkt_active "git.i2edu.net/i2/i2-bill-api/internal/handler/mkt_active"
	mkt_network_detail "git.i2edu.net/i2/i2-bill-api/internal/handler/mkt_network_detail"
	mkt_part_time_user "git.i2edu.net/i2/i2-bill-api/internal/handler/mkt_part_time_user"
	mkt_qr "git.i2edu.net/i2/i2-bill-api/internal/handler/mkt_qr"
	sys_optionset "git.i2edu.net/i2/i2-bill-api/internal/handler/sys_optionset"
	system "git.i2edu.net/i2/i2-bill-api/internal/handler/system"
	user "git.i2edu.net/i2/i2-bill-api/internal/handler/user"
	"git.i2edu.net/i2/i2-bill-api/internal/svc"

	"git.i2edu.net/i2/go-zero/rest"
)

func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/hello",
				Handler: auth.HelloHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/auth/loginByWeixin",
				Handler: auth.LoginByWeixinHandler(serverCtx),
			},
		},
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/user/share/jzQrcode",
				Handler: user.JzQrCodeHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/user/bindMobile",
				Handler: user.BindMobileHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/user/info",
				Handler: user.GetUserHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/user/update",
				Handler: user.UpdateUserHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/user/punchClock",
				Handler: user.PunchClockHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/user/punchClock/page",
				Handler: user.PunchClockPageHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/user/punchClock/get_to_day",
				Handler: user.PunchClockGetHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/part_time_user/add",
				Handler: mkt_part_time_user.MktPartTimeUserAddHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/part_time_user/update",
				Handler: mkt_part_time_user.MktPartTimeUserUpdateHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/part_time_user/get",
				Handler: mkt_part_time_user.MktPartTimeUserGetHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/mkt_qr/add",
				Handler: mkt_qr.MktQrAddHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/mkt_qr/get",
				Handler: mkt_qr.MktQrGetHandler(serverCtx),
			},
		},
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/acquirer/enroll",
				Handler: acquirer.EnrollHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/acquirer_student/page",
				Handler: acquirer_student.AcquirerStudentPageHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/acquirer_student/total",
				Handler: acquirer_student.AcquirerStudentTotalHandler(serverCtx),
			},
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/acquirer_student/remark",
				Handler: acquirer_student.AcquirerStudentRemarkHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/acquirer_student/add",
				Handler: acquirer_student.AcquirerStudentAddHandler(serverCtx),
			},
		},
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/acquirer_mkt_qr/update",
				Handler: acquirer_mkt_qr.AcquirerMktQrUpdateHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/acquirer_mkt_qr/get",
				Handler: acquirer_mkt_qr.AcquirerMktQrGetHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodPost,
				Path:    "/api/v1/system_file/upload",
				Handler: system.SystemFileUploadHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/system_file/download",
				Handler: system.SystemFileDownloadHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/base_organ/get_erp_city_tree",
				Handler: base_organ.GetErpCityTreeHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/sys_optionset/get_erp_optionset",
				Handler: sys_optionset.GetErpOptionsetHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/mkt_network_detail/get_erp_mkt_network_detail",
				Handler: mkt_network_detail.GetErpMktNetworkDetailHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/base_organ_school/get_erp_sch_perm",
				Handler: base_organ_school.GetErpSchPermHandler(serverCtx),
			},
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/base_organ_school/get_organ_school_tree",
				Handler: base_organ_school.GetErpSchTreeHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)

	engine.AddRoutes(
		[]rest.Route{
			{
				Method:  http.MethodGet,
				Path:    "/api/v1/mkt_active/get_erp_mkt_active",
				Handler: mkt_active.GetErpMktActiveHandler(serverCtx),
			},
		},
		rest.WithJwt(serverCtx.Config.JwtAuth.AccessSecret),
	)
}
