diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoPropertyVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoPropertyVo.java new file mode 100644 index 0000000..316091c --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoPropertyVo.java @@ -0,0 +1,21 @@ +package com.bonus.material.device.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DevInfoPropertyVo { + + /** 物资ID */ + @ApiModelProperty(value = "物资ID") + private Long maId; + + /** 属性名称 */ + @ApiModelProperty(value = "属性名称") + private String propertyName; + + /** 属性值 */ + @ApiModelProperty(value = "属性值") + private String propertyValue; + +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java index 45c1dce..6c7dc02 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java @@ -1,6 +1,7 @@ package com.bonus.material.device.domain.vo; import com.bonus.material.device.domain.DevInfo; +import com.bonus.material.ma.vo.MaTypeProperty; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -151,4 +152,6 @@ public class DevInfoVo extends DevInfo { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String endTime; + @ApiModelProperty(value = "自定义属性列表") + private List devInfoProperties; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java index ec0e953..039062c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java @@ -7,8 +7,10 @@ import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.domain.MaDevQc; import com.bonus.material.device.domain.SafeBookInfo; import com.bonus.material.device.domain.dto.InfoMotionDto; +import com.bonus.material.device.domain.vo.DevInfoPropertyVo; import com.bonus.material.device.domain.vo.DevInfoVo; import com.bonus.material.device.domain.vo.LeaseVo; +import com.bonus.material.ma.vo.MaTypeProperty; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -126,6 +128,12 @@ public interface DevInfoMapper { List selectDevInfoLists(DevInfoVo devInfo); + List selectDevInfoProperties(); + + int deleteDevInfoProperties(@Param("maId")Long maId); + + int insertDevInfoProperties(@Param("maId")Long maId, @Param("list") List list); + /** * 查询企业信息 * @param obj diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java index ef8172e..ba63fc2 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java @@ -15,12 +15,14 @@ import com.bonus.material.book.domain.BookCarInfoDto; import com.bonus.material.device.domain.DevInfo; import com.bonus.material.device.domain.dto.DevInfoImpDto; import com.bonus.material.device.domain.dto.InfoMotionDto; +import com.bonus.material.device.domain.vo.DevInfoPropertyVo; import com.bonus.material.device.domain.vo.DevInfoVo; import com.bonus.material.device.domain.vo.DevNameVo; import com.bonus.material.device.domain.vo.LeaseVo; import com.bonus.material.device.mapper.BmFileInfoMapper; import com.bonus.material.device.mapper.DevInfoMapper; import com.bonus.material.device.service.DevInfoService; +import com.bonus.material.ma.vo.MaTypeProperty; import com.bonus.system.api.model.LoginUser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; @@ -531,7 +533,13 @@ public class DevInfoServiceImpl implements DevInfoService { @Override public List selectDevInfoLists(DevInfoVo devInfo) { devInfo.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId().toString()); - return devInfoMapper.selectDevInfoLists(devInfo); + List devInfoVos = devInfoMapper.selectDevInfoLists(devInfo); + List devInfoProperties = devInfoMapper.selectDevInfoProperties(); + Map> map = devInfoProperties.stream().collect(Collectors.groupingBy(DevInfoPropertyVo::getMaId)); + for (DevInfoVo devInfos : devInfoVos) { + devInfos.setDevInfoProperties(map.get(devInfos.getMaId())); + } + return devInfoVos; } /** diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java index 7cf356e..5f4b75c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/ma/vo/MaTypeProperty.java @@ -10,7 +10,7 @@ public class MaTypeProperty { @ApiModelProperty(value = "类型ID") private Long typeId; - /** 类型ID */ + /** 属性名称 */ @ApiModelProperty(value = "属性名称") private String propertyName; diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index aca35b3..8347e62 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -531,6 +531,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY d.create_time desc + + + + delete from ma_dev_info_properties where ma_id = #{maId} + + + + insert into + ma_dev_info_properties(ma_id, property_name, property_value, create_time) + values + + ( + #{maId}, + #{item.propertyName}, + #{item.propertyValue}, + now() + ) + + +