# JoveFast
**Repository Path**: dev_gitee/jove-fast
## Basic Information
- **Project Name**: JoveFast
- **Description**: 基于若依Cloud的微服务平台
- **Primary Language**: Java
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 82
- **Created**: 2025-03-27
- **Last Updated**: 2025-03-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
JoveFast v3.6.5
基于若依Cloud的 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构
## 项目简介
基于若依Cloud的Jove-Fast微服务项目,部分功能将不定时同步若依的更新
主要集成了
1. 积木报表,
2. 工作流flowable
3. DataRoom可视化设计器
**常见问题:**
[https://gitee.com/wxjstudy/jove-fast/wikis/Home](https://gitee.com/wxjstudy/jove-fast/wikis/Home)
**electron前端:**
[https://gitee.com/wxjstudy/jove-fast-electron](https://gitee.com/wxjstudy/jove-fast-electron)
**说明:**
* 登录账号密码admin/123456
* naocs账号密码nacos/123456
* 采用前后端分离的模式
* 后端采用Spring Boot、Spring Cloud & Alibaba。
* 注册中心、配置中心选型Nacos,权限认证使用Redis。
* 流量控制框架选型Sentinel.
* 分布式锁选型redisson.
## 表调整
* 部门表调整,增加了一列 describes,主要作用于积木设置当前登录用户部门描述
```
@Override
public Map getUserInfo(String token) {
// 将所有信息存放至map 解析sql会根据map的键值解析,可自定义其他值
Map map = new HashMap<>(20);
LoginUser loginUser = tokenService.getLoginUser(token);
map.put("sysUserCode",loginUser.getUsername());
//设置当前日期(年月日)
map.put("sysData",DateUtils.getDate());
//设置昨天日期(年月日)
map.put("sysYesterDay",DateUtils.getyesterday());
//设置当前登录用户昵称
map.put("sysUserName",loginUser.getSysUser().getNickName());
//设置当前登录用户部门ID
map.put("deptId",loginUser.getSysUser().getDeptId());
//设置当前登录用户部门描述
map.put("describe",loginUser.getSysUser().getDept().getDescribes());
return map;
}
```

* 实现同一报表,不同角色的人看到的列数据不一样的结果,两个注解解决
```
/**
* 使用示例:在实现类方法上增加@ColAssign,用于标识需要返回修改的注入点
*
* @param params
*/
@Override
@ColAssign
public List getPcbstatement(PcbstatementVO params) {
return engineeringMapper.selectPcbstatement(params);
}
/**
* 使用示例:在bean的属性上增加@Assign,其中roleCallout的值为角色代码,用逗号分割标识多个角色
*
* @param params
*/
@Excel(name = "工程及其它费用",cellType = Excel.ColumnType.NUMERIC)
@Assign(roleCallout = "admin,confidential")
private Double amount;
```
* excel导出增强支持冻结首行以及开启筛选列<均为可选项>
```
@Log(title = "客户组别管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("auxiliary:customergroup:export")
@PostMapping("/customergroup/export")
public void export(HttpServletResponse response, Data9977 data9977)
{
List list = iErpSalesmoduleservice.getCustomerGroupList(data9977);
ExcelUtil util = new ExcelUtil(Data9977.class);
/**
第四个参数是否冻结首行
第五个参数是否筛选列
*/
util.exportExcel(response, list, "客户组别信息",true,true);
}
```
* 菜单表调整,增加了一列 dictionaryId,主要作用于设置菜单国际化字典ID,对应文件夹src/lang/下的语言文件的key名

## 积木报表


## 工作流引擎



## 移动端效果

## 目录结构
~~~
com.jovefast
├── jovefast-gateway // 网关模块
├── jovefast-mobile // 移动端
├── jovefast-auth // 认证中心
├── jovefast-flowable // 工作流中心
├── jovefast-api // 接口模块
│ └── jovefast-api-system // 系统接口
├── jovefast-common // 通用模块
│ └── jovefast-common-core // 核心模块
│ └── jovefast-common-datascope // 权限范围
│ └── jovefast-common-datasource // 多数据源
│ └── jovefast-common-i18n // 国际化
│ └── jovefast-common-log // 日志记录
│ └── jovefast-common-redis // 缓存服务
│ └── jovefast-common-seata // 分布式事务
│ └── jovefast-common-security // 安全模块
│ └── jovefast-common-sensitive // 数据脱敏
│ └── jovefast-common-swagger // 系统接口
├── jovefast-modules // 业务模块
│ └── jovefast-system // 系统模块
│ └── jovefast-gen // 代码生成
│ └── jovefast-job // 定时任务
│ └── jovefast-file // 文件服务
│ └── jovefast-report // 报表服务
│ └── jovefast-dataroom // 可视化服务
├── jovefast-visual // 图形化管理模块
│ └── jovefast-visual-monitor // 监控中心
├──pom.xml // 公共依赖
~~~
## 更多支持
捐赠
## 摸鱼交流
本人普通码农一枚,产生了想搞开源项目的想法,虽能力有限,但竭尽所能,说干就干~~
欢迎大家进群交流,本项目将一直开源,需要技术支持的,也可以加群咨询。
点击链接加入群聊【Java/Vue摸鱼交流群】:603446086
## 推荐
大家在使用本项目时,推荐结合贺波老师的书
[《深入Flowable流程引擎:核心原理与高阶实战》](https://item.jd.com/14804836.html)学习。这本书得到了Flowable创始人Tijs Rademakers亲笔作序推荐,对系统学习和深入掌握Flowable的用法非常有帮助。
