/* * @desc:测试定时任务 * @company:云南省奇讯科技有限公司 * @Author: yixiaohu * @Date: 2021/7/16 15:52 */ package task import ( "context" "fmt" "github.com/gogf/gf/v2/os/gtime" "github.com/tiger1103/gfast/v3/internal/app/system/dao" "github.com/tiger1103/gfast/v3/internal/app/system/model" "github.com/tiger1103/gfast/v3/internal/app/system/model/do" "github.com/tiger1103/gfast/v3/internal/app/system/service" wxDao "github.com/tiger1103/gfast/v3/internal/app/wxApplet/dao" "github.com/tiger1103/gfast/v3/third/thirdParty" ) func Test1(ctx context.Context) { fmt.Println("无参测试") service.SysJobLog().Add(ctx, &do.SysJobLog{ TargetName: "test1", CreatedAt: gtime.Now(), Result: "无参测试运行成功", }) } func Test2(ctx context.Context) { //1、获取到app用户表中,项目id为60的,且没有删除的所有用户 columns := dao.BusConstructionUser.Columns() var listData []*model.DiSanFang dao.BusConstructionUser.Ctx(ctx).As("a"). LeftJoin(wxDao.SysProjectTeamMember.Table()+" as b", "b.team_id = a.team_id and b.openid=a.openid"). Where("a."+columns.ProjectId, 60). WhereNotNull("a." + columns.SfzNumber). Fields("a.*,b.post_id").Scan(&listData) //2、调用第三方接口 if listData != nil && len(listData) > 0 { //处理得到数据 var rr []*thirdParty.RealUser for _, datum := range listData { //判断是否是班长 classManagerFlag := "0" if datum.PostId == "10" { classManagerFlag = "1" } rr = append(rr, &thirdParty.RealUser{ UserName: datum.UserName, ClassManagerFlag: classManagerFlag, Phone: datum.Phone, Sex: datum.Sex, CardType: "0", CardNumber: datum.SfzNumber, UserType: "0", Nation: datum.SfzNation, Birthday: datum.SfzBirth, Address: datum.SfzSite, CardStartTime: datum.SfzStart, CardEndTime: datum.SfzEnd, Pic: "http://xny.yj-3d.com:7363" + datum.PacePhoto, }) } //调用 batchSize := 10 total := len(rr) for start := 0; start < total; start += batchSize { end := start + batchSize if end > total { end = total } batch := rr[start:end] err := thirdParty.SendRy(ctx, batch) if err != nil { fmt.Println("发送田东人员信息失败", err) } } } }