String content = “[{“name”:“zhangsan”,“password”:“123”,“email”:“123”}”
+ “,{“name”:“lisi”,“password”:“123”,“email”:“123”}]”;
List<Map<String, Object>> equityList = new ArrayList<>();
// 解析返回值
JSONObject object = null;
try {
// 转型为JSONObject
object = JSONObject.parseObject(content);
System.out.println(object);
} catch (Exception e) {
LOGGER.info("JSONObject解析异常");
e.printStackTrace();
}
// 将data里面的数据转为json数组格式
JSONArray jsonArray = object.getJSONArray("data");
// 遍历数组数据
for (int i = 0; i < jsonArray.size(); i++){
Integer item_id = jsonArray.getJSONObject(i).getInteger("item_id");
Integer oneType = jsonArray.getJSONObject(i).getInteger("type");
Integer similarity = jsonArray.getJSONObject(i).getInteger("similarity");
if (Objects.isNull(item_id)){
throw new ServiceException("返回参数物品ID不可为空");
}
if (Objects.isNull(oneType)){
throw new ServiceException("返回参数一级类目不可为空");
}
// 首先查询品牌权益
BrandEquity brandEquity = brandEquityRepository.findByEquityIdAndCode(item_id, oneType);
if (Objects.isNull(brandEquity)){
// 该物品不属于品牌权益时查询票务权益
TicketEquity ticketEquity = ticketEquityRepository.findByEquityIdAndCode(item_id, oneType);
if (Objects.isNull(ticketEquity)){
throw new ParameterException("权益不存在");
}else {
// 将权益信息封装进map
Map<String, Object> ticketMap = new HashMap<>();
ticketMap.put("id", ticketEquity.getId());
ticketMap.put("equity_name", ticketEquity.getEquityName());
equityList.add(ticketMap);
}
}else {
// 物品属于品牌权益,然后封装进map
Map<String, Object> brandMap = new HashMap<>();
brandMap.put("id", brandEquity.getId());
brandMap.put("equity_name", brandEquity.getEquityName());
equityList.add(brandMap);
}
}
return equityList;