liujie
2025-06-09 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDAO.java
@@ -1,17 +1,32 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageComActDTO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.service_community.model.dos.ComActDO;
import java.util.List;
import com.panzhihua.common.model.dtos.community.building.BuildingDto;
import com.panzhihua.common.model.dtos.community.large.AreaStreetDetailResp;
import com.panzhihua.common.model.dtos.community.large.SumAreaStreetResp;
import com.panzhihua.common.model.dtos.partybuilding.QryReportResp;
import com.panzhihua.common.model.vos.area.StreetAndBuildVO;
import com.panzhihua.common.model.vos.community.ComActPasswordVo;
import com.panzhihua.common.model.vos.community.bigscreen.ScreenStatics;
import com.panzhihua.common.model.vos.community.screen.event.EventPopulationSpecialStatisticsVO;
import com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageComActDTO;
import com.panzhihua.common.model.dtos.community.switchs.SearchCommunityDTO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComPopulationActVO;
import com.panzhihua.common.model.vos.community.switchs.CommunitySwitchAllAppletsVO;
import com.panzhihua.common.model.vos.community.switchs.StreetAllAppletsVO;
import com.panzhihua.common.model.vos.grid.EventGridCommunityAdminVO;
import com.panzhihua.service_community.model.dos.ComActDO;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -21,61 +36,177 @@
 **/
