package com.panzhihua.service_user.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.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;
|
import com.panzhihua.common.model.vos.IndexDataVO;
|
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.springframework.web.bind.annotation.RequestParam;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 用户
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-11-20 15:55
|
**/
|
@Mapper
|
public interface UserDao extends BaseMapper<SysUserDO> {
|
// @Select("<script> " +
|
// " <where>" +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// "<if test='nameCn != null and nameCn.trim() != ""'>" +
|
// " </if> " +
|
// " </where>" +
|
// "</script>")
|
|
@Select("<script> " +
|
"SELECT\n" +
|
"u.user_id,\n" +
|
"u.face_url,\n" +
|
"u.nick_name,\n" +
|
"u.`name`,\n" +
|
"u.phone,\n" +
|
"u.id_card,\n" +
|
"u.face_state,\n" +
|
"c.area_name communityName,\n" +
|
"u.create_at \n" +
|
"FROM\n" +
|
"sys_user u\n" +
|
"JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
|
"<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
|
"AND c.`area_name` like concat(#{loginUserInfoVO.communityName},'%') \n" +
|
" </if> " +
|
" where u.face_state is not null and u.type=1 and u.community_id=#{loginUserInfoVO.communityId} " +
|
"<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != ""'>" +
|
"and u.`name` like concat(#{loginUserInfoVO.name},'%') \n" +
|
" </if> " +
|
"<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != ""'>" +
|
"AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
|
" </if> " +
|
" order by u.face_state asc,u.create_at asc " +
|
"</script>")
|
IPage<LoginUserInfoVO> pageUserFace(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
|
|
@Select("<script> " +
|
"SELECT\n" +
|
"u.user_id,\n" +
|
"u.`name`,\n" +
|
"u.`sex`,\n" +
|
"u.nick_name,\n" +
|
"u.phone,\n" +
|
"YEAR (now()) - YEAR (substring(u.id_card, 7, 8)) age,\n"+
|
"1 isRegister,\n"+
|
"v.political_face political_outlook,\n"+
|
"u.id_card,\n" +
|
"u.job,\n" +
|
"c.area_name communityName,\n" +
|
"u.tags,\n" +
|
"u.create_at \n" +
|
"FROM\n" +
|
"sys_user u\n" +
|
"left join com_mng_volunteer_mng v on u.phone=v.phone \n"+
|
"<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
|
" JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
|
" </if> " +
|
"<if test='loginUserInfoVO.communityName == null or loginUserInfoVO.communityName.trim() == ""'>" +
|
"LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
|
" </if> " +
|
"<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != ""'>" +
|
"AND c.`area_name` like concat(#{loginUserInfoVO.communityName},'%') \n" +
|
" </if> " +
|
" where u.community_id=#{loginUserInfoVO.communityId} and u.type=1 " +
|
"<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != ""'>" +
|
" and u.`name` like concat(#{loginUserInfoVO.name},'%') \n" +
|
" </if> " +
|
"<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != ""'>" +
|
"AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
|
" </if> " +
|
" order by u.user_id desc " +
|
"</script>")
|
IPage<LoginUserInfoVO> pageUser(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
|
|
@Select("<script> " +
|
"SELECT\n" +
|
"u.user_id,\n" +
|
"u.account,\n" +
|
"u.`name`,\n" +
|
"u.`password`,\n" +
|
"u.phone,\n" +
|
"e.role_name,\n" +
|
"e.role_id ,\n" +
|
"u.`status`,\n" +
|
"u.create_at,\n" +
|
"u.last_login_time \n" +
|
"FROM\n" +
|
"sys_user u\n" +
|
"JOIN sys_user_role r ON u.user_id = r.user_id\n" +
|
"JOIN sys_role e ON r.role_id = e.role_id \n" +
|
"<if test='administratorsUserVO.roleId != null and administratorsUserVO.roleId!=0'>" +
|
" and e.role_id=#{administratorsUserVO.roleId}" +
|
" </if> " +
|
" <where>" +
|
"<if test='administratorsUserVO.communityId != null '>" +
|
"AND u.community_id = #{administratorsUserVO.communityId} \n" +
|
" </if> " +
|
"<if test='administratorsUserVO.name != null and administratorsUserVO.name.trim() != ""'>" +
|
"AND u.name like concat (#{administratorsUserVO.name},'%') \n" +
|
" </if> " +
|
"<if test='administratorsUserVO.phone != null and administratorsUserVO.phone.trim() != ""'>" +
|
"AND u.phone like concat(#{administratorsUserVO.phone},'%') " +
|
" </if> " +
|
"<if test='administratorsUserVO.account != null and administratorsUserVO.account.trim() != ""'>" +
|
"AND u.account like concat(#{administratorsUserVO.account},'%') " +
|
" </if> " +
|
" </where>" +
|
"</script>")
|
IPage<AdministratorsUserVO> pageUserBackstage(Page page, @Param("administratorsUserVO") AdministratorsUserVO administratorsUserVO);
|
|
@Select("<script> " +
|
"select \n" +
|
"u.user_id,\n" +
|
"u.phone,\n" +
|
"u.nick_name,\n" +
|
"u.name,\n" +
|
"a.name communityName,\n" +
|
"u.status,\n" +
|
"u.create_at,\n" +
|
"u.last_login_time\n" +
|
"from sys_user u\n" +
|
"left join com_act a on u.community_id=a.community_id\n" +
|
" where\n" +
|
"u.type=1 and u.community_id is not null \n" +
|
"<if test='pageUserAppletsBackstageDTO.phone != null and pageUserAppletsBackstageDTO.phone.trim() != ""'>" +
|
"and u.phone=#{pageUserAppletsBackstageDTO.phone}\n" +
|
" </if> " +
|
"<if test='pageUserAppletsBackstageDTO.communityId != null and pageUserAppletsBackstageDTO.communityId != 0'>" +
|
"and u.community_id=#{pageUserAppletsBackstageDTO.communityId}\n" +
|
" </if> " +
|
"<if test='pageUserAppletsBackstageDTO.status != null and pageUserAppletsBackstageDTO.status != 0'>" +
|
"and u.status=#{pageUserAppletsBackstageDTO.status}\n" +
|
" </if> " +
|
"<if test='pageUserAppletsBackstageDTO.createAtBegin != null '>" +
|
"and u.create_at between #{pageUserAppletsBackstageDTO.createAtBegin} and #{pageUserAppletsBackstageDTO.createAtEnd}\n" +
|
" </if> " +
|
"<if test='pageUserAppletsBackstageDTO.lastLoginTimeBegin != null '>" +
|
"and u.last_login_time between #{pageUserAppletsBackstageDTO.lastLoginTimeBegin} and #{pageUserAppletsBackstageDTO.lastLoginTimeEnd}\n" +
|
" </if> " +
|
"order by u.create_at desc \n" +
|
"</script>")
|
IPage<SysUserVO> pageUserAppletsBackstage(Page page, @Param("pageUserAppletsBackstageDTO") PageUserAppletsBackstageDTO pageUserAppletsBackstageDTO);
|
|
@Update("update sys_user set nick_name=null ,community_id=null,area_id=null where user_id=#{userId}")
|
int deleteUserTest(Long userId);
|
|
@Select("<script> " +
|
"select * from \n" +
|
"sys_user_notice \n" +
|
"where \n" +
|
"user_id=#{pageDTO.userId} \n" +
|
"<if test='pageDTO.type != null and pageDTO.type != 0'>" +
|
"and type=#{pageDTO.type}\n" +
|
" </if> " +
|
"order by create_at desc\n" +
|
"</script>")
|
IPage<SysUserNoticeVO> pageNotice(Page page, @Param("pageDTO") PageDTO pageDTO);
|
|
@Select("SELECT \n" +
|
"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" +
|
"(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")
|
IndexDataKanbanVO selectIndexDataKanban();
|
|
@Select("select t.* from (\n" +
|
"SELECT \n" +
|
"a.`name`,\n" +
|
"COUNT(u.user_id)num\n" +
|
"FROM\n" +
|
"com_act a\n" +
|
"LEFT JOIN sys_user u ON a.community_id = u.community_id and u.type=1\n" +
|
"GROUP BY a.community_id)t ORDER BY t.num desc ")
|
List<DataKanbanDTO> selectCommunityUserOrder();
|
|
@Select("SELECT\n" +
|
"\tCOUNT( a.id ) num \n" +
|
"FROM\n" +
|
"\tcom_act_activity a \n" +
|
"WHERE\n" +
|
"\tDATE_FORMAT( #{date1}, '%Y-%m-%d' )= DATE_FORMAT(\n" +
|
"\t\ta.create_at,\n" +
|
"\t'%Y-%m-%d')\n" +
|
"\t")
|
DataKanbanDTO selectCommunityActiveUserOrder(Date date1);
|
@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" +
|
" (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" +
|
"JOIN com_act c ON u.community_id = c.community_id \n" +
|
"LEFT JOIN com_mng_struct_house_user h on u.user_id=h.user_id\n" +
|
"WHERE\n" +
|
"u.community_id =#{communityId} and u.type=1")
|
IndexDataVO indexDataCommunityBackstage(Long communityId);
|
@Update("UPDATE sys_user u \n" +
|
"SET u.continuous_landing_days =\n" +
|
"IF\n" +
|
"(\n" +
|
"DATE_FORMAT( u.last_login_time, '%m-%d-%Y' )= DATE_FORMAT( SYSDATE(), '%m-%d-%Y' ),\n" +
|
"u.continuous_landing_days + 1,\n" +
|
"0)")
|
int timedTaskContinuousLandingDays();
|
@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);
|
@Select("select name from com_act where community_id=#{communityId}")
|
ComActVO selectCommunity(Long communityId);
|
@Select("select COUNT(a.id) from com_mng_struct_area a where a.area_name=#{areaName}")
|
Integer selectCountArea(String areaName);
|
@Select("SELECT\n" +
|
"\tCOUNT(h.id)\n" +
|
"FROM\n" +
|
"\tcom_mng_struct_area a \n" +
|
"\tLEFT JOIN com_mng_struct_house h on h.parent_code=a.area_code\n" +
|
"WHERE\n" +
|
"\ta.area_name = #{areaName}")
|
Integer selectCountHouse(String areaName);
|
|
@Select("<script> " +
|
"SELECT\n" +
|
"u.user_id 'order',\n" +
|
"h.house_name doorNumber,\n" +
|
"if(h.state=2,'租住','自主')isRent,\n" +
|
"u.`name`,\n" +
|
"'汉' nation,\n" +
|
"if(u.is_partymember=1,'党员','群众')politicalOutlook,\n" +
|
"'未知' maritalStatus,\n" +
|
"u.phone,\n" +
|
"'未知' education,\n" +
|
"u.id_card,\n" +
|
"'未知' company,\n" +
|
"'未知' residence,\n" +
|
"'未知' isPanZhiHua,\n" +
|
"'未知' situation,\n" +
|
"'未知' isContact,\n" +
|
"'未知' major,\n" +
|
"'未知' soldier,\n" +
|
"'未知' disability,\n" +
|
"'未知' lowIncomeHouseholds,\n" +
|
"'未知' lowIncomePeople,\n" +
|
"'未知' oldPeople,\n" +
|
"'未知' specialServiceFamily,\n" +
|
"'未知' keyPersonnel\n" +
|
"FROM\n" +
|
"sys_user u\n" +
|
"left join com_mng_struct_house_user hu on hu.user_id=u.user_id\n"+
|
"left join com_mng_struct_house h on hu.house_code=h.house_code\n"+
|
"<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != ""'>" +
|
" JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
|
" </if> " +
|
"<if test='exportUserDTO.areaName == null or exportUserDTO.areaName.trim() == ""'>" +
|
"LEFT JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
|
" </if> " +
|
"<if test='exportUserDTO.areaName != null and exportUserDTO.areaName.trim() != ""'>" +
|
"AND c.`area_name` like concat(#{exportUserDTO.areaName},'%') \n" +
|
" </if> " +
|
" where u.community_id=#{exportUserDTO.communityId} and u.type=1 " +
|
"<if test='exportUserDTO.name != null and exportUserDTO.name.trim() != ""'>" +
|
" and u.`name` like concat(#{exportUserDTO.name},'%') \n" +
|
" </if> " +
|
"<if test='exportUserDTO.phone != null and exportUserDTO.phone.trim() != ""'>" +
|
"AND u.phone like concat(#{exportUserDTO.phone},'%') " +
|
" </if> " +
|
" group by u.user_id "+
|
"</script>")
|
List<EexcelUserDTO> selectExport(@Param("exportUserDTO") ExportUserDTO exportUserDTO);
|
|
@Select("SELECT\n" +
|
"\t COUNT(a.id)\n" +
|
"FROM\n" +
|
"\t com_pb_member_role a \n" +
|
"WHERE\n" +
|
"\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} 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 != ""'>" +
|
"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") Long userName);
|
|
}
|