package pay_bill import ( "bytes" "context" "encoding/json" "fmt" "io" "github.com/fonchain_enterprise/fonchain-main/api/artist" "github.com/fonchain_enterprise/fonchain-main/pkg/model/login" "github.com/fonchain_enterprise/fonchain-main/pkg/model/vo" "github.com/fonchain_enterprise/fonchain-main/pkg/service" "github.com/jinzhu/copier" "dubbo.apache.org/dubbo-go/v3/common/logger" artShow "github.com/fonchain_enterprise/fonchain-main/api/artShow" "github.com/fonchain_enterprise/fonchain-main/api/artwork_third_party" "github.com/fonchain_enterprise/fonchain-main/api/paybill" "github.com/fonchain_enterprise/fonchain-main/pkg/e" "github.com/fonchain_enterprise/fonchain-main/pkg/logic" "github.com/fonchain_enterprise/fonchain-main/pkg/serializer" "github.com/gin-gonic/gin" ) func StaticsInfo(c *gin.Context) { //声明一个变量 var req paybill.PayBillListreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 账单列表 resp, err := service.GrpcPayBillImpl.StaticInfo(context.Background(), &req) if err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } service.ResponseQuickMsg(c, e.Ok, "", resp) return } func DateList(c *gin.Context) { //声明一个变量 var req paybill.DateListRequest if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 账单列表 resp, err := service.GrpcPayBillImpl.DateList(context.Background(), &req) if err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } service.ResponseQuickMsg(c, e.Ok, "", resp) return } func UpdateProcessStatus(c *gin.Context) { bodyByte, _ := io.ReadAll(c.Request.Body) c.Request.Body = io.NopCloser(bytes.NewBuffer(bodyByte)) //声明一个变量 var req paybill.UpdateProcessStatusRequest if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } userInfo, err := login.GetUserInfoFromCV2(c) if err != nil { service.NotLoginRes(c, err.Error()) return } req.OperatorId = uint32(userInfo.ID) req.OperatorName = userInfo.NickName // 账单列表 resp, err := service.GrpcPayBillImpl.UpdateProcessStatus(context.Background(), &req) if err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } if req.ProcessStatus == 4 { var mm = make(map[string]interface{}, 20) _ = json.Unmarshal(bodyByte, &mm) if mm["artistUid"] != "" { go func() { _, _ = service.GrpcArtistImpl.UpdateArtistJoinShow(context.Background(), &artist.UpdateArtistJoinShowReq{ArtistUuid: fmt.Sprint(mm["artistUid"]), JoinShow: 1, ID: fmt.Sprint(req.Id)}) }() } } service.ResponseQuickMsg(c, e.Ok, "", resp) return } func PayBillList(c *gin.Context) { //声明一个变量 var req paybill.PayBillListreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 账单列表 resp, err := service.GrpcPayBillImpl.PayBillList(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } logger.Errorf(fmt.Sprintf("service.GrpcPayBillImpl.PayBillList,%+v %+v %+v \n", req, err, resp)) retPayBillInfo := make([]*paybill.PayBillListres_Info, 0) if len(resp.Data) <= 0 { newObj := new(vo.PayBillListres) err = copier.Copy(&newObj, resp) if err != nil { service.Error(c, e.Error, err) return } service.Success(c, newObj) return } //前端是否传经纪人 if req.Agent == "" { showDetailReq := artShow.ShowDetailReq{} uids := make([]string, 0) for i := 0; i < len(resp.Data); i++ { uids = append(uids, resp.Data[i].ShowUid) } showDetailReq.ShowUID = uids showDetailRes, err := service.GrpcArtShowImpl.ShowDetail(context.Background(), &showDetailReq) logger.Errorf(fmt.Sprintf("paybill service.GrpcArtShowImpl.ShowDetail,%+v %+v %+v \n", uids, err, showDetailRes)) if err != nil { service.ResponseMsg(c, e.InvalidParams, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } // 把画家画展次数塞进列表,屎山堆屎不能怪我,实在不想看这块代码 showMap := make(map[string]*artShow.ShowDetail) for _, singleShow := range showDetailRes.Data { showMap[singleShow.ShowUID] = singleShow } logger.Errorf(fmt.Sprintf("paybill map,%+v \n", showMap)) var artistUids []string for i, data := range resp.Data { if showMap[data.ShowUid] != nil { resp.Data[i].ArtistShowCount = showMap[data.ShowUid].ArtistShowCount resp.Data[i].ArtistUid = showMap[data.ShowUid].ArtistUID artistUids = append(artistUids, showMap[data.ShowUid].ArtistUID) } else { data.ArtistShowCount = "" } } logger.Errorf("paybill --- ", showDetailRes.Data) logger.Errorf("paybill showDetailRes.Data 的len:", showDetailRes.Data) // // 组装 画展包付款单 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(resp.Data)) fmt.Println("==============================================") for i := 0; i < len(resp.Data); i++ { // 账单列表 画作及画家信息 for j := 0; j < len(showDetailRes.Data); j++ { if showDetailRes.Data[j].ShowUID == resp.Data[i].ShowUid { // resp.Data[i].ArtistName = data.Data[j].ArtistName resp.Data[i].Agent = showDetailRes.Data[j].Agent // resp.Data[i].BankName = showDetailRes.Data[j].BankName // resp.Data[i].BankNum = showDetailRes.Data[j].BankNum break } } // artworkData[resp.Data[i].ShowUID] = resp.Data[i] } // // 组装 获取 画作 基础信息参数 artworkDataReq := artwork_third_party.AwDataByShowIdRequest{} artworkDataReq.ArtShowIds = uids // // 获取 画作 基础信息 以及 画家 账户信息 data, err := service.GrpcArtworkThirdPartyImpl.AwDataByShowId(context.Background(), &artworkDataReq) //var data = &artwork_third_party.AwDataByShowIdResponse{} if err != nil { logger.Errorf("AwDataByShowId query err", err) service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Ok, }) fmt.Println(len(data.Data)) return } if len(data.Data) < 1 { logger.Errorf("ExportShowPrice query params err :", "画作信息为空") newObj := new(vo.PayBillListres) err = copier.Copy(&newObj, resp) fmt.Println("12-3-123-") if err != nil { service.Error(c, e.Error, err) return } service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Data: newObj, Msg: "画作信息为空", Status: e.Ok, }) return } // // 组装 画作 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(resp.Data)) fmt.Println("===========123123===================================") for i := 0; i < len(resp.Data); i++ { // 账单列表 画作及画家信息 for j := 0; j < len(data.Data); j++ { if data.Data[j].ArtShowId == resp.Data[i].ShowUid { // resp.Data[i].ArtistName = data.Data[j].ArtistName // resp.Data[i].Agent = data.Data[j].Agent resp.Data[i].BankName = data.Data[j].BankName resp.Data[i].BankNum = data.Data[j].BankNum break } } // artworkData[resp.Data[i].ShowUID] = resp.Data[i] } fmt.Println("1---------", resp.Data) // service.ResponseQuickMsg(c, e.Ok, resp.Msg, resp.Data) // return //retPayBillInfo = resp.Data //service.ResponseQuickMsg(c, e.Ok, resp.Msg, resp) } else { showListReq := artShow.ShowListReq{} uids := make([]string, 0) for i := 0; i < len(resp.Data); i++ { uids = append(uids, resp.Data[i].ShowUid) } fmt.Println(uids) showListReq.Agent = req.Agent showListReq.IsShow = append(showListReq.IsShow, 4) showListReq.StartShowTime = req.StartShowDate showListReq.EndShowTime = req.EndShowDate showListReq.ArtistName = req.ArtistName showListRes, err := service.GrpcArtShowImpl.ShowListWithRel(context.Background(), &showListReq) fmt.Println(showListRes.Data) if len(showListRes.Data) == 0 { // 经纪人参数不为空,但是showListRes.Data为空的处理逻辑 logger.Errorf("ShowListWithRel query err: 未查到相关经纪人,需用汉字查询") service.ResponseQuickMsg(c, e.Ok, "未查到相关经纪人,需用汉字查询", "未查到相关经纪人,需用汉字查询") return } fmt.Println("ShowListWithRel err is : ", err) if err != nil { service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } if len(showListRes.Data) > 0 { for i := 0; i < len(uids); i++ { for j := 0; j < len(showListRes.Data); j++ { if uids[i] == showListRes.Data[j].ShowUID { resp.Data[i].Agent = showListRes.Data[j].Agent // break } } } } // 组装 获取 画作 基础信息参数 artworkDataReq := artwork_third_party.AwDataByShowIdRequest{} uidshow := make([]string, 0) for i := 0; i < len(showListRes.Data); i++ { uidshow = append(uidshow, showListRes.Data[i].ShowUID) } artworkDataReq.ArtShowIds = uidshow fmt.Println("artworkDataReq.ArtShowIds is :", artworkDataReq.ArtShowIds) // // 获取 画作 基础信息 以及 画家 账户信息 data, err := service.GrpcArtworkThirdPartyImpl.AwDataByShowId(context.Background(), &artworkDataReq) fmt.Println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(data.Data)) if err != nil { logger.Errorf("AwDataByShowId query err", err) service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } if len(data.Data) < 1 { logger.Errorf("ExportShowPrice query params err :", "画作信息为空") service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Data: showListRes.Data, // Msg: "画作信息为空1", Status: e.Ok, }) return } // // 组装 画作 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(showListRes.Data)) fmt.Println("=================123123=============================") for _, respItem := range resp.Data { found := false for _, dataItem := range data.Data { if found { break } for _, showItem := range showListRes.Data { if dataItem.ArtShowId == showItem.ShowUID && showItem.ShowUID == respItem.ShowUid { respItem.BankName = dataItem.BankName respItem.BankNum = dataItem.BankNum retPayBillInfo = append(retPayBillInfo, respItem) found = true break } } } } resp.Data = retPayBillInfo //service.ResponseQuickMsg(c, e.Ok, resp.Msg, resp) } newObj := new(vo.PayBillListres) err = copier.Copy(&newObj, resp) fmt.Println("2-----", newObj, err) if err != nil { service.Error(c, e.Error, err) return } service.Success(c, newObj) return } func SyncArtShowTalentAgency(c *gin.Context) { var req paybill.PayBillListreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 账单列表 resp, err := service.GrpcPayBillImpl.PayBillList(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } logger.Errorf(fmt.Sprintf("service.GrpcPayBillImpl.PayBillList,%+v %+v %+v \n", req, err, resp)) if len(resp.Data) <= 0 { newObj := new(vo.PayBillListres) err = copier.Copy(&newObj, resp) if err != nil { service.Error(c, e.Error, err) return } service.Success(c, newObj) return } showDetailReq := artShow.ShowDetailReq{} //showDetailReq := artShow.ShowListReq{} uids := make([]string, 0) for i := 0; i < len(resp.Data); i++ { uids = append(uids, resp.Data[i].ShowUid) } showDetailReq.ShowUID = uids showDetailRes, err := service.GrpcArtShowImpl.ShowDetail(context.Background(), &showDetailReq) logger.Errorf(fmt.Sprintf("paybill service.GrpcArtShowImpl.ShowDetail,%+v %+v %+v \n", uids, err, showDetailRes)) if err != nil { service.ResponseMsg(c, e.InvalidParams, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } for _, respItem := range resp.Data { for _, showItem := range showDetailRes.Data { if showItem.ShowUID == respItem.ShowUid { //更新代理经纪公司 if showItem.TalentAgency != "" && showItem.TalentAgency != "无" { updatePaybill := paybill.UpdatePaybillTalentAgencyRequest{} updatePaybill.ShowUid = respItem.ShowUid updatePaybill.TalentAgency = showItem.TalentAgency re, err := service.GrpcPayBillImpl.UpdatePaybillTalentAgency(context.Background(), &updatePaybill) if err != nil { logger.Errorf(fmt.Sprintf("paybill service.GrpcPayBillImpl.UpdatePaybillTalentAgency,%+v %+v %+v \n", updatePaybill, err, re)) return } } } } } service.Success(c, resp) return } func PayBillProcesses(c *gin.Context) { var req paybill.DetailRequest if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillUpdate ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } resp, err := service.GrpcPayBillImpl.PayBillProcesses(context.Background(), &req) if err != nil { service.Error(c, e.InvalidParams, err) return } service.Success(c, resp) return } func UpdatePayBill(c *gin.Context) { var req paybill.UpdatePayBillreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillUpdate ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } resp, err := service.GrpcPayBillImpl.UpdatePayBill(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Ok, resp.Msg, nil) return } service.ResponseQuickMsg(c, e.Ok, resp.Msg, nil) return } // 回滚画展包状态 func RollbackState(c *gin.Context) { bodyByte, _ := io.ReadAll(c.Request.Body) c.Request.Body = io.NopCloser(bytes.NewBuffer(bodyByte)) var req paybill.RollbackStatereq if err := c.ShouldBind(&req); err != nil { logger.Errorf("RollbackState ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } userInfo, err := login.GetUserInfoFromCV2(c) if err != nil { service.NotLoginRes(c, err.Error()) return } req.OperatorId = uint32(userInfo.ID) req.OperatorName = userInfo.NickName resp, err := service.GrpcPayBillImpl.RollbackState(context.Background(), &req) if err != nil { service.Error(c, e.Error, err) return } if req.ProcessStatus == 5 { var mm = make(map[string]interface{}, 20) _ = json.Unmarshal(bodyByte, &mm) if mm["artistUid"] != "" { go func() { _, _ = service.GrpcArtistImpl.UpdateArtistJoinShow(context.Background(), &artist.UpdateArtistJoinShowReq{ArtistUuid: fmt.Sprint(mm["artistUid"]), JoinShow: 2, ID: fmt.Sprint(req.Id)}) }() } } service.ResponseQuickMsg(c, e.Ok, resp.Msg, nil) return } // 未处理画展包数量 func NoCount(c *gin.Context) { var req paybill.NoCountreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("Count ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } resp, err := service.GrpcPayBillImpl.NoCount(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Ok, "返回值有问题", nil) return } service.ResponseQuickMsg(c, e.Ok, "", map[string]int32{"noCount": resp.NoCount}) return } // 付款单导出 func ExcelBill(c *gin.Context) { var req paybill.PayBillListreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("PayBillList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 账单列表 resp, err := service.GrpcPayBillImpl.PayBillList(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } payBillList := resp.Data if len(payBillList) <= 0 { service.ResponseQuickMsg(c, e.Failed, "暂无数据可导出", nil) return } // // 组装 获取 画作 基础信息参数 // artworkDataReq := artwork_third_party.AwDataByShowIdRequest{} // uids := make([]string, 0) // for i := 0; i < len(resp.Data); i++ { // uids = append(uids, resp.Data[i].ShowUid) // } // artworkDataReq.ArtShowIds = uids // fmt.Println(artworkDataReq.ArtShowIds) // // // 获取 画作 基础信息 以及 画家 账户信息 // data, err := service.GrpcArtworkThirdPartyImpl.AwDataByShowId(context.Background(), &artworkDataReq) // if err != nil { // logger.Errorf("AwDataByShowId query err", err) // service.ResponseMsg(c, e.SUCCESS, serializer.Response{ // Msg: err.Error(), // Status: e.Ok, // }) // fmt.Println(len(data.Data)) // return // } // if len(data.Data) < 1 { // logger.Errorf("ExportShowPrice query params err :", "画作信息为空") // service.ResponseMsg(c, e.SUCCESS, serializer.Response{ // Data: resp.Data, // Msg: "画作信息为空", // Status: e.Ok, // }) // return // } // // // 组装 画作 基础信息 // // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) // for i := 0; i < len(resp.Data); i++ { // // 账单列表 画作及画家信息 // for j := 0; j < len(data.Data); j++ { // if data.Data[j].ArtShowId == resp.Data[i].ShowUid { // // resp.Data[i].ArtistName = data.Data[j].ArtistName // resp.Data[i].Agent = data.Data[j].Agent // resp.Data[i].BankName = data.Data[j].BankName // resp.Data[i].BankNum = data.Data[j].BankNum // break // } // } // // artworkData[resp.Data[i].ShowUID] = resp.Data[i] // } showDetailReq := artShow.ShowDetailReq{} uids := make([]string, 0) for i := 0; i < len(payBillList); i++ { uids = append(uids, payBillList[i].ShowUid) } showDetailReq.ShowUID = uids showDetailRes, err := service.GrpcArtShowImpl.ShowDetail(context.Background(), &showDetailReq) if err != nil { service.ResponseMsg(c, e.InvalidParams, serializer.Response{ Msg: err.Error(), Status: e.Failed, }) return } fmt.Println(showDetailRes.Data) fmt.Println("showDetailRes.Data 的len:", showDetailRes.Data) if len(showDetailRes.Data) < 1 { logger.Errorf("ShowDetail query err :", "画展包信息为空,请选择其他日期") service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Data: "", Msg: "画展包信息为空,请选择其他日期", Status: 0, }) return } // // 组装 画展包付款单 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(payBillList)) fmt.Println("==============================================") for i := 0; i < len(payBillList); i++ { // 账单列表 画作及画家信息 for j := 0; j < len(showDetailRes.Data); j++ { if showDetailRes.Data[j].ShowUID == payBillList[i].ShowUid { // resp.Data[i].ArtistName = data.Data[j].ArtistName payBillList[i].Agent = showDetailRes.Data[j].Agent // resp.Data[i].BankName = showDetailRes.Data[j].BankName // resp.Data[i].BankNum = showDetailRes.Data[j].BankNum break } } // artworkData[resp.Data[i].ShowUID] = resp.Data[i] } // // 组装 获取 画作 基础信息参数 artworkDataReq := artwork_third_party.AwDataByShowIdRequest{} artworkDataReq.ArtShowIds = uids // // 获取 画作 基础信息 以及 画家 账户信息 data, err := service.GrpcArtworkThirdPartyImpl.AwDataByShowId(context.Background(), &artworkDataReq) if err != nil { logger.Errorf("AwDataByShowId query err", err) service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Ok, }) fmt.Println(len(data.Data)) return } //if len(data.Data) < 1 { // logger.Errorf("ExportShowPrice query params err :", "画作信息为空") // service.ResponseMsg(c, e.SUCCESS, serializer.Response{ // Data: resp, // Msg: "画作信息为空", // Status: e.Ok, // }) // return //} // // 组装 画作 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(payBillList)) fmt.Println("==============================================") for i := 0; i < len(payBillList); i++ { // 账单列表 画作及画家信息 if len(data.Data) > 0 { for j := 0; j < len(data.Data); j++ { if data.Data[j].ArtShowId == payBillList[i].ShowUid { // resp.Data[i].ArtistName = data.Data[j].ArtistName // resp.Data[i].Agent = data.Data[j].Agent payBillList[i].BankName = data.Data[j].BankName payBillList[i].BankNum = data.Data[j].BankNum break } } } // artworkData[resp.Data[i].ShowUID] = resp.Data[i] } fmt.Println("导出画展包测试:", resp.Data) var exportUrl string if exportUrl, err = logic.PayBillExcel(c, payBillList); err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } service.ResponseQuickMsg(c, e.Ok, resp.Msg, map[string]string{ "ExportUrl": exportUrl, }) return } // 下拉框画家所有列表 func ArtistAll(c *gin.Context) { var req paybill.ArtistAllreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("ArtistList ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } //下拉框 resp, err := service.GrpcPayBillImpl.ArtistAll(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } var list []*vo.ArtistAllres_Info err = copier.Copy(&list, resp.Data) if err != nil { service.Error(c, e.Error, err) return } service.ResponseQuickMsg(c, e.Ok, resp.Msg, list) return } // 根据画家来查找画展包付款单 func ArtistBill(c *gin.Context) { var req paybill.ArtistBillreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("ArtistBill ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } //查找画展包付款单 resp, err := service.GrpcPayBillImpl.ArtistBill(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } // 组装 获取 画作 基础信息参数 artworkDataReq := artwork_third_party.AwDataByShowIdRequest{} uids := make([]string, 0) for i := 0; i < len(resp.Data); i++ { uids = append(uids, resp.Data[i].ShowUid) } artworkDataReq.ArtShowIds = uids // 获取 画作 基础信息 以及 画家 账户信息 data, err := service.GrpcArtworkThirdPartyImpl.AwDataByShowId(context.Background(), &artworkDataReq) if err != nil { logger.Errorf("AwDataByShowId query err", err) service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Msg: err.Error(), Status: e.Ok, }) fmt.Println(len(data.Data)) return } if len(data.Data) < 1 { logger.Errorf("ExportShowPrice query params err :", "画作信息为空") service.ResponseMsg(c, e.SUCCESS, serializer.Response{ Data: resp.Data, Msg: "画作信息为空", Status: e.Ok, }) return } // 组装 画作 基础信息 // artworkData := make(map[string]*artwork_third_party.AwDataByShowIdResponse_Info, 0) // artworkData := make(map[string]*paybill.PayBillListres_Info, 0) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(len(resp.Data)) fmt.Println("==============================================") for i := 0; i < len(resp.Data); i++ { // 账单列表 画作及画家信息 for j := 0; j < len(data.Data); j++ { if data.Data[j].ArtShowId == resp.Data[i].ShowUid { // resp.Data[i].ArtistName = data.Data[j].ArtistName resp.Data[i].Agent = data.Data[j].Agent resp.Data[i].BankName = data.Data[j].BankName resp.Data[i].BankNum = data.Data[j].BankNum break } } // artworkData[resp.Data[i].ShowUID] = resp.Data[i] } service.ResponseQuickMsg(c, e.Ok, resp.Msg, resp.Data) return } // 根据画展包uid和姓名来更新画展包时间和地址 func UpdateAddress(c *gin.Context) { var req paybill.UpdateAddressreq if err := c.ShouldBind(&req); err != nil { logger.Errorf("UpdateAddress ShouldBind err", err) service.ResponseQuickMsg(c, e.Failed, err.Error(), nil) return } resp, err := service.GrpcPayBillImpl.UpdateAddress(context.Background(), &req) if err != nil { service.ResponseQuickMsg(c, e.Ok, resp.Msg, nil) return } service.ResponseQuickMsg(c, e.Ok, resp.Msg, nil) return } func GetArtistMapByIds(artistIds []string) map[string]*artShow.ArtistCount { if len(artistIds) > 0 { artshowResp, err := service.GrpcArtShowImpl.ArtistExhibitionCount(context.Background(), &artShow.ArtistExhibitionCountReq{ArtistUid: artistIds}) if err != nil { return nil } artistMap := make(map[string]*artShow.ArtistCount, len(artshowResp.ArtistShowCount)) if artshowResp != nil && len(artshowResp.ArtistShowCount) >= 1 { for k, v := range artshowResp.ArtistShowCount { artistMap[v.ArtistUid] = artshowResp.ArtistShowCount[k] } } return artistMap } return nil }