package handler import ( "youngee_b_api/consts" "youngee_b_api/model/http_model" "youngee_b_api/service" "youngee_b_api/util" "github.com/sirupsen/logrus" "github.com/gin-gonic/gin" ) func WrapRegisterHandler(ctx *gin.Context) { handler := newRegisterHandler(ctx) baseRun(handler) } func newRegisterHandler(ctx *gin.Context) *RegisterHandler { return &RegisterHandler{ req: http_model.NewRegisterRequest(), resp: http_model.NewRegisterResponse(), ctx: ctx, } } type RegisterHandler struct { req *http_model.RegisterRequest resp *http_model.CommonResponse ctx *gin.Context } func (h *RegisterHandler) getRequest() interface{} { return h.req } func (h *RegisterHandler) getContext() *gin.Context { return h.ctx } func (h *RegisterHandler) getResponse() interface{} { return h.resp } func (h *RegisterHandler) run() { data := http_model.RegisterRequest{} data = *h.req // 注册接口处理流程 // 1. 在user表中查找phone,判断账号是否存在,若不存在进行下一步,否则返回error,message:账号已存在 // 2. 在redis中查找验证码,判断验证码是否正确,若正确进行下一步,否则返回error,message:验证码错误 flag, err := service.Register.Register(h.ctx, data.Phone, data.Code) if err != nil { logrus.Errorf("[RegisterHandler] call RegisterUser err:%+v\n", err) util.HandlerPackErrorResp(h.resp, consts.ErrorInternal) return } else if flag != nil { // 3. 先后在user表和enterprise表中增加账号信息 res, err := service.Enterprise.CreateEnterpriseUser(h.ctx, data) if err != nil { logrus.Errorf("[RegisterHandler] call RegisterUser err:%+v\n", err) util.HandlerPackErrorResp(h.resp, consts.ErrorInternal) return } // 4. 返回ok h.resp.Data = res } else { h.resp.Message = "验证码错误" return } } func (h *RegisterHandler) checkParam() error { return nil }