tiangong-doc tiangong-doc
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
  • 天宫架构

    • 前端架构

    • 后端架构

      • 后端基础功能

        • 天宫框架简介
          • 下载&安装
          • 使用说明
            • Mapper Sql
            • Xcode使用
            • 生成解决方案
            • 导入表
            • 预览
            • 编辑
            • 生成代码
            • 同步
            • application.yml
            • application-dev.yml
        • 用户相关
        • 使用文档
        • 增删改查
      • 开发脚本

    • 打包部署

    • 扩展功能

    • 业务组件

    • 国际化

    • 迁移助手

    • 历史版本

    • 更新日志

    • 开发手册

    • 权限平台

  • 基础架构
  • 天宫架构
  • 后端架构
  • 后端基础功能
2023-06-01
目录

天宫框架简介

image-20230128161227118

# 天宫框架后端简介

天宫框架是一款快速开发的脚手架,一站式的微服务落地解决方案的架构。

采用的springcloud aibaba分布式微服务技术架构

springboot版本 2.4.5

springcloud alibaba版本 2021.1

ORM框架采用mybatis-plus

支持多种数据库, mysql, oracle, sqlServer, 达梦, doris, clickhouse.....

# 前言

该框架是后台java后端应用框架, 需要具备基本的java基础知识:

  • IDEA会基本使用
  • Maven的基本常识, setting.xml文件, 清理、编译、打包
  • springboot框架的基本使用
  • redis的常用操作命令
  • ...

# 模块介绍

image-20240520143520052

模块 说明
core 核心模块, 基础的CRUD, 工具类, 请求&响应的统一处理, 异常, 国际化, 代码名称转换等
sso 权限模块, 天宫框架对权限平台的支持, 内置了很多操作权限平台的方法, 比如登录, 注册, 修改密码, 获取用户/机构信息等
system 系统模块, 包含了页面用户登录, 风格样式, 登录/操作日志等
component 组件模块, 里面包含了如放大镜, 下拉框, 富文本框, 缓存管理, excel导出, 后台任务等等组件相关的功能
third 三方库模块, 框架封装了操作第三方库相关的功能
cloud 微服务模块, 集成springcloud alibaba模块, 集成nacos, openFeign等微服务用到的功能
dynamic-ds 动态数据源模块, 项目支持连接多个数据源, 可以自由切换数据源, 包括全局数据源, 会话级数据源, 单次请求的数据源的自由切换
sharding-sphere 分库分表模块, 框架支持分库分表, 如果有大数据量的项目可以使用
ns 内审模块, 抽取了业务中常用的内审模块的功能
job 定时任务模块, 支持定时任务相关的功能

# 版本更迭

image-20240520151022219

# 使用公司私服仓库

点击下载settings.xml配置文件 (opens new window)

# 使用开发助手插件

# 下载&安装

点击下载插件jar (opens new window)

image-20240523142042515

# 使用说明

image-20240615102856129

  • Mapper Sql管理: 管理所有的Dao层, 方便大家快速写sql
  • Xcode: 集成了代码生成功能

# Mapper Sql

image-20240615103156791

说明:

这个功能主要解决了自己编写xml的问题, 快速定位, 自动补全等待

  1. 在dao层自己自定义一方法, 参数使用@Param(Constants.WRAPPER) Wrapper queryWrapper
  2. 如果类上方的方块是一半蓝色, 一半紫色, 说明本地它没有找到dao.xml文件, 点击就可以自动生成了
  3. 点击方法旁边的笔, 就可以手动输入想要编写的sql

image-20240615103851353

  1. 点击保存后, 自动就会把sql插入到对应的xml中, 无需自己编写xml

  2. 如果需要查看实际的xml, 点击4个方块的图标, 可以立刻跳转至方块中查看xml内容

  3. ${ew.customSqlSegment}里面存储了代码sql片段, 框架会自动拼接sql到最后

  4. ${ew.sqlSegment}和上面功能类似, 但是需要自己写上where ${ew.sqlSegment}, 这个是为了写一些固定的sql条件使用

# Xcode使用

image-20240615104544415

# 生成解决方案

image-20240615105053236

说明

  1. 点击+
  2. 填写自己的数据库信息
  3. 点击测试连接
  4. 点击OK保存

image-20240615105229662

  1. 点击中间大按钮, 就可以下载了(大概5-10秒等待时间)

image-20240615105335028

image-20240615105520612

  1. 自己选择一个地方保存起来

