一、后端项目模块展示
二、后端项目的启动方式操作
三、模块分析
项目整体结构
neu-admin
neu-carbon-bid
neu-carbon-footprint
neu-carbon-mapper
neu-carbon-mes
neu-carbon-report
neu-carbon-scm
neu-carbon-service
neu-carbon-wms
neu-common
neu-common-biz
neu-framework
neu-generator
neu-quartz
neu-system
1.neu-admin
作用:作为 web 服务的入口,负责处理客户端的请求和响应。
2.neu-carbon-bid
作用: 处理不同实体业务的 HTTP 请求。
BidPlatformInformationController
:处理平台动态相关的请求,包括查询列表、导出列表、获取详细信息、新增、修改和删除等操作。BidBiddingFilesController
:处理招标信息附件相关的请求。BidComplaintFilesController
:处理投诉附件相关的请求。BidEnterpriseController
:处理投标企业信息相关的请求。BidBiddingController
:处理招投标相关的请求。BidComplaintController
:处理违规投诉相关的请求。BidPolicylawController
:处理政策法规相关的请求。
3.neu-carbon-footprint
作用:管理能效检测点相关信息,涵盖了能效检测点信息的查询、导出、新增、修改以及删除等功能。
-
查询能效检测点列表:
- 请求方式:
GET
- 请求路径:
/cfElectric/checkpoint/list
- 功能:根据传入的查询条件,查询能效检测点列表,并返回分页数据。
- 请求方式:
-
导出能效检测点列表:
- 请求方式:
GET
- 请求路径:
/cfElectric/checkpoint/export
- 功能:根据传入的查询条件,查询能效检测点列表,并将数据导出为 Excel 文件。
- 请求方式:
-
获取能效检测点详细信息:
- 请求方式:
GET
- 请求路径:
/cfElectric/checkpoint/{id}
- 功能:根据能效检测点的 ID,获取该检测点的详细信息。
- 请求方式:
-
新增能效检测点:
- 请求方式:
POST
- 请求路径:
/cfElectric/checkpoint
- 功能:根据传入的能效检测点信息,新增一个能效检测点。
- 请求方式:
-
修改能效检测点:
- 请求方式:
PUT
- 请求路径:
/cfElectric/checkpoint
- 功能:根据传入的能效检测点信息,修改已有的能效检测点。
- 请求方式:
-
删除能效检测点:
- 请求方式:
DELETE
- 请求路径:
/cfElectric/checkpoint/{ids}
- 功能:根据传入的能效检测点 ID 数组,删除对应的能效检测点。
- 请求方式:
4.neu-carbon-mapper
作用:管理和处理与招投标、能源消耗、仓库管理、供应链采购和销售等相关的业务数据。
mes
目录:
domain
子目录:存放和制造执行系统相关的实体类。mapper
子目录:存放和制造执行系统相关的 MyBatis Mapper 接口。
wms
目录:
domain
子目录:存放和仓储管理系统相关的实体类。mapper
子目录:存放和仓储管理系统相关的 MyBatis Mapper 接口。
scm
目录:
domain
子目录:存放和供应链管理相关的实体类。mapper
子目录:存放和供应链管理相关的 MyBatis Mapper 接口。
bid
目录:
domain
子目录:存放和招投标业务相关的实体类。mapper
子目录:存放和招投标业务相关的 MyBatis Mapper 接口。
footprint
目录:
domain
子目录:存放和碳排放相关的实体类。mapper
子目录:存放和碳排放相关的 MyBatis Mapper 接口。
5.neu-carbon-mes
MesEquipmentController.java
-
功能:负责处理设备信息的增删改查操作。
-
接口:
GET /baseInfo/equipmentInfo/list
:查询设备信息列表。GET /baseInfo/equipmentInfo/export
:导出设备信息列表到 Excel 文件。GET /baseInfo/equipmentInfo/{id}
:获取指定设备的详细信息。POST /baseInfo/equipmentInfo
:新增设备信息。PUT /baseInfo/equipmentInfo
:修改设备信息。DELETE /baseInfo/equipmentInfo/{ids}
:删除指定 ID 的设备信息。
MesProjectController.java
-
功能:负责处理项目维护的增删改查操作。
-
接口:
GET /baseInfo/projectInfo/list
:查询项目维护列表。GET /baseInfo/projectInfo/export
:导出项目维护列表到 Excel 文件。GET /baseInfo/projectInfo/{id}
:获取指定项目的详细信息。POST /baseInfo/projectInfo
:新增项目维护信息。PUT /baseInfo/projectInfo
:修改项目维护信息。DELETE /baseInfo/projectInfo/{ids}
:删除指定 ID 的项目维护信息。
MesFactoryModelDetailController.java
-
功能:负责处理工厂建模明细的增删改查操作。
-
接口:
GET /mesModel/factoryModelDetail/list
:查询工厂建模明细列表。GET /mesModel/factoryModelDetail/export
:导出工厂建模明细列表到 Excel 文件。GET /mesModel/factoryModelDetail/{id}
:获取指定工厂建模明细的详细信息。POST /mesModel/factoryModelDetail
:新增工厂建模明细信息。PUT /mesModel/factoryModelDetail
:修改工厂建模明细信息。DELETE /mesModel/factoryModelDetail/{ids}
:删除指定 ID 的工厂建模明细信息。
6.neu-carbon-report
MonitorChartReportController
-
接口 1:
/carbonReport/emissionChart/overall
-
功能:查询综合能耗图表,获取前 5 年的统计数据。
-
步骤:
- 确定查询时间范围,从 5 年前的第一天到今年的最后一天。
- 构造图表数据结构,按年份存储数据。
- 查询相关数据并计算各项能耗和碳排放指标,包括生产节电、办公节电、生产用水、办公用水、办公用电、碳排放总量和减少碳排放总量。
- 返回处理后的数据。
-
-
接口 2:
/carbonReport/emissionChart/percent
-
功能:查询今年的能耗占比图表,获取今年的统计数据。
-
步骤:
- 确定查询时间范围为今年的第一天到最后一天。
- 查询相关数据并计算各项能耗和碳排放指标,处理方式与综合能耗图表类似。
- 返回处理后的数据。
-
BaseReportController
-
模拟数据方法:
mockPrdWaterConsumeByYear
和mockPrdWaterConsumeByMonth
:模拟生产用水的年数据和月数据。mockOfficeWaterConsumeByYear
和mockOfficeWaterConsumeByMonth
:模拟办公用水的年数据和月数据。mockOfficePowerConsumeByYear
和mockOfficePowerConsumeByMonth
:模拟办公用电的年数据和月数据。mockPrdPowerSaveByYear
和mockPrdPowerSaveByMonth
:模拟生产节电的年数据和月数据。mockOfficePowerSaveByYear
和mockOfficePowerSaveByMonth
:模拟办公节电的年数据和月数据。mockDaysEmission
:模拟指定天数的碳排放数据。
VScmSaleContractController
-
查询接口:
/saleReport/saleContractReport/byMonth
:按月份查询销售合同报表列表。/saleReport/saleContractReport/byQuarter
:按季度查询销售合同报表列表。/saleReport/saleContractReport/orderStat/byMonth
:查询订单收款月份统计。/saleReport/saleContractReport/orderStat/byQuarter
:查询订单收款季度统计。/saleReport/saleContractReport/financeReport/byMonth
:财务收支月份统计。/saleReport/saleContractReport/financeReport/byQuarter
:财务收支季度统计。
-
导出接口:
/saleReport/saleContractReport/export/byMonth
:导出按月份的销售合同报表列表。/saleReport/saleContractReport/export/byQuarter
:导出按季度的销售合同报表列表。
VScmSalePlanDetailController
-
接口 1:
/saleReport/salePlanDetailReport/list
-
功能:查询销售计划达成率报表列表。
-
步骤:
- 分页查询销售计划明细数据。
- 针对每条明细数据,根据开始日期和结束日期以及物料 ID 查询对应的销售合同明细数据。
- 计算销售金额并设置到销售计划明细数据中。
- 返回处理后的数据。
-
-
接口 2:
/saleReport/salePlanDetailReport/export
-
功能:导出销售计划达成率报表列表。
-
步骤:
- 查询销售计划明细数据,处理方式与查询接口类似。
- 根据销售金额和目标金额比较结果设置状态。
- 导出处理后的数据为 Excel 文件。
-
7.neu-carbon-scm(待开发)
8.neu-carbon-service
仓库管理相关服务
WmsWarehouseMaterialServiceImpl
:处理仓库物料信息的增删改查操作,同时在新增和修改物料信息时,会关联处理物料明细信息。还提供了更新物料总库存和冻结库存的功能。
java
// 查询仓库物料信息
WmsWarehouseMaterial selectWmsWarehouseMaterialById(Long id);
// 查询仓库物料信息列表
List<WmsWarehouseMaterial> selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial);
// 新增仓库物料信息
int insertWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial);
// 修改仓库物料信息
int updateWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial);
// 批量删除仓库物料信息
int deleteWmsWarehouseMaterialByIds(Long[] ids);
// 删除仓库物料信息
int deleteWmsWarehouseMaterialById(Long id);
// 更新物料总库存
void updateMaterialTotalInventory(Long id);
void updateMaterialTotalInventory(Long warehouseId, Long materialId);
WmsWarehouseRegionServiceImpl
:负责库区管理的基本增删改查操作,包括查询库区信息、列表、新增、修改、批量删除和单个删除。
java
// 查询库区管理信息
WmsWarehouseRegion selectWmsWarehouseRegionById(Long id);
// 查询库区管理列表
List<WmsWarehouseRegion> selectWmsWarehouseRegionList(WmsWarehouseRegion wmsWarehouseRegion);
// 新增库区管理信息
int insertWmsWarehouseRegion(WmsWarehouseRegion wmsWarehouseRegion);
// 修改库区管理信息
int updateWmsWarehouseRegion(WmsWarehouseRegion wmsWarehouseRegion);
// 批量删除库区管理信息
int deleteWmsWarehouseRegionByIds(Long[] ids);
// 删除库区管理信息
int deleteWmsWarehouseRegionById(Long id);
WmsWarehouseServiceImpl
:处理仓库管理的增删改查业务,可对仓库信息进行查询、新增、修改和删除操作。
java
// 查询仓库管理信息
WmsWarehouse selectWmsWarehouseById(Long id);
// 查询仓库管理列表
List<WmsWarehouse> selectWmsWarehouseList(WmsWarehouse wmsWarehouse);
// 新增仓库管理信息
int insertWmsWarehouse(WmsWarehouse wmsWarehouse);
// 修改仓库管理信息
int updateWmsWarehouse(WmsWarehouse wmsWarehouse);
// 批量删除仓库管理信息
int deleteWmsWarehouseByIds(Long[] ids);
// 删除仓库管理信息
int deleteWmsWarehouseById(Long id);
VWmsOutWarehouseDetailServiceImpl
:用于查询物料出库明细信息,包括单个明细和明细列表。
java
// 查询物料出库明细信息
VWmsOutWarehouseDetail selectVWmsOutWarehouseDetailById(Long materialId);
// 查询物料出库明细列表
List<VWmsOutWarehouseDetail> selectVWmsOutWarehouseDetailList(VWmsOutWarehouseDetail vWmsOutWarehouseDetail);
销售管理相关服务
VScmSalePlanDetailServiceImpl
:提供销售计划达成率报表的查询功能,还能按月统计计划销售额与实际销售额。
java
// 查询销售计划达成率报表列表
List<VScmSalePlanDetail> selectVScmSalePlanDetailList(VScmSalePlanDetail vScmSalePlanDetail);
// 按月统计计划销售额与实际销售额
Map<String, BigDecimal> selectAchieveRateByMonth(String month);
VScmSaleContractDetailServiceImpl
:负责销售合同明细的查询,包括列表、销售台账报表,以及按月份和季度统计销售 - 发货 - 退货报表。
java
// 查询销售合同明细列表
List<VScmSaleContractDetail> selectVScmSaleContractDetailList(VScmSaleContractDetail vScmSaleContractDetail);
// 查询销售台账报表
List<VScmSaleContractDetail> selectSaleBookReport(VScmSaleContractDetail vScmSaleContractDetail);
// 按月份统计销售 - 发货 - 退货报表
List<RepContractDeliveryReturnDetail> selectContractDeliveryReturnMonthReport(RepContractDeliveryReturnDetail repContractDeliveryReturnDetail);
// 按季度统计销售 - 发货 - 退货报表
List<RepContractDeliveryReturnDetail> selectContractDeliveryReturnQuarterReport(RepContractDeliveryReturnDetail repContractDeliveryReturnDetail);
VScmSaleContractServiceImpl
:提供销售合同报表的多种查询功能,如按不同时间维度统计销售合同报表、订单收款统计、财务收支统计、客户销售排名和大屏销售总览等。
java
// 查询销售合同报表
VScmSaleContract selectVScmSaleContractById(Long contractId);
// 查询销售合同报表列表
List<VScmSaleContract> selectVScmSaleContractList(VScmSaleContract vScmSaleContract);
// 查询按月统计销售合同报表列表
List<VScmSaleContract> selectMonthSaleContractReport(VScmSaleContract vScmSaleContract);
// 查询按季度统计销售合同报表列表
List<VScmSaleContract> selectQuarterSaleContractReport(VScmSaleContract vScmSaleContract);
// 查询按月订单统计报表
List<VScmSaleContract> selectMonthOrderStatReport(VScmSaleContract vScmSaleContract);
// 查询按季度订单统计报表
List<VScmSaleContract> selectQuarterOrderStatReport(VScmSaleContract vScmSaleContract);
// 财务收支月统计报表
List<VScmFinanceReport> selectMonthFinanceReport(VScmFinanceReport vScmFinanceReport);
// 财务收支季度统计报表
List<VScmFinanceReport> selectQuarterFinanceReport(VScmFinanceReport vScmFinanceReport);
// 客户销售排名
List<Map<String, BigDecimal>> selectSaleCustomerRank();
// 按月统计销售额
Map<String, BigDecimal> selectSaleStatByMonth(String month);
// 大屏销售总览
Map<String, BigDecimal> selectSaleOverall();
生产管理相关服务
MesProjectServiceImpl
:处理项目维护的增删改查业务,对项目信息进行基本的管理操作。
java
// 查询项目维护信息
MesProject selectMesProjectById(Long id);
// 查询项目维护列表
List<MesProject> selectMesProjectList(MesProject mesProject);
// 新增项目维护信息
int insertMesProject(MesProject mesProject);
// 修改项目维护信息
int updateMesProject(MesProject mesProject);
// 批量删除项目维护信息
int deleteMesProjectByIds(Long[] ids);
// 删除项目维护信息
int deleteMesProjectById(Long id);
MesProductCheckServiceImpl
:负责产品检验单的管理,包括增删改查,还能生成产品合格率报表。
java
// 查询产品检验单信息
MesProductCheck selectMesProductCheckById(Long id);
// 查询产品检验单列表
List<MesProductCheck> selectMesProductCheckList(MesProductCheck mesProductCheck);
// 新增产品检验单信息
int insertMesProductCheck(MesProductCheck mesProductCheck);
// 修改产品检验单信息
int updateMesProductCheck(MesProductCheck mesProductCheck);
// 批量删除产品检验单信息
int deleteMesProductCheckByIds(Long[] ids);
// 删除产品检验单信息
int deleteMesProductCheckById(Long id);
// 查询产品合格率报表
List<MesProductCheck> selectQualifiedRateReport(MesProductCheck mesProductCheck);
MesFactoryModelDetailServiceImpl
:处理工厂建模明细的增删改查操作,对工厂建模的详细信息进行管理。
java
// 查询工厂建模明细信息
MesFactoryModelDetail selectMesFactoryModelDetailById(Long id);
// 查询工厂建模明细列表
List<MesFactoryModelDetail> selectMesFactoryModelDetailList(MesFactoryModelDetail mesFactoryModelDetail);
// 新增工厂建模明细信息
int insertMesFactoryModelDetail(MesFactoryModelDetail mesFactoryModelDetail);
// 修改工厂建模明细信息
int updateMesFactoryModelDetail(MesFactoryModelDetail mesFactoryModelDetail);
// 批量删除工厂建模明细信息
int deleteMesFactoryModelDetailByIds(Long[] ids);
// 删除工厂建模明细信息
int deleteMesFactoryModelDetailById(Long id);
能耗管理相关服务
TmpEnergyConsumeServiceImpl
:实现能耗临时表的增删改查功能,对能耗数据进行基本的管理。
java
// 查询能耗临时表信息
TmpEnergyConsume selectTmpEnergyConsumeById(Long id);
// 查询能耗临时表列表
List<TmpEnergyConsume> selectTmpEnergyConsumeList(TmpEnergyConsume tmpEnergyConsume);
// 新增能耗临时表信息
int insertTmpEnergyConsume(TmpEnergyConsume tmpEnergyConsume);
// 修改能耗临时表信息
int updateTmpEnergyConsume(TmpEnergyConsume tmpEnergyConsume);
// 批量删除能耗临时表信息
int deleteTmpEnergyConsumeByIds(Long[] ids);
// 删除能耗临时表信息
int deleteTmpEnergyConsumeById(Long id);
招标平台信息管理服务
BidPlatformInformationServiceImpl
:处理平台动态信息的增删改查,在新增和修改时会自动记录创建和更新时间。
java
// 查询平台动态信息
BidPlatformInformation selectBidPlatformInformationById(Long id);
// 查询平台动态列表
List<BidPlatformInformation> selectBidPlatformInformationList(BidPlatformInformation bidPlatformInformation);
// 新增平台动态信息
int insertBidPlatformInformation(BidPlatformInformation bidPlatformInformation);
// 修改平台动态信息
int updateBidPlatformInformation(BidPlatformInformation bidPlatformInformation);
// 批量删除平台动态信息
int deleteBidPlatformInformationByIds(Long[] ids);
// 删除平台动态信息
int deleteBidPlatformInformationById(Long id);
9.neu-carbon-wms
物料档案管理(WmsMaterialInfoController
)
-
作用:负责物料档案信息的增删改查操作,同时支持将物料档案信息导出为 Excel 文件。
-
接口功能:
GET /material/materialInfo/list
:查询物料档案管理列表。GET /material/materialInfo/export
:导出物料档案管理列表。GET /material/materialInfo/{id}
:获取物料档案管理详细信息。POST /material/materialInfo
:新增物料档案管理信息。PUT /material/materialInfo
:修改物料档案管理信息。DELETE /material/materialInfo/{ids}
:删除物料档案管理信息。
物料分类管理(WmsMaterialCategoryController
)
-
作用:负责物料分类信息的增删改查操作,同时支持将物料分类信息导出为 Excel 文件。
-
接口功能:
GET /material/materialCategory/list
:查询物料分类列表。GET /material/materialCategory/export
:导出物料分类列表。GET /material/materialCategory/{id}
:获取物料分类详细信息。POST /material/materialCategory
:新增物料分类信息。PUT /material/materialCategory
:修改物料分类信息。DELETE /material/materialCategory/{ids}
:删除物料分类信息。
仓库物料信息管理(WmsWarehouseMaterialController
)
-
作用:负责仓库物料信息的增删改查操作,同时支持将仓库物料信息导出为 Excel 文件。在查询和导出数据时,会关联查询物料档案信息和仓库信息,并将相关信息补充到返回结果中。
-
接口功能:
GET /material/materialInventory/list
:查询仓库物料信息列表。GET /material/materialInventory/export
:导出仓库物料信息列表。GET /material/materialInventory/{id}
:获取仓库物料信息详细信息。POST /material/materialInventory
:新增仓库物料信息,新增时会检查当前仓库中是否已有此物料库存。PUT /material/materialInventory
:修改仓库物料信息。DELETE /material/materialInventory/{ids}
:删除仓库物料信息。
10.neu-common
基础实体类
-
LoginBody
:用于封装用户登录所需的信息。 -
SysMenu
:表示系统菜单权限表的实体类。 -
SysRole
:代表系统角色表的实体类。
Excel 处理工具
ExcelUtil
:提供了 Excel 数据的导入和导出功能。
Redis 缓存工具
RedisCache
:封装了 Spring Data Redis 的操作。
反射工具
ReflectUtils
:提供了一系列反射操作的工具方法。
异常处理
BaseException
:自定义的基础异常类,用于封装异常信息,包括所属模块、错误码、错误码对应的参数和错误消息,方便在项目中统一处理异常。
其他工具类
-
Threads
:提供了线程休眠的工具方法。 -
LogUtils
:用于处理并记录日志文件。 -
Arith
:提供了精确的数学运算方法。
11.neu-common-biz
数据实体类
CmtArticleComment
:表示文章评论对象,包含评论的基本信息,如编号、文章标题、内容、点赞数等,还支持回复列表的嵌套。CmtLikeLog
:记录点赞日志,包含编号、业务主键和业务类型等信息。ComArea
:表示区域信息,包含区域的基本信息,可用于地理区域相关的业务逻辑。DemoUser
:演示对象,包含编号、姓名、部门、状态等信息,可能用于演示系统功能。CmtAdv
:广告信息对象,包含广告的基本信息,如标题、图片、业务模块、跳转详情 ID 等。CmtArticle
:文章管理对象,包含文章的基本信息,如编号、板块、标题、内容等。
服务接口和实现类
IComAreaService
和ComAreaServiceImpl
:提供区域信息的增删改查功能,包括查询单个区域信息、查询区域信息列表、新增区域信息、修改区域信息、批量删除区域信息和删除单个区域信息。ICmtArticleService
和CmtArticleServiceImpl
:提供文章管理的增删改查功能,同时在新增文章时会自动设置创建时间。ICmtAdvService
和CmtAdvServiceImpl
:提供广告信息的增删改查功能,在新增广告时会自动设置创建时间,修改广告时会自动设置更新时间。IDemoUserService
和DemoUserServiceImpl
:提供演示对象的增删改查功能。
Mapper 接口
ComAreaMapper
:与数据库交互,实现区域信息的增删改查操作。CmtArticleMapper
:与数据库交互,实现文章管理的增删改查操作。CmtAdvMapper
:与数据库交互,实现广告信息的增删改查操作。DemoUserMapper
:与数据库交互,实现演示对象的增删改查操作。
控制器类
CmtAdvController
:处理广告信息的相关请求,包括查询列表、导出列表、获取详细信息、新增、修改、删除和状态修改等操作。ComAreaController
:处理区域信息的相关请求,包括查询列表、导出列表、获取详细信息、新增、修改和删除等操作。
通用模块接口
LoginRegisterApi
:提供通用模块的用户登录、注册和获取验证码等接口,支持密码登录和验证码登录,同时在注册时会进行参数校验、验证码校验和用户名唯一性校验。
数据传输对象(DTO)
RegisterBody
:封装用户注册的请求参数,包括用户名、密码和验证码。PwdForm
:封装用户修改密码的请求参数,包括旧密码和新密码。LoginForm
:封装用户登录的请求参数,包括用户名、密码和验证码。DicVo
:封装字典信息,包括字典键值和字典标签。
12.neu-framework
数据源管理
- 动态数据源切换:
DataSourceAspect
类利用 AOP(面向切面编程)实现了动态数据源的切换功能。
异常处理
- 全局异常捕获:
GlobalExceptionHandler
类作为全局异常处理器,使用@RestControllerAdvice
注解捕获并处理各种异常,包括基础异常、业务异常、权限异常、验证异常等。
异步任务管理
-
异步任务调度:
AsyncManager
类采用单例模式实现了异步任务管理器,通过ScheduledExecutorService
线程池来执行异步任务。 -
应用退出处理:
ShutdownManager
类确保应用退出时能关闭后台线程,使用@PreDestroy
注解在应用销毁前调用shutdownAsyncManager
方法停止异步任务线程池,避免资源泄漏。
日志记录
- 操作日志记录:
LogAspect
类使用 AOP 对带有@Log
注解的方法进行拦截,在方法执行后或抛出异常时记录操作日志。
数据权限控制
- 数据范围过滤:
DataScopeAspect
类通过 AOP 实现数据权限过滤功能。根据用户角色和数据范围配置,在 SQL 查询中动态添加过滤条件,确保用户只能访问其有权限的数据。
实体参数自动设置
- 自动设置创建和修改时间:
SetSysParamsInterceptor
类作为 MyBatis 拦截器,在执行 SQL 的insert
和update
操作时,自动为实体对象的创建时间、修改时间和创建人等字段赋值。
系统信息管理
- 系统信息收集:
Server
类收集服务器的 CPU、内存、JVM、磁盘等信息。
用户权限处理
- 权限获取:
SysPermissionService
类根据用户信息获取角色和菜单的数据权限。
配置管理
-
Redis 配置:
RedisConfig
类配置了 Redis 的连接工厂和序列化方式。 -
应用配置:
ApplicationConfig
类配置了程序的注解扫描和时区设置,启用 AOP 代理。
13.neu-generator
这个模块主要是一个代码生成器,用于根据数据库表结构自动生成 Java 代码、XML 文件、JavaScript 文件和 Vue 文件等。
14.neu-quartz
定时任务管理
-
任务信息存储:通过
SysJob
类和SysJobMapper
接口与数据库交互,将定时任务的相关信息(如任务名称、任务组名、调用目标字符串、cron 执行表达式等)存储在数据库中。 -
任务初始化:在项目启动时,
SysJobServiceImpl
类的init
方法会从数据库中查询所有任务信息,并使用ScheduleUtils
工具类创建调度任务,确保任务与数据库信息同步。 -
任务增删改查:
SysJobServiceImpl
类实现了ISysJobService
接口,提供了一系列对任务的操作方法,包括新增任务、删除任务、更新任务、查询任务列表等
任务调度执行
-
任务执行类选择:
ScheduleUtils
类的getQuartzJobClass
方法根据任务的并发属性选择具体的任务执行类(QuartzJobExecution
或QuartzDisallowConcurrentExecution
)。 -
任务执行抽象类:
AbstractQuartzJob
类实现了Job
接口,作为所有定时任务执行的抽象基类。在任务执行前后会进行一些通用的处理,如记录任务开始时间、结束时间、执行结果等,并将任务执行日志存储到数据库中。
任务状态管理
- 任务暂停与恢复:
SysJobServiceImpl
类提供了pauseJob
和resumeJob
方法,用于暂停和恢复任务的执行。 - 任务状态修改:
changeStatus
方法根据任务的当前状态调用相应的暂停或恢复方法。
任务日志记录
- 日志信息存储:
SysJobLog
类和SysJobLogMapper
接口用于存储和管理任务执行日志信息。 - 日志操作服务:
SysJobLogServiceImpl
类实现了ISysJobLogService
接口,提供了查询日志列表、查询单个日志、新增日志、删除日志等操作方法。
任务测试示例
RyTask
类是一个定时任务调度测试类,包含了无参方法、有参方法和多参方法,用于测试定时任务的调用。
控制器层交互
SysJobController
和SysJobLogController
类分别处理与定时任务和任务日志相关的 HTTP 请求,提供了新增任务、立即执行任务、查询任务日志列表、导出任务日志等接口。
15.neu-system
这个模块是一个基于 Java 和 MyBatis 构建的系统管理模块,主要用于管理系统中的部门、角色、菜单、岗位、操作日志、登录日志等信息。