// Package authPayment ----------------------------- // @file : service.go // @author : JJXu // @contact : wavingbear@163.com // @time : 2024/11/29 下午4:15 // ------------------------------------------- package authPayment import ( "context" "fmt" artShow "github.com/fonchain_enterprise/fonchain-main/api/artShow" "github.com/fonchain_enterprise/fonchain-main/pkg/cache" "github.com/fonchain_enterprise/fonchain-main/pkg/service" "github.com/fonchain_enterprise/fonchain-main/pkg/service/artistInfo/asUtil" "github.com/fonchain_enterprise/fonchain-main/pkg/utils" "sync" ) func getViewAuthPaymentList(req *GetViewAuthPaymentListRequest) (data []*artShow.ViewAuthPaymentData, page, pageSize, total int64, err error) { if req.ArtworkNumBegin != nil { req.AddWhere("artwork_num >= %d", *req.ArtworkNumBegin) } if req.ArtworkNumEnd != nil { req.AddWhere("artwork_num <= %d", *req.ArtworkNumEnd) } if req.PriceBegin != nil { req.AddWhere("price >= %d", *req.PriceBegin) } if req.PriceEnd != nil { req.AddWhere("price <= %d", *req.PriceEnd) } if req.RulerBegin != nil { req.AddWhere("ruler >= %d", *req.RulerBegin) } if req.RulerEnd != nil { req.AddWhere("ruler <= %d", *req.RulerEnd) } if req.PayTimeBegin != nil { req.AddWhere("pay_time >= '%s'", *req.PayTimeBegin) } if req.PayTimeEnd != nil { req.AddWhere("pay_time <= '%s'", *req.PayTimeEnd) } if req.SendTimeBegin != nil { req.AddWhere("send_time >= '%s'", *req.SendTimeBegin) } if req.SendTimeEnd != nil { req.AddWhere("send_time <= '%s'", *req.SendTimeEnd) } fmt.Println("req.where:", req.Where) var protoReq = artShow.GetViewAuthPaymentListRequest{Query: &artShow.ViewAuthPaymentData{}} asUtil.RequestDataConvert(req, &protoReq) protoReq.Order = "id desc" fmt.Println("protoReq.where:", protoReq.Where) resp, err := service.GrpcArtShowImpl.GetViewAuthPaymentList(context.Background(), &protoReq) if err != nil { return } data = resp.List page = resp.Page pageSize = resp.PageSize total = resp.Total if data == nil { resp.List = []*artShow.ViewAuthPaymentData{} } return } func getViewAuthPaymentArtShowList(req *GetAuthPaymentArtShowListRequest, currentPer int32) (data []*artShow.ViewAuthPaymentArtShow, page, pageSize, total int64, err error) { if req.ArtworkNumBegin != nil { req.AddWhere("artwork_num >= %d", *req.ArtworkNumBegin) } if req.ArtworkNumEnd != nil { req.AddWhere("artwork_num <= %d", *req.ArtworkNumEnd) } if req.PriceBegin != nil { req.AddWhere("price >= %d", *req.PriceBegin) } if req.PriceEnd != nil { req.AddWhere("price <= %d", *req.PriceEnd) } if req.RulerBegin != nil { req.AddWhere("ruler >= %d", *req.RulerBegin) } if req.RulerEnd != nil { req.AddWhere("ruler <= %d", *req.RulerEnd) } if req.SendTimeBegin != nil { req.AddWhere("latest_send_pay_time >= '%s'", *req.SendTimeBegin) } if req.SendTimeEnd != nil { req.AddWhere("latest_send_pay_time <= '%s'", *req.SendTimeEnd) } if req.SendPayCountBegin != nil { req.AddWhere("send_pay_count >= %d", *req.SendPayCountBegin) } if req.SendPayCountEnd != nil { req.AddWhere("send_pay_count <= %d", *req.SendPayCountEnd) } if req.HasSend != 0 { req.AddWhere(fmt.Sprintf("send_pay_count %s", utils.IfGec(req.HasSend == 1, "=0", ">0"))) req.HasSend = 0 } fmt.Println("req.where:", req.Where) fmt.Println("req.where:", req.Where) var protoReq = artShow.GetViewPaymentArtShowListRequest{Query: &artShow.ViewAuthPaymentArtShow{}} asUtil.RequestDataConvert(req, &protoReq) fmt.Println("protoReq.where:", protoReq.Where) protoReq.PayStatus = req.PayStatus protoReq.CurrentPer = currentPer //刚创建的画展包没有比例,每次查询时更新一遍 if req.Order == "" { req.Order = "id desc" } else { req.Order += ",id desc" } resp, err := service.GrpcArtShowImpl.GetViewPaymentArtShowList(context.Background(), &protoReq) if err != nil { return } data = resp.List page = resp.Page pageSize = resp.PageSize total = resp.Total if data == nil { data = []*artShow.ViewAuthPaymentArtShow{} } return } var currentPerValueLocker = sync.RWMutex{} // SetCurrentPerValue 设置比例值配置,将其设置为默认 func SetCurrentPerValue(value int) { currentPerValueLocker.Lock() defer currentPerValueLocker.Unlock() cache.RedisClient.Set("authPaymentPer", value, 0) } // GetCurrentPerValue 获取比例值配置,作为页面上的默认比例 func GetCurrentPerValue() (value int) { currentPerValueLocker.RLock() defer currentPerValueLocker.RUnlock() value, _ = cache.RedisClient.Get("authPaymentPer").Int() if value == 0 { value = 10 } return }