118 lines
3.4 KiB
Go
118 lines
3.4 KiB
Go
|
// ==========================================================================
|
|||
|
// GFast自动生成controller操作代码。
|
|||
|
// 生成日期:2023-09-26 14:31:07
|
|||
|
// 生成路径: internal/app/system/controller/plan_daily.go
|
|||
|
// 生成人:gfast
|
|||
|
// desc:日报
|
|||
|
// company:云南奇讯科技有限公司
|
|||
|
// ==========================================================================
|
|||
|
|
|||
|
package controller
|
|||
|
|
|||
|
import (
|
|||
|
"context"
|
|||
|
"github.com/gogf/gf/v2/frame/g"
|
|||
|
"github.com/gogf/gf/v2/os/gctx"
|
|||
|
"github.com/tiger1103/gfast/v3/api/v1/system"
|
|||
|
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
|||
|
"math/rand"
|
|||
|
"strconv"
|
|||
|
"strings"
|
|||
|
"time"
|
|||
|
)
|
|||
|
|
|||
|
type planDailyController struct {
|
|||
|
BaseController
|
|||
|
}
|
|||
|
|
|||
|
var PlanDaily = new(planDailyController)
|
|||
|
|
|||
|
// List 列表
|
|||
|
func (c *planDailyController) List(ctx context.Context, req *system.PlanDailySearchReq) (res *system.PlanDailySearchRes, err error) {
|
|||
|
res, err = service.PlanDaily().List(ctx, req)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// Get 获取日报
|
|||
|
func (c *planDailyController) Get(ctx context.Context, req *system.PlanDailyGetReq) (res *system.PlanDailyGetRes, err error) {
|
|||
|
res = new(system.PlanDailyGetRes)
|
|||
|
res.PlanDailyInfoRes, err = service.PlanDaily().GetById(ctx, req.Id)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// Add 添加日报
|
|||
|
func (c *planDailyController) Add(ctx context.Context, req *system.PlanDailyAddReq) (res *system.PlanDailyAddRes, err error) {
|
|||
|
err = service.PlanDaily().Add(ctx, req)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// Edit 修改日报
|
|||
|
func (c *planDailyController) Edit(ctx context.Context, req *system.PlanDailyEditReq) (res *system.PlanDailyEditRes, err error) {
|
|||
|
err = service.PlanDaily().Edit(ctx, req)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// Delete 删除日报
|
|||
|
func (c *planDailyController) Delete(ctx context.Context, req *system.PlanDailyDeleteReq) (res *system.PlanDailyDeleteRes, err error) {
|
|||
|
err = service.PlanDaily().Delete(ctx, req.Ids)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
var mp = make(map[string]string)
|
|||
|
|
|||
|
type DayEntity struct {
|
|||
|
ProjectId string `json:"project_id"`
|
|||
|
SourceId string `json:"source_id"`
|
|||
|
Name string `json:"name"`
|
|||
|
Table string `json:"table"`
|
|||
|
//PlanName string `json:"plan_name"`
|
|||
|
//PlanId string `json:"plan_id"`
|
|||
|
//WeekRealityId string `json:"week_reality_id"`
|
|||
|
SourceType string `json:"source_type"`
|
|||
|
Cnt int `json:"cnt"`
|
|||
|
DataTime string `json:"data_time"`
|
|||
|
}
|
|||
|
|
|||
|
// 模拟日报-自动生成数据
|
|||
|
func myTask(ctx context.Context) {
|
|||
|
//1、随机哪几张表
|
|||
|
mp["1"] = "qianqi_xiangbian"
|
|||
|
mp["2"] = "qianqi_nibianqi"
|
|||
|
mp["3"] = "qianqi_guangfuban_ids_zhuangdian"
|
|||
|
mp["4"] = "qianqi_guangfuban_ids_zhijia"
|
|||
|
mp["5"] = "qianqi_guangfuban_ids_lizhu"
|
|||
|
mp["6"] = "qianqi_guangfuban_ids"
|
|||
|
//2、创建随机种子
|
|||
|
rand.Seed(time.Now().Unix())
|
|||
|
intn := rand.Intn(6) + 1
|
|||
|
intnTwo := rand.Intn(6) + 1
|
|||
|
//3、随机挑选一个表查询,随机获取数据
|
|||
|
table := mp[strconv.Itoa(intn)]
|
|||
|
array, _ := g.DB().Model(table).Ctx(ctx).OrderRandom().Limit(intnTwo).All()
|
|||
|
var oneEntity []*DayEntity
|
|||
|
for _, data := range array {
|
|||
|
var twoEntity = new(DayEntity)
|
|||
|
data.Struct(twoEntity)
|
|||
|
twoEntity.Table = table
|
|||
|
twoEntity.SourceType = strings.ReplaceAll(table, "qianqi_", "")
|
|||
|
twoEntity.Cnt = intnTwo
|
|||
|
twoEntity.DataTime = time.Unix(1621741532, 0).Format("2006-01-02")
|
|||
|
oneEntity = append(oneEntity, twoEntity)
|
|||
|
}
|
|||
|
g.DB().Model("plan_daily").Ctx(ctx).Insert(oneEntity)
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
func init() {
|
|||
|
ctx := gctx.New()
|
|||
|
ticker := time.NewTicker(6 * time.Hour)
|
|||
|
go func() {
|
|||
|
for {
|
|||
|
select {
|
|||
|
case <-ticker.C:
|
|||
|
myTask(ctx)
|
|||
|
}
|
|||
|
}
|
|||
|
}()
|
|||
|
}
|