get_erp_active_logic.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package logic
  2. import (
  3. "context"
  4. "git.i2edu.net/i2/i2-bill-erp/internal/svc"
  5. "git.i2edu.net/i2/i2-bill-erp/transform"
  6. "git.i2edu.net/i2/go-zero/core/logx"
  7. )
  8. type GetErpActiveLogic struct {
  9. ctx context.Context
  10. svcCtx *svc.ServiceContext
  11. logx.Logger
  12. }
  13. func NewGetErpActiveLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetErpActiveLogic {
  14. return &GetErpActiveLogic{
  15. ctx: ctx,
  16. svcCtx: svcCtx,
  17. Logger: logx.WithContext(ctx),
  18. }
  19. }
  20. func (l *GetErpActiveLogic) GetErpActive(in *transform.GetErpActiveReq) (*transform.GetErpActiveRes, error) {
  21. // todo: add your logic here and delete this line
  22. type Active struct {
  23. MaName string `json:"ma_name"`
  24. ActiveId int64 `json:"active_id"`
  25. }
  26. acts := new([]*Active)
  27. actives := new([]*transform.Active)
  28. sql := `
  29. select
  30. act.id active_id,act.ma_name
  31. from
  32. mkt_activity act
  33. left join
  34. mkt_activities_school act_sch
  35. on
  36. act.id = act_sch.ma_id
  37. where
  38. act.del_flag = 0
  39. and act_sch.school_id = ? `
  40. err := l.svcCtx.DB.SQL(sql, in.SchId).Find(acts)
  41. if err != nil {
  42. logx.Error(err.Error())
  43. return nil, err
  44. }
  45. for _, act := range *acts {
  46. active := new(transform.Active)
  47. active.MaName = act.MaName
  48. active.ActiveId = act.ActiveId
  49. *actives = append(*actives, active)
  50. }
  51. return &transform.GetErpActiveRes{Active: *actives}, nil
  52. }