Browse Source

人员接口调整

zsf 1 year ago
parent
commit
e067d24de7

+ 1 - 1
src/main/java/com/rf/psychological/institution/rest/InstitutionController.java

@@ -112,7 +112,7 @@ public class InstitutionController extends BaseController {
         if (pageSize == 0) {
             pageSize = 20;
         }
-        Page<UserEntity> userEntities = userService.findUserByPhoneOrNameInInstitutionNo(pageNum,pageSize,institutionNo,searchKey, UserRole.ADMIN);
+        Page<UserEntity> userEntities = userService.findUserByPhoneOrNameInInstitutionNo(pageNum,pageSize,institutionNo,searchKey, UserRole.SUPERADMIN);
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("institutionUserList", userEntities.getContent());
         jsonObject.put("allNum", userEntities.getTotalElements());

+ 1 - 0
src/main/java/com/rf/psychological/institution/service/impl/InstitutionServiceImpl.java

@@ -104,6 +104,7 @@ public class InstitutionServiceImpl implements InstitutionService {
                         UserEntity institutionUserEntity = new UserEntity(institutionNo,institutionName, item.get("loginName").toString(),
                         item.get("loginName").toString(), DigestUtils.md5DigestAsHex(item.get("password").toString().getBytes()),
                         LocalDate.now().toString(),Constant.DEFAULT_VALUE_ZERO, UserStatus.PASS.getType(), UserRole.SUPERADMIN.getType());
+                        institutionUserEntity.setCreateTime(DateUtil.now());
                         userService.save(institutionUserEntity);
             });
         }

+ 2 - 0
src/main/java/com/rf/psychological/rest/ServerController.java

