interface.go 13 KB

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