Browse Source

移动端密码重置

dzx 1 year ago
parent
commit
cbe2a06e51

+ 78 - 7
src/main/java/com/xjrsoft/module/organization/controller/UserController.java

@@ -25,18 +25,58 @@ import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
 import com.xjrsoft.module.base.service.IBaseClassService;
-import com.xjrsoft.module.organization.dto.*;
-import com.xjrsoft.module.organization.entity.*;
-import com.xjrsoft.module.organization.service.*;
+import com.xjrsoft.module.organization.dto.AddUserDto;
+import com.xjrsoft.module.organization.dto.BindOpenidDto;
+import com.xjrsoft.module.organization.dto.LoginResetPasswordDto;
+import com.xjrsoft.module.organization.dto.RegisterDto;
+import com.xjrsoft.module.organization.dto.ResetPasswordDto;
+import com.xjrsoft.module.organization.dto.UpdateInfoDto;
+import com.xjrsoft.module.organization.dto.UpdatePasswordDto;
+import com.xjrsoft.module.organization.dto.UpdateUserDto;
+import com.xjrsoft.module.organization.dto.UserPageDto;
+import com.xjrsoft.module.organization.dto.UserStudentAddDto;
+import com.xjrsoft.module.organization.dto.UserStudentBindDto;
+import com.xjrsoft.module.organization.dto.UserStudentDeleteDto;
+import com.xjrsoft.module.organization.entity.Department;
+import com.xjrsoft.module.organization.entity.Post;
+import com.xjrsoft.module.organization.entity.Role;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.entity.UserDeptRelation;
+import com.xjrsoft.module.organization.entity.UserPostRelation;
+import com.xjrsoft.module.organization.entity.UserRoleRelation;
+import com.xjrsoft.module.organization.service.IDepartmentService;
+import com.xjrsoft.module.organization.service.IPostService;
+import com.xjrsoft.module.organization.service.IRoleService;
+import com.xjrsoft.module.organization.service.IUserDeptRelationService;
+import com.xjrsoft.module.organization.service.IUserPostRelationService;
+import com.xjrsoft.module.organization.service.IUserRoleRelationService;
+import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.organization.service.IUserStudentService;
 import com.xjrsoft.module.organization.utils.OrganizationUtil;
-import com.xjrsoft.module.organization.vo.*;
+import com.xjrsoft.module.organization.vo.PendingCountDto;
+import com.xjrsoft.module.organization.vo.ResetUserPageVo;
+import com.xjrsoft.module.organization.vo.ResetUserRoleVo;
+import com.xjrsoft.module.organization.vo.UserDeptVo;
+import com.xjrsoft.module.organization.vo.UserInfoVo;
+import com.xjrsoft.module.organization.vo.UserListVo;
+import com.xjrsoft.module.organization.vo.UserPageVo;
+import com.xjrsoft.module.organization.vo.UserPostVo;
+import com.xjrsoft.module.organization.vo.UserRoleVo;
+import com.xjrsoft.module.organization.vo.UserStudentVo;
+import com.xjrsoft.module.organization.vo.UserVo;
 import com.xjrsoft.module.oss.factory.OssFactory;
-import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.workflow.service.IWorkflowExecuteService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
@@ -244,7 +284,6 @@ public class UserController {
 
         }
 
