diff --git a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/controller/CreatorAdminController.java b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/controller/CreatorAdminController.java index 869b2ba..8ca777d 100644 --- a/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/controller/CreatorAdminController.java +++ b/fruitshorts-admin-api/src/main/java/com/fruitshorts/admin/controller/CreatorAdminController.java @@ -70,8 +70,8 @@ public class CreatorAdminController { return Result.ok(creatorService.audit(id, req, SecurityUtils.getUserId())); } - /** 手工录入创作者主体(C 端申请入驻还没实现,先用它打通链路)。 */ - @Operation(summary = "手工录入创作者主体") + /** 手工录入创作者主体:录入即通过,可直接开号。 */ + @Operation(summary = "手工录入创作者主体(录入即通过)") @PostMapping @PreAuthorize("@ss.hasPermission('creator:audit')") @OperationLog(module = "创作者管理", action = "新增创作者") @@ -79,8 +79,8 @@ public class CreatorAdminController { return Result.ok(creatorService.create(req)); } - /** 开通创作者账号:仅审核通过可开;已开通则幂等返回,不重复建号。 */ - @Operation(summary = "开通创作者账号(仅审核通过可开通,幂等)") + /** 开通创作者账号:不再校验入驻审核,仅冻结状态拒绝;已开通则幂等返回。 */ + @Operation(summary = "开通创作者账号(仅冻结状态拒绝,幂等)") @PostMapping("/{id}/account") @PreAuthorize("@ss.hasPermission('creator:account')") @OperationLog(module = "创作者管理", action = "开通创作者账号") diff --git a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorAccountService.java b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorAccountService.java index 573069c..5594c74 100644 --- a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorAccountService.java +++ b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorAccountService.java @@ -21,10 +21,10 @@ import org.springframework.util.StringUtils; import java.security.SecureRandom; /** - * 创作者账号:后台给审核通过的创作者开一个**独立后台账号**,他登录后直接落创作者中心。 + * 创作者账号:后台直接给创作者开一个**独立后台账号**,他登录后直接落创作者中心。 * * 约定: - * - 只有 `approved` 的创作者能开通(没审核过就发账号等于绕过入驻); + * - 账号由后台直接发放,不再校验入驻审核状态(仅冻结的创作者不能开号); * - **幂等**:已经绑定了 `admin_user_id` 就不重复建号,返回 `created=false` 且不回明文密码, * 运营要重发就用「重置密码」; * - 初始密码是**一次性明文**:只在开通 / 重置的响应里出现一次,库里存 BCrypt 哈希, @@ -49,10 +49,9 @@ public class CreatorAccountService { @Transactional(rollbackFor = Exception.class) public CreatorAccountRespVO open(Long creatorId, String usernameOverride) { Creator creator = requireCreator(creatorId); - if (!CreatorService.STATUS_APPROVED.equals(creator.getStatus())) { + if (CreatorService.STATUS_FROZEN.equals(creator.getStatus())) { throw new ServiceException(ErrorCode.OPERATION_NOT_ALLOWED, - "只有审核通过的创作者才能开通账号,当前状态:" - + CreatorService.statusText(creator.getStatus())); + "创作者已冻结,请先解冻后再开通账号"); } if (creator.getAdminUserId() != null && creator.getAdminUserId() > 0) { AdminUser existing = adminUserService.getExisting(creator.getAdminUserId()); diff --git a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorService.java b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorService.java index 6a4c086..36472d3 100644 --- a/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorService.java +++ b/fruitshorts-module-creator/src/main/java/com/fruitshorts/creator/service/CreatorService.java @@ -63,8 +63,8 @@ public class CreatorService { } /** - * 后台手工录入创作者主体(C 端申请入驻还没做,先用它打通链路)。 - * 新录入的主体是 pending,必须走一次入驻审核通过才能开通账号。 + * 后台手工录入创作者主体。 + * 录入即开通:直接置为 approved,不再走入驻审核(账号由后台直接发放)。 */ @Transactional(rollbackFor = Exception.class) public Long create(CreatorSaveReqVO req) { @@ -83,9 +83,10 @@ public class CreatorService { creator.setCountryCode(StringUtils.hasText(req.getCountryCode()) ? req.getCountryCode() : "ID"); creator.setUserId(req.getUserId() == null ? 0L : req.getUserId()); creator.setAdminUserId(0L); - creator.setStatus(STATUS_PENDING); - creator.setAuditNote(""); + creator.setStatus(STATUS_APPROVED); + creator.setAuditNote("后台直接开通"); creator.setAuditBy(0L); + creator.setAuditAt(LocalDateTime.now()); creator.setSettlementCurrency("IDR"); creator.setBankAccount(""); creator.setTaxNo("");