feat: 站点提交改为待审核(pending),管理员审核通过/拒绝
- submitSite: 新站点 status=PENDING
- AdminController: GET /admin/sites/pending, POST /admin/sites/{id}/approve|reject
- reject 物理删除站点记录
This commit is contained in:
@@ -26,8 +26,17 @@ public interface SiteService {
|
||||
SiteDTO toDTO(Site site);
|
||||
|
||||
/**
|
||||
* 提交站点信息(创建/更新,需审核)
|
||||
* 提交站点信息(创建 pending,更新保持原状态)
|
||||
*/
|
||||
Site submitSite(String siteId, String name, String description, String baseUrl,
|
||||
String iconUrl, String siteType, Long submitterId);
|
||||
|
||||
/** 待审核站点列表 */
|
||||
List<Site> listPendingSites();
|
||||
|
||||
/** 审核通过 */
|
||||
void approveSite(Long id, Long reviewerId);
|
||||
|
||||
/** 拒绝(删除) */
|
||||
void rejectSite(Long id);
|
||||
}
|
||||
|
||||
@@ -77,9 +77,32 @@ public class SiteServiceImpl implements SiteService {
|
||||
site.setIconUrl(iconUrl);
|
||||
site.setSiteType(siteType != null ? com.par.core.enums.SiteType.fromValue(siteType) : com.par.core.enums.SiteType.UNKNOWN);
|
||||
site.setSchemaVersion("1.0.0");
|
||||
site.setStatus(SiteStatus.ACTIVE);
|
||||
site.setStatus(SiteStatus.PENDING); // 新站点需审核
|
||||
site.setSubmitterId(submitterId);
|
||||
siteMapper.insert(site);
|
||||
return site;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Site> listPendingSites() {
|
||||
return siteMapper.selectList(
|
||||
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<Site>()
|
||||
.eq(Site::getStatus, SiteStatus.PENDING)
|
||||
.eq(Site::getDeleted, 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void approveSite(Long id, Long reviewerId) {
|
||||
Site site = siteMapper.selectById(id);
|
||||
if (site != null) {
|
||||
site.setStatus(SiteStatus.ACTIVE);
|
||||
siteMapper.updateById(site);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rejectSite(Long id) {
|
||||
siteMapper.deleteById(id); // 物理删除
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user