123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package service
- import (
- "context"
- "time"
- "youngee_b_api/db"
- "youngee_b_api/model/gorm_model"
- "youngee_b_api/model/http_model"
- )
- var STCooperate *stcooperate
- type stcooperate struct {
- }
- // CreateSTCooperate 创建或更新服务商-达人合作关系
- func (*stcooperate) CreateSTCooperate(ctx context.Context, supplierId int, TaskIds []string) error {
- // 1. 根据taskId取出对应的platform_user_id
- for _, taskId := range TaskIds {
- taskInfo, taskInfoErr := db.GetTaskByTaskId(ctx, taskId)
- if taskInfoErr != nil {
- return taskInfoErr
- }
- if taskInfo != nil {
- platformUserInfo, platformUserInfoErr := db.FindUserInfoByOpenId(ctx, taskInfo.OpenId)
- if platformUserInfoErr != nil {
- return platformUserInfoErr
- }
- if platformUserInfo != nil {
- // 根据platformUserId判断需要新增一条记录还是合作次数增加
- total, countErr := db.CountCooperateInfoBySupplierAndPlatform(ctx, supplierId, platformUserInfo.Id)
- if countErr != nil {
- return countErr
- }
- if total == 0 {
- // create
- var cooperateInfo *gorm_model.SupplierTalentCooperate
- cooperateInfo = &gorm_model.SupplierTalentCooperate{}
- cooperateInfo.SupplierId = supplierId
- cooperateInfo.CooperateNum = 1
- cooperateInfo.TalentID = taskInfo.TalentID
- cooperateInfo.TaskType = 1
- // cooperateInfo.ProjectTaskId = taskId
- cooperateInfo.Platform = platformUserInfo.PlatformId
- cooperateInfo.PlatformUserId = platformUserInfo.Id
- current := time.Now()
- cooperateInfo.CreateTime = ¤t
- createErr := db.CreateSTCooperateInfo(ctx, cooperateInfo)
- if createErr != nil {
- return createErr
- }
- } else {
- // +1
- plusErr := db.UpdateSTCooperateInfo(ctx, supplierId, platformUserInfo.Id)
- if plusErr != nil {
- return plusErr
- }
- }
- }
- }
- }
- return nil
- }
- // GetTalentListInfo 合作列表信息
- func (*stcooperate) GetTalentListInfo(ctx context.Context, request *http_model.TalentListRequest) (*http_model.TalentListData, error) {
- var talentListData *http_model.TalentListData
- talentListData = &http_model.TalentListData{}
- // 1. 查找信息
- talentListInfo, total, talentListInfoErr := db.GetSTCooperateInfo(ctx, request.SupplierId, request.Type, request.Platform, request.Nickname, request.PageSize, request.PageNum)
- if talentListInfoErr != nil {
- return nil, talentListInfoErr
- }
- if talentListInfo != nil {
- talentListData.Total = total
- for _, c := range talentListInfo {
- var cooperateData *http_model.SupplierTalentCooperateData
- cooperateData = &http_model.SupplierTalentCooperateData{}
- cooperateData.SupplierId = c.SupplierId
- cooperateData.CooperateID = c.CooperateID
- cooperateData.Platform = c.Platform
- cooperateData.CooperateNum = c.CooperateNum
- cooperateData.PlatformUserId = c.PlatformUserId
- // 查询平台信息
- platformUserInfo, platformUserErr := db.FindUserInfoById(ctx, cooperateData.PlatformUserId)
- if platformUserErr != nil {
- return nil, platformUserErr
- }
- if platformUserInfo != nil {
- cooperateData.City = platformUserInfo.City
- cooperateData.Nickname = platformUserInfo.NickName
- cooperateData.HeadUrl = platformUserInfo.HeadUri
- cooperateData.Fans = platformUserInfo.Fan
- cooperateData.LikeNum = platformUserInfo.LikeNum
- cooperateData.CommitNum = 0
- cooperateData.CollectNum = 0
- }
- talentListData.TalentListInfo = append(talentListData.TalentListInfo, cooperateData)
- }
- }
- return talentListData, nil
- }
- // GetTalentInfo 达人信息
- func (*stcooperate) GetTalentInfo(ctx context.Context, request *http_model.TalentDataRequest) (*http_model.TalentData, error) {
- var cooperateData *http_model.TalentData
- cooperateData = &http_model.TalentData{}
- // 查询平台信息
- platformUserInfo, platformUserErr := db.FindUserInfoById(ctx, request.PlatformUserId)
- if platformUserErr != nil {
- return nil, platformUserErr
- }
- if platformUserInfo != nil {
- cooperateData.City = platformUserInfo.City
- cooperateData.Nickname = platformUserInfo.NickName
- cooperateData.HeadUrl = platformUserInfo.HeadUri
- cooperateData.Fans = platformUserInfo.Fan
- cooperateData.VoteNum = platformUserInfo.LikeNum
- cooperateData.Sale30Days = 0
- cooperateData.Sale60Days = 0
- cooperateData.Sale90Days = 0
- cooperateData.CommitNum = 0
- cooperateData.CollectNum = 0
- cooperateData.Skill = platformUserInfo.Skill
- cooperateData.Gender = platformUserInfo.Gender
- }
- return cooperateData, nil
- }
- // CountTalentTaskNum 统计达人任务数量
- func (*stcooperate) CountTalentTaskNum(ctx context.Context, request *http_model.TalentCooperateDataRequest) (*http_model.TalentCooperateData, error) {
- var cooperateData *http_model.TalentCooperateData
- cooperateData = &http_model.TalentCooperateData{}
- // 查询平台信息
- platformUserInfo, platformUserErr := db.FindUserInfoById(ctx, request.PlatformUserId)
- if platformUserErr != nil {
- return nil, platformUserErr
- }
- if platformUserInfo != nil {
- }
- return cooperateData, nil
- }
- // GetTalentProjectList 达人种草表现
- func (*stcooperate) GetTalentProjectList(ctx context.Context, request *http_model.TalentProjectListRequest) (*http_model.TalentProjectListData, error) {
- return nil, nil
- }
- // GetTalentLocalList 达人本地表现
- func (*stcooperate) GetTalentLocalList(ctx context.Context, request *http_model.TalentLocalListRequest) (*http_model.TalentLocalListData, error) {
- return nil, nil
- }
|