rpc.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package server
  2. import (
  3. "go-common/app/service/main/point/conf"
  4. "go-common/app/service/main/point/model"
  5. "go-common/app/service/main/point/service"
  6. "go-common/library/net/rpc"
  7. "go-common/library/net/rpc/context"
  8. )
  9. // RPC represent rpc server
  10. type RPC struct {
  11. s *service.Service
  12. }
  13. // New init rpc.
  14. func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
  15. r := &RPC{s: s}
  16. svr = rpc.NewServer(c.RPCServer)
  17. if err := svr.Register(r); err != nil {
  18. panic(err)
  19. }
  20. return
  21. }
  22. // Ping check connection success.
  23. func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
  24. return
  25. }
  26. // Auth check connection success.
  27. func (r *RPC) Auth(c context.Context, arg *rpc.Auth, res *struct{}) (err error) {
  28. return
  29. }
  30. // PointInfo point info.
  31. func (r *RPC) PointInfo(c context.Context, a *model.ArgRPCMid, res *model.PointInfo) (err error) {
  32. var p *model.PointInfo
  33. if p, err = r.s.PointInfo(c, a.Mid); err == nil && p != nil {
  34. *res = *p
  35. }
  36. return
  37. }
  38. // ConsumePoint point consume.
  39. func (r *RPC) ConsumePoint(c context.Context, a *model.ArgPointConsume, status *int8) (err error) {
  40. *status, err = r.s.ConsumePoint(c, a)
  41. return
  42. }
  43. // PointAddByBp point add by bp.
  44. func (r *RPC) PointAddByBp(c context.Context, arg *model.ArgPointAdd, res *int64) (err error) {
  45. *res, err = r.s.PointAddByBp(c, arg)
  46. return
  47. }
  48. // PointAdd point add.
  49. func (r *RPC) PointAdd(c context.Context, a *model.ArgPoint, status *int8) (err error) {
  50. *status, err = r.s.AddPoint(c, a)
  51. return
  52. }
  53. // PointHistory point history.
  54. func (r *RPC) PointHistory(c context.Context, arg *model.ArgRPCPointHistory, res *model.PointHistoryResp) (err error) {
  55. var (
  56. phs []*model.OldPointHistory
  57. total int
  58. )
  59. if phs, total, err = r.s.OldPointHistory(c, arg.Mid, arg.PN, arg.PS); err == nil && len(phs) > 0 {
  60. p := &model.PointHistoryResp{
  61. Phs: phs,
  62. Total: total,
  63. }
  64. *res = *p
  65. }
  66. return
  67. }