diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackagePageReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackagePageReqVO.java index 1345191..515d8ed 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackagePageReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackagePageReqVO.java @@ -44,6 +44,9 @@ public class TenantAgencyPackagePageReqVO extends PageParam { @Schema(description = "AI 客户端 0 关闭 1 开启") private Integer aiClient; + @Schema(description = "Ai自动回复权限 0关闭 1 开启") + private Integer aiReplay; + @Schema(description = "套餐类型", example = "2") private Integer packageType; diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageRespVO.java index 2beb224..d40b8c5 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageRespVO.java @@ -60,4 +60,7 @@ public class TenantAgencyPackageRespVO { @ExcelProperty("套餐类型") private Integer packageType; + @Schema(description = "Ai自动回复权限 0关闭 1 开启") + @ExcelProperty("Ai 自动回复权限 0关闭 1开启") + private Integer aiReplay; } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageSaveReqVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageSaveReqVO.java index 49e0004..6ad445f 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageSaveReqVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantagencypackage/vo/TenantAgencyPackageSaveReqVO.java @@ -47,4 +47,6 @@ public class TenantAgencyPackageSaveReqVO { @Schema(description = "套餐类型", example = "2") private Integer packageType; + @Schema(description = "Ai自动回复权限 0关闭 1 开启") + private Integer aiReplay; } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantpoints/vo/TenantPointsPageRespVO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantpoints/vo/TenantPointsPageRespVO.java index f455491..170fd00 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantpoints/vo/TenantPointsPageRespVO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenantpoints/vo/TenantPointsPageRespVO.java @@ -59,4 +59,8 @@ public class TenantPointsPageRespVO { @Schema(description = "测试账号数", example = "1") @ExcelProperty("测试账号数") private Integer testAccountNum; + + @Schema(description = "备注", example = "转账金额:1000") + @ExcelProperty("备注") + private String remark; } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenantagencypackage/TenantAgencyPackageDO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenantagencypackage/TenantAgencyPackageDO.java index e56ec4f..8b39f38 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenantagencypackage/TenantAgencyPackageDO.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenantagencypackage/TenantAgencyPackageDO.java @@ -74,5 +74,8 @@ public class TenantAgencyPackageDO extends BaseDO { */ private Integer packageType; - + /** + * Ai自动回复权限 0关闭 1开启 + */ + private Integer aiReplay; } \ No newline at end of file diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java index d158c06..e6d202f 100755 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.java @@ -236,15 +236,24 @@ public class TenantServiceImpl implements TenantService { // 将请求参数转换为租户数据对象 TenantDO tenant = BeanUtils.toBean(createReqVO, TenantDO.class); - String now = DateUtil.now(); - DateTime dt = DateUtil.parse(now); - LocalDateTime localDateTime = LocalDateTimeUtil.of(dt); + // 获取当前时间并计算租户过期时间 + String now = DateUtil.now(); // 获取当前时间字符串 + DateTime dt = DateUtil.parse(now); // 将时间字符串解析为DateTime对象 + LocalDateTime localDateTime = LocalDateTimeUtil.of(dt); // 转换为LocalDateTime对象 + // 根据套餐天数计算过期时间:当前时间 + 套餐天数 LocalDateTime offset = LocalDateTimeUtil.offset(localDateTime, tenantAgencyPackageDO.getDays(), ChronoUnit.DAYS); + + // 设置租户的基本过期时间 tenant.setExpireTime(offset); + // 设置租户的初始用户名(创建者) tenant.setInitialUser(createReqVO.getUsername()); + + // 根据套餐配置设置特定功能的过期时间 + // 如果套餐包含"大哥客户端"功能,则设置大哥客户端的过期时间 if (tenantAgencyPackageDO.getBrotherClient() == 1){ tenant.setBrotherExpireTime(offset); } + // 如果套餐包含"AI客户端"功能,则设置AI客户端的过期时间 if (tenantAgencyPackageDO.getAiClient() == 1){ tenant.setAiExpireTime(offset); } @@ -284,11 +293,13 @@ public class TenantServiceImpl implements TenantService { if (tenantAgencyPackageDO.getHostslClient() == 1){ user.setCrawl((byte) 1); } - if (tenantAgencyPackageDO.getHostslClient() == 1){ + if (tenantAgencyPackageDO.getBrotherClient() == 1){ user.setBigBrother((byte) 1); } if (tenantAgencyPackageDO.getAiClient() == 1){ user.setAiChat((byte) 1); + } + if (tenantAgencyPackageDO.getAiReplay() == 1){ user.setAiReplay((byte) 1); } userMapper.updateById(user); @@ -408,7 +419,7 @@ public class TenantServiceImpl implements TenantService { validTenantWebsiteDuplicate(updateReqVO.getWebsite(), updateReqVO.getId()); // 校验套餐被禁用 - if (updateReqVO.getTenantType().equals(TenantEnum.AGENCY.getTenantType())) { + if (updateReqVO.getTenantType().equals(TenantEnum.AGENCY.getTenantType()) || tenant.getParentId() != 1) { TenantAgencyPackageDO tenantAgencyPackageDO = tenantAgencyPackageService.validTenantPackage(updateReqVO.getPackageId()); // 更新租户 TenantDO updateObj = BeanUtils.toBean(updateReqVO, TenantDO.class);