@Mapper
public interface ComActDAO extends BaseMapper<ComActDO> {
    //    @Select("<script> " +
//            " <where>" +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            " </where>" +
//            "</script>")
    // @Select("<script> " +
    // " <where>" +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // " </where>" +
    // "</script>")
    @Select("<script> " +
            "SELECT\n" +
            "c.community_id,\n" +
            "c.`name`,\n" +
            "ST_Distance_Sphere ( Point ( #{lng}, #{lat} ), Point ( c.lng, c.lat ) ) AS distance \n" +
            "FROM\n" +
            "com_act c \n" +
            " <where>" +
            "<if test='areaCode != null and areaCode.trim() != &quot;&quot;'>" +
            "c.area_code = #{areaCode} \n" +
            " </if> " +
            " </where>" +
            "ORDER BY\n" +
            "distance ASC" +
            "<if test='lng != null and lng.trim() != &quot;&quot;'>" +
            " limit 10 " +
            " </if> " +
            "</script>")
    @Select("<script> " + "SELECT\n" + "c.community_id,\n" + "c.`name`,\n"
        + "ST_Distance_Sphere ( Point ( #{lng}, #{lat} ), Point ( c.lng, c.lat ) ) AS distance \n" + "FROM\n"
        + "com_act c \n" + " <where>" + "<if test='areaCode != null and areaCode.trim() != &quot;&quot;'>"
        + "c.area_code = #{areaCode} \n" + " </if> " + " </where>" + "ORDER BY\n" + "distance ASC"
        + "<if test='lng != null and lng.trim() != &quot;&quot;'>" + " limit 100 " + " </if> " + "</script>")
    List<ComActVO> listCommunity(ComActVO comActVO);
    @Select("select district_name from com_mng_struct_area_district where district_adcode=#{areaCode}")
    String selectAreaName(String areaCode);
    @Select("<script> " +
            "SELECT\n" +
            "a.* \n" +
            "FROM\n" +
            "com_act a \n" +
            " <where>" +
            "<if test='pageComActDTO.name != null and pageComActDTO.name.trim() != &quot;&quot;'>" +
            "and a.name LIKE concat( #{pageComActDTO.name}, '%' ) \n" +
            " </if> " +
            "<if test='pageComActDTO.areaCode != null and pageComActDTO.areaCode.trim() != &quot;&quot;'>" +
            "AND a.area_code = #{pageComActDTO.areaCode} \n" +
            " </if> " +
            "<if test='pageComActDTO.createAtBegin != null '>" +
            "AND a.create_at BETWEEN " +
            "#{pageComActDTO.createAtBegin} \n" +
            "AND #{pageComActDTO.createAtEnd}" +
            " </if> " +
            " </where>" +
            " order by a.create_at desc"+
            "</script>")
    @Select("<script> " + "SELECT\n" + "a.* \n" + "FROM\n" + "com_act a \n" + " <where>"
        + "<if test='pageComActDTO.name != null and pageComActDTO.name.trim() != &quot;&quot;'>"
        + "and a.name LIKE concat( #{pageComActDTO.name}, '%' ) \n" + " </if> "
        + "<if test='pageComActDTO.areaCode != null and pageComActDTO.areaCode.trim() != &quot;&quot;'>"
        + "AND a.area_code = #{pageComActDTO.areaCode} \n" + " </if> "
        + "<if test='pageComActDTO.createAtBegin != null '>"
            + "AND a.create_at BETWEEN "
        + "#{pageComActDTO.createAtBegin} \n" + "AND #{pageComActDTO.createAtEnd}" + " </if> " + " </where>"
        + " order by a.create_at desc" + "</script>")
    IPage<ComActVO> pageCommunity(Page page, @Param("pageComActDTO") PageComActDTO pageComActDTO);
    @Update("update sys_user u set u.password=#{password} where u.account=#{account} and u.type=3 and u.community_id=#{communityId}")
    void updateAccountPassword(@Param("password") String password, @Param("account") String account, @Param("communityId")Long communityId);
    @Update("update sys_user u set u.password=#{password} where u.account=#{account} and u.type=3 and u.community_id = ${communityId}")
    void updateAccountPassword(@Param("password") String password, @Param("account") String account,
        @Param("communityId") Long communityId);
    @Select("select community_id,`name`,lng,lat from com_act where state = 0 and app_id =#{appId}")
    List<EventGridCommunityAdminVO> getCommunityLists(@Param("appId") String appId);
    @Select("select ca.`name`,cmsap.province_name,cmsac.city_name,cmsad.district_name,ca.street_id,ca.community_id,cs.`name` as streetName from com_act as ca \n"
        + "left join com_mng_struct_area_province as cmsap on cmsap.province_adcode = ca.province_code\n"
        + "left join com_mng_struct_area_city as cmsac on cmsac.city_adcode = ca.city_code\n"
        + "left join com_mng_struct_area_district as cmsad on cmsad.district_adcode = ca.area_code\n"
        + "left join com_street as cs on cs.street_id = ca.street_id\n" + "where ca.community_id = ${communityId}")
    ComPopulationActVO getPopulationActById(@Param("communityId") Long communityId);
    @Select("select `name`,street_id from com_street where app_id = #{appId}")
    List<StreetAllAppletsVO> getStreetList(String appId);
    @Select("select ca.`name`,ca.street_id,ca.community_id,cs.`name` as streetName from com_act as ca left join com_street as cs on cs.street_id = ca.street_id where ca.state = 0 and ca.street_id = #{streetId}")
    List<CommunitySwitchAllAppletsVO> getCommunityListByStreetId(@Param("streetId") Long streetId);
//    @Select("<script> select ca.`name`,ca.street_id,ca.community_id,cs.`name` as streetName " +
//            "from com_act as ca " +
//            "left join com_street as cs on cs.street_id = ca.street_id " +
//            "where ca.state = 0 and ca.name like concat('%',#{name},'%') <if test='appId !=null and appId !=&quot;&quot;'> and cs.app_id = #{appId} </if> </script> ")
    List<CommunitySwitchAllAppletsVO> getCommunityListByName(@Param("name") String name,@Param("appId") String appId);
    @Select("SELECT   c.community_id,    c.`name`,    c.street_id,    cs.`name` as streetName," +
            "round( ST_Distance_Sphere ( Point ( #{communityDTO.longitude}, #{communityDTO.latitude} ), Point ( c.lng, c.lat ) )/ 1000, 2 ) AS distance  " +
            "FROM    com_act c     left join com_street as cs on cs.street_id = c.street_id  " +
            "where cs.area_code = #{communityDTO.areaCode} " +
            "HAVING distance >= 0 and distance <= #{communityDTO.distance}   ORDER BY    distance ASC")
    List<CommunitySwitchAllAppletsVO> getCommunityListByNearby(@Param("communityDTO") SearchCommunityDTO communityDTO);
    @Select("<script> select community_id,name,lng,lat from com_act  where state = 0 <if test='areaCode !=null and areaCode !=&quot;&quot;'> and area_code = #{areaCode} </if> </script>")
    List<EventGridCommunityAdminVO> getWestCommunityLists(@Param("areaCode") String areCode);
    @Select("select account,plaintext_password as password from com_act where community_id = #{communityId}")
    ComActPasswordVo getCommunityPassword(@Param("communityId") Long communityId);
    @Select("select name from com_pb_check_unit where id=#{id}")
    String getUnitName(@Param("id") Long unitId);
    @Select("select count(id) from com_pb_check_unit")
    Integer getUnitCount();
    @Select("select count(id) from com_pb_member where audit_result=1")
    Integer selectUnitCount();
    @Select("select count(id) from com_pb_check_unit")
    Integer selectMemberCount();
    @Select("select name from com_pb_check_unit where id=#{id}")
    String selectUnitName(@Param("id") Long id);
    @Select("select community_id from com_act where street_id=#{id}")
    List<Long> selectCommunityByStreetId(Long id);
    @Select("SELECT  caa.community_id FROM com_act caa WHERE caa.`name` = ( select ca.`name` FROM com_act ca WHERE ca.community_id =#{id})")
    List<Long> selectIds(@Param("id") Long id);
    /**
     * 统计全部社区/村落数量
     * @return
     */
    @Select("SELECT count(1) FROM `com_act` WHERE app_id = 'wx118de8a734d269f0' and community_id not in ( 11 ,22)")
    Integer countCommunity();
    /**
     * 统计实有人口数
     * @return
     */
    @Select(" SELECT count(1) FROM com_mng_population WHERE death = 0")
    Integer countPopulation();
    /**
     * 统计实有房屋数
     * @return
     */
    @Select(" SELECT count(1) FROM com_mng_population_house")
    Integer countPopulationHouse();
    /**
     * 统计报道在职干部 西区+花城
     * @return
     */
    @Select("  SELECT sum(a.member) FROM (SELECT count(1) member FROM com_pb_member union all  SELECT count(1) member FROM com_pb_member_west) a")
    Integer countPbMember();
    /**
     * 统计报到单位
     * @return
     */
    @Select("  SELECT count(1) FROM com_pb_check_unit")
    Integer countPbUnit();
    /**
     * 统计商家
     * @return
     */
    @Select(" SELECT count(1) FROM com_convenient_merchants WHERE is_del = 0")
    Integer countMerchants();
    /**
     * 统计自愿者
     * @return
     */
    @Select("SELECT count(1) FROM sys_user WHERE is_volunteer = 1")
    Integer countVolunteer();
    /**
     * 统计社会组织
     * @return
     */
    @Select("SELECT count(1) FROM com_act_social_org")
    Integer countSocialOrg();
    @Select("select * from com_act where area_code = #{areaCode}")
    List<ComActVO> panzhihuaMap(@Param("areaCode")String areaCode);
    List<StreetAndBuildVO> oneTagThreeReal(@Param("streetId") Long streetId);
    ScreenStatics getScreenStatics();
    EventPopulationSpecialStatisticsVO getPopulationSpecial(@Param("streetId") Long streetId);
    Integer getPopulationAge(@Param("streetId") Long streetId, @Param("age") Integer age);
    List<UnitActivityAnalysisVO>  institutionalUnitServiceAnalysis(@Param("beginTime") String beginTime, @Param("endTime") String endTIme);
    List<UnitActivityAnalysisVO>  institutionalUnitActivityAnalysis(@Param("beginTime") String beginTime, @Param("endTime") String endTIme);
    @Select("SELECT count(1) FROM com_pb_check_unit WHERE belong_to = #{belongTo}")
    Integer arriveUnit(@Param("belongTo") String belongTo);
    SumAreaStreetResp sumAreaStreet();
    AreaStreetDetailResp selectVillage(@Param("ids") List<Long> ids,@Param("type") String type);
    EventPopulationSpecialStatisticsVO selectEvent(@Param("ids") List<Long> ids);
    List<QryReportResp> qryReport(String yearTime);
}