package handler import ( "context" "dashoo.cn/common_definition/comm_def" "dashoo.cn/micro_libary/micro_srv" "dashoo.cn/micro_libary/myerrors" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gvalid" "lims_reservation/model" "lims_reservation/service/reservation" ) // Reservation 预约 type Reservation struct{} // List 预约列表 func (r *Reservation) List(ctx context.Context, req *model.ListReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Reservation.List request @ " + tenant) if req.Size == 0 { req.Size = DefaultPageNum } if req.Current < 0 { req.Current = DefaultPageCurrent } list, total, err := reservation.NewSrv(tenant).List(*req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg rsp.Data = g.Map{"total": total, "list": list} return nil } // Add 添加预约 func (r *Reservation) Add(ctx context.Context, req *model.ReservationReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Reservation.Add request @ " + tenant) g.Log().Info("预约参数为:", req) // 校验 validErr := gvalid.CheckStruct(ctx, req, nil) if err != nil { return validErr.Current() } // 赋值 req.Status = 1 // 获取用户信息 userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } err = reservation.NewSrv(tenant).Add(userInfo, *req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg return nil } // Cancel 取消预约 func (r *Reservation) Cancel(ctx context.Context, req *model.ReservationReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Reservation.Cancel request @ " + tenant) if req.Id == 0 { return NoParamsErr } // 获取用户信息 userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } err = reservation.NewSrv(tenant).Cancel(userInfo, req.Id) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg return nil } // OverviewList 预约概况 func (r *Reservation) OverviewList(ctx context.Context, req *model.OverviewReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Reservation.OverviewList request @ " + tenant) // 校验 if req.Date.String() == "" { return NoParamsErr } data, err := reservation.NewSrv(tenant).OverviewList(*req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Data = data rsp.Code = code rsp.Msg = msg return nil } // ReserveInfo 预约信息 func (r *Reservation) ReserveInfo(ctx context.Context, req *model.ReserveReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Reservation.ReserveInfo request @ " + tenant) // 校验 if req.Date.String() == "" { return NoParamsErr } if req.EntityId == 0 { return NoParamsErr } data, err := reservation.NewSrv(tenant).ReserveInfo(ctx, *req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Data = data rsp.Code = code rsp.Msg = msg return nil }