huanghongfa
2020-12-31 17bccd09afb6e6a4fffa0409d7d5285e88442103
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
New file
@@ -0,0 +1,163 @@
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.user.PageUserAppletsBackstageDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.service_user.model.dos.SysUserDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/**
 * @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() != &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" +
            "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.NAME,\n" +
            "is_tanant,\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>" +
            "<if test='loginUserInfoVO.communityName != null and loginUserInfoVO.communityName.trim() != &quot;&quot;'>" +
            "and u.`name` = #{loginUserInfoVO.communityName} \n" +
            " </if> " +
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{loginUserInfoVO.phone}" +
            " </if> " +
            " </where>" +
            " 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.nick_name,\n" +
            "u.phone,\n" +
            "u.id_card,\n" +
            "u.job,\n" +
            "c.NAME,\n" +
            "u.is_tanant,\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" +
            " </if> " +
            "<if test='loginUserInfoVO.phone != null and loginUserInfoVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{loginUserInfoVO.phone}" +
            " </if> " +
            " </where>" +
            "</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.phone,\n" +
            "e.role_name,\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() != &quot;&quot;'>" +
            "AND u.name = #{administratorsUserVO.name} \n" +
            " </if> " +
            "<if test='administratorsUserVO.phone != null and administratorsUserVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{administratorsUserVO.phone}" +
            " </if> " +
            "<if test='administratorsUserVO.account != null and administratorsUserVO.account.trim() != &quot;&quot;'>" +
            "AND u.account = #{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>" +
            "<if test='pageUserAppletsBackstageDTO.phone != null and pageUserAppletsBackstageDTO.phone.trim() != &quot;&quot;'>" +
            "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> " +
            " </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);
}