cooperate.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package service
  2. import (
  3. "context"
  4. "time"
  5. "youngee_b_api/db"
  6. "youngee_b_api/model/gorm_model"
  7. "youngee_b_api/model/http_model"
  8. )
  9. var Cooperate *cooperate
  10. type cooperate struct {
  11. }
  12. // GetEnterpriseInfoBySupplierId 通过supplierId和合作状态筛选合作商家信息
  13. func (*cooperate) GetEnterpriseInfoBySupplierId(ctx context.Context, request *http_model.EnterpriseListRequest) (*http_model.EnterpriseListData, error) {
  14. enterpriseListInfo, total, enterpriseListInfoErr := db.GetCooperateInfoByIds(ctx, request.SupplierId, request.CooperateStatus, request.PageSize, request.PageNum)
  15. if enterpriseListInfoErr != nil {
  16. return nil, enterpriseListInfoErr
  17. }
  18. var enterpriseListData *http_model.EnterpriseListData
  19. enterpriseListData = &http_model.EnterpriseListData{}
  20. if enterpriseListInfo != nil {
  21. enterpriseListData.EnterpriseListInfo = enterpriseListInfo
  22. enterpriseListData.Total = total
  23. }
  24. return enterpriseListData, nil
  25. }
  26. // CreateCooperate 创建合作关系
  27. func (*cooperate) CreateCooperate(ctx context.Context, enterpriseId string, supplierId int, subAccountId int) error {
  28. var cooperateInfo *gorm_model.EnterpriseSupplierCooperate
  29. cooperateInfo = &gorm_model.EnterpriseSupplierCooperate{}
  30. cooperateInfo.CooperateStatus = 2
  31. var currentTime time.Time
  32. currentTime = time.Now()
  33. cooperateInfo.AgreeTime = &currentTime
  34. cooperateInfo.CreateTime = &currentTime
  35. cooperateInfo.SupplierId = supplierId
  36. cooperateInfo.EnterpriseId = enterpriseId
  37. if subAccountId != 0 {
  38. cooperateInfo.SOperator = subAccountId
  39. cooperateInfo.SOperatorType = 2
  40. } else {
  41. cooperateInfo.SOperator = supplierId
  42. cooperateInfo.SOperatorType = 1
  43. }
  44. total, findErr := db.FindCooperateInfoBySupplierAndEnterprise(ctx, supplierId, enterpriseId)
  45. if findErr != nil {
  46. return findErr
  47. }
  48. if total == 0 {
  49. err := db.CreateCooperateInfo(ctx, cooperateInfo)
  50. if err != nil {
  51. return err
  52. }
  53. }
  54. return nil
  55. }
  56. // AgreeEnterpriseCooperate 同意商家合作邀约请求
  57. func (*cooperate) AgreeEnterpriseCooperate(ctx context.Context, cooperateId int) error {
  58. err := db.UpdateCooperateInfo(ctx, cooperateId, 2)
  59. if err != nil {
  60. return err
  61. }
  62. return nil
  63. }
  64. // RejectEnterpriseCooperate 拒绝商家合作邀约请求
  65. func (*cooperate) RejectEnterpriseCooperate(ctx context.Context, cooperateId int) error {
  66. err := db.UpdateCooperateInfo(ctx, cooperateId, 3)
  67. if err != nil {
  68. return err
  69. }
  70. return nil
  71. }