CommonStatsService.java
package edu.ucsb.cs156.happiercows.services;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import edu.ucsb.cs156.happiercows.entities.CommonStats;
import edu.ucsb.cs156.happiercows.repositories.CommonsRepository;
import edu.ucsb.cs156.happiercows.repositories.CommonStatsRepository;
import edu.ucsb.cs156.happiercows.repositories.UserCommonsRepository;
@Service("CommonStatsService")
public class CommonStatsService {
    @Autowired
    CommonStatsRepository commonStatsRepository;
    @Autowired
    CommonsRepository commonsRepository;
    @Autowired
    UserCommonsRepository userCommonsRepository;
    @Autowired
    private AverageCowHealthService averageCowHealthService;
    public CommonStats createCommonStats(Long commonsId) {
        commonsRepository.findById(commonsId)
            .orElseThrow(() -> new IllegalArgumentException(String.format("Commons with id %d not found", commonsId)));
        
        double avgHealth = averageCowHealthService.getAverageCowHealth(commonsId);
        int totalNumCows = averageCowHealthService.getTotalNumCows(commonsId);
        CommonStats stats = CommonStats.builder()
                .commonsId(commonsId)
                .numCows(totalNumCows)
                .avgHealth(avgHealth)
                .build();
        return stats;
    }
    public CommonStats createAndSaveCommonStats(Long commonsId) {
        
        CommonStats stats = createCommonStats(commonsId);
        commonStatsRepository.save(stats);
        return stats;
    }
}