框架go-admin

gin+gorm

mysql表


CREATE TABLE `sq_user_ticket` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id',
`to_uid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '被投票用户的id',
`from_uid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '投票用户的id',
`from_user_name` char(100) NOT NULL DEFAULT '' COMMENT '用户名',
`from_nick_name` char(100) NOT NULL DEFAULT '' COMMENT '昵称',
`number` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '得票数量',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='单身用户主表';

model里


type SqUserTicket struct {
Id int `json:"Id" gorm:"type:int(11);primary_key"` //
ToUid int `json:"toUid" gorm:"type:int(11)"` //
FromUid int `json:"fromUid" gorm:"type:varchar(128);"` //
FromUserName string `json:"fromUserName" gorm:"type:varchar(255);"` //
FromNickName string `json:"fromNickName" gorm:"type:varchar(255);"` //
Number int64 `json:"number" gorm:"type:int(20)"` //
DataScope string `json:"dataScope" gorm:"-"`
Params string `json:"params" gorm:"-"`
BaseModel
} func (SqUserTicket) TableName() string {
return "sq_user_ticket"
} // 获取当天的数据 0点到24点
func (e *SqUserTicket) GetCount() ([]SqUserTicket, int, error) {
var doc []SqUserTicket table := orm.Eloquent.Select("*").Table(e.TableName()) if e.Id != 0 {
table = table.Where("id = ?", e.Id)
} if e.ToUid != 0 {
table = table.Where("to_uid = ?", e.ToUid)
}
if e.FromUid != 0 {
table = table.Where("from_uid = ?", e.FromUid)
} startTime, endTime := tools.GetCurrentTimestamp()
table = table.Where("created_at between ? and ?",startTime,endTime) var count int
if err := table.Find(&doc).Error; err != nil {
return nil, 0, err
}
table.Where("`deleted_at` IS NULL").Count(&count)
return doc, count, nil
} //获取当天的时间范伟 Time类型 2020-08-18 00:00:00 +0800 CST 2020-08-18 23:59:59 +0800 CST
func GetCurrentTimestamp() (beginTime, endTime time.Time) {
t := time.Now()
timeStr := t.Format("2006-01-02")
beginTime, _ = time.ParseInLocation("2006-01-02", timeStr, time.Local)
endTimeTmp := beginTime.Unix() + 86399
endTime = time.Unix(endTimeTmp, 0)
return beginTime, endTime
} //获取当天的时间范伟 int64类型 //1597680000 1597766399
func GetCurrentTimeInt64() (beginTime, endTime int64) {
t := time.Now()
timeStr := t.Format("2006-01-02")
beginTimeTmp, _ := time.ParseInLocation("2006-01-02", timeStr, time.Local)
beginTime = beginTimeTmp.Unix()
endTime = beginTime + 86399
return beginTime, endTime
}

控制器

func InsertSqUserTicket(c *gin.Context) {

	var data models.SqUserTicket
err := c.ShouldBindJSON(&data)
if err != nil {
app.Error(c, 400, err, err.Error())
return
}
//data.FromUid = tools.GetUserIdStr(c)
result, count, err := data.GetCount() if err != nil {
app.Error(c, 400, err, err.Error())
return
}
app.OK(c, result, fmt.Sprintf("%d", count))
}

执行的sql效果


(/media/haima/34E401CC64DD0E28/site/go/src/linkbook/xiangqin/go-admin/models/sqUserTicket.go:92)
[2020-08-18 15:28:59] [228.05ms] SELECT * FROM `sq_user_ticket` WHERE `sq_user_ticket`.`deleted_at` IS NULL AND ((to_uid = 1111) AND (from_uid = 222) AND (created_at between '2020-08-18 00:00:00' and '2020-08-18 23:59:59'))
[0 rows affected or returned ] (/media/haima/34E401CC64DD0E28/site/go/src/linkbook/xiangqin/go-admin/models/sqUserTicket.go:95)
[2020-08-18 15:29:32] [20.31ms] SELECT count(*) FROM `sq_user_ticket` WHERE (to_uid = 1111) AND (from_uid = 222) AND (created_at between '2020-08-18 00:00:00' and '2020-08-18 23:59:59') AND (`deleted_at` IS NULL)
[0 rows affected or returned ]

