mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into develop
This commit is contained in:
		| @@ -1,7 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.controller.admin.business; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||
|   | ||||
| @@ -66,7 +66,7 @@ public class CrmBusinessSaveReqVO { | ||||
|     private Long contactId; // 使用场景,在【联系人详情】添加商机时,如果需要关联两者,需要传递 contactId 字段 | ||||
|  | ||||
|     @Schema(description = "产品列表") | ||||
|     private List<BusinessProduct> businessProducts; | ||||
|     private List<BusinessProduct> products; | ||||
|  | ||||
|     @Schema(description = "产品列表") | ||||
|     @Data | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.controller.admin.clue; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.contact; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.lang.Assert; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.contract; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.lang.Assert; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
|   | ||||
| @@ -2,8 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.map.MapUtil; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.core.KeyValue; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||||
| @@ -20,7 +19,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService | ||||
| import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | ||||
| import cn.iocoder.yudao.module.system.api.dept.DeptApi; | ||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||
| import cn.iocoder.yudao.module.system.api.dict.DictDataApi; | ||||
| import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | ||||
| import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | ||||
| import io.swagger.v3.oas.annotations.Operation; | ||||
| @@ -264,7 +262,7 @@ public class CrmCustomerController { | ||||
|  | ||||
|     @PostMapping("/import") | ||||
|     @Operation(summary = "导入客户") | ||||
|     @PreAuthorize("@ss.hasPermission('system:customer:import')") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:customer:import')") | ||||
|     public CommonResult<CrmCustomerImportRespVO> importExcel(@Valid CrmCustomerImportReqVO importReqVO) | ||||
|             throws Exception { | ||||
|         List<CrmCustomerImportExcelVO> list = ExcelUtils.read(importReqVO.getFile(), CrmCustomerImportExcelVO.class); | ||||
|   | ||||
| @@ -21,7 +21,6 @@ import io.swagger.v3.oas.annotations.Parameter; | ||||
| import io.swagger.v3.oas.annotations.tags.Tag; | ||||
| import jakarta.annotation.Resource; | ||||
| import jakarta.validation.Valid; | ||||
| import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @@ -52,7 +51,6 @@ public class CrmFollowUpRecordController { | ||||
|  | ||||
|     @PostMapping("/create") | ||||
|     @Operation(summary = "创建跟进记录") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:follow-up-record:create')") | ||||
|     public CommonResult<Long> createFollowUpRecord(@Valid @RequestBody CrmFollowUpRecordSaveReqVO createReqVO) { | ||||
|         return success(followUpRecordService.createFollowUpRecord(createReqVO)); | ||||
|     } | ||||
| @@ -60,7 +58,6 @@ public class CrmFollowUpRecordController { | ||||
|     @DeleteMapping("/delete") | ||||
|     @Operation(summary = "删除跟进记录") | ||||
|     @Parameter(name = "id", description = "编号", required = true) | ||||
|     @PreAuthorize("@ss.hasPermission('crm:follow-up-record:delete')") | ||||
|     public CommonResult<Boolean> deleteFollowUpRecord(@RequestParam("id") Long id) { | ||||
|         followUpRecordService.deleteFollowUpRecord(id, getLoginUserId()); | ||||
|         return success(true); | ||||
| @@ -69,7 +66,6 @@ public class CrmFollowUpRecordController { | ||||
|     @GetMapping("/get") | ||||
|     @Operation(summary = "获得跟进记录") | ||||
|     @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") | ||||
|     public CommonResult<CrmFollowUpRecordRespVO> getFollowUpRecord(@RequestParam("id") Long id) { | ||||
|         CrmFollowUpRecordDO followUpRecord = followUpRecordService.getFollowUpRecord(id); | ||||
|         return success(BeanUtils.toBean(followUpRecord, CrmFollowUpRecordRespVO.class)); | ||||
| @@ -77,7 +73,6 @@ public class CrmFollowUpRecordController { | ||||
|  | ||||
|     @GetMapping("/page") | ||||
|     @Operation(summary = "获得跟进记录分页") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") | ||||
|     public CommonResult<PageResult<CrmFollowUpRecordRespVO>> getFollowUpRecordPage(@Valid CrmFollowUpRecordPageReqVO pageReqVO) { | ||||
|         PageResult<CrmFollowUpRecordDO> pageResult = followUpRecordService.getFollowUpRecordPage(pageReqVO); | ||||
|         // 1.1 查询联系人和商机 | ||||
|   | ||||
| @@ -53,7 +53,6 @@ public class CrmOperateLogController { | ||||
|  | ||||
|     @GetMapping("/page") | ||||
|     @Operation(summary = "获得操作日志") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:operate-log:query')") | ||||
|     public CommonResult<PageResult<CrmOperateLogRespVO>> getCustomerOperateLog(@Valid CrmOperateLogPageReqVO pageReqVO) { | ||||
|         OperateLogPageReqDTO reqDTO = new OperateLogPageReqDTO(); | ||||
|         reqDTO.setPageSize(PAGE_SIZE_NONE); // 默认不分页,需要分页需注释 | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package cn.iocoder.yudao.module.crm.controller.admin.permission; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.extra.spring.SpringUtil; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||
| @@ -9,18 +8,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionSaveReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.contact.CrmContactDO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | ||||
| import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||||
| import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; | ||||
| import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; | ||||
| import cn.iocoder.yudao.module.crm.service.business.CrmBusinessService; | ||||
| import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; | ||||
| import cn.iocoder.yudao.module.crm.service.contract.CrmContractService; | ||||
| import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; | ||||
| import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO; | ||||
| import cn.iocoder.yudao.module.system.api.dept.DeptApi; | ||||
| import cn.iocoder.yudao.module.system.api.dept.PostApi; | ||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||
| @@ -34,12 +25,13 @@ import io.swagger.v3.oas.annotations.Parameters; | ||||
| import io.swagger.v3.oas.annotations.tags.Tag; | ||||
| import jakarta.annotation.Resource; | ||||
| import jakarta.validation.Valid; | ||||
| import org.springframework.security.access.prepost.PreAuthorize; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| import java.util.*; | ||||
| import java.util.Collection; | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.stream.Stream; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||
| @@ -65,7 +57,6 @@ public class CrmPermissionController { | ||||
|  | ||||
|     @PostMapping("/create") | ||||
|     @Operation(summary = "创建数据权限") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:create')") | ||||
|     public CommonResult<Boolean> create(@Valid @RequestBody CrmPermissionSaveReqVO reqVO) { | ||||
|         permissionService.createPermission(reqVO, getLoginUserId()); | ||||
|         return success(true); | ||||
| @@ -73,7 +64,6 @@ public class CrmPermissionController { | ||||
|  | ||||
|     @PutMapping("/update") | ||||
|     @Operation(summary = "编辑数据权限") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:update')") | ||||
|     @CrmPermission(bizTypeValue = "#updateReqVO.bizType", bizId = "#updateReqVO.bizId" | ||||
|             , level = CrmPermissionLevelEnum.OWNER) | ||||
|     public CommonResult<Boolean> updatePermission(@Valid @RequestBody CrmPermissionUpdateReqVO updateReqVO) { | ||||
| @@ -84,7 +74,6 @@ public class CrmPermissionController { | ||||
|     @DeleteMapping("/delete") | ||||
|     @Operation(summary = "删除数据权限") | ||||
|     @Parameter(name = "ids", description = "数据权限编号", required = true, example = "1024") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:delete')") | ||||
|     public CommonResult<Boolean> deletePermission(@RequestParam("ids") Collection<Long> ids) { | ||||
|         permissionService.deletePermissionBatch(ids, getLoginUserId()); | ||||
|         return success(true); | ||||
| @@ -93,7 +82,6 @@ public class CrmPermissionController { | ||||
|     @DeleteMapping("/delete-self") | ||||
|     @Operation(summary = "删除自己的数据权限") | ||||
|     @Parameter(name = "id", description = "数据权限编号", required = true, example = "1024") | ||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:delete')") | ||||
|     public CommonResult<Boolean> deleteSelfPermission(@RequestParam("id") Long id) { | ||||
|         permissionService.deleteSelfPermission(id, getLoginUserId()); | ||||
|         return success(true); | ||||
| @@ -105,7 +93,6 @@ public class CrmPermissionController { | ||||
|             @Parameter(name = "bizType", description = "CRM 类型", required = true, example = "2"), | ||||
|             @Parameter(name = "bizId", description = "CRM 类型数据编号", required = true, example = "1024") | ||||
|     }) | ||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:query')") | ||||
|     public CommonResult<List<CrmPermissionRespVO>> getPermissionList(@RequestParam("bizType") Integer bizType, | ||||
|                                                                      @RequestParam("bizId") Long bizId) { | ||||
|         List<CrmPermissionDO> permissions = permissionService.getPermissionListByBiz(bizType, bizId); | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| package cn.iocoder.yudao.module.crm.controller.admin.product; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.receivable; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.lang.Assert; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||
|   | ||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.receivable; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.lang.Assert; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotations.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | ||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.number.NumberUtils; | ||||
|   | ||||
| @@ -89,7 +89,7 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { | ||||
|             success = CRM_BUSINESS_CREATE_SUCCESS) | ||||
|     public Long createBusiness(CrmBusinessSaveReqVO createReqVO, Long userId) { | ||||
|         // 1.1 校验产品项的有效性 | ||||
|         List<CrmBusinessProductDO> businessProducts = validateBusinessProducts(createReqVO.getBusinessProducts()); | ||||
|         List<CrmBusinessProductDO> businessProducts = validateBusinessProducts(createReqVO.getProducts()); | ||||
|         // 1.2 校验关联字段 | ||||
|         validateRelationDataExists(createReqVO); | ||||
|  | ||||
| @@ -130,7 +130,7 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { | ||||
|         // 1.1 校验存在 | ||||
|         CrmBusinessDO oldBusiness = validateBusinessExists(updateReqVO.getId()); | ||||
|         // 1.2 校验产品项的有效性 | ||||
|         List<CrmBusinessProductDO> businessProducts = validateBusinessProducts(updateReqVO.getBusinessProducts()); | ||||
|         List<CrmBusinessProductDO> businessProducts = validateBusinessProducts(updateReqVO.getProducts()); | ||||
|         // 1.3 校验关联字段 | ||||
|         validateRelationDataExists(updateReqVO); | ||||
|  | ||||
|   | ||||
| @@ -110,10 +110,10 @@ public class CrmProductCategoryServiceImpl implements CrmProductCategoryService | ||||
|         validateProductCategoryExists(id); | ||||
|         // 1.2 校验是否还有子分类 | ||||
|         if (productCategoryMapper.selectCountByParentId(id) > 0) { | ||||
|             throw exception(product_CATEGORY_EXISTS_CHILDREN); | ||||
|             throw exception(PRODUCT_CATEGORY_EXISTS_CHILDREN); | ||||
|         } | ||||
|         // 1.3 校验是否被产品使用 | ||||
|         if (crmProductService.getProductByCategoryId(id) !=null) { | ||||
|         if (crmProductService.getProductByCategoryId(id) > 0) { | ||||
|             throw exception(PRODUCT_CATEGORY_USED); | ||||
|         } | ||||
|         // 2. 删除 | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.service.statistics; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.collection.ListUtil; | ||||
| import cn.hutool.core.util.ObjUtil; | ||||
| import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | ||||
| import cn.iocoder.yudao.framework.common.util.number.NumberUtils; | ||||
| @@ -354,7 +355,7 @@ public class CrmStatisticsCustomerServiceImpl implements CrmStatisticsCustomerSe | ||||
|     private List<Long> getUserIds(CrmStatisticsCustomerReqVO reqVO) { | ||||
|         // 情况一:选中某个用户 | ||||
|         if (ObjUtil.isNotNull(reqVO.getUserId())) { | ||||
|             return List.of(reqVO.getUserId()); | ||||
|             return ListUtil.of(reqVO.getUserId()); | ||||
|         } | ||||
|         // 情况二:选中某个部门 | ||||
|         // 2.1 获得部门列表 | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.service.statistics; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.collection.ListUtil; | ||||
| import cn.hutool.core.util.ObjUtil; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | ||||
| @@ -140,7 +141,7 @@ public class CrmStatisticsFunnelServiceImpl implements CrmStatisticsFunnelServic | ||||
|     private List<Long> getUserIds(CrmStatisticsFunnelReqVO reqVO) { | ||||
|         // 情况一:选中某个用户 | ||||
|         if (ObjUtil.isNotNull(reqVO.getUserId())) { | ||||
|             return List.of(reqVO.getUserId()); | ||||
|             return ListUtil.of(reqVO.getUserId()); | ||||
|         } | ||||
|         // 情况二:选中某个部门 | ||||
|         // 2.1 获得部门列表 | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.service.statistics; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.collection.ListUtil; | ||||
| import cn.hutool.core.date.LocalDateTimeUtil; | ||||
| import cn.hutool.core.util.ObjUtil; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.performance.CrmStatisticsPerformanceReqVO; | ||||
| @@ -145,7 +146,7 @@ public class CrmStatisticsPerformanceServiceImpl implements CrmStatisticsPerform | ||||
|     private List<Long> getUserIds(CrmStatisticsPerformanceReqVO reqVO) { | ||||
|         // 情况一:选中某个用户 | ||||
|         if (ObjUtil.isNotNull(reqVO.getUserId())) { | ||||
|             return List.of(reqVO.getUserId()); | ||||
|             return ListUtil.of(reqVO.getUserId()); | ||||
|         } | ||||
|         // 情况二:选中某个部门 | ||||
|         // 2.1 获得部门列表 | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package cn.iocoder.yudao.module.crm.service.statistics; | ||||
|  | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.collection.ListUtil; | ||||
| import cn.hutool.core.util.ObjUtil; | ||||
| import cn.iocoder.yudao.framework.ip.core.Area; | ||||
| import cn.iocoder.yudao.framework.ip.core.enums.AreaTypeEnum; | ||||
| @@ -117,7 +118,7 @@ public class CrmStatisticsPortraitServiceImpl implements CrmStatisticsPortraitSe | ||||
|     private List<Long> getUserIds(CrmStatisticsPortraitReqVO reqVO) { | ||||
|         // 情况一:选中某个用户 | ||||
|         if (ObjUtil.isNotNull(reqVO.getUserId())) { | ||||
|             return List.of(reqVO.getUserId()); | ||||
|             return ListUtil.of(reqVO.getUserId()); | ||||
|         } | ||||
|         // 情况二:选中某个部门 | ||||
|         // 2.1 获得部门列表 | ||||
|   | ||||
| @@ -39,8 +39,6 @@ mybatis-plus: | ||||
|  | ||||
| # Lock4j 配置项(单元测试,禁用 Lock4j) | ||||
|  | ||||
| # Resilience4j 配置项 | ||||
|  | ||||
| --- #################### 监控相关配置 #################### | ||||
|  | ||||
| --- #################### 芋道相关配置 #################### | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV