# bk **Repository Path**: cheng-yinghua/bk ## Basic Information - **Project Name**: bk - **Description**: 主要以Spring boot, Kotlin,Java作为基础的一些基础学习记录 - **Primary Language**: Kotlin - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-20 - **Last Updated**: 2022-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot ## README #### 介绍 主要以Spring boot, Kotlin,Java作为基础的一些基础学习记录。 国际化规范: 语言代码(ISO 639),国家代码(ISO 3166-1) 目前包含了 spring boot, thymeleaf,web, webflux, r2dbc-mysql, jpa, MyBatisPlus, springdoc [blog.gitee.com](https://blog.gitee.com) #### 安装教程 1. 安装[jdk](https://www.oracle.com/java/technologies/downloads/#JDK8) 2. 安装[MySQL](https://downloads.mysql.com/archives/installer/) 2. 安装[maven](https://archive.apache.org/dist/maven/maven-3/) 3. 安装[Idea](https://www.jetbrains.com/idea/download/other.html) 4. 安装[mysql客户端](https://downloads.mysql.com/archives/workbench/) 5. 配置环境变量 #### docker下安装RabbitMQ docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=rabbitmq -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management docker logs rabbitmq-- // :前是本机端口,后面是虚拟机端口 http://localhost:15672 默认账号和密码: guest/guest 针对未开发的方法,使用注解,很方便 TODO("Not yet implemented") 修改mysql用户的密码 alter user 'root'@'localhost' identified with mysql_native_password by '1234xyz'; flush privileges; #### 运行前记得修改spring boot配置文件中的mysql的账号和密码 mvn spring-boot:run -Dspring-boot.run.arguments=--logging.level.org.springframework=TRACE,--logging.level.org.penguin.study.bk=TRACE mvn clean package -Dmaven.test.skip=true 跳过单元测试的编译与测试 mvn clean package -DskipTests 跳过单元测试,但是会编译测试代码 ### 建表,建库 create database kbg default character set utf8mb4 collate utf8mb4_general_ci; create table tbl_users ( id varchar(32) not null, organization_id varchar(32) default null, full_name varchar(40) default null, nick_name varchar(40) not null, account varchar(20) not null, password_ varchar(60) not null, birthday date default null, gender int(11) default null, email varchar(64) default null, logo blob, status varchar(100) default null, description varchar(255) default null, deleted int(11) default 0, version bigint(20) default 0, created_by varchar(40) default null, created_time datetime default current_timestamp, updated_by varchar(40) default null, updated_time datetime default null, primary key (id), unique key uk_table_users_account (account) ) engine=InnoDB default charset=utf8mb4; create table sys_dict ( id varchar(36) not null, type tinyint(1) unsigned zerofill default '0' comment '字典类型0为string,1为number', dict_name varchar(100) default null comment '字典名称', dict_code varchar(100) default null comment '字典编码', description varchar(255) default null comment '描述', default_item varchar(36) default null, deleted int(11) default '0' comment '删除状态', created_by varchar(36) default null comment '创建人', created_time datetime default current_timestamp comment '创建时间', updated_by varchar(36) default null comment '更新人', updated_time datetime default null comment '更新时间', primary key (id) using btree, unique key index_table_dict_code (dict_code) using btree ) engine=InnoDB default charset=utf8mb4 row_format=compact; create table sys_dict_item ( id varchar(36) not null, dict_id varchar(36) default null comment '字典id', item_text varchar(100) default null comment '字典项文本', item_value varchar(100) default null comment '字典项值', description varchar(255) default null comment '描述', sort_order int(11) default null comment '排序', status int(11) default null comment '状态(1启用 0不启用)', deleted int(11) default '0' comment '删除状态', created_by varchar(36) default null comment '创建人', created_time datetime default current_timestamp comment '创建时间', updated_by varchar(36) default null comment '更新人', updated_time datetime default null comment '更新时间', primary key (id) using btree ) engine=InnoDB default charset=utf8mb4 row_format=compact; alter table sys_dict_item add unique index uqi_item_dict_id_item_value_status_deleted (dict_id, item_value, status, deleted) using btree; create table tbl_messages ( id varchar(32) not null, text varchar(600) default null, checked tinyint(4) default null, checked_username varchar(40) default null, created_by varchar(40) default null, created_time datetime default current_timestamp, updated_by varchar(40) default null, updated_time datetime default null, version bigint(20) default null, primary key (id) ) engine=InnoDB default charset=utf8mb4; alter table tbl_messages add column owner varchar(32) null after version; create table tbl_organizations ( id varchar(32) not null, name varchar(45) default null, code varchar(45) default null, status varchar(100) default null, deleted int(11) default 0, version bigint(20) default null, created_by varchar(40) default null, created_time datetime default current_timestamp, updated_by varchar(40) default null, updated_time datetime default null, primary key (id) ) engine=InnoDB default charset=utf8mb4; create table tbl_roles ( id varchar(32) not null, name varchar(45) default null, description varchar(200) default null, status varchar(100) default null, deleted int(11) default 0, version bigint(20) default null, created_by varchar(40) default null, created_time datetime default current_timestamp, updated_by varchar(40) default null, updated_time datetime default null, primary key (id) ) engine=InnoDB default charset=utf8mb4; create table tbl_event_logs ( id varchar(32) not null, operator_id varchar(32) default null, operator_full_name varchar(40) default null, request_data varchar(2000) not null, request_ip varchar(40) not null, request_time datetime default null, response_data varchar(2000) default null, response_time datetime default null, description varchar(255) default null, deleted int(11) default '0', created_by varchar(40) default null, created_time datetime default current_timestamp, updated_by varchar(40) default null, updated_time datetime default null, primary key (id) ) engine=innodb default charset=utf8mb4; docker network create elastic docker pull docker.elastic.co/elasticsearch/elasticsearch:7.16.3 docker run --name elasticsearch7163 --net elastic -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.16.3 docker exec -it elasticsearch7163 bash cd config vi elasticsearch.yml cluster.name: "docker-cluster" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization xpack.security.enabled: true xpack.security.transport.ssl.enabled: true 保存退出 重启elasticsearch cd ../bin elasticsearch-setup-passwords interactive 下面这些账号都可以设置密码 apm_system、kibana_system、kibana、logstash_system、beats_system、remote_monitoring_user、elastic docker pull docker.elastic.co/kibana/kibana:7.16.3 docker run --name kibana7163 --net elastic -p 127.0.0.1:5601:5601 -e "ELASTICSEARCH_HOSTS=http://elasticsearch7163:9200" docker.elastic.co/kibana/kibana:7.16.3 docker exec -it kibana7163 bash cd config vi kibana.yml server.name: kibana server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://elasticsearch:9200" ] monitoring.ui.container.elasticsearch.enabled: true elasticsearch.username: "elastic" elasticsearch.password: "1234xyz" i18n.locale: "zh-CN" exit docker restart kibana7163 Elastic Web管理端:http://localhost:5601/ wsl -d docker-desktop sysctl -w vm.max_map_count=262144 post http://localhost:8090/sys/dict/add { "name": "红旗H5", "price": 19.08, "quantity": "199", "category": "家用轿车", "description": "外观不错", "manufacturer": "一汽" } { "name": "OMODA 5", "price": 11.08, "quantity": 599, "category": "SUV", "description": "外观不错", "manufacturer": "奇瑞" } docker run -dit --name RabbitMQ -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=1234xyz -p 15672:15672 -p 5672:5672 rabbitmq:management http://localhost:15672 ###保存字典数据及相关查询接口范例 post http://localhost:8090/sys/dict/add { "dictId": "性别", "dictCode":"dict_gender", "description": "说明" }, 在添加完性别字典后,需要将下面的dictId替换为数据库中的值 post http://localhost:8090/sys/dictItem/add { "dictId": "1484770970091606017", "itemText":"男", "itemValue":"0", "sortOrder":"1", "status":"1", "description": "男性" } { "dictId": "1484770970091606017", "itemText":"女", "itemValue":"1", "sortOrder":"2", "status":"1", "description": "女性" } http://localhost:8090/sys/dict/loadDictItems/dict_gender http://localhost:8090/sys/dict/getDictText/dict_gender/0 redis cli的使用: redis-cli -n 1 keys * flushall flushdb del key get key clear quit, exit jBPM https://hub.docker.com/r/jboss/jbpm-server-full docker run -it -p 8096:8080 -p 8093:8001 -d --name jbpm-server-full -e JBPM_DB_DRIVER=mysql -e JBPM_DB_HOST=192.168.33.62 -e JBPM_DB_PORT=3306 -e JBPM_DB_NAME=kbg -e JBPM_DB_USER=root -e JBPM_DB_PASSWORD=1234xyz jboss/jbpm-server-full:latest Business Central - http://localhost:8096/business-central KIE Server - http://localhost:8096/kie-server/services/rest/server KIE Server Swagger docs - http://localhost:8096/kie-server/docs jBPM case management - http://localhost:8096/jbpm-casemgmt wbadmin wbadmin admin,analyst,user,process-admin,kie-server krisv krisv admin,analyst,user,process-admin,kie-server john john analyst,Accounting,PM,kie-server sales-rep sales-rep analyst,sales,kie-server katy katy analyst,HR,kie-server jack jack analyst,IT,kie-server create table flow_templates ( id varchar(32) not null, flow_code varchar(60) not null comment '流程编码', flow_name varchar(150) default null comment '流程名称', flow_remarks varchar(240) default null comment '备注', deleted int(11) not null default '0' comment '删除标志', created_by varchar(50) default null comment '创建人', created_time datetime default null comment '创建日期', updated_by varchar(50) default null comment '更新人', updated_time datetime default null comment '更新日期', primary key (id) using btree ) engine=innodb default charset=utf8mb4 row_format=compact; create table flow_template_nodes ( id varchar(32) not null, node_user_id varchar(32) default null comment '节点人员id', node_user_name varchar(40) default null comment '节点人员账户', node_user_real_name varchar(40) default null comment '节点人员姓名', node_role_code varchar(60) default null comment '节点角色标识', flow_id varchar(32) default null comment '流程模板id', node_seq int(11) default null comment '排序', created_by varchar(50) default null comment '创建人', created_time datetime default null comment '创建日期', updated_by varchar(50) default null comment '更新人', updated_time datetime default null comment '更新日期', primary key (id) using btree ) engine=innodb default charset=utf8mb4 row_format=compact; create table flow_details ( id varchar(32) not null comment '主键', deleted int(11) not null default '0' comment '删除标志', node_user_id varchar(32) default null comment '节点人员id', node_user_name varchar(40) default null comment '节点人员账号', node_user_real_name varchar(40) default null comment '节点人员名名', node_role_code varchar(40) default null comment '节点角色标识', flow_id varchar(32) default null comment '流程模板id', node_seq int(11) default null comment '排序', busi_code varchar(150) default null comment '业务编码', node_state varchar(60) default null comment '审批状态', remark varchar(240) default null comment '审批意见', file_link varchar(1024) default null comment '审批附件', busi_id varchar(32) default null comment '业务id', data_state varchar(32) default null comment '节点状态(0未审批 1正在审批 2已审批)', node_time datetime default null comment '审批时间', created_by varchar(40) default null comment '创建人', created_time datetime default null comment '创建日期', updated_by varchar(40) default null comment '更新人', updated_time datetime default null comment '更新日期', primary key (id) using btree ) engine=innodb default charset=utf8mb4 row_format=compact; #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)