package handler import ( "context" "dashoo.cn/common_definition/comm_def" "dashoo.cn/micro_libary/micro_srv" "dashoo.cn/micro_libary/myerrors" "errors" "github.com/gogf/gf/frame/g" equipment2 "lims_adapter/model/equipment" "lims_adapter/service/equipment" "strconv" ) // Equipment 设备 type Equipment struct{} // AppointmentQualificationList 设备预约资格列表查询 func (e *Equipment) AppointmentQualificationList(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.AppointmentQualificationList request @ " + tenant) if req.Size == 0 { req.Size = DefaultPageNum } if req.Current < 0 { req.Current = DefaultPageCurrent } list, total, err := equipment.NewSrv(tenant).AppointmentQualificationList(req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg rsp.Data = g.Map{"total": total, "tableData": list} return nil } // AppointmentQualificationList 优先预约权资格列表查询 func (e *Equipment) AdvanceList(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.AdvanceList request @ " + tenant) if req.Size == 0 { req.Size = DefaultPageNum } if req.Current < 0 { req.Current = DefaultPageCurrent } list, total, err := equipment.NewSrv(tenant).AdvanceList(req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg rsp.Data = g.Map{"total": total, "tableData": list} return nil } // IsAdvance 是否有优先预约资格 func (e *Equipment) IsAdvance(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } info, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received Equipment.IsAdvance request @ " + tenant) isAdvance, err := equipment.NewSrv(tenant).IsAdvance(info.Id, req.InstrumentId) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Data = g.Map{"isAdvance": isAdvance, "userName": info.RealName, "userId": info.Id} return nil } // AddOrUpdateQualification 新增、修改预约资格名单 func (e *Equipment) AddOrUpdateQualification(ctx context.Context, req *equipment2.AddOrUpdateQualification, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } info, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received Equipment.AddOrUpdateQualification request @ " + tenant) if strconv.Itoa(req.InstrumentId) == "" { return errors.New("设备Id为空!") } if len(req.Ids) == 0 { return errors.New("选择授权的用户Id为空") } err = equipment.NewSrv(tenant).AddOrUpdateQualification(req, info) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg return nil } // DeleteQualification 删除预约资格 func (e *Equipment) DeleteQualification(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } info, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received Equipment.DeleteQualification request @ " + tenant) if err != nil { return err } if strconv.Itoa(req.UserId) == "" && strconv.Itoa(req.EquipmentId) == "" { return errors.New("未传入删除资格参数不完整,请核对后再试") } err = equipment.NewSrv(tenant).DeleteQualification(req, info) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg return nil } // DeleteAdvance 删除优先预约资格 func (e *Equipment) DeleteAdvance(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.DeleteAdvance request @ " + tenant) if strconv.Itoa(req.UserId) == "" && strconv.Itoa(req.EquipmentId) == "" { return errors.New("未传入删除资格参数不完整,请核对后再试") } err = equipment.NewSrv(tenant).DeleteAdvance(req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg return nil } // SearchAdvanceTime 查看设备优先预约时间段 func (e *Equipment) SearchAdvanceTime(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.SearchAdvanceTime request @ " + tenant) if req.Size == 0 { req.Size = DefaultPageNum } if req.Current < 0 { req.Current = DefaultPageCurrent } equipmentId := req.InstrumentId if strconv.Itoa(equipmentId) == "" { return errors.New("设备Id为空,请检查传入参数") } list, total, err := equipment.NewSrv(tenant).SearchAdvanceTime(req) _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = msg rsp.Data = g.Map{"total": total, "tableData": list} return nil } // AddAdvanceTime 添加设备优先预约时间段 func (e *Equipment) AddAdvanceTime(ctx context.Context, req *equipment2.AdvanceTimeReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } info, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received Equipment.AddAdvanceTime request @ " + tenant) equipmentId := req.EquipmentId if strconv.Itoa(equipmentId) == "" { return errors.New("设备Id为空,请检查传入参数") } err = equipment.NewSrv(tenant).AddAdvanceTime(req, info) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Msg = "添加优先预约时间段成功" return nil } // DeleteAdvanceTime 删除设备预约时间段 func (e *Equipment) DeleteAdvanceTime(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.DeleteAdvanceTime request @ " + tenant) if strconv.Itoa(req.Id) == "" { return errors.New("未传入删除id") } err = equipment.NewSrv(tenant).DeleteAdvanceTime(req.Id) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code return nil } // AppointmentTime 设备预约时间段 func (e *Equipment) AppointmentTime(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.AppointmentTime request @ " + tenant) equipmentId := req.EquipmentId if strconv.Itoa(equipmentId) == "" { return errors.New("设备Id为空,请检查传入参数") } if strconv.Itoa(req.UserId) == "" { return errors.New("人员Id为空,请检查传入参数") } equipment.NewSrv(tenant).AppointmentTime(req) return nil } // SearchNoAppointment 查看不能预约时间段信息 func (e *Equipment) SearchNoAppointment(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } info, err := micro_srv.GetUserInfo(ctx) if err != nil { return err } g.Log().Info("Received Equipment.SearchNoAppointment request @ " + tenant) equipmentId := req.EquipmentId if strconv.Itoa(equipmentId) == "" { return errors.New("设备Id为空,请检查传入参数") } if req.Date == "" { return errors.New("日期为空,请检查传入参数") } appointment, err := equipment.NewSrv(tenant).SearchNoAppointment(req, info) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code rsp.Data = appointment return nil } // ChangeInstrStauts 修改设备所属 func (e *Equipment) ChangeBelongs(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.ChangeBelongs request @ " + tenant) equipmentId := req.EquipmentId if strconv.Itoa(equipmentId) == "" { return errors.New("设备Id为空,请检查传入参数") } if req.Belongs == "" { return errors.New("设备所属为空") } err = equipment.NewSrv(tenant).ChangeBelongs(req) _, err, code, _ := myerrors.CheckError(err) if err != nil { return err } rsp.Code = code return nil } // GetUnitCount 查询设备计费 func (e *Equipment) GetUnitCount(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.GetUnitCount request @ " + tenant) if strconv.Itoa(req.InstrumentId) == "" { return errors.New("请传入设备Id") } rspInfo, err := equipment.NewSrv(tenant).GetUnitCount(req.InstrumentId) if len(rspInfo) > 0 && strconv.Itoa(rspInfo[0].Id) != "" { rspInfo[0].CountType = "按时计费" } _, err, code, _ := myerrors.CheckError(err) rsp.Code = code rsp.Data = rspInfo return nil } // UpdateUnifPrice 更新计费价格 func (e *Equipment) UpdateUnitfPrice(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.UpdateUnitfPrice request @ " + tenant) if req.InstrumentId == 0 || req.UnitCount < 0 { return errors.New("请输入完成参数!") } err = equipment.NewSrv(tenant).UpdateUnitPrice(req.InstrumentId, req.UnitCount) _, err, code, msg := myerrors.CheckError(err) rsp.Code = code rsp.Msg = msg return nil } // RateChange 优惠比例更新 func (e *Equipment) RateChange(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error { tenant, err := micro_srv.GetTenant(ctx) if err != nil { return err } g.Log().Info("Received Equipment.RateChange request @ " + tenant) if strconv.Itoa(req.InstrumentId) == "" || strconv.Itoa(req.Rate) == "" { return errors.New("请输入完成参数!") } err = equipment.NewSrv(tenant).RateChange(req.InstrumentId, req.Rate) _, err, code, msg := myerrors.CheckError(err) rsp.Code = code rsp.Msg = msg return nil }