forked from ebhomengo/niki
Compare commits
1 Commits
develop
...
stage/hame
| Author | SHA1 | Date |
|---|---|---|
|
|
e0c8408c35 |
|
|
@ -3,7 +3,9 @@ package adminkindboxhandler
|
|||
import (
|
||||
"net/http"
|
||||
|
||||
parambenefactor "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor"
|
||||
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"
|
||||
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
|
||||
queryparam "git.gocasts.ir/ebhomengo/niki/pkg/query_param"
|
||||
|
|
@ -44,6 +46,10 @@ import (
|
|||
// @Router /admins/kindboxes [get].
|
||||
func (h Handler) GetAll(c echo.Context) error {
|
||||
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 {
|
||||
return echo.NewHTTPError(http.StatusBadRequest)
|
||||
|
|
@ -63,25 +69,35 @@ func (h Handler) GetAll(c echo.Context) error {
|
|||
|
||||
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))
|
||||
if bErr != nil {
|
||||
msg, code := httpmsg.Error(sErr)
|
||||
go func() {
|
||||
defer close(rerunRtChan)
|
||||
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))
|
||||
if dRErr != nil {
|
||||
msg, code := httpmsg.Error(dRErr)
|
||||
|
||||
return echo.NewHTTPError(code, msg)
|
||||
}
|
||||
|
||||
returnReferTime, rRErr := h.referTimeAggSvc.GetReferTimeByIDs(c.Request().Context(), getReturnReferTimeIDs(kindBoxes.Data))
|
||||
if rRErr != nil {
|
||||
msg, code := httpmsg.Error(rRErr)
|
||||
benefactors := <-bnfChan
|
||||
deliverReferTime := <-rerunRtChan
|
||||
returnReferTime := <-deliverRtChan
|
||||
|
||||
if err, ok := <-errChan; ok {
|
||||
defer close(errChan)
|
||||
} else {
|
||||
msg, code := httpmsg.Error(err)
|
||||
return echo.NewHTTPError(code, msg)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue