huanghongfa
2021-07-24 2c8b9868fe8c45320eb18fd5d6b51ec770c30610
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -6,6 +6,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.grid.EventGridMemberEditStatusDTO;
import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
import com.panzhihua.common.model.dtos.grid.PageEventGridMemberRelationDTO;
import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
import com.panzhihua.common.model.vos.IndexDataKanbanVO;
@@ -13,18 +16,19 @@
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.grid.GridMemberVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.common.model.vos.user.UpdateUserArchivesVO;
import com.panzhihua.service_user.model.dos.SysUserDO;
import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
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 org.apache.ibatis.annotations.*;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -107,45 +111,7 @@
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
            " </if> " +
            "union all "+
            "SELECT \n" +
            "u.id+100000000 user_id,\n" +
            "u.`name`,\n" +
            "case if(length(u.id_card)=18, cast(substring(u.id_card,17,1) as UNSIGNED)%2, if(length(u.id_card)=15,cast(substring(u.id_card,15,1) as UNSIGNED)%2,3)) \n" +
            "when 1 then 1\n" +
            "when 0 then 2\n" +
            "else 0\n" +
            "end as sex,\n" +
            "'' nick_name,\n" +
            "u.phone,\n" +
            "YEAR (now()) - YEAR (substring(u.id_card, 7, 8)) age,\n" +
            "if(su.user_id is null ,0,1)isRegister,\n" +
            "u.political_outlook,\n" +
            "u.id_card,\n" +
            "'' job,\n" +
            "c.area_name communityName,\n" +
            "CONCAT(if(u.soldier=1,'军人,',''),if(u.lowIncome_households=1,'低保户,',''),if(u.lowIncome_people=1,'低收入,',''),if(u.old_people=1,'特服家庭,',''),if(u.key_personnel=1,'重点人员,',''))tags,\n" +
            "u.create_at\n" +
            "FROM\n" +
            "\tsys_user_input u\n" +
            "\tLEFT JOIN sys_user su on su.id_card=u.id_card"+
            "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != &quot;&quot;'>" +
            " JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            " </if> " +
            "<if test='loginUserInfoVO.communityName == null or loginUserInfoVO.communityName.trim() == &quot;&quot;'>" +
            "LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            " </if> " +
            "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != &quot;&quot;'>" +
            "AND c.`area_name` like concat(#{loginUserInfoVO.communityName},'%')  \n" +
            " </if> " +
            " where u.community_id=#{loginUserInfoVO.communityId} " +
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
            " </if> " +
            "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != &quot;&quot;'>" +
            " and u.`name` like concat(#{loginUserInfoVO.name},'%')  \n" +
            " </if> " +
            " order by u.user_id desc " +
            "</script>")
    IPage<LoginUserInfoVO> pageUser(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
@@ -198,7 +164,7 @@
            "from sys_user u\n" +
            "left join com_act a on u.community_id=a.community_id\n" +
            " where\n" +
            "u.type=1\n" +
            "u.type=1 and u.community_id is not null \n" +
            "<if test='pageUserAppletsBackstageDTO.phone != null and pageUserAppletsBackstageDTO.phone.trim() != &quot;&quot;'>" +
            "and u.phone=#{pageUserAppletsBackstageDTO.phone}\n" +
            " </if> " +
@@ -237,7 +203,7 @@
            "COUNT(user_id)allUser,\n" +
            "COUNT(case WHEN DATE_FORMAT(create_at,'%m-%d-%Y')=DATE_FORMAT(SYSDATE(),'%m-%d-%Y') then user_id else null end )addUser,\n" +
            "COUNT(case WHEN DATE_FORMAT(last_login_time,'%m-%d-%Y')=DATE_FORMAT(SYSDATE(),'%m-%d-%Y') then user_id else null end )activeDayUser,\n" +
            "COUNT(case WHEN DATE_FORMAT(last_login_time,'%m-%d-%Y')=DATE_FORMAT(SYSDATE(),'%m-%d-%Y') and continuous_landing_days>=7 then user_id else null end )activeWeekUser\n" +
            "(SELECT count(user_id) FROM sys_user WHERE type = 1 AND last_login_time > date_sub(SYSDATE(), INTERVAL 7 DAY))activeWeekUser\n" +
            "FROM\n" +
            "sys_user\n" +
            "where type=1 and community_id is not null")
