forked from ebhomengo/niki
temp goroutine
This commit is contained in:
parent
5359a0746f
commit
e0c8408c35
|
|
@ -3,7 +3,9 @@ package adminkindboxhandler
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
parambenefactor "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor"
|
||||||
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
|
||||||
|
paramrefertime "git.gocasts.ir/ebhomengo/niki/param/admin/refer_time"
|
||||||
arrayfunc "git.gocasts.ir/ebhomengo/niki/pkg/array_func"
|
arrayfunc "git.gocasts.ir/ebhomengo/niki/pkg/array_func"
|
||||||
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
||||||
queryparam "git.gocasts.ir/ebhomengo/niki/pkg/query_param"
|
queryparam "git.gocasts.ir/ebhomengo/niki/pkg/query_param"
|
||||||
|
|
@ -44,6 +46,10 @@ import (
|
||||||
// @Router /admins/kindboxes [get].
|
// @Router /admins/kindboxes [get].
|
||||||
func (h Handler) GetAll(c echo.Context) error {
|
func (h Handler) GetAll(c echo.Context) error {
|
||||||
var req param.KindBoxGetAllRequest
|
var req param.KindBoxGetAllRequest
|
||||||
|
bnfChan := make(chan map[uint]parambenefactor.Data)
|
||||||
|
deliverRtChan := make(chan map[uint]paramrefertime.Data)
|
||||||
|
rerunRtChan := make(chan map[uint]paramrefertime.Data)
|
||||||
|
errChan := make(chan error)
|
||||||
|
|
||||||
if bErr := c.Bind(&req); bErr != nil {
|
if bErr := c.Bind(&req); bErr != nil {
|
||||||
return echo.NewHTTPError(http.StatusBadRequest)
|
return echo.NewHTTPError(http.StatusBadRequest)
|
||||||
|
|
@ -63,25 +69,35 @@ func (h Handler) GetAll(c echo.Context) error {
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
go func() {
|
||||||
|
defer close(bnfChan)
|
||||||
|
benefactors, err := h.adminBenefactorAggSvc.GetByIDs(c.Request().Context(), getBenefactorIDs(kindBoxes.Data))
|
||||||
|
bnfChan <- benefactors
|
||||||
|
errChan <- err
|
||||||
|
}()
|
||||||
|
|
||||||
benefactors, bErr := h.adminBenefactorAggSvc.GetByIDs(c.Request().Context(), getBenefactorIDs(kindBoxes.Data))
|
go func() {
|
||||||
if bErr != nil {
|
defer close(rerunRtChan)
|
||||||
msg, code := httpmsg.Error(sErr)
|
deliverReferTime, err := h.referTimeAggSvc.GetReferTimeByIDs(c.Request().Context(), getDeliverReferTimeIDs(kindBoxes.Data))
|
||||||
|
deliverRtChan <- deliverReferTime
|
||||||
|
errChan <- err
|
||||||
|
}()
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
go func() {
|
||||||
}
|
defer close(deliverRtChan)
|
||||||
|
returnReferTime, err := h.referTimeAggSvc.GetReferTimeByIDs(c.Request().Context(), getReturnReferTimeIDs(kindBoxes.Data))
|
||||||
|
rerunRtChan <- returnReferTime
|
||||||
|
errChan <- err
|
||||||
|
}()
|
||||||
|
|
||||||
deliverReferTime, dRErr := h.referTimeAggSvc.GetReferTimeByIDs(c.Request().Context(), getDeliverReferTimeIDs(kindBoxes.Data))
|
benefactors := <-bnfChan
|
||||||
if dRErr != nil {
|
deliverReferTime := <-rerunRtChan
|
||||||
msg, code := httpmsg.Error(dRErr)
|
returnReferTime := <-deliverRtChan
|
||||||
|
|
||||||
return echo.NewHTTPError(code, msg)
|
|
||||||
}
|
|
||||||
|
|
||||||
returnReferTime, rRErr := h.referTimeAggSvc.GetReferTimeByIDs(c.Request().Context(), getReturnReferTimeIDs(kindBoxes.Data))
|
|
||||||
if rRErr != nil {
|
|
||||||
msg, code := httpmsg.Error(rRErr)
|
|
||||||
|
|
||||||
|
if err, ok := <-errChan; ok {
|
||||||
|
defer close(errChan)
|
||||||
|
} else {
|
||||||
|
msg, code := httpmsg.Error(err)
|
||||||
return echo.NewHTTPError(code, msg)
|
return echo.NewHTTPError(code, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue