Merge remote-tracking branch 'origin/main'

This commit is contained in:
陈俊宏 2024-11-28 10:51:14 +08:00
commit a32889eba0
2 changed files with 98 additions and 0 deletions

44
Dockerfile Normal file
View File

@ -0,0 +1,44 @@
## 使用官方Go镜像作为构建环境
#FROM golang:1.21.0 AS builder
#
## 设置工作目录
#WORKDIR /app
#
## 复制项目源码
#COPY . .
#
## 复制go模块依赖文件
#COPY go.mod go.sum ./
#
## 安装go模块依赖
#RUN go env -w GOPROXY=https://goproxy.cn,direct
#RUN go mod tidy
#
## 编译Go应用程序生成静态链接的二进制文件
#RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server .
# 创建最终镜像用于运行编译后的Go程序
FROM alpine
RUN echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories \
&& echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/community' >>/etc/apk/repositories \
&& apk update && apk add tzdata \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
ENV server = "admin"
# 设置工作目录
WORKDIR /app
# 将编译好的二进制文件从构建阶段复制到运行阶段
COPY /server .
#COPY --from=builder /app/server .
COPY .env .
#COPY ./front ./front
ENV TZ=Asia/Shanghai
# 设置容器启动时运行的命令
ENTRYPOINT ["/app/server", "-a", "$server"]

View File

@ -0,0 +1,54 @@
package croncmdmodel
import (
"github.com/qit-team/snow-core/db"
"sync"
"time"
)
var (
once sync.Once
m *CronCmdModel
)
// 实体
type CronCmd struct {
CmdId string `xorm:"'cmd_id' UNSIGNED INT"`
CmdName string `xorm:"'cmd_name' varchar(20)"`
UserIds string `xorm:"'user_ids' varchar(50)"`
EntryId int `xorm:"'entry_id' int(10)"`
ReadDbId int `xorm:"'read_db_id' int(10)"`
WriteDbId int `xorm:"'write_db_id' int(11)"`
ExecuteType int `xorm:"'execute_type' TINYINT"`
ExecuteRead string `xorm:"'execute_read' TEXT"`
ExecuteWrite string `xorm:"'execute_write' TEXT"`
Cron string `xorm:"'cron' varchar(64)"`
MatchJson string `xorm:"'match_json' JSON"`
SendTimeType int `xorm:"'send_time_type' TINYINT"`
SendLimit int `xorm:"'send_limit' SMALLINT"`
ReportChannelId int `xorm:"'report_channel_id' int(11)"`
CreateTime time.Time `xorm:"'create_time' datetime"`
UpdateTime time.Time `xorm:"'update_time' timestamp"`
Status int `xorm:"'status' TINYINT"`
FailReason string `xorm:"'fail_reason' varchar(200)"`
DeletedTime time.Time `xorm:"'deleted_time' datetime"`
}
// 表名
func (m *CronCmd) TableName() string {
return "cron_cmd"
}
// 私有化防止被外部new
type CronCmdModel struct {
db.Model //组合基础Model集成基础Model的属性和方法
}
// 单例模式
func GetInstance() *CronCmdModel {
once.Do(func() {
m = new(CronCmdModel)
//m.DiName = "" //设置数据库实例连接默认db.SingletonMain
})
return m
}