123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package service
- import (
- "context"
- "github.com/issue9/conv"
- "time"
- "youngee_b_api/db"
- "youngee_b_api/model/gorm_model"
- "youngee_b_api/model/http_model"
- )
- var Cooperate *cooperate
- type cooperate struct {
- }
- // GetEnterpriseInfoBySupplierId 通过supplierId和合作状态筛选合作商家信息
- func (*cooperate) GetEnterpriseInfoBySupplierId(ctx context.Context, request *http_model.EnterpriseListRequest) (*http_model.EnterpriseListData, error) {
- var enterpriseListData *http_model.EnterpriseListData
- enterpriseListData = &http_model.EnterpriseListData{}
- // 1. 根据服务商ID和合作状态查找信息
- enterpriseListInfo, total, enterpriseListInfoErr := db.GetCooperateInfoByIds(ctx, request.SupplierId, request.CooperateStatus, request.PageSize, request.PageNum)
- if enterpriseListInfoErr != nil {
- return nil, enterpriseListInfoErr
- }
- if enterpriseListInfo != nil {
- enterpriseListData.Total = total
- for _, c := range enterpriseListInfo {
- var cooperateData *http_model.EnterpriseSupplierCooperateData
- cooperateData = &http_model.EnterpriseSupplierCooperateData{}
- cooperateData.CooperateId = c.CooperateId
- cooperateData.CooperateStatus = c.CooperateStatus
- cooperateData.CooperateNum = c.CooperateNum
- cooperateData.SupplierId = c.SupplierId
- cooperateData.UploadTalentNum = c.UploadTalentNum
- cooperateData.CooperateTalentNum = c.CooperateTalentNum
- cooperateData.SOperator = c.SOperator
- cooperateData.SOperatorType = c.SOperatorType
- cooperateData.BOperator = c.BOperator
- cooperateData.BOperatorType = c.BOperatorType
- if cooperateData.CreateTime != "" {
- cooperateData.CreateTime = conv.MustString(c.CreateTime, "")
- }
- if cooperateData.AgreeTime != "" {
- cooperateData.AgreeTime = conv.MustString(c.AgreeTime, "")
- }
- if cooperateData.RejectTime != "" {
- cooperateData.RejectTime = conv.MustString(c.RejectTime, "")
- }
- // 1.2. 商家信息
- enterpriseInfo, enterpriseErr := db.GetEnterpriseByEnterpriseID(ctx, c.EnterpriseId)
- if enterpriseErr != nil {
- return nil, enterpriseErr
- }
- if enterpriseInfo != nil {
- cooperateData.EnterprisePhone = enterpriseInfo.Phone
- cooperateData.EnterpriseAuth = enterpriseInfo.AuthStatus
- }
- enterpriseListData.EnterpriseListInfo = append(enterpriseListData.EnterpriseListInfo, cooperateData)
- }
- }
- return enterpriseListData, nil
- }
- // CreateCooperate 创建合作关系
- func (*cooperate) CreateCooperate(ctx context.Context, enterpriseId string, supplierId int, subAccountId int) error {
- var cooperateInfo *gorm_model.EnterpriseSupplierCooperate
- cooperateInfo = &gorm_model.EnterpriseSupplierCooperate{}
- cooperateInfo.CooperateStatus = 2
- var currentTime time.Time
- currentTime = time.Now()
- cooperateInfo.AgreeTime = ¤tTime
- cooperateInfo.CreateTime = ¤tTime
- cooperateInfo.SupplierId = supplierId
- cooperateInfo.EnterpriseId = enterpriseId
- if subAccountId != 0 {
- cooperateInfo.SOperator = subAccountId
- cooperateInfo.SOperatorType = 2
- } else {
- cooperateInfo.SOperator = supplierId
- cooperateInfo.SOperatorType = 1
- }
- total, findErr := db.FindCooperateInfoBySupplierAndEnterprise(ctx, supplierId, enterpriseId)
- if findErr != nil {
- return findErr
- }
- if total == 0 {
- err := db.CreateCooperateInfo(ctx, cooperateInfo)
- if err != nil {
- return err
- }
- }
- return nil
- }
- // AgreeEnterpriseCooperate 同意商家合作邀约请求
- func (*cooperate) AgreeEnterpriseCooperate(ctx context.Context, cooperateId int) error {
- err := db.UpdateCooperateInfo(ctx, cooperateId, 2)
- if err != nil {
- return err
- }
- return nil
- }
- // RejectEnterpriseCooperate 拒绝商家合作邀约请求
- func (*cooperate) RejectEnterpriseCooperate(ctx context.Context, cooperateId int) error {
- err := db.UpdateCooperateInfo(ctx, cooperateId, 3)
- if err != nil {
- return err
- }
- return nil
- }
|