Pig 代码生成器代码部署
创建表
执行脚本
CREATE TABLE `sys_tenancy` (
`id` varchar(32) NOT NULL COMMENT '主键ID',
`tenancy_name` varchar(64) NOT NULL COMMENT '租户名称',
`valid_time` datetime NOT NULL COMMENT '承租生效时间',
`invalid_time` datetime NOT NULL COMMENT '承租失效时间',
`app_key` varchar(64) NOT NULL COMMENT '租户访问令牌',
`is_del` tinyint(4) DEFAULT '0',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`is_encrypt` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否加密传输:0否 1是',
`max_fill_month_limit` int(11) NOT NULL DEFAULT '2' COMMENT '最大填报期限(月份)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='租户信息';
生成代码
导入数据库脚本
-- 该脚本不要执行,请完善 ID 对应关系,注意层级关系 !!!!
创建新模块
INSERT INTO `pig`.`sys_menu` (`menu_id`, `name`, `permission`, `path`, `parent_id`, `icon`, `component`, `sort`, `keep_alive`, `type`, `create_time`, `update_time`, `del_flag`) VALUES ('6000', '业务模块', NULL, '', '-1', 'icon-xitongguanli', 'Layout', '4', '0', '0', '2017-11-07 20:56:00', '2019-12-24 16:59:17', '0');
创建模块菜单
-- 菜单SQL
insert into `sys_menu` ( `parent_id`, `component`, `permission`, `type`, `path`, `icon`, `menu_id`, `del_flag`, `create_time`, `sort`, `update_time`, `name`)
values ( '6000', 'views/test/systenancy/index', '', '0', 'systenancy', 'icon-bangzhushouji', '6100', '0', '2018-01-20 13:17:19', '1', '2018-07-29 13:38:19', '租户信息管理');
-- 菜单对应按钮SQL
insert into `sys_menu` ( `parent_id`, `component`, `permission`, `type`, `path`, `icon`, `menu_id`, `del_flag`, `create_time`, `sort`, `update_time`, `name`)
values ( '6100', null, 'test_systenancy_add', '1', null, '1', '6101', '0', '2018-05-15 21:35:18', '0', '2018-07-29 13:38:59', '租户信息新增');
insert into `sys_menu` ( `parent_id`, `component`, `permission`, `type`, `path`, `icon`, `menu_id`, `del_flag`, `create_time`, `sort`, `update_time`, `name`)
values ( '6100', null, 'test_systenancy_edit', '1', null, '1', '6102', '0', '2018-05-15 21:35:18', '1', '2018-07-29 13:38:59', '租户信息修改');
insert into `sys_menu` ( `parent_id`, `component`, `permission`, `type`, `path`, `icon`, `menu_id`, `del_flag`, `create_time`, `sort`, `update_time`, `name`)
values ( '6100', null, 'test_systenancy_del', '1', null, '1', '6103', '0', '2018-05-15 21:35:18', '2', '2018-07-29 13:38:59', '租户信息删除');
菜单角色授权
分配新模块权限
后端独立模块部署
拷贝 pig-upms-biz 工程,创建 pig-upms-test 工程,导入 module,删除无用包,导入生成的代码文件,补充修改缺失文件
添加 mybatis 扫描配置类,注意 扫描包配置,创建Appliaction 自定, 修改 Dockerfile、pom.xml 相关模块名称。bootstrap.yml 配置文件 端口修改 4001。
修改配置文件
登入 http://127.0.0.1:8848/nacos
账号密码: nacos/nacos, 创建配置文件,拷贝 pig-upms-biz.yml ,创建 pig-upms-test.yml
security:
oauth2:
client:
client-id: ENC(imENTO7M8bLO38LFSIxnzw==)
client-secret: ENC(i3cDFhs26sa2Ucrfz2hnQw==)
scope: server
# 数据源
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: mysqladmin
url: jdbc:mysql://pig-mysql:3306/pig?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
# 直接放行URL
ignore:
urls:
- /v2/api-docs
- /actuator/**
- /user/info/*
- /log/**
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
打开 mybtais-plus SQL 语句输出(方便调试)
启动服务状态监控
查看服务是否正常启动 http://127.0.0.1:5001/login ,账号密码 pig/pig
显示 正常启动模块
前端部署
导入文件
拷贝生成的前端文件到指定目录
修改配置文件
前端文件放置到对应的文件夹下,修改 vue.config.js
添加配置
后端网关修改
修改网关配置文件
修改配置文件,nacos 配置控制台修改,(处理前端访问后台资源无法访问问题)
添加 网关配置
- id: pig-upms-test
uri: lb://pig-upms-test
predicates:
- Path=/test/**
filters:
# 限流配置
- name: RequestRateLimiter
args:
key-resolver: '#{@remoteAddrKeyResolver}'
redis-rate-limiter.replenishRate: 10
redis-rate-limiter.burstCapacity: 20
# 降级配置
- name: Hystrix
args:
name: default
fallbackUri: 'forward:/fallback'
# 代码生成模块
扩展
修改Run Dashboard 配置
修改目录\pig\.idea\workspace.xml,,方便项目本地启动运行
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Spring Boot.PigAdminApplication-4">
<configuration name="PigAdminApplication-4" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-upms-biz" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.admin.PigAdminApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigAuthApplication-3" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-auth" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.auth.PigAuthApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigBizApplication-7" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-upms-test" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.test.PigBizApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigCodeGenApplication-5" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-codegen" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.codegen.PigCodeGenApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigGatewayApplication-2" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-gateway" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.gateway.PigGatewayApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigMonitorApplication-6" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-monitor" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.pig4cloud.pig.monitor.PigMonitorApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="PigNacosApplication-1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="pig-register" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.alibaba.nacos.PigNacosApplication" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>