feat(dms): 添加机台图片地址和文件名字段

- 在 DmsBaseMachineInfo、DmsBaseMachineInfoBo 和 DmsBaseMachineInfoVo 中添加 photoAddress 和 ossId 字段
- 实现单个和批量设置图片地址的方法
- 在查询方法中添加图片地址的处理逻辑
- 引入 RemoteFileService 用于获取文件 URL
hwmom-htk
zangch@mesnac.com 5 months ago
parent c9412a2423
commit 425d27a713

@ -137,5 +137,15 @@ public class DmsBaseMachineInfo extends TenantEntity {
@TableField(exist = false)
private String deviceModeName;
/**
*
*/
@TableField(exist = false)
private String photoAddress;
/**
*
*/
private String ossId;
}

@ -10,8 +10,6 @@ import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.dms.domain.DmsBaseMachineInfo;
import java.util.List;
/**
* prod_base_machine_info
*
@ -139,4 +137,14 @@ public class DmsBaseMachineInfoBo extends BaseEntity {
@ExcelProperty(value = "请求间隔")
private Long requestInterval;
/**
*
*/
private String photoAddress;
/**
*
*/
private String ossId;
}

@ -11,7 +11,6 @@ import org.dromara.dms.domain.DmsBaseMachineInfo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -196,5 +195,14 @@ public class DmsBaseMachineInfoVo implements Serializable {
@ExcelProperty(value = "设备模型名称")
private String deviceModeName;
/**
*
*/
private String photoAddress;
/**
*
*/
private String ossId;
}

@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.dms.domain.DmsBaseDeviceCategory;
import org.dromara.dms.domain.DmsBaseDeviceType;
import org.dromara.dms.domain.DmsBaseMachineInfo;
import org.dromara.dms.domain.bo.DmsBaseMachineInfoBo;
@ -17,11 +17,13 @@ import org.dromara.dms.domain.mobile.DeviceBeen;
import org.dromara.dms.domain.vo.DmsBaseMachineInfoVo;
import org.dromara.dms.mapper.DmsBaseMachineInfoMapper;
import org.dromara.dms.service.IDmsBaseMachineInfoService;
import org.dromara.resource.api.RemoteFileService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* Service
@ -35,6 +37,9 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
private final DmsBaseMachineInfoMapper baseMapper;
@DubboReference
private RemoteFileService remoteFileService;
/**
*
@ -48,6 +53,12 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
bo.setMachineId(machineId);
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
DmsBaseMachineInfoVo prodBaseMachineInfoVo = baseMapper.selectVoOne(lqw);
// 处理图片URL
if (prodBaseMachineInfoVo != null) {
setPhotoAddress(prodBaseMachineInfoVo);
}
//机台关联工序
/* MPJLambdaWrapper<ProdBaseMachineProcess> lqwRelation = JoinWrappers.lambda(ProdBaseMachineProcess.class)
.selectAll(ProdBaseMachineProcess.class)
@ -69,9 +80,16 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
public TableDataInfo<DmsBaseMachineInfoVo> queryPageList(DmsBaseMachineInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
Page<DmsBaseMachineInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// 处理图片URL
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
setPhotoAddressBatch(result.getRecords());
}
return TableDataInfo.build(result);
}
/**
*
*
@ -81,10 +99,51 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
@Override
public List<DmsBaseMachineInfoVo> queryList(DmsBaseMachineInfoBo bo) {
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
List<DmsBaseMachineInfoVo> list = baseMapper.selectVoList(lqw);
return baseMapper.selectVoList(lqw);
// 处理图片URL
if (list != null && !list.isEmpty()) {
setPhotoAddressBatch(list);
}
return list;
}
/**
*
*/
private void setPhotoAddress(DmsBaseMachineInfoVo vo) {
if (vo != null && StringUtils.isNotBlank(vo.getOssId())) {
try {
String photoUrl = remoteFileService.selectUrlByIds(vo.getOssId());
vo.setPhotoAddress(photoUrl);
} catch (Exception e) {
// 忽略异常,不影响主要业务
vo.setPhotoAddress(null);
}
}
}
/**
*
*/
private void setPhotoAddressBatch(List<DmsBaseMachineInfoVo> list) {
// 收集所有有ossId的记录
List<DmsBaseMachineInfoVo> hasOssIdList = list.stream()
.filter(vo -> StringUtils.isNotBlank(vo.getOssId()))
.collect(Collectors.toList());
if (hasOssIdList.isEmpty()) {
return;
}
// 批量获取图片URL
for (DmsBaseMachineInfoVo vo : hasOssIdList) {
setPhotoAddress(vo);
}
}
private MPJLambdaWrapper<DmsBaseMachineInfo> buildQueryWrapper(DmsBaseMachineInfoBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = JoinWrappers.lambda(DmsBaseMachineInfo.class)

Loading…
Cancel
Save