gin+grom 求当天的数据列表 0点到24点的更多相关文章

  1. UWP开发必备:常用数据列表控件汇总比较

    今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...

  2. 【WPF】闲着没事,写了个支持数据列表分页的帮助类

    支持分页的MVVM组件大家可以网上找,老周这个类只是没事写来娱乐一下的,主要是功能简单,轻量级,至少它满足了我的需求,也许还有未知的 bug . 这个类支持对数据列表进行分页处理,原理是利用 Skip ...

  3. js动态生成数据列表

    我们通常会使用table标签来展示数据内容,由于需要展示的数据内容是随时更换的,所以不可能将展示的数据列表写死在html写死在页面中,而是需要我们根据后台传来的数据随时更换,这个时候就需要我们使用js ...

  4. YTU 2618: B 求类中数据成员的最大值-类模板

    2618: B 求类中数据成员的最大值-类模板 时间限制: 1 Sec  内存限制: 128 MB 提交: 430  解决: 300 题目描述 声明一个类模板,类模板中有三个相同类型的数据成员,有一函 ...

  5. [ionic开源项目教程] - 第4讲 通Service层获取数据列表

    第4讲:通Service层获取数据列表 上一讲中页面的基本架构已完成,这一讲介绍如何通过service层从服务器请求数据,在通过controller层为载体,显示到视图层. 1.在services.j ...

  6. 解决Javascript大数据列表引起的网页加载慢/卡死问题。

    在一些网页应用中,有时会碰到一个超级巨大的列表,成千上万行,这时大部份浏览器解析起来就非常痛苦了(有可能直接卡死). 也许你们会说可以分页或动态加载啊?但是有可能需求不允许分页,动态加载?网络的延迟也 ...

  7. CS窗体程序数据列表分页

    以前,觉得winform程序分页很无趣,也没实际意义,直到近期的项目实践中让我认识到原来winform数据列表分页也是非常有必要的,因为由于数据量过大的情况,当窗体在初始加载数据的时候如果不做条件的限 ...

  8. ElasticSearch(十)Elasticsearch检索出的数据列表按字段匹配的优先顺序及搜索单词拼音一部分搜不到数据

    检索出的数据列表按字段匹配的优先顺序 一.举例 比如,发布一篇文章,文章包括基本的字段包括标题.发布时间.点击率.关键字.内容.当在页面中输入“教育”搜索关键词,会检索出指定字段包括“教育”的所有数据 ...

  9. HTML、CSS知识点,面试开发都会需要--No.7 数据列表

    No.7 数据列表 1.无序列表Unordered List 无序列表用block-level元素ul(unordered list)表示,每个item单独使用li(list)标记.如下代码所示: & ...

  10. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置、设置背景、数据列表)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

随机推荐

  1. KingbaseES V8R6 集群运维系列--sys_monitor.sh stop关闭集群分析

    案例说明: 对于KingbaseES V8R6集群关闭整个集群通过执行'sys_monitor.sh stop'命令完成,本案例解析了在执行'sys_monitor.sh stop'后,数据库的关闭方 ...

  2. 简单c++构建第一人称

    本文内容为UE4.27的文档教程 GameMode确定 新建的项目会自动生成GameMode,如果有更改,而不是使用默认的GameMode类,就需要在引擎的设置中更改 角色的实现 前后左右移动 //前 ...

  3. 一篇文章了解CI/CD管道全流程

    从CI/CD过程开始,包含所有阶段并负责创建自动化和无缝的软件交付的一系列步骤称为CI/CD管道工作流.使用CI/CD管道,软件发布工件可以从代码提交阶段到测试.构建.部署和生产阶段在管道中移动和前进 ...

  4. Ubuntu一键安装/卸载docker和docker compose,可指定版本或安装最新版本。

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 @ 目录 前言 一.docker是什么? 二.docker compose是什么? 三.安装步骤 1.Ubuntu安装脚本 2.生成脚 ...

  5. 【VMware vSAN】创建vSAN Max集群并配置挂载远程数据存储。

    VMware Explore 2023大会上,VMware正式发布了vSAN Max,这是VMware的一种全新分解存储架构,可以为vSphere集群提供PB级分解存储.vSAN Max是基于vSAN ...

  6. #树形dp,树链剖分#CF442D Adam and Tree

    题目 初始有一个点 1,每次新加入点 \(2\sim n+1\),给这条边染上新的颜色, 并且一种颜色只能出现在一条路径上,使得每个点到根节点的路径上颜色种类数尽量少 每次询问输出每个点到根节点路径上 ...

  7. OpenHarmony社区运营报告(2023年5月)

      本月快讯 ● 2023年6月11-13日,2023开放原子全球开源峰会即将在北京北人亦创国际会展中心盛大开幕.2023开放原子全球开源峰会上,OpenAtom OpenHarmony(以下简称&q ...

  8. openGauss数据库的安装与使用

    VMware+CentOS7.6+OpenGauss2.0.1 极简版安装 环境准备 Arch:x86-64 OS:Win11 VMware:16.1.2 安装 CentOS 7.6 CentOS 镜 ...

  9. openGauss基于4路鲲鹏服务器的性能调优

    1.概述 本文主要描述了在4路鲲鹏服务器上,通过软硬件协同优化配置达到openGauss数据库的极致性能的方法. 主要包括软硬件要求.BIOS配置.网卡配置.磁盘配置.服务器参数设置.数据库参数配置. ...

  10. CentOS 6.5 LAMP分主机平台的搭建及测试

    CentOS 6.5 LAMP分主机平台的搭建及测试 看似非常之完备,转来抽空测试学习 原文地址:http://www.it165.net/os/html/201403/7595.html 前言   ...