fonchain-fiee/pkg/service/pay_bill/paybill.go

850 lines
26 KiB
Go
Raw Normal View History

2025-02-19 06:24:15 +00:00
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
}