大二之从零入行《GZ031 软件应用开发》技能大赛

93 阅读18分钟

一、后端项目模块展示

image.png

二、后端项目的启动方式操作

项目启动.gif

三、模块分析

项目整体结构

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

作用:管理能效检测点相关信息,涵盖了能效检测点信息的查询、导出、新增、修改以及删除等功能。

  1. 查询能效检测点列表

    • 请求方式GET
    • 请求路径/cfElectric/checkpoint/list
    • 功能:根据传入的查询条件,查询能效检测点列表,并返回分页数据。
  2. 导出能效检测点列表

    • 请求方式GET
    • 请求路径/cfElectric/checkpoint/export
    • 功能:根据传入的查询条件,查询能效检测点列表,并将数据导出为 Excel 文件。
  3. 获取能效检测点详细信息

    • 请求方式GET
    • 请求路径/cfElectric/checkpoint/{id}
    • 功能:根据能效检测点的 ID,获取该检测点的详细信息。
  4. 新增能效检测点

    • 请求方式POST
    • 请求路径/cfElectric/checkpoint
    • 功能:根据传入的能效检测点信息,新增一个能效检测点。
  5. 修改能效检测点

    • 请求方式PUT
    • 请求路径/cfElectric/checkpoint
    • 功能:根据传入的能效检测点信息,修改已有的能效检测点。
  6. 删除能效检测点

    • 请求方式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 构建的系统管理模块,主要用于管理系统中的部门、角色、菜单、岗位、操作日志、登录日志等信息。