package cn.reghao.tnb.content.app.geo.db.mapper;

import cn.reghao.jutil.jdk.web.db.BaseMapper;
import cn.reghao.tnb.content.app.geo.model.po.CameraPhoto;
import cn.reghao.tnb.content.app.geo.model.vo.AreaCount;
import cn.reghao.tnb.content.app.geo.model.vo.MapMarker;
import cn.reghao.tnb.content.app.geo.model.vo.MapPoint;
import cn.reghao.tnb.content.app.geo.model.vo.MarkerInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author reghao
 * @date 2024-09-07 12:01:54
 */
@Mapper
public interface CameraPhotoMapper extends BaseMapper<CameraPhoto> {
    void updateSetAreaCode(@Param("objectId") String objectId, @Param("areaCode") int areaCode);

    List<MapMarker> findAlbumIdGroup(int pageSize);
    List<MapMarker> findByImagePost(int pageSize);
    List<MapMarker> findByMallReply(int pageSize);
    List<MapMarker> findByMallReplyCup(@Param("pageSize") int pageSize);
    List<MapMarker> findByMallReplyCupArea(@Param("pageSize") int pageSize, @Param("areaCode") String areaCode);
    List<MapMarker> findByMallReplyItem(@Param("pageSize") int pageSize, @Param("itemType") int itemType);

    MarkerInfo findImagePostInfo(int id);
    MarkerInfo findMallReplyInfo(int id);
    MarkerInfo findMarkerInfo(int id);
    List<MapMarker> findByDistance(@Param("mapPoint") MapPoint mapPoint, @Param("distance") int distance);
    List<AreaCount> findAreaCountByGroup(String areaCode);
}
