| | |
| | | package com.panzhihua.service_community.dao; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | 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.ExcelElderAuthDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageComEldersRecordsDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.dtos.community.PageEldersAuthRecordDTO; |
| | | import com.panzhihua.common.model.vos.community.ComEldersAuthRecordForCommunityVO; |
| | | import com.panzhihua.common.model.vos.community.ComEldersAuthRecordVO; |
| | | import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO; |
| | | import com.panzhihua.common.model.vos.community.EldersAuthVO; |
| | | import com.panzhihua.common.model.vos.elders.ComEldersAuthHistoryVO; |
| | | import com.panzhihua.common.model.vos.user.SysUserVO; |
| | | import com.panzhihua.service_community.model.dos.EldersAuthDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | /** |
| | | * DAO |
| | |
| | | * @author cedoo email:cedoo(a)qq.com |
| | | * @version 1.0 |
| | | * @since 1.0 |
| | | * */ |
| | | */ |
| | | @Mapper |
| | | public interface EldersAuthDAO extends BaseMapper<EldersAuthDO> { |
| | | |
| | | @Select("<script> " + |
| | | "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," + |
| | | " ea.AUTH_USER_NAME , ea.ID_CARD, ea.BIRTH_DAY, ea.FAMILY_USER_ID ," + |
| | | " ea.DOMICILE, ea.SUMIT_USER_ID, u.phone as submitUserAccount ," + |
| | | " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) as age \n" + |
| | | "FROM com_elders_auth ea LEFT JOIN sys_user u ON ea.SUMIT_USER_ID = u.user_id\n" + |
| | | " <where> " + |
| | | "<if test='pageEldersAuthDTO.sumitUserId != null'>" + |
| | | " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " + |
| | | " </if> " + |
| | | "<if test='pageEldersAuthDTO.idCard != null'>" + |
| | | " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " + |
| | | " </if> " + |
| | | "<if test='pageEldersAuthDTO.authUserName != null'>" + |
| | | " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " + |
| | | " </if> " + |
| | | " </where>" + |
| | | " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order} " + |
| | | "</script>") |
| | | @Select("<script> " + "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," |
| | | + " ea.auth_user_name , ea.id_card, ea.birth_day, ea.family_user_id ," |
| | | + " ea.domicile, ea.submit_user_id, u.phone as submitUserAccount , ea.video_url, " |
| | | + " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) as age \n" + "FROM " + " (" |
| | | + " SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth\n" + " FROM com_elders_auth \n" |
| | | + " GROUP BY id_card, yearMonth\n" + " ) t " + " LEFT JOIN com_elders_auth ea ON t.id = ea.id " |
| | | + " LEFT JOIN sys_user u ON ea.submit_user_id = u.user_id\n" |
| | | + " LEFT JOIN com_act ac ON u.community_id = ac.community_id\n" + " <where> " + |
| | | |
| | | "<if test='pageEldersAuthDTO.communityId != null'>" |
| | | + " AND ac.community_id = ${pageEldersAuthDTO.communityId} " + " </if> " + |
| | | |
| | | "<if test='pageEldersAuthDTO.sumitUserId != null'>" |
| | | + " AND ea.submit_user_id = #{pageEldersAuthDTO.sumitUserId} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.idCard != null'>" + " AND ea.id_card = #{pageEldersAuthDTO.idCard} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.authUserName != null'>" |
| | | + " AND ea.auth_user_name like concat('%', #{pageEldersAuthDTO.authUserName}, '%' ) " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.type == 1 '>" |
| | | + " AND DATE_FORMAT(ea.create_at, '%c') = #{pageEldersAuthDTO.month} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.type == 2 '>" + "<if test='pageEldersAuthDTO.createAtStart != null'>" |
| | | + " AND ea.create_at <![CDATA[>=]]> #{pageEldersAuthDTO.createAtStart} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.createAtEnd != null'>" |
| | | + " AND ea.create_at <![CDATA[<=]]> #{pageEldersAuthDTO.createAtEnd} " + " </if> " + " </if> " + " </where>" |
| | | + " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order} " + "</script>") |
| | | IPage<EldersAuthVO> selectByPage(Page page, @Param("pageEldersAuthDTO") PageEldersAuthDTO pageEldersAuthDTO); |
| | | |
| | | |
| | | @Select("<script> " + |
| | | "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," + |
| | | " ea.AUTH_USER_NAME , ea.ID_CARD, ea.BIRTH_DAY, ea.FAMILY_USER_ID, " + |
| | | " ea.DOMICILE, ea.SUMIT_USER_ID, u.phone as submitUserAccount ," + |
| | | " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) as age \n" + |
| | | "FROM com_elders_auth ea LEFT JOIN sys_user u ON ea.SUMIT_USER_ID = u.user_id\n" + |
| | | " where ea.id = #{id}" + |
| | | "</script>") |
| | | @Select("<script> " + "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," |
| | | + " ea.auth_user_name , ea.id_card, ea.birth_day, ea.family_user_id,ea.type, " |
| | | + " ea.domicile, ea.submit_user_id, u.phone as submitUserAccount , ea.video_url , ea.family_user_id, " |
| | | + " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) as age \n" |
| | | + "FROM com_elders_auth ea LEFT JOIN sys_user u ON ea.submit_user_id = u.user_id\n" + " where ea.id = #{id}" |
| | | + "</script>") |
| | | EldersAuthDetailsVO selectDetails(@Param("id") Long id); |
| | | |
| | | @Select("<script> " + " SELECT \n" |
| | | + " (@rownum:=@rownum+1) as seq, '高龄补贴' AS subsidy, '' AS batch, ea.auth_user_name AS NAME, ea.id_card, \n" |
| | | + " CASE\n" + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) > 99 THEN \"100周岁(含)以上\"\n" |
| | | + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) > 89 THEN \"90-99周岁\"\n" |
| | | + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) >= 80 THEN \"80-89周岁\"\n" + " ELSE \"未达到年龄\"\n" |
| | | + " END AS TYPE, DATE_FORMAT(ea.create_at, '%Y-%m') AS yearMonth,\n" + " CASE\n" |
| | | + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) > 99 THEN \"800\"\n" |
| | | + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) > 89 THEN \"200\"\n" |
| | | + " WHEN ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) >= 80 THEN \"50\"\n" + " ELSE \"未达到年龄\"\n" |
| | | + " END AS payCount,\n" |
| | | + " ac.name AS communityName, '' AS 'group', '' AS telphone , ROUND(DATEDIFF(CURDATE(), ea.birth_day)/365.2422) AS age\n" |
| | | + " FROM \n" + " (" + " SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth, @rownum:=0 \n" |
| | | + " FROM com_elders_auth \n" + " GROUP BY id_card, yearMonth\n" + " ) t \n" |
| | | + " LEFT JOIN com_elders_auth ea ON t.id = ea.id \n" |
| | | + " LEFT JOIN sys_user u ON ea.submit_user_id = u.user_id\n" |
| | | + " LEFT JOIN com_act ac ON u.community_id = ac.community_id\n" + " <where> " + |
| | | |
| | | "<if test='pageEldersAuthDTO.communityId != null'>" |
| | | + " AND ac.community_id = ${pageEldersAuthDTO.communityId} " + " </if> " + |
| | | |
| | | "<if test='pageEldersAuthDTO.ids != null and pageEldersAuthDTO.ids.length>0 '>" + " AND ea.id in " |
| | | + "<foreach collection='pageEldersAuthDTO.ids' item='id' index='index' open='(' close=')' separator=',' >\n" |
| | | + " #{id}" + "</foreach>" + " </if> " + |
| | | |
| | | "<if test='pageEldersAuthDTO.ids == null or pageEldersAuthDTO.ids.length==0 '>" |
| | | + "<if test='pageEldersAuthDTO.sumitUserId != null'>" |
| | | + " AND ea.submit_user_id = #{pageEldersAuthDTO.sumitUserId} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.idCard != null'>" + " AND ea.id_card = #{pageEldersAuthDTO.idCard} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.authUserName != null'>" |
| | | + " AND ea.auth_user_name like concat('%', #{pageEldersAuthDTO.authUserName}, '%' ) " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.type == 1 '>" |
| | | + " AND DATE_FORMAT(ea.create_at, '%c') = #{pageEldersAuthDTO.month} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.type == 2 '>" + "<if test='pageEldersAuthDTO.createAtStart != null'>" |
| | | + " AND ea.create_at <![CDATA[>=]]> #{pageComShopOrderSearchDTO.createAtStart} " + " </if> " |
| | | + "<if test='pageEldersAuthDTO.createAtEnd != null'>" |
| | | + " AND ea.create_at <![CDATA[<=]]> #{pageComShopOrderSearchDTO.createAtEnd} " + " </if> " + " </if> " |
| | | + " </if> " + " </where>" + " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order} " |
| | | + "</script>") |
| | | List<ExcelElderAuthDTO> selectByParams(@Param("pageEldersAuthDTO") PageEldersAuthDTO pageEldersAuthDTO); |
| | | |
| | | @Select("<script> " + "SELECT CONCAT(ap.province_name, ad.district_name) AS domicile\n" |
| | | + "FROM com_mng_struct_area_province ap LEFT JOIN com_mng_struct_area_city ct ON ap.province_adcode = ct.province_adcode\n" |
| | | + " LEFT JOIN com_mng_struct_area_district ad ON ct.city_adcode = ad.city_adcode " |
| | | + " WHERE substring(ad.district_adcode, 1, 6) = substring(#{idCard}, 1, 6) " + "</script>") |
| | | String selectDomicile(@Param("idCard") String idCard); |
| | | |
| | | @Select("<script> " |
| | | + " SELECT distinct t.id, t.yearMonth, au.`type`, DATE_FORMAT(au.create_at,'%Y-%m-%d') AS create_at,\n" |
| | | + " case " + " when fed.id IS NOT NULL then true\n" + " ELSE false " + " END hasFeed " |
| | | + " FROM ( SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth\n" + " FROM com_elders_auth \n" |
| | | + " GROUP BY id_card, yearMonth\n" + " ) t LEFT JOIN com_elders_auth au ON t.id = au.id\n" |
| | | + " LEFT JOIN com_elders_auth_feedback fed ON t.id = fed.AUTH_ID\n" + " <where>" |
| | | + " au.family_user_id = #{pageComEldersRecordsDTO.bigAgeid} " + "</where>" |
| | | + "<if test='pageComEldersRecordsDTO.sortColumns!=null'>\n" |
| | | + "ORDER BY ${pageComEldersRecordsDTO.sortColumns} ${pageComEldersRecordsDTO.sortType}\n" + "</if> " |
| | | + "</script>") |
| | | List<ComEldersAuthRecordVO> selectEldersRecordByPage(Page page, |
| | | @Param("pageComEldersRecordsDTO") PageComEldersRecordsDTO pageComEldersRecordsDTO); |
| | | |
| | | @Select("<script> " + " SELECT DISTINCT a.name" |
| | | + " FROM com_elders_auth ea LEFT JOIN com_elders_auth_user au ON ea.family_user_id = au.id \n" |
| | | + "LEFT JOIN com_act a ON au.community_id = a.community_id\n" + " WHERE ea.id = #{id} " + "</script>") |
| | | String selectCommunityNameByAuth(@Param("id") Long id); |
| | | |
| | | @Select("select user_id,id_card,name from sys_user where user_id = #{userId}") |
| | | SysUserVO getSysUserByUserId(@Param("userId") Long userId); |
| | | |
| | | // @Select("<script> " |
| | | // + " SELECT e.id,e.CREATE_BY,e.create_at, e.update_by, e.update_at, e.id_card, e.auth_user_name, e.video_url," |
| | | // + " e.submit_user_id, e.domicile, e.STATUS, e.birth_day, e.type, e.age, e.verification_result, u.name as sumitUserName, u.phone as sumitUserAccount " |
| | | // + " FROM ( " + " SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth " |
| | | // + " FROM com_elders_auth " + " GROUP BY id_card, yearMonth " + " ) t " |
| | | // + " left join com_elders_auth e on t.id = e.id " + " LEFT JOIN sys_user u ON e.submit_user_id = u.user_id " |
| | | // + "<where>" + " <if test='pageEldersAuthRecordDTO.name!=null'>\n" |
| | | // + " AND e.auth_user_name like concat('%', #{pageEldersAuthRecordDTO.name}, '%')" + "</if>" |
| | | // + " <if test='pageEldersAuthRecordDTO.idCard!=null and pageEldersAuthRecordDTO.idCard!=""'>\n" |
| | | // + " AND e.id_card = #{pageEldersAuthRecordDTO.idCard}\n" + "</if>" |
| | | // + " <if test='pageEldersAuthRecordDTO.type!=null'>\n" + " AND e.type = #{pageEldersAuthRecordDTO.type}\n" |
| | | // + "</if>" + " <if test='pageEldersAuthRecordDTO.month!=null'>\n" |
| | | // + " AND month(e.create_at) = #{pageEldersAuthRecordDTO.month}\n" + "</if>\n" + "</where>\n" |
| | | // + "<if test='pageEldersAuthRecordDTO.sortColumns!=null'>\n" |
| | | // + "ORDER BY e.${pageEldersAuthRecordDTO.sortColumns} ${pageEldersAuthRecordDTO.sortType}\n" + "</if> " |
| | | // + "</script>") |
| | | IPage<ComEldersAuthRecordForCommunityVO> selectCommunityEldersRecordByPage(Page page, |
| | | @Param("pageEldersAuthRecordDTO") PageEldersAuthRecordDTO pageEldersAuthRecordDTO); |
| | | |
| | | /** |
| | | * 根据社区id查询当前社区有多少人未认证和认证 |
| | | * @param communityId 社区id |
| | | * @return 前社区有多少人未认证和认证 |
| | | */ |
| | | Map<String,Object> getEldersAuthStatistics(@Param("communityId") Long communityId); |
| | | |
| | | /** |
| | | * 查询社区上月所有视频认证记录 |
| | | * @param communityId 社区id |
| | | * @return 上月所有视频认证记录 |
| | | */ |
| | | List<ComEldersAuthHistoryVO> getEldersAuthRecords(@Param("communityId") Long communityId); |
| | | |
| | | } |