西格玛许 1 день назад
Родитель
Сommit
7aaf4bd5ef

+ 6 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/domain/vo/MainCompanyApplyVo.java

@@ -42,6 +42,12 @@ public class MainCompanyApplyVo implements Serializable {
     @ExcelProperty(value = "头像")
     private Long avatar;
 
+    /** 头像真实URL(由 ossService 转换) */
+    private String avatarUrl;
+
+    /** 委托招聘证明真实URL(由 ossService 转换) */
+    private String authLetterUrl;
+
     @ExcelProperty(value = "姓氏")
     private String surname;
 

+ 35 - 2
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/impl/MainCompanyApplyServiceImpl.java

@@ -23,6 +23,8 @@ import org.dromara.main.mapper.MainAuditMapper;
 import org.dromara.main.mapper.MainCompanyApplyMapper;
 import org.dromara.main.service.CompanyGeoService;
 import org.dromara.main.service.IMainCompanyApplyService;
+import org.dromara.system.service.ISysOssService;
+import org.dromara.system.domain.vo.SysOssVo;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -36,23 +38,31 @@ public class MainCompanyApplyServiceImpl implements IMainCompanyApplyService {
     private final MainCompanyApplyMapper baseMapper;
     private final MainAuditMapper mainAuditMapper;
     private final CompanyGeoService companyGeoService;
+    private final ISysOssService ossService;
 
     @Override
     public TableDataInfo<MainCompanyApplyVo> queryPageList(MainCompanyApplyBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<MainCompanyApply> lqw = buildQueryWrapper(bo);
         Page<MainCompanyApplyVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        result.getRecords().forEach(this::fillOssUrls);
         return TableDataInfo.build(result);
     }
 
     @Override
     public List<MainCompanyApplyVo> queryList(MainCompanyApplyBo bo) {
         LambdaQueryWrapper<MainCompanyApply> lqw = buildQueryWrapper(bo);
-        return baseMapper.selectVoList(lqw);
+        List<MainCompanyApplyVo> list = baseMapper.selectVoList(lqw);
+        list.forEach(this::fillOssUrls);
+        return list;
     }
 
     @Override
     public MainCompanyApplyVo queryById(Long id) {
-        return baseMapper.selectVoById(id);
+        MainCompanyApplyVo vo = baseMapper.selectVoById(id);
+        if (vo != null) {
+            fillOssUrls(vo);
+        }
+        return vo;
     }
 
     @Override
@@ -196,4 +206,27 @@ public class MainCompanyApplyServiceImpl implements IMainCompanyApplyService {
         entity.setLatitude(geoPoint.getLatitude());
         entity.setLongitude(geoPoint.getLongitude());
     }
+
+    /**
+     * 将 OSS ID 转换为真实 URL 填充到 Vo 中
+     */
+    private void fillOssUrls(MainCompanyApplyVo vo) {
+        if (vo == null) return;
+        if (vo.getAvatar() != null) {
+            try {
+                List<SysOssVo> ossList = ossService.listByIds(List.of(vo.getAvatar()));
+                vo.setAvatarUrl(ossList != null && !ossList.isEmpty() ? ossList.get(0).getUrl() : null);
+            } catch (Exception e) {
+                vo.setAvatarUrl(null);
+            }
+        }
+        if (vo.getAuthLetter() != null) {
+            try {
+                List<SysOssVo> ossList = ossService.listByIds(List.of(vo.getAuthLetter()));
+                vo.setAuthLetterUrl(ossList != null && !ossList.isEmpty() ? ossList.get(0).getUrl() : null);
+            } catch (Exception e) {
+                vo.setAuthLetterUrl(null);
+            }
+        }
+    }
 }