service
Fri Nov 03 2023 03:46:56 GMT+0000 (Coordinated Universal Time)
Saved by @namnt
package viettel.cyberbot.demoMysql.Service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.nimbusds.jose.shaded.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import viettel.cyberbot.demoMysql.Entity.Product;
import viettel.cyberbot.demoMysql.Entity.ViettelCyberSpace;
import viettel.cyberbot.demoMysql.Entity.ViettelCyberSpaceDetails;
import viettel.cyberbot.demoMysql.Exception.BadRequest;
import viettel.cyberbot.demoMysql.Mapper.GetDataMapper;
import viettel.cyberbot.demoMysql.Repository.Imp.ViettelCyberSpaceRepositoryImp;
import viettel.cyberbot.demoMysql.Request.GetDataRequest;
import viettel.cyberbot.demoMysql.Response.GetDataResponse;
import viettel.cyberbot.demoMysql.Response.GetDataResponseOnetoOne;
import java.util.ArrayList;
import java.util.List;
@Service
public class ViettelCyberSpaceService {
@Autowired
ViettelCyberSpaceRepositoryImp viettelCyberSpaceRepositoryImp;
@Autowired
GetDataMapper getDataMapper;
public GetDataResponse getData(GetDataRequest request) throws JsonProcessingException {
if (request.getId() == null) {
throw new BadRequest("request wrong");
}
int id = Integer.parseInt(request.getId());
Object[] object = viettelCyberSpaceRepositoryImp.getDataByCriteriaQuery(id);
String json1 = new Gson().toJson(object[0]);
String json2 = new Gson().toJson(object[1]);
ObjectMapper objectMapper = new ObjectMapper();
Product product = objectMapper.readValue(json1, new TypeReference<Product>() {
});
ViettelCyberSpace vtcc = objectMapper.readValue(json2, new TypeReference<ViettelCyberSpace>() {
});
return getDataMapper.convertAttribute(product, vtcc);
}
public List<GetDataResponseOnetoOne> getDataOneToOne() throws JsonProcessingException {
List<Object> list = viettelCyberSpaceRepositoryImp.getDataByCriteriaQueryOneToOne();
List<GetDataResponseOnetoOne> listResponse= new ArrayList<>();
for(Object object: list){
Object[] objects= (Object[]) object;
ObjectMapper objectMapper = new ObjectMapper();
String json1 = new Gson().toJson(objects[0]);
String json2 = new Gson().toJson(objects[1]);
ViettelCyberSpaceDetails viettelCyberSpaceDetails = objectMapper.readValue(json1, new TypeReference<ViettelCyberSpaceDetails>() {
});
ViettelCyberSpace viettelCyberSpace = objectMapper.readValue(json2, new TypeReference<ViettelCyberSpace>() {
});
GetDataResponseOnetoOne getDataResponseOnetoOne= getDataMapper.convertAttributeOneToOne(viettelCyberSpaceDetails,viettelCyberSpace);
listResponse.add(getDataResponseOnetoOne);
}
return listResponse;
}
}



Comments