Commit dd598b4c authored by 马超's avatar 马超

Merge branch 'develop' into 'master'

Develop

See merge request doc/ldp-docs!11
parents ebe23b7f 1327dcbc
......@@ -20,6 +20,89 @@
6. uaa资料库拷贝对应认证域的模板
更多详情可参照升级说明文档:[LDP框架升级参考文档.md](安装文档/LDP框架升级参考文档.md)
## 2021-07-19
版本号: **1.2.47**
**base-service**
`Feat`
1. 新版自动填充注解、默认填充方法
2. HqlWhereHelper支持多级条件查询
3. storage接口部分实现下载功能、删除(minio)
`fix`
1. 修复RestResult,mybatis-plus转换接口默认实现
**mcs-service**
`feat`
1. 修改字典page接口查询条件,添加typeCode参数
`fix`
1. 修复菜单保存报错的问题
**mcs-ui**
`feat`
1. 重构模型设计页面
2. 重构视图设计页面
3. 新增`ldp-components`组件,用于在线预览设计的视图页面
`fix`:
1. 修改字典项编码只能输入数字、字母、下划线 校验规则。
**gen-service**
`feat`
1. 代码生成2.0
2. 元数据从xml保存修改为DB保存
3. 重构代码生成接口
4. 重构生成代码模板(新增保存方法、保存单据方法)
5. 默认添加swagger注解
6. 支持mybatis版本和hibernate版本
**bpm-service**
版本:**1.0.24**
`Fix`
1. 跳过时参与人设置为空
### 本次更新方式
1. 替换ldp-manage/fatjar 目录下对应的jar包
2. 替换nginx中mcs、bpm的前端代码
3. 脚手架更新到`1.2.47`
- 下载gen-service配置文件:[gen-service配置文件](http://devdown.shxrtech.com/nacos_config_genservice_2021-07-15.zip),并导入Nacos。
- 新建sinra-ldp-generator数据库,并在Nacos修改`gen-service-dev.yml``gen-service-prod.yml` 数据库连接配置及redis配置
- 新版代码生成使用说明文档:[LDP代码生成功能操作说明v2.0.docx](操作文档/LDP代码生成功能操作说明v2.0.docx)
- 新版hibernate自动填充文档:[LDP框架自定义注解.md](开发文档/LDP框架自定义注解.md) 第一章
## 2021-06-15
......
......@@ -219,6 +219,9 @@ DEPLOY_ENV=prod
#### 新建数据库
- 在mysql内创建ldp数据库: sinra_ldp_db ,字符集:utf8mb4
- 在mysql内创建代码生成数据库: sinra_ldp_generator,字符集:utf8mb4(可选,不创建则代码生成服务无法使用)
- 在mysql内创建流程系统数据库: sinra_bpm_db,字符集:utf8mb4(可选,不安装流程系统则可以不创建)
- 在mysql内创建代码生成数据库: sinra_ldp_report,字符集:utf8mb4(可选,不使用报表服务则可以不创建)
#### nacos 启动 & 访问
......@@ -268,6 +271,16 @@ cd nacos/bin
* 修改后保存即可
#### ***代码生成服务配置(1.2.45及以上版本)
- 修改 gen-service-dev.yml或gen-service-prod.yml配置文件,包含**数据库配置、redis配置**
修改方式,和上述方式一致
------
### 启动 ldp 服务
```shell
......@@ -286,6 +299,13 @@ cd tool/
./ldp-boot.sh status
```
PS:如果需要使用`报表服务`,则需要单独启动
```shell
# 启动报表服务
./report-boot.sh start
```
也可以访问地址:http://nacos-server0:8018/nacos
点击服务列表,即可看到以启动并注册的服务信息。如下图:
......@@ -399,3 +419,8 @@ http://服务域名或ip:9080/mcs
初始用户名:admin
初始密码:1234561
PS:如果需用部署流程系统,则参照[BPM安装部署文档.md](流程系统集成/BPM安装部署文档.md)
​ 如果需要部署报表系统,则参照[报表系统安装部署文档.md](报表系统集成/报表系统安装部署文档.md)
......@@ -14,7 +14,7 @@
​ 2、[LDP-MCS新建一个管理员账号](操作文档/LDP-MCS新建一个管理员账号.md)
​ 3、[LDP代码生成功能操作说明v1.3.docx](操作文档/LDP代码生成功能操作说明v1.3.docx)
​ 3、[LDP代码生成功能操作说明v2.0.docx](操作文档/LDP代码生成功能操作说明v2.0.docx)
​ 4、[LDP中应用统一认证及权限配](操作文档/LDP中应用统一认证及权限配置.md)
......
# LDP框架升级参考文档
此文档为框架升级一份参考文档,根据情况判断升级时需要做哪些操作。
## 一、升级前准备工作
升级前,请先打开chanlog文档:[LDP框架ChangeLog&升级方式.md](../LDP框架ChangeLog&升级方式.md)
### 1.1、关闭服务
```shell
# 关闭主要的服务
./ldp-boot.sh stop
# 关闭bpm服务
./bpm-boot.sh stop
# 关闭报表服务
./report-boot.sh stop
```
### 1.2、 备份DB
虽然一般升级不会对已有的数据造成影响,但是建议先备份一份数据。
### 1.2、 UAA资源库备份(登录界面有自定义变更)
查看changelog文档,检查UAA是否有变更,如果有,则需要先备份UAA资源库,然后删除掉UAA资源库
```shell
# 创建uaa字员文件备份文件夹
mkdir -p bak/uaaui
# 备份uaaui自定义变更
cp -r ~/.ldp/uaaui/* bak/uaaui
# 删除资源库中的文件
rm -rf ~/.ldp/uaaui
```
等新版UAA重新启动后,再根据变更进行修改或者直接拷贝回去。
### 1.3、备份jar包
将老版本jar包进行备份,新版升级失败可以紧急回滚,如果新版正常运行一段时间后,可以删除掉备份文件
```shell
# 创建fatjar备份文件夹
mkdir -p bak/fatjar
# 备份fatjar
mv ldp-manage/fatjar/* bak/fatjar/
```
## 二、升级
### 2.1、解压新版tar包
解压新版tar的方式可以有很多,这里建议新建一个当前日期的目录文件夹,方便和旧版本的做区分,也方便拷贝文件
```shell
# 创建新版目录与之前的ldp-manage目录平级
mkdir ldp-20210716
# 将新版tar包移到刚才新建的目录下,这里的版本号不一定一致
mv ldp-manage-1.2.46.tar.gz ldp-20210716
# 切到新版目录下,并执行解压
cd ldp-20210716
tar -zxvf ldp-manage-1.2.46.tar.gz
```
### 2.2、将新版jar包拷贝到fatjar目录
```shell
# 当前目录在ldp-20210716下,
cp ldp-manage/fatjar/* ../ldp-mange/fatjar
```
### 2.3、拷贝新版ui文件到nginx/html目录下
```shell
# 拷贝mcs前端
cp -r ldp-manage/ui/mcs /usr/share/nginx/html
```
### 2.3、新增、修改配置文件
查看changelog文档,在`本次更新方式`中,是否有配置文件的变更,如果有则打开NACOS按照描述添加及修改配置文件。
### 2.4、拷贝启动脚本到tool目录(启动脚本有变更、新服务启动脚本)
```shell
cp ldp-manage/tool/* ../ldp-manage/tool/
```
### 2.5、启动新版服务
```shell
# 切到tool目录下
cd ../ldp-manage/tool
# 启动服务
./ldp-boot.sh start
```
### 2.6、测试
服务启动成功后,打开mcs地址验证是否OK。
**PS:BPM升级方式和上面类似,这里就不展开叙述**
......@@ -378,6 +378,8 @@ UUID:生成32位随机字符串。
PINYIN:将ref字段的拼音填充到此字段中。
**PS:旧版自动填充在1.2.45版本废弃,新版请查看文档[LDP框架自定义注解.md](LDP框架自定义注解.md)**
```java
// AutoService注解在新增时会对实体类中配置了@AutoComputed字段根据规则进行填充
@Override
......
......@@ -414,6 +414,34 @@ HqlWhereHelper conditions = HqlWhereHelper.getInstance()
.and("a.name", "浦东新区");
```
#### 多级级联的样例
员工实体中有组织关联属性org,组织实体中有职位关联属性positions,下面样例则是通过职位过滤员工信息
```java
// 不指定class
LinkedList<Condition> conditions = HqlWhereHelper.getInstance()
.join("org", "org")
.join("org.positions", "post")
.and("post.id", "bd5b28b7ccd74ba28708c95db54230f0")
.buildConditions();
List list = genericDaoService.findByConditions(LdpMcsEmployeeInfo.class, conditions);
```
另外一种写法需要指定class,这两种写法查询结果一致
```java
// 指定class
LinkedList<Condition> conditions = HqlWhereHelper.getInstance()
.join("org", LdpMcsOrganization.class,"org")
.join("org.positions", LdpMcsPosition.class,"position")
.and("position.id", "bd5b28b7ccd74ba28708c95db54230f0")
.buildConditions();
List list = genericDaoService.findByConditions(LdpMcsEmployeeInfo.class, conditions);
```
......
......@@ -135,13 +135,20 @@ LDP IEDA代码生成插件使用文档:[LDP代码生成IDEA插件安装和使
默认生成代码接口方法:
```java
/**
/**
* 新增地区
*
* @param area
*/
public String add(LdpArea area);
/**
* 保存地区
*
* @param ldpArea
*/
public boolean saveEntity(LdpArea ldpArea);
/**
* 批量新增地区
*
......@@ -233,6 +240,16 @@ LDP IEDA代码生成插件使用文档:[LDP代码生成IDEA插件安装和使
* @return
*/
public Page<LdpArea> findPage(Page paramPage, LdpArea area);
/**
* 将新数据集合与通过外键查询出的数据库数据集合进行差异化处理
*
* @param fpkFieldName 属性名
* @param fpkColumnName 表字段名
* @param fpkValue 外键值
* @param newList 新数据集合
*/
void saveOrDeleteByCollection(String fpkFieldName, String fpkColumnName, Object fpkValue, Collection<LdpArea> newList);
```
## 五、增删改查样例
......@@ -278,7 +295,7 @@ page(page);
public List<LdpArea> ldpAreas;
```
关联查询,在mapper.xml中先声明一个resultMap,再写查询语句,返回指定为对应的resultMap,由于这里是一多,所以使用`collection`作为关联填充,如果是一对一,则使用`association`
关联查询,在mapper.xml中先声明一个resultMap,再写查询语句,返回指定为对应的resultMap,由于这里是一多,所以使用`collection`作为关联填充,如果是一对一,则使用`association`
```xml
<resultMap id="BaseResultMapToOne" type="com.sinra.ldp.example.entity.LdpCity">
......
This diff is collapsed.
......@@ -94,3 +94,8 @@ export default {
```
调用预览接口,进行打开报表预览页面
![image-20210610155659161](./image/90预览打印报表.png)
\ No newline at end of file
# LDP统一认证登录配置
在mcs中对应用配置统一认证时,根据配置的不同,能达到不同的登录控制效果。
### 一、样例数据
**应用**
- 应用系统A:认证领域编码 demo
**用户**
- 用户1: 类型-管理,系统标识-无
- 用户2: 类型-应用,系统标识-无
- 用户3: 类型-应用,系统标识-demo
- 用户4: 类型-应用,系统标识-example
### 二、认证服务接口地址配置
在mcs中,打开左侧菜单`应用认证管理`->`认证服务`,找到认证领域demo的认证服务,点击修改,登录配置只需要修改下图圈中的接口地址即可:
![](../imgs/UAA登录配置.png)
#### 2.1 不做限制,所有用户均可登录
将接口地址设置为user/alllogin
```java
// 所有用户均可登录
user/alllogin
```
#### 2.2 管理用户、应用用户(无系统标识或相同系统标识)均可登录
将接口地址设置为user/applogin,配置相关参数用户类型usertype=0,系统标识sysid=demo
```java
// 除了用户4由于系统标识不一致不能登录,用户1、用户2、用户3均可登录
user/applogin?usertype=0&sysid=demo
```
#### 2.3 仅应用用户(不检查系统标识)可登录
将接口地址设置为user/login,并设置应用类型usertype=0
```java
// 除用户1是管理用户不能登录,用户2、用户3、用户4均可登录
user/login?usertype=0
```
#### 2.4 仅应用用户(相同系统标识)可登录
将接口地址设置为user/login,并设置应用类型usertype=0,系统标识sysid=demo
```java
// 仅用户3满足条件,可以登录,其它用户均不可登录
user/login?usertype=0&sysid=demo
```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment