版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
@Override
public GoodsBaseInfoEpcVO selectEpcGoodsBaseInfo(CarConfig carconfig, String realCarDKText, String realCarAgeText) {
// 查询变速箱油信息
GoodsBaseInfoEpcVO vo = new GoodsBaseInfoEpcVO();
if (carconfig == null) {
return new GoodsBaseInfoEpcVO();
}
List<String> keyWordList = Lists.newLinkedList();
if (EasyepcConsts.POWERTYPE_1.equals(carconfig.getPowerType())) {
// 汽油
if (EasyepcConsts.GEARBOXTYPE_1.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_2.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_3.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_4.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_5.equals(carconfig.getGearboxType())) {
// 自动挡
if (EasyepcConsts.GEARBOXTYPE_1.equals(carconfig.getGearboxType())) {
// 双离合
keyWordList.add("湿式双离合");
} else if (EasyepcConsts.GEARBOXTYPE_2.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_3.equals(carconfig.getGearboxType())) {
// 手自一体或者AMT
String gearNum = carconfig.getGearNum();
if (StringUtils.isEmpty(gearNum)) {
return new GoodsBaseInfoEpcVO();
}
if (!StringUtils.isNumericSpace(gearNum)) {
return new GoodsBaseInfoEpcVO();
}
int gearNumInt = Integer.parseInt(gearNum);
if (gearNumInt <= 5) {
keyWordList.add("IIID");
keyWordList.add("多用途");
keyWordList.add("5");
} else {
if (gearNumInt == 6) {
keyWordList.add("多用途");
keyWordList.add("6");
} else if (gearNumInt == 7) {
keyWordList.add("多用途");
keyWordList.add("7");
} else if (gearNumInt == 8) {
keyWordList.add("8");
keyWordList.add("9");
} else if (gearNumInt == 9) {
keyWordList.add("9");
}
}
} else if (EasyepcConsts.GEARBOXTYPE_4.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_5.equals(carconfig.getGearboxType())) {
// 无极变速或者CVT
keyWordList.add("CVT");
}
} else {
// 手动挡
if (EasyepcConsts.VEHICLECLASS_1.equals(carconfig.getVehicleClass())
|| EasyepcConsts.VEHICLECLASS_2.equals(carconfig.getVehicleClass())
|| EasyepcConsts.VEHICLECLASS_3.equals(carconfig.getVehicleClass())) {
keyWordList.add("GL-4");
}
}
} else if (EasyepcConsts.POWERTYPE_2.equals(carconfig.getPowerType())) {
// 柴油
if (EasyepcConsts.GEARBOXTYPE_1.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_2.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_3.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_4.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_5.equals(carconfig.getGearboxType())) {
// 自动挡
if (EasyepcConsts.GEARBOXTYPE_1.equals(carconfig.getGearboxType())) {
// 双离合 无商品数据
return new GoodsBaseInfoEpcVO();
} else if (EasyepcConsts.GEARBOXTYPE_2.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_3.equals(carconfig.getGearboxType())) {
// 手自一体或者AMT
String gearNum = carconfig.getGearNum();
if (StringUtils.isEmpty(gearNum)) {
return new GoodsBaseInfoEpcVO();
}
if (!StringUtils.isNumericSpace(gearNum)) {
return new GoodsBaseInfoEpcVO();
}
int gearNumInt = Integer.parseInt(gearNum);
if (gearNumInt <= 5) {
keyWordList.add("IIID");
keyWordList.add("多用途");
keyWordList.add("5");
} else {
if (gearNumInt == 6) {
keyWordList.add("多用途");
keyWordList.add("6");
} else if (gearNumInt == 7) {
keyWordList.add("多用途");
keyWordList.add("7");
} else if (gearNumInt == 8) {
keyWordList.add("8");
keyWordList.add("9");
} else if (gearNumInt == 9) {
keyWordList.add("9");
}
}
} else if (EasyepcConsts.GEARBOXTYPE_4.equals(carconfig.getGearboxType())
|| EasyepcConsts.GEARBOXTYPE_5.equals(carconfig.getGearboxType())) {
// 无极变速或者CVT
keyWordList.add("CVT");
}
} else {
// 手动挡
if (EasyepcConsts.VEHICLECLASS_1.equals(carconfig.getVehicleClass())
|| EasyepcConsts.VEHICLECLASS_2.equals(carconfig.getVehicleClass())
|| EasyepcConsts.VEHICLECLASS_3.equals(carconfig.getVehicleClass())) {
keyWordList.add("GL-4");
} else if (EasyepcConsts.VEHICLECLASS_4.equals(carconfig.getVehicleClass())
|| EasyepcConsts.VEHICLECLASS_5.equals(carconfig.getVehicleClass())) {
keyWordList.add("GL-5");
}
}
}
List<GoodsBaseInfo> goodsBaseInfoBs = Lists.newLinkedList();
for (String s : keyWordList) {
List<GoodsBaseInfo> singlegoodsBaseInfoBs = this.selectList(new EntityWrapper<GoodsBaseInfo>()
.eq("is_deleted", CommonConstant.NO).eq("is_enable", CommonConstant.YES)
.eq("status", CommonConstant.YES).like("good_label_json", s));
if (singlegoodsBaseInfoBs != null && !singlegoodsBaseInfoBs.isEmpty()) {
goodsBaseInfoBs.addAll(singlegoodsBaseInfoBs);
}
}
// 查询机油或者柴油
String keyWord = null;
if (EasyepcConsts.POWERTYPE_1.equals(carconfig.getPowerType())) {
keyWord = "汽机油";
} else if (EasyepcConsts.POWERTYPE_2.equals(carconfig.getPowerType())) {
keyWord = "柴机油";
}
List<GoodsBaseInfo> goodsBaseInfoJy = this.selectList(new EntityWrapper<GoodsBaseInfo>()
.eq("is_deleted", CommonConstant.NO).eq("is_enable", CommonConstant.YES)
.eq("status", CommonConstant.YES).like("good_label_json", keyWord));
List<GoodsBaseInfo> goodsBaseInfoJy1 = Lists.newLinkedList();
if (goodsBaseInfoJy != null) {
goodsBaseInfoJy1 = goodsBaseInfoJy.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains(realCarDKText))
.collect(Collectors.toList());
}
List<GoodsBaseInfo> goodsBaseInfoJy2 = Lists.newLinkedList();
if (goodsBaseInfoJy1 != null) {
goodsBaseInfoJy2 = goodsBaseInfoJy1.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains(realCarAgeText))
.collect(Collectors.toList());
}
List<GoodsBaseInfo> goodsBaseInfoJy3 = Lists.newLinkedList();
List<String> goodsLabelList = goodsBaseInfoJy2.stream().map(p -> p.getGoodLabelJson())
.collect(Collectors.toList());
if (goodsLabelList.contains("生物基")) {
goodsBaseInfoJy3 = goodsBaseInfoJy2.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("生物基"))
.collect(Collectors.toList());
} else if (goodsLabelList.contains("极速")) {
goodsBaseInfoJy3 = goodsBaseInfoJy2.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("极速"))
.collect(Collectors.toList());
} else {
goodsBaseInfoJy3 = goodsBaseInfoJy2.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("其它"))
.collect(Collectors.toList());
}
List<GoodsBaseInfo> goodsBaseInfoJy4 = Lists.newLinkedList();
goodsLabelList = goodsBaseInfoJy3.stream().map(p -> p.getGoodLabelJson()).collect(Collectors.toList());
if (goodsLabelList.contains("sn")) {
goodsBaseInfoJy4 = goodsBaseInfoJy3.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("sn"))
.collect(Collectors.toList());
} else if (goodsLabelList.contains("sm")) {
goodsBaseInfoJy4 = goodsBaseInfoJy3.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("sm"))
.collect(Collectors.toList());
} else if (goodsLabelList.contains("sl")) {
goodsBaseInfoJy4 = goodsBaseInfoJy3.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("sl"))
.collect(Collectors.toList());
} else {
goodsBaseInfoJy4 = goodsBaseInfoJy3.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("sj"))
.collect(Collectors.toList());
}
goodsLabelList = goodsBaseInfoJy4.stream().map(p -> p.getGoodLabelJson()).collect(Collectors.toList());
List<GoodsBaseInfo> goodsBaseInfoJy5 = Lists.newLinkedList();
if (goodsLabelList.contains("4L")) {
goodsBaseInfoJy5 = goodsBaseInfoJy4.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("4L"))
.collect(Collectors.toList());
} else {
goodsBaseInfoJy5 = goodsBaseInfoJy4.stream()
.filter(goodsBaseInfo -> goodsBaseInfo.getGoodLabelJson().contains("1L"))
.collect(Collectors.toList());
}
vo.setGoodsBaseInfoBs(goodsBaseInfoBs);
vo.setGoodsBaseInfoJy(goodsBaseInfoJy5);
return vo;
}