-
         if (deptIds.size() > 0) {
             List<Department> list = departmentService.list(Wrappers.lambdaQuery(Department.class).in(Department::getId, deptIds));
 
@@ -286,6 +325,38 @@ public class UserController {
         return RT.ok(pendingCountDto);
     }
 
+    @GetMapping(value = "/reset-user-page")
+    @ApiOperation(value = "移动端用户列表")
+    public RT<PageOutput<ResetUserPageVo>> resetUserPage(UserPageDto dto) {
+        PageOutput<ResetUserPageVo> userPage = userService.getResetUserPage(dto);
+
+        return RT.ok(userPage);
+    }
+
+    @GetMapping(value = "/reset-page-role-list")
+    @ApiOperation(value = "移动端用户列表分类")
+    public RT<List<ResetUserRoleVo>> resetUserTree() {
+        List<ResetUserRoleVo> roleList =  new ArrayList<>();
+        roleList.add(new ResetUserRoleVo(){{
+            setId(null);
+            setName("全部");
+        }});
+        roleList.add(new ResetUserRoleVo(){{
+            setId(2L);
+            setName("教师");
+        }});
+        roleList.add(new ResetUserRoleVo(){{
+            setId(3L);
+            setName("学生");
+        }});
+        roleList.add(new ResetUserRoleVo(){{
+            setId(4L);
+            setName("家长");
+        }});
+
+        return RT.ok(roleList);
+    }
+
     @PutMapping("/update/info")
     @ApiOperation(value = "登陆人修改自己得用户信息")
     public R updateInfo(@RequestBody @Valid UpdateInfoDto dto) {

+ 4 - 1
src/main/java/com/xjrsoft/module/organization/mapper/UserMapper.java

@@ -1,7 +1,10 @@
 package com.xjrsoft.module.organization.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.organization.dto.UserPageDto;
 import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.vo.ResetUserPageVo;
 import org.apache.ibatis.annotations.Mapper;
 /**
  * <p>
@@ -13,5 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface UserMapper extends MPJBaseMapper<User> {
-
+    Page<ResetUserPageVo> getResetUserPage(Page<ResetUserPageVo> page, UserPageDto dto);
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/organization/service/IUserService.java

@@ -7,8 +7,10 @@ import com.xjrsoft.module.organization.dto.BindOpenidDto;
 import com.xjrsoft.module.organization.dto.ResetPasswordDto;
 import com.xjrsoft.module.organization.dto.UpdatePasswordDto;
 import com.xjrsoft.module.organization.dto.UpdateUserDto;
+import com.xjrsoft.module.organization.dto.UserPageDto;
 import com.xjrsoft.module.organization.dto.WeChatPageDto;
 import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.vo.ResetUserPageVo;
 import com.xjrsoft.module.organization.vo.UserInfoVo;
 import com.xjrsoft.module.organization.vo.WeChatPageVO;
 
@@ -73,4 +75,6 @@ public interface IUserService extends MPJBaseService<User> {
      * @return
      */
     PageOutput<WeChatPageVO> getPage(WeChatPageDto dto);
+
+    PageOutput<ResetUserPageVo> getResetUserPage(UserPageDto dto);
 }

+ 16 - 1
src/main/java/com/xjrsoft/module/organization/service/impl/UserServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.constant.GlobalConstant;
@@ -19,7 +20,13 @@ import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
-import com.xjrsoft.module.organization.dto.*;
+import com.xjrsoft.module.organization.dto.AddUserDto;
+import com.xjrsoft.module.organization.dto.BindOpenidDto;
+import com.xjrsoft.module.organization.dto.ResetPasswordDto;
+import com.xjrsoft.module.organization.dto.UpdatePasswordDto;
+import com.xjrsoft.module.organization.dto.UpdateUserDto;
+import com.xjrsoft.module.organization.dto.UserPageDto;
+import com.xjrsoft.module.organization.dto.WeChatPageDto;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.entity.UserDeptRelation;
 import com.xjrsoft.module.organization.entity.UserPostRelation;
@@ -30,6 +37,7 @@ import com.xjrsoft.module.organization.mapper.UserPostRelationMapper;
 import com.xjrsoft.module.organization.mapper.UserRoleRelationMapper;
 import com.xjrsoft.module.organization.service.IUserDeptRelationService;
 import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.organization.vo.ResetUserPageVo;
 import com.xjrsoft.module.organization.vo.UserInfoVo;
 import com.xjrsoft.module.organization.vo.WeChatPageVO;
 import lombok.AllArgsConstructor;
@@ -331,4 +339,11 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         return ConventPage.getPageOutput(page, WeChatPageVO.class);
 
     }
+
+    @Override
+    public PageOutput<ResetUserPageVo> getResetUserPage(UserPageDto dto){
+        Page<ResetUserPageVo> resetUserPage = userMapper.getResetUserPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<ResetUserPageVo> pageOutput = ConventPage.getPageOutput(resetUserPage, ResetUserPageVo.class);
+        return pageOutput;
+    }
 }

+ 56 - 0
src/main/java/com/xjrsoft/module/organization/vo/ResetUserPageVo.java

@@ -0,0 +1,56 @@
+package com.xjrsoft.module.organization.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @title: 移动端重置密码用户列表
+ * @Author dzx
+ * @Date: 2024年4月11日
+ * @Version 1.0
+ */
+@Data
+public class ResetUserPageVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+     * 账户
+     */
+    @ApiModelProperty("账户")
+    private String userName;
+
+    /**
+     * 姓名
+     */
+    @ApiModelProperty("姓名")
+    private String name;
+
+    /**
+     * 性别中文
+     */
+    @ApiModelProperty("性别中文")
+    private String genderCn;
+
+    /**
+     * 手机号
+     */
+    @ApiModelProperty("头像")
+    private String mobile;
+
+
+    /**
+     * 头像
+     */
+    @ApiModelProperty("头像")
+    private String avatar;
+
+
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/organization/vo/ResetUserRoleVo.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.organization.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @title: 移动端重置密码用户列表
+ * @Author dzx
+ * @Date: 2024年4月11日
+ * @Version 1.0
+ */
+@Data
+public class ResetUserRoleVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty("主键")
+    private Long id;
+    /**
+     * 账户
+     */
+    @ApiModelProperty("名称")
+    private String name;
+
+
+
+}

+ 15 - 0
src/main/resources/mapper/organization/UserMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.organization.mapper.UserMapper">
+    <select id="getResetUserPage" parameterType="com.xjrsoft.module.organization.dto.UserPageDto" resultType="com.xjrsoft.module.organization.vo.ResetUserPageVo">
+        SELECT DISTINCT t1.*,t3.name AS gender_cn FROM xjr_user t1
+        INNER JOIN xjr_user_role_relation t2 ON t2.user_id = t1.id
+        LEFT JOIN xjr_dictionary_detail t3 ON t1.gender = t3.code
+        WHERE t1.delete_mark = 0
+        <if test="dto.keyword != null and dto.keyword !=''">
+            and (t1.name like concat('%', #{dto.keyword}, '%') or t1.mobile like concat('%', #{dto.keyword}, '%'))
+        </if>
+    </select>
+</mapper>