package com.diagbot.facade;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.diagbot.dto.VersionDetailDTO;
import com.diagbot.dto.VersionWrapperDTO;
import com.diagbot.entity.VersionInfo;
import com.diagbot.enums.IsDeleteEnum;
import com.diagbot.enums.StatusEnum;
import com.diagbot.service.impl.VersionInfoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author wangfeng
 * @Description: 版本信息
 * @date 2018年11月21日 上午11:07:01
 */
@Component
public class VersionInfoFacade extends VersionInfoServiceImpl {

    @Autowired
    VersionDetailFacaed versionDetailFacaed;


    /**
     * 查询版本信息
     *
     * @return
     */
    public VersionWrapperDTO getVersionInfoAll() {
        //查询最新的一条版本信息
        QueryWrapper<VersionInfo> versionInfoQuery = new QueryWrapper<>();
        versionInfoQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
                .eq("STATUS", StatusEnum.Enable.getKey())
                .orderByDesc("refresh_time");

        VersionInfo versionInfo = getOne(versionInfoQuery);
        VersionWrapperDTO versionList = new VersionWrapperDTO();

        if (versionInfo != null) {
            //当查出的数据不为空时，取到版本id，再去版本明细表中查询详细的信息
            long id = versionInfo.getId();
            List<VersionDetailDTO> detail = versionDetailFacaed.getById(id);
            //System.out.println(detail.toString());
            versionList.setId(versionInfo.getId());
            versionList.setName(versionInfo.getName());
            versionList.setRefreshTime(versionInfo.getRefreshTime());
            versionList.setStatus(versionInfo.getStatus());
            versionList.setDetail(detail);
        }

        return versionList;
    }
}
