From e1e93f2d07ff721b637979b672e457996d97ab4c Mon Sep 17 00:00:00 2001 From: gy <997485446@qq.com> Date: Mon, 8 Aug 2022 09:25:37 +0800 Subject: [PATCH] =?UTF-8?q?feat=20dockerfile=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 27 +++++++ docs/approval.sql | 151 ++++++++++++++++++++++++++++++++++++ docs/env/local/conf.ini | 13 ++++ docs/env/local/dubbogo.yaml | 27 +++++++ pkg/model/init.go | 3 + 5 files changed, 221 insertions(+) create mode 100644 Dockerfile create mode 100644 docs/approval.sql create mode 100644 docs/env/local/conf.ini create mode 100644 docs/env/local/dubbogo.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7520aff --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM golang:1.18-alpine as builder + +MAINTAINER GY "gengyang36@163.com" + +RUN go env -w GO111MODULE=on && \ + go env -w GOPROXY=https://goproxy.cn,direct + +WORKDIR /app + +COPY . /app/fonchain-approval + +WORKDIR /app/fonchain-approval +RUN go mod download +RUN go build -o /app/fonchain-approval/bin/approval cmd/app.go + + +FROM alpine +RUN apk update --no-cache && apk add --no-cache ca-certificates tzdata +ENV TZ Asia/Shanghai +WORKDIR /app/approval +#通过名称引用 +COPY --from=builder /app/fonchain-approval/bin/approval ./bin/approval +COPY --from=builder /app/fonchain-approval/conf/ ./conf/ + +WORKDIR /app/approval/bin +EXPOSE 20009 +ENTRYPOINT ["./approval"] \ No newline at end of file diff --git a/docs/approval.sql b/docs/approval.sql new file mode 100644 index 0000000..88533b8 --- /dev/null +++ b/docs/approval.sql @@ -0,0 +1,151 @@ +-- -------------------------------------------------------- +-- 主机: 127.0.0.1 +-- 服务器版本: 5.7.38 - MySQL Community Server (GPL) +-- 服务器操作系统: Linux +-- HeidiSQL 版本: 12.0.0.6468 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- 导出 表 fontree-approval.approval 结构 +CREATE TABLE IF NOT EXISTS `approval` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `domain` varchar(50) NOT NULL COMMENT '环境变量', + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `submitter_id` int(11) DEFAULT NULL COMMENT '提交人ID', + `submitter_name` varchar(50) NOT NULL DEFAULT '' COMMENT '提交人名称缓存', + `approver_id` int(11) DEFAULT NULL COMMENT '审核人ID', + `approver_name` varchar(50) NOT NULL DEFAULT '' COMMENT '审核人名称缓存', + `status` tinyint(4) DEFAULT NULL COMMENT '状态0-待 1-可 2-否', + `copy_users` json NOT NULL COMMENT '抄送人名称缓存', + `type` enum('content','work','exhibition','show','bundle') DEFAULT NULL COMMENT '类型', + `content` tinytext COMMENT '提交审批内容', + `reply` tinytext COMMENT '回复内容', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='审批'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.approval_exhibition 结构 +CREATE TABLE IF NOT EXISTS `approval_exhibition` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `approval_id` bigint(20) DEFAULT NULL COMMENT '申请的id', + `exhibition_id` bigint(20) DEFAULT NULL COMMENT '画展包的id', + `package_name` varchar(50) DEFAULT NULL COMMENT '包名称', + `package_id` bigint(20) DEFAULT NULL COMMENT '包id', + `package_size` varchar(50) DEFAULT NULL COMMENT '平尺数', + `package_number` varchar(50) DEFAULT NULL COMMENT '序号', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='绑定的画展包'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.approval_work 结构 +CREATE TABLE IF NOT EXISTS `approval_work` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `approval_id` bigint(20) DEFAULT NULL COMMENT '申请的id', + `work_id` bigint(20) DEFAULT NULL COMMENT '作品类型id', + `artwork_id` bigint(20) DEFAULT NULL COMMENT '作品id', + `artwork_name` varchar(50) DEFAULT NULL COMMENT '作品名称', + `artist_name` varchar(50) DEFAULT NULL COMMENT '作家名称', + `artwork_cover` varchar(50) DEFAULT NULL COMMENT '作品封面', + `artwork_number` varchar(50) DEFAULT NULL COMMENT '作品序号', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='审批绑定画作表'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.bundle 结构 +CREATE TABLE IF NOT EXISTS `bundle` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `return_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '归还时间', + `received_at` datetime DEFAULT NULL COMMENT '领取时间', + `applications_num` int(11) DEFAULT NULL COMMENT '申请数量', + `approval_id` bigint(20) DEFAULT NULL COMMENT '绑定的申请id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='画展包数量审批'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.department_approval_setting 结构 +CREATE TABLE IF NOT EXISTS `department_approval_setting` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `deleted_at` int(11) NOT NULL DEFAULT '0' COMMENT '删除标记', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `department_id` bigint(20) NOT NULL COMMENT '绑定的部门ID', + `copy_users` json NOT NULL COMMENT '抄送人', + `approver_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '审批人ID', + `approver_name` varchar(50) DEFAULT NULL COMMENT '审批人名称', + `domain` varchar(50) NOT NULL COMMENT '环境env', + PRIMARY KEY (`id`), + UNIQUE KEY `index` (`department_id`,`deleted_at`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='部门抄送人设置'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.exhibition 结构 +CREATE TABLE IF NOT EXISTS `exhibition` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `approval_id` bigint(20) DEFAULT NULL COMMENT '关联申请的ID', + `address` varchar(255) NOT NULL DEFAULT '', + `received_at` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='审批-画展包'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.show 结构 +CREATE TABLE IF NOT EXISTS `show` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `artist_num` int(11) NOT NULL DEFAULT '0' COMMENT '艺术家数量', + `show_at` datetime NOT NULL COMMENT '画展时间', + `approval_id` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='画展审批'; + +-- 数据导出被取消选择。 + +-- 导出 表 fontree-approval.work 结构 +CREATE TABLE IF NOT EXISTS `work` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `deleted_at` int(11) NOT NULL COMMENT '删除时间', + `created_at` datetime NOT NULL COMMENT '创建时间', + `updated_at` datetime NOT NULL COMMENT '更新时间', + `return_at` datetime DEFAULT NULL COMMENT '送还时间', + `received_at` datetime DEFAULT NULL COMMENT '领取时间', + `approval_id` bigint(20) NOT NULL COMMENT '绑定的申请id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='画作申请审批'; + +-- 数据导出被取消选择。 + +/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */; diff --git a/docs/env/local/conf.ini b/docs/env/local/conf.ini new file mode 100644 index 0000000..0d3df58 --- /dev/null +++ b/docs/env/local/conf.ini @@ -0,0 +1,13 @@ +[mysql] +Db = mysql +DbHost = 127.0.0.1 +DbPort = 3306 +DbUser = root +DbPassWord = 123456 +DbName = fontree-approval + +[redis] +RedisDB = +RedisAddr = 127.0.0.1:6379 +RedisPW = +RedisDBNAme = \ No newline at end of file diff --git a/docs/env/local/dubbogo.yaml b/docs/env/local/dubbogo.yaml new file mode 100644 index 0000000..4105c77 --- /dev/null +++ b/docs/env/local/dubbogo.yaml @@ -0,0 +1,27 @@ +dubbo: + registries: + demoZK: + protocol: zookeeper + address: 127.0.0.1:2181 + protocols: + triple: + name: tri + port: 20009 + provider: + services: + ApprovalProvider: + interface: com.fontree.microservices.common.Approval # must be compatible with grpc or dubbo-java + auth: "true" + filter: echo,metrics,token,accesslog,tps,generic_service,execute,pshutdown,auth,fonValidateFilter + params: + .accessKeyId: "SYD8-Approval-12" + .secretAccessKey: "Al-Approval-FDF1" + +# logger: +# lumberjack-config: +# filename: logs.log +# maxsize: 1 +# maxage: 3 +# maxbackups: 5 +# localtime: true +# compress: true \ No newline at end of file diff --git a/pkg/model/init.go b/pkg/model/init.go index b9a1861..78602c1 100644 --- a/pkg/model/init.go +++ b/pkg/model/init.go @@ -36,6 +36,9 @@ func init() { //MySQL数据库 path := strings.Join([]string{DbUser, ":", DbPassWord, "@tcp(", DbHost, ":", DbPort, ")/", DbName, "?charset=utf8&parseTime=true"}, "") + fmt.Println("-----------------------------") + fmt.Println(path) + fmt.Println("-----------------------------") //连接数据库 Database(path) }