# 导入表

在这个库里面, 将自己的业务表建好后, 可以导入到插件中

image-20240615110446293

# 预览

点击某行的预览, 可以快速查看文件内容

image-20240615105802111

# 编辑

image-20240615105930858

说明:

  1. 点击行的编辑
  2. 这里页面比较复杂, 由于时间问题, 暂时里面内嵌的是网页的编辑页面
  3. 和往期的生成工具一样, 可以设置一些页面的查询, 展示, 后台的包名等待
  4. 点击页面的保存才行, 因为里面是一个网页, 然后再关闭窗口就行了

# 生成代码

支持单行的生成, 或多选后, 右击进行多行的生成

image-20240615110555787

代码结构说明:

image-20240615110756547

结构说明

使用天宫框架生成的解决方案, 外层有个项目代码的文件夹, 里面是 xxx_server, xxx_web

我们使用idea直接打开xxx_server, 这步很重要, 插件会以它作为基础包路径, 后面会自动向上找web

点击生成

image-20240615111446244

如果本地已经存在, 它会提示xxx文件已经存在了, 不会覆盖你的代码

image-20240615111612074

说明:

前端每次生成会附带一个app.js, index.js, 存在了这两个就忽略

# 同步

image-20240615111834285

说明:

开发过程中, 我们又往表里面新增了几个字段

我们直接点击同步, 插件会拉取最新的表结构进来

会自动补齐实体类中不存在的字段, 并不是完全覆盖类, 自定义的属性和方法依然存在

# 框架通用配置说明

# application.yml

server:
  # 项目端口
  port: 9527
  # 虚拟路径配置
  servlet:
    context-path: /
  tomcat:
    uri-encoding: UTF-8
spring:
  application:
    # 服务名称配置
    name: demo1219_server
  # 上传文件功能配置
  servlet:
    multipart:
      max-file-size:  10MB
      max-request-size:  20MB
  # 开发环境    
  profiles:
    active: dev
    
# mybatis配置
mybatis-plus:
  config-location: classpath:mybatis/mybatis-config.xml
  # 搜索指定包别名
  type-aliases-package: com.eci
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapper-locations: classpath*:mybatis/mapper/**/*Dao.xml
  global-config:
    db-config:
      #主键类型 AUTO:"数据库ID自增 如mysql" INPUT:"用户输入ID,如:oracle",ASSIGN_ID:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: ASSIGN_ID
      #id-type: ID_WORKER
      #字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
      field-strategy: NOT_EMPTY
      #数据库类型
      db-type: MYSQL
      #db-type: ORACLE
      table-underline: false

# 分页方言设置
pagehelper:
  #helperDialect: oracle
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
  pageSizeZero: true

# 项目本身设置
project:
  # 排除token认证设置
  token:
    exclude:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

# application-dev.yml

spring:
  # 数据库的配置
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.100.105:3308/ECI_TG?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=CONVERT_TO_NULL
    username: ECI_TG
    password: ECI_TG_1qaz
    type: com.alibaba.druid.pool.DruidDataSource
  # redis配置  
  redis:
    host: 192.168.106.182
    port: 6379
    database: 6
    password: Redis_1qaz
  cache:
    redis:
      cache-null-values: false
# 日志配置      
logging:
  level:
    # 开发使用debug, 生产改成info
    com.eci: debug
    org.springframework: warn
  config: classpath:logback-spring.xml
  file:
    path: .\logs

# 使用权限平台配置
project:
  dpssorole:
    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCa4KHNwDX44gGmmIAtRu4gjVYtGWZzcm4t+1wjUD4dn7fMLPvuK7ai4UrfDeEJE1RPwudJw+lJ6crql8wSIg7/DbTlG3ihsCT6dT9H5B9OoeR7K9VWUesaW/iyVL6HXiYOANabW14pvJATDmdq91Tfgp6PSQyvdfiRdV4r07crpQIDAQAB
    # 权限平台 api
    host: http://192.168.106.187:9008/api
    apiKey: ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U=
    # 菜单配置, MAIN为默认的主系统, 有多个子系统的时候, 可以加逗号
    menuID: MAIN-e8eabc8eb9563ffd210e55bd681bca97

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
上次更新: 2024/7/15 09:55:15
npm源切换到本地
用户相关

← npm源切换到本地 用户相关→

最近更新
01
EciReport模板导出_Core
09-10
02
EciReport模板导出
09-09
03
Core权限平台接口
07-25
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式