@@ -1,5 +1,6 @@
 package com.rf.psychological.rest;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Validator;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -1095,6 +1096,7 @@ public class ServerController extends BaseController {
                 tempUserDB.setRoleType(UserRole.COMMON.getType());
                 tempUserDB.setBirthday(idCardStr.substring(6,10)+"-"+idCardStr.substring(10,12)+"-"+idCardStr.substring(12,14));
                 tempUserDB.setIdCard(idCardStr);
+                tempUserDB.setCreateTime(DateUtil.now());
                 //查看当前用户是否已经在数据库存在
                 UserEntity phoneAndInstitutionNo = userService.findPhoneAndInstitutionNoAndRoleType(tempUserDB.getPhone(), institutionNo,Constant.DEFAULT_VALUE_ONE);
                 if (phoneAndInstitutionNo != null) {

+ 5 - 11
src/main/java/com/rf/psychological/scale/dao/repository/UserRecordRepository.java

@@ -134,7 +134,7 @@ public interface UserRecordRepository extends BaseRepository<UserRecordEntity, S
      * @param name
      * @return
      */
-    @Query(value = "select tui.phone,tui.pet_name as petName,tui.password,tui.gender,tui.birthday,tui.profession,tui.institution_name as institutionName,tui.institution_no as institutionNo,tui.user_status as userStatus,tui.addition_info as additionInfo,tur.id as id,tur.test_date as testDate ,tur.test_result as testResult from t_user_info tui  join t_user_record tur on tur.phone = tui.phone  and tui.role_type='1' and tui.institution_no=tur.institution_no where  tui.institution_no= :institutionNo and tur.name= :name and " +
+    @Query(value = "select tui.phone,tui.pet_name as petName,tui.password,tui.gender,tui.birthday,tui.profession,tui.institution_name as institutionName,tui.institution_no as institutionNo,tui.user_status as userStatus,tur.id as id,tur.test_date as testDate ,tur.test_result as testResult from t_user_info tui  join t_user_record tur on tur.phone = tui.phone  and tui.role_type='1' and tui.institution_no=tur.institution_no where  tui.institution_no= :institutionNo and tur.name= :name and " +
             "if(:beginFormat is not null and :beginFormat!='',tur.test_date>:beginFormat ,1=1)  and if(:endFormat is not null and :endFormat!='', tur.test_date<:endFormat ,1=1) and " +
             "( if(:searchKey is not null and :searchKey!='',tui.pet_name like CONCAT('%',:searchKey,'%')  ,1=1) or if(:searchKey is not null and :searchKey!='',tui.phone like CONCAT('%',:searchKey,'%')  ,1=1) ) order by tur.test_date desc ", nativeQuery = true)
     List<InstitutionRecordingUserDTO> getInstitutionRecording(Pageable pageable, @Param("institutionNo") String institutionNo, @Param("name") String name, @Param("searchKey") String searchKey, @Param("beginFormat") String beginFormat, @Param("endFormat") String endFormat);
@@ -163,12 +163,11 @@ public interface UserRecordRepository extends BaseRepository<UserRecordEntity, S
             "       pet_name           petName,\n" +
             "       birthday,\n" +
             "       profession,\n" +
-            "       addition_info      additionInfo,\n" +
             "       institution_name   institutionName,\n" +
             "       tui.institution_no institutionNo,\n" +
             "       user_status        userStatus,\n" +
             "       g_id               groupId,\n" +
-            "       model_phone        modelPhone,\n" +
+            "       model        modelPhone,\n" +
             "       tur.id             recordingId,\n" +
             "       flag,\n" +
             "       tui.phone,\n" +
@@ -190,12 +189,11 @@ public interface UserRecordRepository extends BaseRepository<UserRecordEntity, S
             "       pet_name           petName,\n" +
             "       birthday,\n" +
             "       profession,\n" +
-            "       addition_info      additionInfo,\n" +
             "       institution_name   institutionName,\n" +
             "       tui.institution_no institutionNo,\n" +
             "       user_status        userStatus,\n" +
             "       g_id               groupId,\n" +
-            "       model_phone        modelPhone,\n" +
+            "       model        modelPhone,\n" +
             "       tur.id             recordingId,\n" +
             "       flag,\n" +
             "       tui.phone,\n" +
@@ -216,10 +214,7 @@ public interface UserRecordRepository extends BaseRepository<UserRecordEntity, S
     @Query(value = "SELECT * FROM t_user_record WHERE phone in(SELECT phone FROM t_user_info WHERE institution_no = '10007')", nativeQuery = true)
     List<UserRecordEntity> findAll1();
 
-    //@Query(value = "SELECT * FROM t_user_record WHERE test_plan_id = :testPlanId", nativeQuery = true)
-    @Query(value = "SELECT * FROM t_user_record WHERE test_plan_id = 'ff80818180c27c7a0180cc18180d0280' AND phone in(\n" +
-            "select phone from t_user_info where institution_no = '10017' and addition_info = '20220518' and model_phone !=0\n" +
-            ") and test_date <= '2022年05月23日16时30分00秒';", nativeQuery = true)
+    @Query(value = "SELECT * FROM t_user_record WHERE test_plan_id = :testPlanId", nativeQuery = true)
     List<UserRecordEntity> getUserRecordByPlanId(@Param("testPlanId") String testPlanId);
 
     @Query(value = "select id,flag,phone,test_date,file_name,test_result,type,name,img,test_record,test_results,institution_no,test_plan_id from t_user_record where phone = :phone and flag = :flag", nativeQuery = true)
@@ -230,12 +225,11 @@ public interface UserRecordRepository extends BaseRepository<UserRecordEntity, S
             "       pet_name           petName,\n" +
             "       birthday,\n" +
             "       profession,\n" +
-            "       addition_info      additionInfo,\n" +
             "       institution_name   institutionName,\n" +
             "       tui.institution_no institutionNo,\n" +
             "       user_status        userStatus,\n" +
             "       g_id               groupId,\n" +
-            "       model_phone        modelPhone,\n" +
+            "       model        modelPhone,\n" +
             "       tur.id             recordingId,\n" +
             "       flag,\n" +
             "       tui.phone,\n" +

+ 6 - 0
src/main/java/com/rf/psychological/user/dao/model/UserEntity.java

@@ -82,4 +82,10 @@ public class UserEntity extends BaseEntity {
 
     @Column(name = "structure_no",columnDefinition = "varchar(50) not null comment '组织架构编号'")
     private String structureNo;
+
+    @Column(name = "create_time", columnDefinition = "varchar(36) comment '创建时间'")
+    private String createTime;
+
+    @Column(name = "update_time", columnDefinition = "varchar(36) comment '更新时间'")
+    private String updateTime;
 }

+ 4 - 4
src/main/java/com/rf/psychological/user/dao/repository/UserRepository.java

@@ -51,7 +51,7 @@ public interface UserRepository extends BaseRepository<UserEntity, String> {
      * @param institutionNo
      * @return
      */
-    @Query(value = "select id,gender,password,pet_name,phone,birthday,profession,addition_info,institution_name,institution_no,user_status,g_id,model_phone,role_type from t_user_info where institution_no = :institutionNo   and role_type ='1' and  " +
+    @Query(value = "select id,gender,password,pet_name,phone,birthday,profession,institution_name,institution_no,user_status,g_id,model,role_type from t_user_info where institution_no = :institutionNo   and role_type ='1' and  " +
             " if(:searchKey is not null and :searchKey!='',(pet_name like %:searchKey% or phone like %:searchKey% ) , 1=1) " +
             "and if(:status is not null and :status!='',(t_user_info.user_status = :status) , 1=1) limit :pageNum ,:pageSize ", nativeQuery = true)
     List<UserEntity> getUserListByInstitutionNo(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize, @Param("searchKey") String searchKey, @Param("institutionNo") String institutionNo, @Param("status") String status);
@@ -79,7 +79,7 @@ public interface UserRepository extends BaseRepository<UserEntity, String> {
      * @param searchKey
      * @return
      */
-    @Query(value = "select distinct tui.id,gender,password,pet_name,tui.phone,birthday,profession,institution_name,tui.institution_no,user_status,g_id,model_phone,role_type from t_user_info tui join t_user_record tur on  tui.phone=tur.phone and tui.institution_no=tur.institution_no " +
+    @Query(value = "select distinct tui.id,gender,password,pet_name,tui.phone,birthday,profession,institution_name,tui.institution_no,user_status,g_id,model,role_type from t_user_info tui join t_user_record tur on  tui.phone=tur.phone and tui.institution_no=tur.institution_no " +
             " where tui.institution_no = :institutionNo  and role_type ='1' and (pet_name like %:searchKey% or tui.phone like %:searchKey% ) order by id  limit :pageNum ,:pageSize ", nativeQuery = true)
     List<UserEntity> getTestListByInstitutionNo(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize, @Param("institutionNo") String institutionNo, @Param("searchKey") String searchKey);
 
@@ -111,7 +111,7 @@ public interface UserRepository extends BaseRepository<UserEntity, String> {
     @Query(value = "update t_user_info set g_id = :gId where id = :id", nativeQuery = true)
     void updateUserGroup(@Param("gId") String gId, @Param("id") String id);
 
-    @Query(value = "select tui.id, gender, password, pet_name, phone, birthday, profession, addition_info, institution_name, tui.institution_no, user_status,tui.g_id,model_phone,role_type " +
+    @Query(value = "select tui.id, gender, password, pet_name, phone, birthday, profession,  institution_name, tui.institution_no, user_status,tui.g_id,model,role_type " +
             "from t_group_info tgi" +
             "   join t_user_info tui on tgi.id = tui.g_id " +
             "where tui.g_id = ?1 ", nativeQuery = true)
@@ -180,7 +180,7 @@ public interface UserRepository extends BaseRepository<UserEntity, String> {
             "where g_id = :oldGroupId and institution_no = :institutionNo ", nativeQuery = true)
     void updateUserGroup(@Param("institutionNo") String institutionNo, @Param("oldGroupId") String oldGroupId, @Param("newGroupId") String newGroupId);
 
-    @Query(value="select id,gender,password,pet_name,phone,birthday,profession,addition_info,institution_name,institution_no,user_status,g_id,model_phone,role_type from t_user_info where id in(:userIdList)" ,nativeQuery = true)
+    @Query(value="select id,gender,password,pet_name,phone,birthday,profession,institution_name,institution_no,user_status,g_id,model,role_type from t_user_info where id in(:userIdList)" ,nativeQuery = true)
     List<UserEntity> getUserByIds(@Param("userIdList") List<String> userIdList);
 
 

+ 56 - 1
src/main/java/com/rf/psychological/user/rest/UserController.java

@@ -1,11 +1,16 @@
 package com.rf.psychological.user.rest;
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.rf.psychological.base.rest.BaseController;
+import com.rf.psychological.enums.UserRole;
 import com.rf.psychological.enums.UserStatus;
 import com.rf.psychological.group.dao.model.GroupEntity;
 import com.rf.psychological.group.rest.GroupInfoController;
 import com.rf.psychological.group.service.GroupInfoService;
+import com.rf.psychological.institution.model.InstitutionEntity;
+import com.rf.psychological.institution.service.InstitutionService;
 import com.rf.psychological.opLog.annotation.OperationLogAnnotation;
 import com.rf.psychological.plan.service.PlanGroupService;
 import com.rf.psychological.plan.service.TestPlanUserService;
@@ -30,6 +35,8 @@ import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.List;
 
+import static cn.hutool.core.date.DatePattern.PURE_DATETIME_PATTERN;
+
 
 /**
  * @author zsy
@@ -54,6 +61,9 @@ public class UserController extends BaseController {
     @Autowired
     private TestPlanUserService planUserService;
 
+    @Autowired
+    private InstitutionService institutionService;
+
 
     /**
      * 修改密码
@@ -158,6 +168,7 @@ public class UserController extends BaseController {
             createPlanUserInfo(groupId,bid);
         }
         user.setUserStatus(status);
+        user.setUpdateTime(DateUtil.now());
         this.userService.save(user);
         return success();
     }
@@ -280,6 +291,7 @@ public class UserController extends BaseController {
         userEntity.setGender(gender);
         userEntity.setBirthday(birthday);
         userEntity.setProfession(profession);
+        userEntity.setUpdateTime(DateUtil.now());
         userEntity = userService.save(userEntity);
         if (userEntity != null) {
             return success(userEntity, "修改成功");
@@ -308,7 +320,10 @@ public class UserController extends BaseController {
     @SafetyProcess
     @GetMapping("/findUserByStructureNo")
     @ApiOperation("根据组织架构查询用户")
-    public Result findUserByStructureNo( int pageNum,int pageSize, String institutionNo, String structureNo) throws Exception {
+    public Result findUserByStructureNo(@RequestParam(value = "pageNum") Integer pageNum,
+                                        @RequestParam(value = "pageSize")Integer pageSize,
+                                        @RequestParam(value = "institutionNo")String institutionNo,
+                                        @RequestParam(value = "structureNo")String structureNo) throws Exception {
         try {
             Page page = userService.findUserByStructureNo(pageNum,pageSize,institutionNo,structureNo);
             return success(page);
@@ -317,4 +332,44 @@ public class UserController extends BaseController {
         }
     }
 
+    @PostMapping("/addUser")
+    @ApiOperation(value = "添加用户",notes = "json字符串形式传参(加密),data参数包括:data:用户基本信息《gender:性别,institutionNo:机构编号,phone:身份证号,mobile:手机号,petName:名称,structureNo:组织编号》" )
+    @SafetyProcess
+    public Result addUser(@RequestBody String jsonParam){
+        try {
+            String data = AesEncryptUtils.decrypt(JSONObject.parseObject(jsonParam).getString("data"));
+            JSONObject jsonData = JSONObject.parseObject(data);
+            UserEntity userEntity = jsonData.toJavaObject(UserEntity.class);
+            String institutionNo = userEntity.getInstitutionNo();
+            if (StringUtils.isEmpty(institutionNo)){
+                return fail("","机构编号不能为空");
+            }
+            //判断机构编号是否存在
+            InstitutionEntity institutionEntity = this.institutionService.findByInstitutionNo(institutionNo);
+            if (institutionEntity == null) {
+                return fail("", "机构编号不存在!");
+            }
+            userEntity.setInstitutionName(institutionEntity.getInstitutionName());
+            userEntity.setRoleType(UserRole.COMMON.getType());
+            UserEntity userInfo = this.userService.findPhoneAndInstitutionNoAndRoleType(userEntity.getPhone(), userEntity.getInstitutionNo(),userEntity.getRoleType());
+            if (userInfo == null) {
+                String idCardStr = userEntity.getPhone();
+                userEntity.setPassword(DigestUtils.md5DigestAsHex(idCardStr.substring(12).getBytes(StandardCharsets.UTF_8)));
+                userEntity.setUserStatus(Constant.USER_STATUS_NORMAL);
+                userEntity.setRoleType(UserRole.COMMON.getType());
+                userEntity.setBirthday(idCardStr.substring(6,10)+"-"+idCardStr.substring(10,12)+"-"+idCardStr.substring(12,14));
+                userEntity.setIdCard(idCardStr);
+                userEntity.setCreateTime(DateUtil.now());
+                userEntity.setPassword(DigestUtils.md5DigestAsHex(userEntity.getPassword().getBytes()));
+                this.userService.save(userEntity);
+                return success();
+            } else {
+                return fail("", "账号已存在");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return fail();
+        }
+    }
+
 }

+ 0 - 170
src/main/java/com/rf/psychological/utils/Data.java

@@ -1,170 +0,0 @@
-package com.rf.psychological.utils;
-
-import lombok.extern.slf4j.Slf4j;
-
-import java.sql.*;
-
-@Slf4j
-public class Data {
-	
-
-	public static void main(String[] args) throws InterruptedException, SQLException {
-
-        String className = "com.mysql.jdbc.Driver";
-        String url = "jdbc:mysql://49.232.26.44:3306/psychological_112";
-        String userName = "root";
-        String password = "Mysql@.2020";
-        Connection con = null;
-
-        log.info("初始化数据库连接");
-        try{
-            Class.forName(className);
-            con = DriverManager.getConnection(url,userName,password);
-        } catch (ClassNotFoundException | SQLException e) {
-            log.error("初始化数据库连接出错:");
-            e.printStackTrace();
-            return;
-        }
-        log.info("初始化数据库完成");
-        Thread.sleep(3000);
-        log.info("step1:修改表结构——开始");
-        PreparedStatement stat = null;
-        try{
-
-            //        修改表结构 增加角色字段
-            String alterTable = "alter table t_user_info add column role_type varchar(2) default '1' comment '用户角色 1、普通用户 2、机构管理员 3、机构超级管理员'";
-            stat = con.prepareStatement(alterTable);
-            stat.execute();
-        } catch (SQLException e) {
-            log.error("step1:修改表结构——失败");
-            e.printStackTrace();
-            return;
-        }finally {
-            if(stat != null){
-                stat.close();
-            }
-        }
-        log.info("step1:修改表结构——完成");
-
-        log.info("机构管理员合并");
-        PreparedStatement stat1 = null;
-        ResultSet rs = null;
-        try{
-            String institution_user_sql = "select * from t_institution_user ";
-            stat1 = con.prepareStatement(institution_user_sql);
-            rs = stat1.executeQuery();
-            while (rs.next()){
-                try {
-                    System.out.println("id  " + rs.getString("id"));
-                    System.out.println("institution_name  " + rs.getString("institution_name"));
-                    System.out.println("institution_no  " + rs.getString("institution_no"));
-                    System.out.println("password  " + rs.getString("password"));
-                    System.out.println("gender  " + rs.getString("gender"));
-                    System.out.println("pet_name  " + rs.getString("pet_name"));
-                    System.out.println("phone  " + rs.getString("phone"));
-                    System.out.println("birthday" + rs.getString("birthday"));
-                    System.out.println("profession" + rs.getString("profession"));
-                    System.out.println("addition_info" + rs.getString("addition_info"));
-                    System.out.println("user_status" + rs.getString("user_status"));
-
-                    String insertSql = "INSERT INTO t_user_info (id, gender, password, pet_name, phone, birthday, profession, addition_info, institution_name, institution_no, user_status, g_id, model_phone, role_type) \r\n"
-                            + "VALUES \r\n"
-                            + "(?, ?, ?,?, ?, ?, ?,?, ?, ?, ?,?, ?, ?)\r\n";
-                    PreparedStatement statement = con.prepareStatement(insertSql);
-                    statement.setString(1, rs.getString("id"));
-                    statement.setString(2,  rs.getString("gender"));
-                    statement.setString(3, rs.getString("password"));
-                    statement.setString(4, rs.getString("pet_name"));
-                    statement.setString(5, rs.getString("phone"));
-                    statement.setString(6, rs.getString("birthday"));
-                    statement.setString(7, rs.getString("profession"));
-                    statement.setString(8, rs.getString("addition_info"));
-                    statement.setString(9, rs.getString("institution_name"));
-                    statement.setString(10, rs.getString("institution_no"));
-                    statement.setString(11, rs.getString("user_status"));
-                    statement.setString(12, "");
-                    statement.setString(13, "0");
-                    statement.setString(14, "2");
-
-                    int i = statement.executeUpdate();
-                    statement.close();
-                    System.out.println("---------"+i+"----------");
-                }catch (Exception e){
-                    System.out.println(rs.getString("institution_no")+"----------i---------"+rs.getString("phone"));
-                }
-
-            }
-        } catch (SQLException e) {
-            log.error("机构管理员合并——失败");
-            e.printStackTrace();
-        }finally {
-            if(rs != null){
-                rs.close();
-            }
-            if(stat1 != null ){
-                stat1.close();
-            }
-        }
-
-
-//        机构超级管理员
-        log.info("机构超级管理员合并");
-        PreparedStatement stat2  = null;
-        ResultSet rs2 = null;
-        try{
-            String sql = "select * from t_institution_info ";
-            stat2 = con.prepareStatement(sql);
-            rs2  = stat2.executeQuery();
-            while (rs2.next()){
-                try {
-                    System.out.println("id  " + rs2.getString("id"));
-                    System.out.println("institution_name  " + rs2.getString("institution_name"));
-                    System.out.println("institution_no  " + rs2.getString("institution_no"));
-                    System.out.println("password  " + rs2.getString("password"));
-                    System.out.println("login_name  " + rs2.getString("login_name"));
-                    String insertSql = "INSERT INTO t_user_info (id, gender, password, pet_name, phone, birthday, profession, addition_info, institution_name, institution_no, user_status, g_id, model_phone, role_type) \r\n"
-                            + "VALUES \r\n"
-                            + "(?, ?, ?,?, ?, ?, ?,?, ?, ?, ?,?, ?, ?)\r\n";
-                    PreparedStatement statement = con.prepareStatement(insertSql);
-                    statement.setString(1, rs2.getString("id"));
-                    statement.setString(2,  "0");
-                    statement.setString(3, rs2.getString("password"));
-                    statement.setString(4, rs2.getString("institution_name"));
-                    statement.setString(5, rs2.getString("login_name"));
-                    statement.setString(6, "");
-                    statement.setString(7, "");
-                    statement.setString(8, "");
-                    statement.setString(9, rs2.getString("institution_name"));
-                    statement.setString(10, rs2.getString("institution_no"));
-                    statement.setString(11, "2");
-                    statement.setString(12, "");
-                    statement.setString(13, "0");
-                    statement.setString(14, "3");
-
-                    int i = statement.executeUpdate();
-                    System.out.println();
-                    statement.close();
-                    System.out.println("----------i---------");
-                }catch (Exception e ){
-                    System.out.println(rs2.getString("institution_no")+"----------i---------"+rs2.getString("login_name"));
-                }
-
-            }
-        } catch (SQLException e) {
-            log.error("机构超级管理员合并失败");
-            e.printStackTrace();
-        }finally {
-            if(rs2 != null){
-                rs2.close();
-            }
-            if(stat2 != null){
-                stat2.close();
-            }
-        }
-        log.error("机构超级管理员合并完成");
-
-        Thread.sleep(1000);
-        log.error("用户合并完成");
-
-    }
-}