package com.zhujizheng.IHome.kaleer.product.model.vo; import com.zhujizheng.IHome.generator.dao.PYKaleerProductModel; import com.zhujizheng.IHome.generator.dao.PYUserInfo; import com.zhujizheng.IHome.kaleer.meterial.service.PYKaleerMaterialService; import com.zhujizheng.IHome.kaleer.meterial.vo.PYKaleerMaterialVO; import com.zhujizheng.IHome.util.aes.AESUtil; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @Data public class PYKaleerProductModelVO { // 产品型号id private Integer productModelId; // 添加产品型号的用户id private Integer addUserId; // 添加产品型号的用户名 private String addUserName; // 产品型号名 private String name; // 产品型号的原料id字符串,用下划线分割 private List materials; // 更新数据的时间戳,单位为毫秒 private Long time; // 扩展数据 private String extData; public static PYKaleerProductModelVO createVO(PYKaleerProductModel productModel, PYUserInfo userInfo, PYKaleerMaterialService materialService) { PYKaleerProductModelVO vo = new PYKaleerProductModelVO(); vo.setProductModelId(productModel.getProductModelId()); vo.setAddUserId(productModel.getAddUserId()); vo.setAddUserName(userInfo.getUserName()); String encryptName = AESUtil.commonEncrypt(productModel.getName()); vo.setName(encryptName); String materialIdStr = productModel.getMaterialIdStr(); String[] materialIds = materialIdStr.split("_"); List materialVOs = new ArrayList(); for (String materialId: materialIds) { Integer id = Integer.parseInt(materialId); PYKaleerMaterialVO materialVO = materialService.selectMaterial(id); materialVOs.add(materialVO); } vo.setMaterials(materialVOs); String encryptExtData = AESUtil.commonEncrypt(productModel.getExtData()); vo.setExtData(encryptExtData); vo.setTime(productModel.getTime()); return vo; } }