// Package asArtist ----------------------------- // @file : asArtist.go // @author : JJXu // @contact : wavingbear@163.com // @time : 2023/2/27 9:29 // ------------------------------------------- package asArtist import ( "fmt" "github.com/fonchain_enterprise/fonchain-main/api/artistinfoArtshow" "github.com/fonchain_enterprise/fonchain-main/api/artwork" "github.com/fonchain_enterprise/fonchain-main/api/artwork_query" "github.com/fonchain_enterprise/fonchain-main/pkg/service/artistInfo/asUser" "github.com/fonchain_enterprise/fonchain-main/pkg/utils" "github.com/fonchain_enterprise/fonchain-main/pkg/utils/stime" "golang.org/x/sync/errgroup" "strings" "time" "dubbo.apache.org/dubbo-go/v3/common/logger" "github.com/fonchain_enterprise/fonchain-main/api/artist" "github.com/fonchain_enterprise/fonchain-main/api/artistInfoArtwork" "github.com/fonchain_enterprise/fonchain-main/api/artistInfoUser" "github.com/fonchain_enterprise/fonchain-main/pkg/config" "github.com/fonchain_enterprise/fonchain-main/pkg/e" "github.com/fonchain_enterprise/fonchain-main/pkg/service" "github.com/gin-gonic/gin" "github.com/jinzhu/copier" ) // GetArtistProfileList 获取画家基本信息列表 func GetArtistProfileList(c *gin.Context) { var req GetArtistProfileListRequest if err := c.ShouldBindJSON(&req); err != nil { service.Error(c, e.InvalidParams, err, err.Error()) return } var now = time.Now() var order []string if len(req.MultSort) > 0 { for _, v := range req.MultSort { if v.SortField == "" { continue } var orderType = "asc" if v.SortOrder == "descend" { orderType = "desc" } order = append(order, fmt.Sprintf("%s %s", utils.CamelToSnake(v.SortField), orderType)) } } if req.SortField != "" { var orderType = "asc" if req.SortOrder == "descend" { orderType = "desc" } order = append(order, fmt.Sprintf("%s %s", utils.CamelToSnake(req.SortField), orderType)) } switch req.QueryType { case QueryArtworkSupplyUser: //画作补充信息审批状态为”待审核“的画家置顶 需求地址:http://114.218.158.24:9017/task-view-892.html order = append(order, "exist_pending_artwork_supply_data desc") case QueryArtistIndexUser: order = append(order, "exist_index_supply_data desc") } var where string //if req.Sex != "" { // switch req.Sex { // case "男": // where = fmt.Sprintf("sex =1") // case "女": // where = fmt.Sprintf("sex =2") // default: // service.ErrorWithMark(c, e.Failed, nil, "GetArtistProfileList Sex Validate Error", "性别字段参数错误") // return // } //} if req.ArtShowCountStart != nil { if where != "" { where += " AND " } where += fmt.Sprintf("art_show_count >= %d ", *req.ArtShowCountStart) } if req.ArtShowCountEnd != nil { if where != "" { where += " AND " } where += fmt.Sprintf("art_show_count <= %d", *req.ArtShowCountEnd) } var userListResponse *artistInfoUser.FindUsersUserViewResponse var err error userListResponse, err = service.GrpcArtistInfoUserImpl.FindUsersUserView(c, &artistInfoUser.FindUsersRequest{ InviterName: req.InviterName, ArtistRealName: req.ArtistName, Page: req.Page, PageSize: req.PageSize, IsArtist: req.IsArtist, Keyword: req.Keyword, Tnum: req.Tnum, Order: order, IncludeArtworkName: req.IncludeArtworkName, IncludeArtworkSupplyAuditStatus: req.IncludeArtworkSupplyAuditStatus, IncludeArtworkSupplyFlowType: req.IncludeArtworkSupplyFlowType, LowState: req.LowState, Where: where, NativePlace: req.NativePlace, Sex: req.Sex, MultInviterName: req.MultInviterName, //BlackListStatus: 1, //UseDynamicTable: asUser.DynamicUserService.CompleteState.IsUpdateCompleted(), //使用物理视图 }) fmt.Printf("cost1: %v\n", time.Now().Sub(now)) if err != nil { service.ErrorWithMark(c, e.Failed, err, "GetArtistProfileList: GrpcArtistInfoUserImpl.FindUsers Error", "查询失败") return } //黑名单用户前面加# for i, v := range userListResponse.Data { if v.BlackListStatus == 2 { userListResponse.Data[i].RealName = "#" + userListResponse.Data[i].RealName } } //数据转换 var returnData []UserView err = copier.Copy(&returnData, &userListResponse.Data) if err != nil { service.ErrorWithMark(c, e.Failed, err, "GetArtistProfileList: copier.Copy Error", "数据转换失败") return } //查询insource字段 var artistUids []string for _, v := range returnData { artistUids = append(artistUids, v.ArtistUid) } for i, v := range returnData { //returnData[i].LowState = 2 //新需求改为所有邀请者都要加上去 2023/04/26 // 查询所有邀请者 inviterList, err := service.GrpcArtistInfoUserImpl.GetInviterUserList(c, &artistInfoUser.GetInviterUserListRequest{InvitedCode: v.InviteCode, Page: 1, PageSize: -1}) if err != nil { logger.Error("GrpcArtistInfoUserImpl.GetInviterUserList ERROR :", err.Error()) } var inviterNames []string if len(inviterList.Data) > 0 { for _, inv := range inviterList.Data { inviterNames = append(inviterNames, inv.RealName) } returnData[i].InviterRealName = strings.Join(inviterNames, ",") } } fmt.Printf("cost2: %v\n", time.Now().Sub(now)) errGroup := errgroup.Group{} for i, _ := range returnData { i := i //下载长文本 个人简介 errGroup.Go(func() error { //return downloadLongTextFromBucket(&returnData[i]) return new(ResumeCache).QueryOrDownloadLongTextFromBucket(&returnData[i]) }) returnData[i].ArtistShowCount = fmt.Sprintf("%s(%d)", returnData[i].RealName, returnData[i].ArtShowCount) //优化地址显示 for tempAddr := range returnData[i].Address { if strings.Contains(returnData[i].Address[tempAddr], ",,,") { returnData[i].Address[tempAddr] = strings.ReplaceAll(returnData[i].Address[tempAddr], ",,,", "") } } } err = errGroup.Wait() fmt.Printf("cost3: %v\n", time.Now().Sub(now)) if err != nil { service.ErrorWithMark(c, e.Failed, err, "GetArtistProfileList: downloadLongTextFromBucket Error", "查询失败") return } if strings.Contains("test,dev,xjjdev", config.Env) { time.Sleep(time.Second * 1) fmt.Println("测试环境等待1秒") } ////获取低优先级画家列表并作标注 //lowList, err := service.GrpcArtistImpl.LowArtistList(c, &artist.LowArtistListReq{ // Page: 1, // PageSize: -1, //}) //if err != nil { // service.ErrorWithMark(c, e.Failed, err, "GetArtistProfileList: GrpcArtistImpl.LowArtistList Error", "查询失败") // return //} //for i, _ := range returnData { // for _, v := range lowList.Data { // if v.RealName == returnData[i].RealName { // returnData[i].LowState = 1 // } // } //} //service.ResponseList(c, returnData, service.OptionPage(userListResponse.Page.Page, userListResponse.Page.PageSize, userListResponse.Page.Total), // service.OptionAddField_ArtshowCount("artistUid")) service.ResponseList(c, returnData, service.OptionPage(userListResponse.Page.Page, userListResponse.Page.PageSize, userListResponse.Page.Total)) } // ArtistsArtworkStaticList 获取画家的画作统计列表 func ArtistsArtworkStaticList(c *gin.Context) { var startTime = time.Now() var req ArtistArtworkStaticRequest if err := c.ShouldBindJSON(&req); err != nil { service.Error(c, e.InvalidParams, err, err.Error()) return } var artistStaticRequest = &artistInfoArtwork.ArtistArtworkStaticRequest{ Page: req.Page, PageSize: req.PageSize, ArtistName: req.ArtistName, Tnum: req.Tnum, IsLock: req.IsLock, } //===================================画作筛选条件处理================================================================== var ( queryArtistUidFromArtworkRecords bool artworkLockRecordsReq = &artistInfoArtwork.GetArtworkLockRecordsRequest{Page: 1, PageSize: -1} artistArtworkTotal = make(map[string]int64) //记录画家的画作数量 ) fmt.Println("ArtistsArtworkStaticList---------------------1") if req.BaseAuditStatus != 0 { queryArtistUidFromArtworkRecords = true if req.BaseAuditStatus == StaticReq_noFinish { artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, "(base_audit_status<3 OR base_audit_status=7)") } else if req.BaseAuditStatus == StaticReq_preSave { //关于暂存状态的说明: // 暂存状态表示的是未锁定的画作。 // 远古时的逻辑是当画家锁定后,用户上传的画作也被锁定,同时审批状态会从**暂存**变成**待审核**,也就是从不能审批状态变为可以审批,这时候直接用暂存状态直接查询是没有问题的; // 后来要求暂存的画作也要支持审核,但是如果审批过后,画作状态就不是**暂存**状态了。按照原先的逻辑,这些画其实还是未锁定状态,因为这些画没有被锁定,最终导致有部分画作会找不到,所以要改为使用锁定状态来查询; artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, "status =1") } else { artworkLockRecordsReq.BaseAuditStatus = int64(req.BaseAuditStatus) } } fmt.Println("ArtistsArtworkStaticList---------------------2") if req.NationalExhibition != 0 { queryArtistUidFromArtworkRecords = true artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, fmt.Sprintf("national_exhibition=%d", req.NationalExhibition)) } if req.QueryHaveProof != 0 { queryArtistUidFromArtworkRecords = true artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, "national_exhibition_proof !=''") } fmt.Println("ArtistsArtworkStaticList---------------------3") if req.ArtworkName != "" || req.Tfnum != "" { fmt.Println("ArtistsArtworkStaticList---------------------3.1") queryArtistUidFromArtworkRecords = true artworks, err := service.GrpcArtworkQueryImpl.GetArtworkProfileList(c, &artwork_query.GetArtworkProfileListRequest{ Query: &artwork_query.ArtworkProfileData{ Name: req.ArtworkName, Tfnum: req.Tfnum, }, Page: 1, PageSize: -1, }) if err != nil { service.ErrorWithMark(c, e.Failed, err, "ArtistsArtworkStaticList: service.GrpcArtworkQueryImpl.ArtworkPreviewList", "查询失败") return } fmt.Println("ArtistsArtworkStaticList---------------------3.2") if len(artworks.List) == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(req.Page, req.PageSize, 0)) return } fmt.Println("ArtistsArtworkStaticList---------------------3.3") var artistUids []string var artworkUids []string for _, v := range artworks.List { artistUids = append(artistUids, v.ArtistUuid) artworkUids = append(artworkUids, v.Uuid) } artistUids = utils.ArrayDeduplicate(artistUids) if len(artistStaticRequest.ArtistUidList) == 0 { artistStaticRequest.ArtistUidList = artistUids } else { artistStaticRequest.ArtistUidList = utils.Intersection(artistStaticRequest.ArtistUidList, artistUids) } if len(artistStaticRequest.ArtworkUids) > 0 { artistStaticRequest.ArtworkUids = utils.Intersection(artistStaticRequest.ArtworkUids, artworkUids) } else { artistStaticRequest.ArtworkUids = artworkUids } fmt.Println("ArtistsArtworkStaticList---------------------3.4") if len(artistStaticRequest.ArtworkUids) == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(req.Page, req.PageSize, 0)) return } fmt.Println("new artworkUids1111", artistStaticRequest.ArtworkUids) fmt.Println("ArtistsArtworkStaticList---------------------3.5") } fmt.Println("artistStaticRequest.ArtistUidList1111", artistStaticRequest.ArtistUidList) if req.RulerStart != nil || req.RulerEnd != nil { fmt.Println("ArtistsArtworkStaticList---------------------4.1") var artworkViewListRequest = artistInfoArtwork.ArtworkViewRequest{Page: 1, PageSize: -1, Select: []string{"artist_uid", "artwork_uid"}} //排除已解锁的画作 artworkViewListRequest.Where = "lock_status<3" if req.RulerStart != nil { if artworkViewListRequest.Where != "" { artworkViewListRequest.Where += " AND " } artworkViewListRequest.Where += fmt.Sprintf("ruler >= %d ", *req.RulerStart) } if req.RulerEnd != nil { if artworkViewListRequest.Where != "" { artworkViewListRequest.Where += " AND " } artworkViewListRequest.Where += fmt.Sprintf("ruler <= %d", *req.RulerEnd) } fmt.Println("ArtistsArtworkStaticList---------------------4.2") rulerArtworkResp, err := service.GrpcArtistInfoArtworkImpl.GetArtworkViewList(c, &artworkViewListRequest) if err != nil { service.ErrorWithMark(c, e.Failed, err, "ArtistsArtworkStaticList: service.GrpcArtistInfoArtworkImpl.GetArtworkViewList", "查询失败") return } fmt.Println("ArtistsArtworkStaticList---------------------4.3") if rulerArtworkResp.Total == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(req.Page, req.PageSize, 0)) return } fmt.Println("ArtistsArtworkStaticList---------------------4.4") var artistUids []string var artworkUids []string for _, v := range rulerArtworkResp.Datas { artistUids = append(artistUids, v.ArtistUid) artworkUids = append(artworkUids, v.ArtworkUid) } artistUids = utils.ArrayDeduplicate(artistUids) if len(artistStaticRequest.ArtistUidList) == 0 { artistStaticRequest.ArtistUidList = artistUids } else { artistStaticRequest.ArtistUidList = utils.Intersection(artistStaticRequest.ArtistUidList, artistUids) } if len(artistStaticRequest.ArtworkUids) > 0 { artistStaticRequest.ArtworkUids = utils.Intersection(artistStaticRequest.ArtworkUids, artworkUids) } else { artistStaticRequest.ArtworkUids = artworkUids } fmt.Println("ArtistsArtworkStaticList---------------------3.4") if len(artistStaticRequest.ArtworkUids) == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(req.Page, req.PageSize, 0)) return } } fmt.Println("artistStaticRequest.ArtistUidList2222", artistStaticRequest.ArtistUidList) if queryArtistUidFromArtworkRecords { fmt.Println("ArtistsArtworkStaticList---------------------5.1") artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, "status < 3") artworkLockRecordsReq.Where = req.WhereAdd(artworkLockRecordsReq.Where, fmt.Sprintf("artwork_uid in (%s)", "'"+strings.Join(artistStaticRequest.ArtworkUids, "','")+"'")) records, err := service.GrpcArtistInfoArtworkImpl.GetArtworkLockRecords(c, artworkLockRecordsReq) if err != nil { service.ErrorWithMark(c, e.Failed, err, "ArtistsArtworkStaticList: service.GrpcArtistInfoArtworkImpl.GetArtworkLockRecords", "查询失败") return } fmt.Println("ArtistsArtworkStaticList---------------------5.2") var artworkUids []string newArtistUidList := make([]string, 0) for _, v := range records.Data { newArtistUidList = append(newArtistUidList, v.ArtistUid) artworkUids = append(artworkUids, v.ArtworkUid) } if len(artistStaticRequest.ArtworkUids) > 0 { artistStaticRequest.ArtworkUids = utils.Intersection(artistStaticRequest.ArtworkUids, artworkUids) } else { artistStaticRequest.ArtworkUids = artworkUids } fmt.Println("ArtistsArtworkStaticList---------------------5.3") if len(artistStaticRequest.ArtworkUids) == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(records.Page, records.PageSize, records.Total)) return } fmt.Println("new artworkUids22222", artistStaticRequest.ArtworkUids) fmt.Println("newArtistUidList", newArtistUidList) fmt.Println("ArtistsArtworkStaticList---------------------5.4") newArtistUidList = utils.ArrayDeduplicate(newArtistUidList) if len(artistStaticRequest.ArtistUidList) == 0 { artistStaticRequest.ArtistUidList = newArtistUidList fmt.Println("artistStaticRequest.ArtistUidList3333_1", artistStaticRequest.ArtistUidList) } else { artistStaticRequest.ArtistUidList = utils.Intersection(artistStaticRequest.ArtistUidList, newArtistUidList) fmt.Println("artistStaticRequest.ArtistUidList3333_2", artistStaticRequest.ArtistUidList) } fmt.Println("ArtistsArtworkStaticList---------------------5.5") if len(artistStaticRequest.ArtistUidList) == 0 { service.ResponseList(c, []ArtistArtworkStaticStaticData{}, service.OptionPage(records.Page, records.PageSize, records.Total)) return } else { fmt.Println("ArtistsArtworkStaticList---------------------5.6") //统计当前条件下的每个画家的画作数量 for _, v := range artistStaticRequest.ArtistUidList { artistArtworkTotal[v] = 0 for _, w := range records.Data { if w.ArtistUid == v { artistArtworkTotal[v]++ } } } } } //===================================画家筛选条件处理================================================================== var order []string if req.SortField != "" { var orderType = "asc" if req.SortOrder == "descend" { orderType = "desc" } order = append(order, fmt.Sprintf("%s %s", utils.CamelToSnake(req.SortField), orderType)) artistStaticRequest.Order = strings.Join(order, ",") } if req.IsMaster != 0 { switch req.IsMaster { case 1: artistStaticRequest.Where = fmt.Sprintf("IFNULL(caa_cert_num,'') != ''") case 2: artistStaticRequest.Where = fmt.Sprintf("IFNULL(caa_cert_num,'') = ''") } } if req.PassedRulerTotalStart != nil { if artistStaticRequest.Where != "" { artistStaticRequest.Where += " AND " } artistStaticRequest.Where += fmt.Sprintf("passed_ruler_total >= %d ", *req.PassedRulerTotalStart) } if req.PassedRulerTotalEnd != nil { if artistStaticRequest.Where != "" { artistStaticRequest.Where += " AND " } artistStaticRequest.Where += fmt.Sprintf("passed_ruler_total <= %d", *req.PassedRulerTotalEnd) } fmt.Println("artistStaticRequest.ArtistUidList444444", artistStaticRequest.ArtistUidList) fmt.Println("ArtistsArtworkStaticList---------------------6") datas, err := service.GrpcArtistInfoArtworkImpl.ArtistArtworkStatic(c, artistStaticRequest) if err != nil { service.ErrorWithMark(c, e.Failed, err, "ArtistsArtworkStaticList: service.GrpcArtistInfoArtworkImpl.ArtistArtworkStatic", "查询失败") return } fmt.Println("cost1", time.Now().Sub(startTime)) var returnData []ArtistArtworkStaticStaticData for _, v := range datas.Data { var lockTime string lockT, terr := stime.StringToTimeWithFormat(v.LatestLockTime, stime.Format_Normal_YMDhms) if terr == nil { lockTime = lockT.Format(stime.Format_Normal_YMDhms) } else { lockTime = v.LatestLockTime } returnData = append(returnData, ArtistArtworkStaticStaticData{ Idx: v.Idx, IsLock: v.IsLock, ArtistUid: v.ArtistUid, LatestLockTime: lockTime, PassedArtworkNumber: v.PassedArtworkTotal, LatestUpdatedAt: v.LatestUpdatedAt, RealName: v.RealName, PenName: v.PenName, StageName: v.StageName, ArtworkTotal: v.ArtworkTotal, RulerTotal: v.RulerTotal, PassedRulerTotal: v.PassedRulerTotal, PassedArtworkTotal: v.PassedArtworkTotal, NoAuditArtworkTotal: v.NoAuditArtworkTotal, IdNum: v.IdNum, Tnum: v.Tnum, CaaCertNum: v.CaaCertNum, IsMaster: v.CaaCertNum != "", NowConditionArtworkTotal: artistArtworkTotal[v.ArtistUid], }) } fmt.Println("cost2", time.Now().Sub(startTime)) // //查询inSource字段值 service.ResponseList(c, returnData, service.OptionPage(datas.Page, datas.PageSize, datas.Total), service.OptionAddField_ArtshowCount("artistUid")) } // 画家导入画家服务 func ImportUserToArtistService(c *gin.Context) { var req artist.UpdateInsourceReq if err := c.ShouldBindJSON(&req); err != nil { service.Error(c, e.InvalidParams, err, "无效参数") return } if req.ArtistUid == "" && len(req.ArtistUids) == 0 { service.Error(c, e.InvalidParams, nil, "参数不能为空") return } //先更新经纪人字段 var artistUids []string if req.ArtistUid != "" { artistUids = append(artistUids, req.ArtistUid) } if len(req.ArtistUids) > 0 { artistUids = append(artistUids, req.ArtistUids...) } for _, artistUid := range artistUids { //更新画家信息 artistInfo, err := service.GrpcArtistImpl.ArtistDetail(c, &artist.DetailRequest{Uid: artistUid}) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistImpl.UpdateInsource Error:"+err.Error(), "查询画家信息失败") return } //获取画家宝用户信息 userInfo, err := service.GrpcArtistInfoUserImpl.FindUser(c, &artistInfoUser.FindUserRequest{MgmtArtistUid: artistUid}) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistInfoUserImpl.FindUser Err:"+err.Error(), "查询画家信息失败") return } inviterRes, err := service.GrpcArtistInfoUserImpl.GetInviterUserList(c, &artistInfoUser.GetInviterUserListRequest{InvitedCode: userInfo.InviteCode}) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistInfoUserImpl.GetInviterUserList Err:"+err.Error(), "邀请人查询失败,无法更新经纪人字段") return } var inviterNames []string for _, v := range inviterRes.Data { inviterNames = append(inviterNames, v.RealName) } if strings.Contains("test,dev,xjjdev", config.Env) { time.Sleep(time.Second * 1) fmt.Println("测试环境等待1秒") } artistInfo.ProfileInfo.Agent = strings.Join(inviterNames, ",") //导入的时候更新性别和年龄 if userInfo.RealName != nil { var sex int32 if userInfo.RealName.Sex == "男" { sex = 1 } artistInfo.ProfileInfo.Age = userInfo.RealName.Age artistInfo.ProfileInfo.Gender = sex } _, err = service.GrpcArtistImpl.UpdateProfile(c, artistInfo.ProfileInfo) if err != nil { if strings.Contains(err.Error(), "证书") { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistImpl.UpdateProfile Err:"+err.Error(), "导入失败:美协证书编号不匹配") } else { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistImpl.UpdateProfile Err:"+err.Error(), "经纪人字段更新失败") } return } //将当前不在画家宝中展示的画作导入画家宝 if !updateArtworkInsourceAs3(c, artistUid) { return } //记录操作 go asUser.UpdateOperationTime(c, artistinfoArtshow.OdType_artistBaseInfo, userInfo.Id) } //再更新insource字段 if req.InSource == artist.InSource_InsourceNone { req.InSource = artist.InSource_InSourceManagerAndBox } _, err := service.GrpcArtistImpl.UpdateInsource(c, &req) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistImpl.UpdateInsource Error:"+err.Error(), "更新失败") return } //_, err = service.GrpcArtistInfoUserImpl.SyncDynamicUser(c, &artistInfoUser.SyncDynamicUserRequest{ArtistUid: req.ArtistUid, ArtistUidList: req.ArtistUids}) //if err != nil { // service.ErrorWithMark(c, e.Failed, err, fmt.Sprintf("ImportUserToArtistService: SyncDynamicUser: Error :%v", err.Error()), "更新失败") // return //} ////更新物理视图 // if len(artistUids) > 0 { //go asUser.DynamicUserService.UpdateUserWistArtistUid(artistUids...) //} service.Success(c) } func updateArtworkInsourceAs3(c *gin.Context, artistUid string) (ok bool) { //画家所有画作需要在画家宝可见 allartworks, err := service.GrpcArtworkQueryImpl.ArtworkPreviewList(c, &artwork_query.ArtworkPreviewListRequest{ Page: 1, PageSize: -1, ArtistUid: artistUid, }) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "ImportUserToArtistService: GrpcArtistImpl.UpdateInsource Error:"+err.Error(), "更新失败") return } //将管理系统的画作更新到画家宝 var artworkUids []string for _, v := range allartworks.Data { if v.InSource != 2 && v.InSource != 3 { artworkUids = append(artworkUids, v.ArtworkUid) } } if len(artworkUids) > 0 { _, err = service.GrpcArtworkImpl.UpdateInsource(c, &artwork.UpdateInsourceReq{ ArtworkUids: artworkUids, InSource: 3, }) if err != nil { service.ErrorWithMark(c, e.InvalidParams, err, "GrpcArtworkImpl.UpdateInsource Error:"+err.Error(), "更新失败") return } //生成画作审批记录,如果记录不存在,则默认为暂存状态 //var locktime = time.Now().Format(stime.Format_Normal_YMDhms) for _, uid := range artworkUids { _, _ = service.GrpcArtistInfoArtworkImpl.CreateArtworkLockRecord(c, &artistInfoArtwork.CreateArtworkLockRecordReq{ ArtistUid: artistUid, ArtworkUid: uid, Status: 1, //LockTime: locktime, }) } } ok = true return } // 画家导入画家宝 func ImportArtistToArtistinfo(c *gin.Context) { var req = artistInfoUser.ImportUserRequest{} if err := c.ShouldBindJSON(&req); err != nil { service.Error(c, e.InvalidParams, err, err.Error()) return } data, err := service.GrpcArtistInfoUserImpl.ImportUser(c, &req) if err != nil { fmt.Println("ImportUser: GrpcArtistInfoUserImpl.ImportUser Error:" + err.Error()) service.ErrorWithMark(c, e.Failed, err, "ImportUser: GrpcArtistInfoUserImpl.ImportUser Error:"+err.Error(), err.Error()) return } service.Success(c, data) }