package backend import ( "context" "kpt-pasture/config" "kpt-pasture/service/wechat" "kpt-pasture/store/kptstore" pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" "gitee.com/xuyiping_admin/pkg/di" "go.uber.org/dig" ) var Module = di.Options(di.Provide(NewStore)) type Hub struct { dig.In OpsService KptService } type StoreEntry struct { dig.In Cfg *config.AppConfig DB *kptstore.DB HttpClient *wechat.ClientService } func NewStore(store StoreEntry) KptService { return &store } func NewStoreEntry(cfg *config.AppConfig, Db *kptstore.DB) *StoreEntry { return &StoreEntry{ Cfg: cfg, DB: Db, HttpClient: nil, } } //go:generate mockgen -destination mock/kptservice.go -package kptservicemock kpt-pasture/module/backend KptService type KptService interface { SystemService // 系统相关操作 PastureManageService // 牧场管理相关 ConfigDataService // 配置数据相关 EventService // 事件相关 CowService // 牛只相关 GoodsService // 牧场物品相关 AnalyseService // 分析相关 DashboardService // 牧场统计相关 } //go:generate mockgen -destination mock/SystemService.go -package kptservicemock kpt-pasture/module/backend SystemService type SystemService interface { // Login 系统用户相关 Login(ctx context.Context, req *pasturePb.SearchUserRequest) (*pasturePb.SystemUserResponse, error) SearchSystemUserList(ctx context.Context, req *pasturePb.SearchUserRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchUserResponse, error) IsShowSystemUser(ctx context.Context, userId int64) error DeleteSystemUser(ctx context.Context, userId int64) error SystemUserCreateOrUpdate(ctx context.Context, req *pasturePb.SearchUserRequest) error ResetPasswordSystemUser(ctx context.Context, req *pasturePb.ResetUserPasswordRequest) error SystemUserRole(ctx context.Context, userId int64) (*pasturePb.SystemUserRoleResponse, error) SystemUserRoleSave(ctx context.Context, req *pasturePb.SystemUserRoleRequest) error // GetSystemUserMenu 当前登录用户菜单权限 GetSystemUserMenu(ctx context.Context) (*pasturePb.SystemUserMenuTreeResponse, error) GetCurrentUserName(ctx context.Context) (string, error) // SearchSystemRoleList 系统角色相关 SearchSystemRoleList(ctx context.Context, req *pasturePb.SearchRoleRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchRoleResponse, error) DeleteSystemRole(ctx context.Context, roleId int64) error IsShowSystemRole(ctx context.Context, roleId int64) error SystemRoleCreateOrUpdate(ctx context.Context, req *pasturePb.SearchRoleRequest) error GetRoleMenuList(ctx context.Context, roleId int64) (*pasturePb.SystemRoleMenuResponse, error) RoleMenuSave(ctx context.Context, res *pasturePb.SystemRoleMenuRequest) error SystemRoleList(ctx context.Context) (*pasturePb.GetRoleListResponse, error) // SearchSystemMenuList 系统菜单权限 SearchSystemMenuList(ctx context.Context, req *pasturePb.SearchMenuRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchMenuResponse, error) DeleteSystemMenu(ctx context.Context, menuId int64) error CreateOrUpdateSystemMenu(ctx context.Context, req *pasturePb.SearchMenuRequest) error SystemMenuTree(ctx context.Context) (*pasturePb.SystemMenuTreeResponse, error) // SearchSystemDeptList 部门列表 SearchSystemDeptList(ctx context.Context, req *pasturePb.SearchDeptRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchDeptResponse, error) SystemDepDelete(ctx context.Context, id int64) error SystemDeptCreateOrUpdate(ctx context.Context, req *pasturePb.SearchDeptRequest) error } //go:generate mockgen -destination mock/PastureManageService.go -package kptservicemock kpt-pasture/module/backend PastureManageService type PastureManageService interface { SearchBarnList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBarnResponse, error) CreateOrUpdateBarn(ctx context.Context, req *pasturePb.SearchBarnList) error SearchBarnTypeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateBarnType(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchBreedStatusList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateBreedStatus(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchCowKindList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateCowKind(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchCowStatusList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateCowStatus(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchCowTypeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateCowType(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchTransferPenReasonList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateTransferPenReason(ctx context.Context, req *pasturePb.SearchBaseConfigList) error SearchCowSourceList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error) CreateOrUpdateCowSource(ctx context.Context, req *pasturePb.SearchBaseConfigList) error CreateOrUpdateSemeTime(ctx context.Context, req *pasturePb.SemeTimeRequest) error SearchSemeTimeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SemeTimeEventResponse, error) SemeTimeDetail(ctx context.Context, semeTimeId int64) (*pasturePb.SemeTimeDetailResponse, error) } //go:generate mockgen -destination mock/ConfigDataService.go -package kptservicemock kpt-pasture/module/backend ConfigDataService type ConfigDataService interface { BarnTypeOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) BarnListOptions(ctx context.Context, penType int) (*pasturePb.ConfigOptionsListResponse, error) BreedStatusOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) CowKindOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) CowSourceOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) CowStatusOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) CowTypeOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) CowTransferPenReasonOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error) SystemUserOptions(ctx context.Context, depId int) (*pasturePb.ConfigOptionsListResponse, error) BullOptions(ctx context.Context) (*pasturePb.BullOptionsListResponse, error) SystemBaseConfigOptions(ctx context.Context, optionName string) (*pasturePb.ConfigOptionsListResponse, error) } //go:generate mockgen -destination mock/EventService.go -package kptservicemock kpt-pasture/module/backend EventService type EventService interface { EnterList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchEnterEventResponse, error) CreateEnter(ctx context.Context, req *pasturePb.SearchEnterData) error GroupTransferList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchTransferGroupEventResponse, error) CreateGroupTransfer(ctx context.Context, req *pasturePb.TransferGroupEventRequest) error BodyScoreList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBodyScoreEventResponse, error) CreateBodyScore(ctx context.Context, req *pasturePb.BodyScoreEventRequest) error CalvingList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchLavingEventResponse, error) CalvingCreate(ctx context.Context, req *pasturePb.CalvingEventRequest) error PregnantCheckList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.PregnantCheckEventResponse, error) PregnantCheckCreate(ctx context.Context, req *pasturePb.PregnantCheckEventRequest) error MatingList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.MatingEventResponse, error) MatingCreate(ctx context.Context, req *pasturePb.MatingEventRequest) error EstrusList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.EstrusEventResponse, error) EstrusCreate(ctx context.Context, req *pasturePb.EstrusEventRequest) error FrozenSemenList(ctx context.Context, req *pasturePb.FrozenSemenRequest, pagination *pasturePb.PaginationModel) (*pasturePb.FrozenSemenResponse, error) FrozenSemenCreate(ctx context.Context, req *pasturePb.SearchFrozenSemenList) error WeightList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchWeightEventResponse, error) CreateWeight(ctx context.Context, req *pasturePb.WeightEventRequest) error } //go:generate mockgen -destination mock/CowService.go -package kptservicemock kpt-pasture/module/backend CowService type CowService interface { CowList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchCowListResponse, error) } type GoodsService interface { DrugsList(ctx context.Context, req *pasturePb.SearchDrugsRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchDrugsResponse, error) DrugsCreate(ctx context.Context, req *pasturePb.SearchDrugsList) error } type AnalyseService interface { GrowthCurve(ctx context.Context, req *pasturePb.SearchGrowthCurvesRequest) (*pasturePb.GrowthCurvesResponse, error) } type DashboardService interface { Bar(ctx context.Context) (*pasturePb.BarCowStructResponse, error) }