package cn.iocoder.yudao.module.inspection.service.impl;

import java.util.List;

import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.module.inspection.entity.NweUsers;
import cn.iocoder.yudao.util.DateUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.iocoder.yudao.module.inspection.mapper.SiteInfoMapper;
import cn.iocoder.yudao.module.inspection.entity.SiteInfo;
import cn.iocoder.yudao.module.inspection.service.ISiteInfoService;

/**
 * inspectionService业务层处理
 *
 * @author zcy
 * @date 2023-09-01
 */
@Service
public class SiteInfoServiceImpl implements ISiteInfoService
{
    @Autowired
    private SiteInfoMapper siteInfoMapper;

    /**
     * 查询inspection
     *
     * @param id inspection主键
     * @return inspection
     */
    @Override
    public SiteInfo selectSiteInfoById(Long id)
    {
        return siteInfoMapper.selectSiteInfoById(id);
    }

    /**
     * 查询inspection列表
     *
     * @param siteInfo inspection
     * @return inspection
     */
    @Override
    public IPage<SiteInfo> selectSiteInfoList(Page<SiteInfo> page, SiteInfo siteInfo)
    {
        IPage<SiteInfo> siteInfos = siteInfoMapper.selectSiteInfoList(page,siteInfo);
        for (SiteInfo info : siteInfos.getRecords()) {
            if (null!=info.getSiteLongitude()&&null!=info.getSiteLatitude()){
                info.setLongitude(info.getSiteLongitude().toString());
                info.setLatitude(info.getSiteLatitude().toString());
            }
        }
        return siteInfos;
    }

    /**
     * 新增inspection
     *
     * @param siteInfo inspection
     * @return 结果
     */
    @Override
    public int insertSiteInfo(SiteInfo siteInfo)
    {
        return siteInfoMapper.insertSiteInfo(siteInfo);
    }

    /**
     * 修改inspection
     *
     * @param siteInfo inspection
     * @return 结果
     */
    @Override
    public int updateSiteInfo(SiteInfo siteInfo)
    {
        siteInfo.setUpdateTime(DateUtils.getNowDate());
        return siteInfoMapper.updateSiteInfo(siteInfo);
    }

    /**
     * 批量删除inspection
     *
     * @param ids 需要删除的inspection主键
     * @return 结果
     */
    @Override
    public int deleteSiteInfoByIds(Long[] ids)
    {
        return siteInfoMapper.deleteSiteInfoByIds(ids);
    }

    /**
     * 删除inspection信息
     *
     * @param id inspection主键
     * @return 结果
     */
    @Override
    public int deleteSiteInfoById(Long id)
    {
        return siteInfoMapper.deleteSiteInfoById(id);
    }

    /**
     * 迁移数据表：查询老表数据
     *
     * @return JSONObject对象集合
     */
    @Override
    public List<JSONObject> transferDB() {
        return siteInfoMapper.selectAll();
    }

    /**
     * 迁移数据库：向新表中插入数据
     *
     * @return 影响行数
     */
    @Override
    public int addNewDB(NweUsers user) {
        return siteInfoMapper.addAll(user);
    }

    /**
     * 修改user_id  5个SQL
     */
    @Override
    @TenantIgnore
    public int updateUserId1(int newUserId, int oldUserId) {
        return siteInfoMapper.updateUserId1(newUserId, oldUserId);
    }

    @Override
    @TenantIgnore
    public int updateUserId2(int newUserId, int oldUserId) {
        return siteInfoMapper.updateUserId2(newUserId, oldUserId);
    }

    @Override
    @TenantIgnore
    public int updateUserId3(int newUserId, int oldUserId) {
        return siteInfoMapper.updateUserId3(newUserId, oldUserId);
    }

    @Override
    @TenantIgnore
    public int updateUserId4(int newUserId, int oldUserId) {
        return siteInfoMapper.updateUserId4(newUserId, oldUserId);
    }

    @Override
    @TenantIgnore
    public int updateUserId5(int newUserId, int oldUserId) {
        return siteInfoMapper.updateUserId5(newUserId, oldUserId);
    }



}
