service

PHOTO EMBED

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;
    }
}
content_copyCOPY