package com.talentcard.server.service;
|
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.talentcard.server.entity.AdminApprovalOrganization;
|
import com.talentcard.server.mapper.AdminApprovalOrganizationMapper;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
public class AdminApprovalInfoService {
|
private final AdminApprovalOrganizationMapper organizationMapper;
|
|
public AdminApprovalInfoService(AdminApprovalOrganizationMapper organizationMapper) {
|
this.organizationMapper = organizationMapper;
|
}
|
|
@Transactional(readOnly = true)
|
public List<Map<String, Object>> list() {
|
return organizationMapper.selectList(new QueryWrapper<AdminApprovalOrganization>()
|
.select("id", "organization_name", "address", "latitude", "longitude", "rights_text",
|
"consultation_phone", "office_hours", "target_talent", "pdf_file", "is_pdf_visible")
|
.eq("deleted", 0)
|
.eq("enabled", 1)
|
.orderByAsc("sort_no", "id"))
|
.stream()
|
.map(this::view)
|
.toList();
|
}
|
|
private Map<String, Object> view(AdminApprovalOrganization organization) {
|
Map<String, Object> result = new LinkedHashMap<>();
|
result.put("id", organization.getId());
|
result.put("organization_name", text(organization.getOrganizationName()));
|
result.put("address", text(organization.getAddress()));
|
result.put("latitude", organization.getLatitude());
|
result.put("longitude", organization.getLongitude());
|
result.put("rights_text", text(organization.getRightsText()));
|
result.put("consultation_phone", text(organization.getConsultationPhone()));
|
result.put("office_hours", text(organization.getOfficeHours()));
|
result.put("target_talent", text(organization.getTargetTalent()));
|
boolean pdfVisible = organization.getIsPdfVisible() != null && organization.getIsPdfVisible() == 1;
|
result.put("is_pdf_visible", pdfVisible ? 1 : 0);
|
if (pdfVisible && organization.getPdfFile() != null && !organization.getPdfFile().isBlank()) {
|
result.put("pdf_file", organization.getPdfFile());
|
}
|
return result;
|
}
|
|
private String text(String value) {
|
return value == null ? "" : value.trim();
|
}
|
}
|