interface.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package backend
  2. import (
  3. "context"
  4. "kpt-pasture/config"
  5. "kpt-pasture/service/wechat"
  6. "kpt-pasture/store/kptstore"
  7. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  8. "gitee.com/xuyiping_admin/pkg/di"
  9. "go.uber.org/dig"
  10. )
  11. var Module = di.Options(di.Provide(NewStore))
  12. type Hub struct {
  13. dig.In
  14. OpsService KptService
  15. }
  16. type StoreEntry struct {
  17. dig.In
  18. Cfg *config.AppConfig
  19. DB *kptstore.DB
  20. HttpClient *wechat.ClientService
  21. }
  22. func NewStore(store StoreEntry) KptService {
  23. return &store
  24. }
  25. func NewStoreEntry(cfg *config.AppConfig, Db *kptstore.DB) *StoreEntry {
  26. return &StoreEntry{
  27. Cfg: cfg,
  28. DB: Db,
  29. HttpClient: nil,
  30. }
  31. }
  32. //go:generate mockgen -destination mock/kptservice.go -package kptservicemock kpt-pasture/module/backend KptService
  33. type KptService interface {
  34. SystemService // 系统相关操作
  35. PastureManageService // 牧场管理相关
  36. ConfigDataService // 配置数据相关
  37. EventService // 事件相关
  38. CowService // 牛只相关
  39. GoodsService // 牧场物品相关
  40. AnalyseService // 分析相关
  41. DashboardService // 牧场统计相关
  42. }
  43. //go:generate mockgen -destination mock/SystemService.go -package kptservicemock kpt-pasture/module/backend SystemService
  44. type SystemService interface {
  45. // Login 系统用户相关
  46. Login(ctx context.Context, req *pasturePb.SearchUserRequest) (*pasturePb.SystemUserResponse, error)
  47. SearchSystemUserList(ctx context.Context, req *pasturePb.SearchUserRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchUserResponse, error)
  48. IsShowSystemUser(ctx context.Context, userId int64) error
  49. DeleteSystemUser(ctx context.Context, userId int64) error
  50. SystemUserCreateOrUpdate(ctx context.Context, req *pasturePb.SearchUserRequest) error
  51. ResetPasswordSystemUser(ctx context.Context, req *pasturePb.ResetUserPasswordRequest) error
  52. SystemUserRole(ctx context.Context, userId int64) (*pasturePb.SystemUserRoleResponse, error)
  53. SystemUserRoleSave(ctx context.Context, req *pasturePb.SystemUserRoleRequest) error
  54. // GetSystemUserMenu 当前登录用户菜单权限
  55. GetSystemUserMenu(ctx context.Context) (*pasturePb.SystemUserMenuTreeResponse, error)
  56. GetCurrentUserName(ctx context.Context) (string, error)
  57. // SearchSystemRoleList 系统角色相关
  58. SearchSystemRoleList(ctx context.Context, req *pasturePb.SearchRoleRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchRoleResponse, error)
  59. DeleteSystemRole(ctx context.Context, roleId int64) error
  60. IsShowSystemRole(ctx context.Context, roleId int64) error
  61. SystemRoleCreateOrUpdate(ctx context.Context, req *pasturePb.SearchRoleRequest) error
  62. GetRoleMenuList(ctx context.Context, roleId int64) (*pasturePb.SystemRoleMenuResponse, error)
  63. RoleMenuSave(ctx context.Context, res *pasturePb.SystemRoleMenuRequest) error
  64. SystemRoleList(ctx context.Context) (*pasturePb.GetRoleListResponse, error)
  65. // SearchSystemMenuList 系统菜单权限
  66. SearchSystemMenuList(ctx context.Context, req *pasturePb.SearchMenuRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchMenuResponse, error)
  67. DeleteSystemMenu(ctx context.Context, menuId int64) error
  68. CreateOrUpdateSystemMenu(ctx context.Context, req *pasturePb.SearchMenuRequest) error
  69. SystemMenuTree(ctx context.Context) (*pasturePb.SystemMenuTreeResponse, error)
  70. // SearchSystemDeptList 部门列表
  71. SearchSystemDeptList(ctx context.Context, req *pasturePb.SearchDeptRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchDeptResponse, error)
  72. SystemDepDelete(ctx context.Context, id int64) error
  73. SystemDeptCreateOrUpdate(ctx context.Context, req *pasturePb.SearchDeptRequest) error
  74. }
  75. //go:generate mockgen -destination mock/PastureManageService.go -package kptservicemock kpt-pasture/module/backend PastureManageService
  76. type PastureManageService interface {
  77. SearchBarnList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBarnResponse, error)
  78. CreateOrUpdateBarn(ctx context.Context, req *pasturePb.SearchBarnList) error
  79. SearchBarnTypeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  80. CreateOrUpdateBarnType(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  81. SearchBreedStatusList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  82. CreateOrUpdateBreedStatus(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  83. SearchCowKindList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  84. CreateOrUpdateCowKind(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  85. SearchCowStatusList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  86. CreateOrUpdateCowStatus(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  87. SearchCowTypeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  88. CreateOrUpdateCowType(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  89. SearchTransferPenReasonList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  90. CreateOrUpdateTransferPenReason(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  91. SearchCowSourceList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBaseConfigResponse, error)
  92. CreateOrUpdateCowSource(ctx context.Context, req *pasturePb.SearchBaseConfigList) error
  93. CreateOrUpdateSemeTime(ctx context.Context, req *pasturePb.SemeTimeRequest) error
  94. SearchSemeTimeList(ctx context.Context, req *pasturePb.SearchNameRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SemeTimeEventResponse, error)
  95. SemeTimeDetail(ctx context.Context, semeTimeId int64) (*pasturePb.SemeTimeDetailResponse, error)
  96. }
  97. //go:generate mockgen -destination mock/ConfigDataService.go -package kptservicemock kpt-pasture/module/backend ConfigDataService
  98. type ConfigDataService interface {
  99. BarnTypeOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  100. BarnListOptions(ctx context.Context, penType int) (*pasturePb.ConfigOptionsListResponse, error)
  101. BreedStatusOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  102. CowKindOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  103. CowSourceOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  104. CowStatusOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  105. CowTypeOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  106. CowTransferPenReasonOptions(ctx context.Context) (*pasturePb.ConfigOptionsListResponse, error)
  107. SystemUserOptions(ctx context.Context, depId int) (*pasturePb.ConfigOptionsListResponse, error)
  108. BullOptions(ctx context.Context) (*pasturePb.BullOptionsListResponse, error)
  109. SystemBaseConfigOptions(ctx context.Context, optionName string) (*pasturePb.ConfigOptionsListResponse, error)
  110. }
  111. //go:generate mockgen -destination mock/EventService.go -package kptservicemock kpt-pasture/module/backend EventService
  112. type EventService interface {
  113. EnterList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchEnterEventResponse, error)
  114. CreateEnter(ctx context.Context, req *pasturePb.SearchEnterData) error
  115. GroupTransferList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchTransferGroupEventResponse, error)
  116. CreateGroupTransfer(ctx context.Context, req *pasturePb.TransferGroupEventRequest) error
  117. BodyScoreList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchBodyScoreEventResponse, error)
  118. CreateBodyScore(ctx context.Context, req *pasturePb.BodyScoreEventRequest) error
  119. CalvingList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchLavingEventResponse, error)
  120. CalvingCreate(ctx context.Context, req *pasturePb.CalvingEventRequest) error
  121. PregnantCheckList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.PregnantCheckEventResponse, error)
  122. PregnantCheckCreate(ctx context.Context, req *pasturePb.PregnantCheckEventRequest) error
  123. MatingList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.MatingEventResponse, error)
  124. MatingCreate(ctx context.Context, req *pasturePb.MatingEventRequest) error
  125. EstrusList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.EstrusEventResponse, error)
  126. EstrusCreate(ctx context.Context, req *pasturePb.EstrusEventRequest) error
  127. FrozenSemenList(ctx context.Context, req *pasturePb.FrozenSemenRequest, pagination *pasturePb.PaginationModel) (*pasturePb.FrozenSemenResponse, error)
  128. FrozenSemenCreate(ctx context.Context, req *pasturePb.SearchFrozenSemenList) error
  129. WeightList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchWeightEventResponse, error)
  130. CreateWeight(ctx context.Context, req *pasturePb.WeightEventRequest) error
  131. }
  132. //go:generate mockgen -destination mock/CowService.go -package kptservicemock kpt-pasture/module/backend CowService
  133. type CowService interface {
  134. CowList(ctx context.Context, req *pasturePb.SearchEventRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchCowListResponse, error)
  135. }
  136. type GoodsService interface {
  137. DrugsList(ctx context.Context, req *pasturePb.SearchDrugsRequest, pagination *pasturePb.PaginationModel) (*pasturePb.SearchDrugsResponse, error)
  138. DrugsCreate(ctx context.Context, req *pasturePb.SearchDrugsList) error
  139. }
  140. type AnalyseService interface {
  141. GrowthCurve(ctx context.Context, req *pasturePb.SearchGrowthCurvesRequest) (*pasturePb.GrowthCurvesResponse, error)
  142. }
  143. type DashboardService interface {
  144. Bar(ctx context.Context) (*pasturePb.BarCowStructResponse, error)
  145. }