@@ -266,7 +232,7 @@
    @Select("SELECT \n" +
            "COUNT(DISTINCT u.user_id)allUser,\n" +
            "(select COUNT(m.id) from com_mng_volunteer_mng m where m.community_id=#{communityId} and m.`state`=2)volunteerUser,\n" +
            "COUNT(DISTINCT case when u.is_partymember=1 then u.user_id else null end )partymemberUser,\n" +
            " (select count(id) from com_pb_member cpm where cpm.audit_result = 1 and cpm.community_id = #{communityId}) partymemberUser,\n" +
            "COUNT(h.id)house\n" +
            "FROM\n" +
            "sys_user u\n" +
@@ -283,7 +249,8 @@
            "u.continuous_landing_days + 1,\n" +
            "0)")
    int timedTaskContinuousLandingDays();
    @Select("select state from com_mng_volunteer_mng where phone=#{phone} order by create_at desc limit 1")
    @Select("select id,create_at,state,name,phone,photo_path,political_face,reject_reson,apply_reson,address,age,job,integral,community_id,submit_user_id " +
            " from com_mng_volunteer_mng where phone=#{phone} order by create_at desc limit 1")
    ComMngVolunteerMngVO selectVolunteerMngByPhone(String phone);
    @Update("update sys_user set face_state=null where user_id=#{userId}")
    int updateFaceState(Long userId);
@@ -346,51 +313,6 @@
            "AND u.phone like concat(#{exportUserDTO.phone},'%') " +
            " </if> " +
            " group by u.user_id  "+
            "union all "+
            "SELECT \n" +
            "u.id+100000000 'order',\n" +
            "u.door_number doorNumber,\n" +
            "if(u.is_rent=1,'租住','自主')isRent,\n" +
            "u.name,\n" +
            "u.nation,\n" +
            "case u.political_outlook when 1 then '党员'  when 2 then '团员' else '群众' end politicalOutlook,\n" +
            "if(u.marital_status=1,'已婚','未婚')maritalStatus,\n" +
            "u.phone,\n" +
            "u.education,\n" +
            "u.id_card,\n" +
            "u.company,\n" +
            "u.residence,\n" +
            "if(u.is_panzhiHua=1,'是','否') isPanZhiHua,\n" +
            "u.situation,\n" +
            "if(is_contact=1,'是','否') isContact,\n" +
            "if(u.major=1,'是','否') major,\n" +
            "if(u.soldier=1,'是','否') soldier,\n" +
            "if(u.disability=1,'是','否') disability,\n" +
            "if(u.lowIncome_households=1,'是','否') lowIncomeHouseholds,\n" +
            "if(u.lowIncome_people=1,'是','否') lowIncomePeople,\n" +
            "if(u.old_people=1,'是','否') oldPeople,\n" +
            "if(u.special_service_family=1,'是','否') specialServiceFamily,\n" +
            "if(u.key_personnel=1,'是','否') keyPersonnel\n" +
            "FROM\n" +
            "\tsys_user_input u\n" +
            "\tLEFT JOIN sys_user su on su.id_card=u.id_card"+
            "<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != &quot;&quot;'>" +
            " JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            " </if> " +
            "<if test='exportUserDTO.areaName == null or exportUserDTO.areaName.trim() == &quot;&quot;'>" +
            "LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            " </if> " +
            "<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != &quot;&quot;'>" +
            "AND c.`area_name` like concat(#{exportUserDTO.areaName},'%')  \n" +
            " </if> " +
            " where u.community_id=#{exportUserDTO.communityId} " +
            "<if test='exportUserDTO.phone != null and exportUserDTO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone like concat(#{exportUserDTO.phone},'%') " +
            " </if> " +
            "<if test='exportUserDTO.name != null and exportUserDTO.name.trim() != &quot;&quot;'>" +
            " and u.`name` like concat(#{exportUserDTO.name},'%')  \n" +
            " </if> " +
            "</script>")
    List<EexcelUserDTO> selectExport(@Param("exportUserDTO") ExportUserDTO exportUserDTO);
    
