当前位置: 首页 > news >正文

宁波市网站建设公司网站制作价格表模板

宁波市网站建设公司,网站制作价格表模板,企业网站开源,厦门市建设局网站咨询电话前言 最近小组需要统计部门各种请假次数#xff0c;写了一个方法#xff0c;第一次实战中用到递归函数#xff0c;简单记录一下。 效果展示 这些数据不需要返回json#xff0c;这里这样是为了方便测试。可以通过这些数据完成其它的操作。 功能实现 钉钉服务端调试工具A…前言 最近小组需要统计部门各种请假次数写了一个方法第一次实战中用到递归函数简单记录一下。 效果展示 这些数据不需要返回json这里这样是为了方便测试。可以通过这些数据完成其它的操作。 功能实现 钉钉服务端调试工具API Explorer 感兴趣的可以在接口里面详细看一下参数这里就不一 一解释了 定义model 请求参数 package modeltype RequestDingLeave struct {UseridList string json:userid_list // 待查询用户的ID列表每次最多100个。StartTime int json:start_time // 开始时间 Unix时间戳支持最多180天的查询。EndTime int json:end_time // 结束时间Unix时间戳支持最多180天的查询。Offset int json:offset // 支持分页查询与size参数同时设置时才生效此参数代表偏移量偏移量从0开始。Size int json:size // 支持分页查询与offset参数同时设置时才生效此参数代表分页大小最大20。 } 响应参数 package model// DingLeaveStatus 请假状态 type DingLeaveStatus struct {StartTime int64 json:start_timeDurationPercent int json:duration_percentEndTime int64 json:end_timeLeaveCode string json:leave_code // 请假类型 个人事假d4edf257-e581-45f9-b9b9-35755b598952 非个人事假baf811bc-3daa-4988-9604-d68ec1edaf50 病假a7ffa2e6-872a-498d-aca7-4554c56fbb52DurationUnit string json:duration_unitUserID string json:userid }// DingLeaveResult 请假列表 type DingLeaveResult struct {LeaveStatus *[]DingLeaveStatus json:leave_statusHasMore bool json:has_more // 是否有更多数据 }// DingResponse 钉钉响应 type DingResponse struct {ErrCode int json:errcodeResult DingLeaveResult json:resultSuccess bool json:successErrMsg string json:errmsgRequestID string json:request_id }type DingUser struct {Id string json:idName string json:nameType map[string]int }功能逻辑 我这里只是想简单的实现一下功能并没有按照严格标准的mvc分层还请见谅 package controllerimport (bytesencoding/jsonfmtgithub.com/gin-gonic/ginleave/modelnet/httptime )var tmp map[string]string{d4edf257-e581-45f9-b9b9-35755b598952: 个人事假, a7ffa2e6-872a-498d-aca7-4554c56fbb52: 病假, baf811bc-3daa-4988-9604-d68ec1edaf50: 非个人事假} // code与请假类型对应// GetDepartmentLeaveStatus 统计部门请假状态 func GetDepartmentLeaveStatus(c *gin.Context) {userList : 323832232226246897,01320463195324064909,02280849645326263552,01546916272226288917 // 模拟数据leave : model.RequestDingLeave{UseridList: userList,StartTime: 1698624000000, EndTime: int(time.Now().UnixMilli()), // 拿到当前的时间戳Offset: 0,Size: 2,}res : []model.DingLeaveStatus{}res, err : GetLeaveStatus(leave, res)if err ! nil {return}statistics : map[string]model.DingUser{}for _, v : range res {_, exist : statistics[v.UserID]if !exist {statistics[v.UserID] model.DingUser{Type: map[string]int{}}}statistics[v.UserID].Type[tmp[v.LeaveCode]]}c.JSON(http.StatusOK, statistics)fmt.Println(int(time.Now().Weekday()))return }// GetLeaveStatus 获取请假状态 func GetLeaveStatus(leave model.RequestDingLeave, res []model.DingLeaveStatus) ([]model.DingLeaveStatus, error) {// 将json数据编码为字节数组var send func(leave model.RequestDingLeave) error// 切片作为函数参数传递时为值传递如果每次传入新的切片需要增加返回值接收这里直接使用的传入的res作为变量并返回send func(leave model.RequestDingLeave) error {jsonLeave, err : json.Marshal(leave)if err ! nil {fmt.Println(json.Marshal(leave) failed:, err)return err}url : fmt.Sprintf(https://oapi.dingtalk.com/topapi/attendance/getleavestatus?%s, access_token企业token) // access_token 填企业tokenbuffer : bytes.NewBuffer(jsonLeave)response, err : http.Post(url, application/json, buffer)if err ! nil {fmt.Println(http.Post(\https://oapi.dingtalk.com/topapi/attendance/getleavestatus\, \application/json\, buffer) failed:, err)return err}var dingResp model.DingResponseerr json.NewDecoder(response.Body).Decode(dingResp) // 将响应的json绑定到dingResp中if err ! nil {return err}res append(res, *dingResp.Result.LeaveStatus...)if dingResp.Result.HasMore { // 如果有更多的记录再次请求并添加到切片后面leave.Offset leave.Sizesend(leave) // 递归}return nil}err : send(leave)return res, err } 其他 package routerimport (github.com/gin-gonic/ginleave/controller )func SetupRouter() *gin.Engine {r : gin.Default()r.GET(/test, controller.GetDepartmentLeaveStatus)return r } package mainimport leave/routerfunc main() {router : router.SetupRouter()router.Run() }
http://www.huolong8.cn/news/49072/

相关文章:

  • 做视频网站挣钱吗简单网页模版
  • 织梦做的网站怎么传到网上工程承包合作协议书
  • 用ps做网站主页永清网站建设
  • 电子商务网站建设学什么建筑设计作品展示网站
  • 供求信息网站开发背景旅游网站首页设计图片
  • 建网站首选公司网上销售平台怎么做
  • 可以做一键拨号和导航的网站网页前端设计流程
  • 用微信微博网站来做睡眠经济seo关键词推广方式
  • 360网站建设搜索专业网站制作设
  • wordpress视屏站WordPress缩略图短代码
  • 破解wordpress网站密码提升学历机构
  • 做设计在哪个网站找图片大全杭州企业网站建设公司怎么样
  • wordpress中英文站点制作网站需要什么软件
  • 济南做网站找泉诺哈尔滨seo优化专注
  • 阿里云php网站建设教程帝舵手表官方网站
  • 宾馆做网站企业网站seo平台
  • 美丽乡村建设网站模板提供网站建设收益分录
  • 网站的搜索功能一般怎么做天元建设集团有限公司注册资金
  • 建设婚恋网站基本功能有哪些百度关键词规划师
  • 内蒙古城乡建设厅网站免费制作logo软件
  • 河南省建设工程质量安全监督网站广西备案工信部网站
  • 网站开发实验报告三游戏推广公司怎么接游戏的
  • 网页设计与网站开发的区别windows用什么wordpress
  • 手机开发和网站开发前景开创者wordpress素材
  • 重庆专业网站设计服务网站建设汉狮怎么样
  • 北京住房和城乡建设官方网站wordpress 视频 广告
  • 开发app和微网站有哪些功能网页设计实训内容及过程
  • 网站建设和媒体渠道百度问一问免费咨询
  • 更新网站内容廉洁四川官方网权威发布
  • 网站策划书的内容如何做网站二维码