You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
package controller
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"github.com/gogf/gf/v2/errors/gerror"
|
|
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
|
|
"vistor/api/v1"
|
|
|
|
"vistor/internal/service"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
Visitor = cVisitor{}
|
|
|
|
)
|
|
|
|
|
|
|
|
type cVisitor struct{}
|
|
|
|
|
|
|
|
func (c *cVisitor) VisitorAccess(ctx context.Context, req *v1.VisitorAccessReq) (res *v1.VisitorAccessRes, err error) {
|
|
|
|
err = service.Visitor.VisitorAccess(ctx, req)
|
|
|
|
if err != nil {
|
|
|
|
return nil, gerror.Newf("提交失败,请稍后再试")
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *cVisitor) VisitorStatistic(ctx context.Context, req *v1.VisitorStatisticReq) (res *v1.VisitorStatisticRes, err error) {
|
|
|
|
diff := service.Visitor.GetDiffDays(gtime.New(req.EndDate).Time, gtime.New(req.StartDate).Time)
|
|
|
|
duration := gconv.Int(diff) + 1
|
|
|
|
if duration > 30 {
|
|
|
|
return nil, gerror.Newf("请选择30天内日期进行查询")
|
|
|
|
}
|
|
|
|
|
|
|
|
res, err = service.Visitor.VisitorStatistic(ctx, req)
|
|
|
|
if err != nil {
|
|
|
|
return nil, gerror.Newf("系统繁忙,请稍后再试")
|
|
|
|
}
|
|
|
|
return
|
|
|
|
}
|