@@ -399,20 +321,111 @@
            "FROM\n" +
            "\t com_pb_member_role a \n" +
            "WHERE\n" +
            "\t a.phone = #{phone}")
    Integer selectCountMemberRole(@Param("phone")String phone);
            "\t a.phone = #{phone} and community_id=#{userCommunityId} ")
    Integer selectCountMemberRole(@Param("phone")String phone, @Param("userCommunityId")Long userCommunityId);
    
    @Select("SELECT\n" +
            "\t COUNT(a.id)\n" +
            "FROM\n" +
            "\t com_pb_service_team a \n" +
            "WHERE\n" +
            "\t a.phone = #{phone}")
    Integer selectCountTeam(@Param("phone")String phone);
            "\t a.phone = #{phone} and community_id=#{userCommunityId} ")
    Integer selectCountTeam(@Param("phone")String phone, @Param("userCommunityId")Long userCommunityId);
    
    
    @Update("update com_pb_member_role u set u.phone=#{newphone},is_reg=1 where u.phone=#{oldphone}")
    void updateMemberRole(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
    @Update("update com_pb_service_team u set u.phone=#{newphone},is_reg=1 where u.phone=#{oldphone}")
    void updateServiceTeam(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
    @Select("SELECT\n" +
            "\t COUNT(ur.role_id) \n" +
            "FROM\n" +
            "\t sys_user u LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id \n" +
            "\t LEFT JOIN sys_role r ON ur.role_id = r.role_id  \n" +
            "WHERE ur.role_id IS  NOT NULL AND  u.phone = #{phone}  and r.community_id=#{userCommunityId}  ")
    Integer selectCountSysUser(@Param("phone")String phone, @Param("userCommunityId")Long userCommunityId);
    @Select("update com_shop_store set sys_user_id = #{sysUserId} where phone = #{phone}")
    void updateStoreByPhone(@Param("phone")String phone, @Param("sysUserId")Long sysUserId);
    @Select("delete from com_shop_store where delete_status = 1 and phone = #{phone}")
    void deleteStoreByPhoneAndStatus(@RequestParam("phone") String phone);
    @Select("update sys_user set" +
            " card_photo_front = #{userArchivesVO.cardPhotoFront} \n" +
            ", card_photo_back = #{userArchivesVO.cardPhotoBack} \n" +
            ",family_book = #{userArchivesVO.familyBook} \n" +
            ",job = #{userArchivesVO.job} \n" +
            " where user_id = #{userArchivesVO.userId}")
    void updateUserArchives(@Param("userArchivesVO") UpdateUserArchivesVO userArchivesVO);
    @Select("update com_pb_member set user_id = #{userId} where audit_result = 1 and id_card = #{idCard}")
    void updateComPbMemberUserId(@Param("idCard")String idCard, @Param("userId")Long userId);
    @Select("select id from com_pb_member where audit_result = 1 and id_card = #{idCard}")
    Long getPartyBuildingByIdCard(@Param("idCard")String idCard);
    @Select("<script>" +
            "select su.user_id,su.image_url,su.nick_name,su.account,su.phone,su.work_status,su.`status`" +
            ",ca.name as communityName,su.work_start_time,su.work_end_time from sys_user su" +
            " left join com_act as ca on ca.community_id = su.community_id" +
            " where su.type = 6 " +
            "<if test='memberRelationDTO.status != null'>" +
            "AND su.status = #{memberRelationDTO.status} " +
            " </if> " +
            "<if test='memberRelationDTO.gridCommunityId != null'>" +
            "AND ca.community_id = #{memberRelationDTO.gridCommunityId} " +
            " </if> " +
            "<if test='memberRelationDTO.gridStreetId != null'>" +
            "AND ca.street_id = #{memberRelationDTO.gridStreetId} " +
            " </if> " +
            "<if test='memberRelationDTO.workStatus != null'>" +
            "AND su.work_status = #{memberRelationDTO.workStatus} " +
            " </if> " +
            "<if test='memberRelationDTO.keyWord != null and memberRelationDTO.keyWord != &quot;&quot;'>" +
            "and (su.nick_name like concat(#{memberRelationDTO.keyWord},'%') OR su.user_id = #{memberRelationDTO.keyWord} OR su.account like concat(#{memberRelationDTO.keyWord},'%') OR su.phone like concat(#{memberRelationDTO.keyWord},'%'))" +
            " </if> " +
            " order by su.create_at desc" +
            "</script>")
    IPage<GridMemberVO> getGridMemberList(Page page, @Param("memberRelationDTO") PageEventGridMemberRelationDTO memberRelationDTO);
    @Select("<script>" +
            "update sys_user" +
            " set status = #{gridMemberEditDTO.status}" +
            " where user_id in " +
            "<foreach item=\"item\" collection=\"gridMemberEditDTO.ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n" +
            "#{item}\n" +
            "</foreach>\n" +
            "</script>")
    void gridMemberEditStatus(@Param("gridMemberEditDTO") EventGridMemberEditStatusDTO gridMemberEditDTO);
    @Select("<script>" +
            "update sys_user" +
            " set password = #{gridMemberDTO.password}" +
            " where user_id in " +
            "<foreach item=\"item\" collection=\"gridMemberDTO.ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n" +
            "#{item}\n" +
            "</foreach>\n" +
            "</script>")
    void passResetUser(@Param("gridMemberDTO") EventGridMemberPassResetDTO gridMemberDTO);
    @Update("update lc_compare_code_member set local_grid_member_id = #{userId},grid_member_name = #{userName} where id = #{lcMemberId}")
    void addLcMember(@Param("lcMemberId") Long lcMemberId,@Param("userId") Long userId,@Param("userName") String userName);
    @Update("update lc_compare_code_member set local_grid_member_id = null,grid_member_name = null where local_grid_member_id = #{gridMemberId}")
    void delLcMember(@Param("gridMemberId") Long gridMemberId);
    @Select("select id,village_id,act_id from com_mng_building where id = #{buildingId}")
    Map<String,Long> getBuilding(@Param("buildingId") Long buildingId);
    @Delete("delete from event_grid_member_building_relation where grid_member_id = #{gridMemberId}")
    void delGridMemberRelation(@Param("gridMemberId") Long gridMemberId);
    @Select("select id from lc_compare_code_member where local_grid_member_id = #{gridMemberId}")
    Long getLcMemberId(@Param("gridMemberId") Long gridMemberId);
    @Select("select count(id) from event_grid_member_relation where grid_member_id = #{userId}")
    Integer getGridIsOk(@Param("userId") Long userId);
}