huanghongfa
2021-02-20 10b8730043e823efaf7fdea209e7e63f08b9bc4e
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -4,14 +4,25 @@
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.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.user.AdministratorsUserVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
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 java.util.Date;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -41,23 +52,21 @@
            "u.phone,\n" +
            "u.id_card,\n" +
            "u.face_state,\n" +
            "c.NAME,\n" +
            "is_tanant,\n" +
            "c.area_name communityName,\n" +
            "u.create_at \n" +
            "FROM\n" +
            "sys_user u\n" +
            "JOIN com_act c ON u.community_id = c.community_id \n" +
            "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != &quot;&quot;'>" +
            "AND c.`name` = #{loginUserInfoVO.name} \n" +
            " </if> " +
            " <where>" +
            "JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != &quot;&quot;'>" +
            "and u.`name` = #{loginUserInfoVO.communityName} \n" +
            "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() != &quot;&quot;'>" +
            "and u.`name` like concat(#{loginUserInfoVO.name},'%')  \n" +
            " </if> " +
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{loginUserInfoVO.phone}" +
            "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
            " </if> " +
            " </where>" +
            " order by u.face_state asc,u.create_at asc " +
            "</script>")
    IPage<LoginUserInfoVO> pageUserFace(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
@@ -70,24 +79,27 @@
            "u.phone,\n" +
            "u.id_card,\n" +
            "u.job,\n" +
            "c.NAME,\n" +
            "u.is_tanant,\n" +
            "c.area_name communityName,\n" +
            "u.tags,\n" +
            "u.create_at \n" +
            "FROM\n" +
            "sys_user u\n" +
            "LEFT JOIN com_act c ON u.community_id = c.community_id \n" +
            "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != &quot;&quot;'>" +
            "AND c.`name` = #{loginUserInfoVO.communityName} \n" +
            " </if> " +
            " <where>" +
            "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != &quot;&quot;'>" +
            " and u.`name` = #{loginUserInfoVO.name} \n" +
            " JOIN com_mng_struct_area c ON u.area_id = c.id \n" +
            " </if> " +
            "<if test='loginUserInfoVO.name == null or loginUserInfoVO.name.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} and u.type=1 " +
            "<if test='loginUserInfoVO.name != null and loginUserInfoVO.name.trim() != &quot;&quot;'>" +
            " and u.`name` like concat(#{loginUserInfoVO.name},'%')  \n" +
            " </if> " +
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{loginUserInfoVO.phone}" +
            "AND u.phone like concat(#{loginUserInfoVO.phone},'%') " +
            " </if> " +
            " </where>" +
            "</script>")
    IPage<LoginUserInfoVO> pageUser(Page page, @Param("loginUserInfoVO") LoginUserInfoVO loginUserInfoVO);
@@ -96,8 +108,10 @@
            "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" +
@@ -113,13 +127,13 @@
            "AND u.community_id = #{administratorsUserVO.communityId} \n" +
            " </if> " +
            "<if test='administratorsUserVO.name != null and administratorsUserVO.name.trim() != &quot;&quot;'>" +
            "AND u.name = #{administratorsUserVO.name} \n" +
            "AND u.name like concat (#{administratorsUserVO.name},'%')  \n" +
            " </if> " +
            "<if test='administratorsUserVO.phone != null and administratorsUserVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{administratorsUserVO.phone}" +
            "AND u.phone like concat(#{administratorsUserVO.phone},'%') " +
            " </if> " +
            "<if test='administratorsUserVO.account != null and administratorsUserVO.account.trim() != &quot;&quot;'>" +
            "AND u.account = #{administratorsUserVO.account}" +
            "AND u.account like concat(#{administratorsUserVO.account},'%') " +
            " </if> " +
            " </where>" +
            "</script>")
@@ -127,17 +141,18 @@
    @Select("<script> " +
            "select \n" +
            "u.userId,\n" +
            "u.user_id,\n" +
            "u.phone,\n" +
            "u.nick_name,\n" +
            "u.name,\n" +
            "a.name communityName,\n" +
            "a.status,\n" +
            "a.create_at,\n" +
            "a.last_login_time\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>" +
            " where\n" +
            "u.type=1\n" +
            "<if test='pageUserAppletsBackstageDTO.phone != null and pageUserAppletsBackstageDTO.phone.trim() != &quot;&quot;'>" +
            "and u.phone=#{pageUserAppletsBackstageDTO.phone}\n" +
            " </if> " +
@@ -153,8 +168,79 @@
            "<if test='pageUserAppletsBackstageDTO.lastLoginTimeBegin != null '>" +
            "and u.last_login_time between #{pageUserAppletsBackstageDTO.lastLoginTimeBegin} and #{pageUserAppletsBackstageDTO.lastLoginTimeEnd}\n" +
            " </if> " +
            " </where>" +
            "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" +
            "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" +
            "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" +
            "COUNT(case when u.is_partymember=1 then u.user_id else null end )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 state 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);
}