diff --git a/cloud/autho/src/main/resources/mapper/UserMapper.xml b/cloud/autho/src/main/resources/mapper/UserMapper.xml index fbb748a..61e206a 100644 --- a/cloud/autho/src/main/resources/mapper/UserMapper.xml +++ b/cloud/autho/src/main/resources/mapper/UserMapper.xml @@ -8,7 +8,7 @@ diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java b/cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java index 30ac230..9d4bbe8 100644 --- a/cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java @@ -36,7 +36,7 @@ public class Swagger2 { .enableUrlTemplating(true) .select() // 扫描所有有注解的api,用这种方式更灵活 - .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + .apis(RequestHandlerSelectors.basePackage("com.sincere.userSearch.control")) .paths(PathSelectors.any()) .build().globalOperationParameters(pars); diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java b/cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java index d133d8c..019b7be 100644 --- a/cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java @@ -1,15 +1,24 @@ package com.sincere.userSearch.controller; +import com.sincere.common.exception.ResultException; +import com.sincere.common.util.TokenUtils; +import com.sincere.userSearch.model.StudentInfo; import com.sincere.userSearch.service.UserService; import com.sincere.userSearch.vo.BaseVo; import com.sincere.userSearch.vo.UserInfo; +import com.sincere.userSearch.vo.rep.Info; import com.sincere.userSearch.vo.rep.ZnxwRepVo; +import com.sincere.userSearch.vo.req.UserInfoReqVo; import com.sincere.userSearch.vo.req.ZnxwReqVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + @RestController @RequestMapping("/user") @Api(value = "用户中心") @@ -23,28 +32,47 @@ public class UserController { */ @ApiOperation("获取智能校卫agentid") @RequestMapping(value = "getZNXWWebApp" , method = RequestMethod.POST) - public BaseVo getZNXWWebApp(@RequestBody ZnxwReqVo znxwReqVo , UserInfo userInfo){ + public BaseVo getZNXWWebApp(@RequestBody ZnxwReqVo znxwReqVo){ BaseVo result = new BaseVo<>() ; ZnxwRepVo data = userService.selectAgentId(znxwReqVo) ; result.setData(data); return result ; } - - public void getUserRole(){ - - } - /** * 用户类型 0-班主任; 1-任课老师; 2-学生; 3-家长; 10-学校管理员; */ @ApiOperation("根据userId 获取用户信息") - @RequestMapping(value = "getUserInfo" , method = RequestMethod.GET) - public String getUserInfo(UserInfo userInfo){ - return userInfo.getUserId() ; + @RequestMapping(value = "getUserInfo" , method = RequestMethod.POST) + public BaseVo getUserInfo(@RequestBody UserInfoReqVo userInfoReqVo , HttpServletRequest request){ + String userId = getToken(request) ; + BaseVo result = new BaseVo<>() ; + Info info = new Info() ; + if(userInfoReqVo.getUserType() == 2){ + //学生 + List studentInfos = new ArrayList<>(); + studentInfos.add(userService.selectStudentInfo(userId)); + info.setStudentInfos(studentInfos); + }else if(userInfoReqVo.getUserType() == 3){ + //家长 + info.setParentInfos(userService.selectParentInfo(userId)); + }else { + //教师 + info.setTeacherInfos(userService.selectTeacherInfo(userId)); + } + result.setData(info); + return result ; } - public void getUserId(){ + private String getToken(HttpServletRequest request){ + String token = request.getHeader("X-Authorization"); + try{ + String userId = TokenUtils.validToken(token) ; + return userId ; + }catch (ResultException e){ + System.out.println(e.getMessage()); + } + return null ; } } diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java b/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java index 5cf1255..4d709ff 100644 --- a/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java @@ -1,4 +1,17 @@ package com.sincere.userSearch.mapper; +import com.sincere.userSearch.model.StudentInfo; +import com.sincere.userSearch.model.TeacherInfo; + +import java.util.List; + public interface UserMapper { + + List selectTeacherInfo(String userId) ; + + StudentInfo selectStudentInfo(String userId) ; + + StudentInfo selectParentInfo(int studentId) ; + + List selectChildrenId(String userId) ; } diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/model/StudentInfo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/model/StudentInfo.java new file mode 100644 index 0000000..db1321d --- /dev/null +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/model/StudentInfo.java @@ -0,0 +1,141 @@ +package com.sincere.userSearch.model; + +public class StudentInfo { + + private String userId ; + private int studentId ; + private String studentName ; + private int schoolId ; + private String schoolName ; + private String face ; + private String pass ; + private String otherName ; + private String studentCode ; + private int classId ; + private String className ; + + private String parentUserId ; + private String parentMobile ; + private String parentPass ; + private String parentName ; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public int getStudentId() { + return studentId; + } + + public void setStudentId(int studentId) { + this.studentId = studentId; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public int getSchoolId() { + return schoolId; + } + + public void setSchoolId(int schoolId) { + this.schoolId = schoolId; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getFace() { + return face; + } + + public void setFace(String face) { + this.face = face; + } + + public String getPass() { + return pass; + } + + public void setPass(String pass) { + this.pass = pass; + } + + public String getOtherName() { + return otherName; + } + + public void setOtherName(String otherName) { + this.otherName = otherName; + } + + public String getStudentCode() { + return studentCode; + } + + public void setStudentCode(String studentCode) { + this.studentCode = studentCode; + } + + public int getClassId() { + return classId; + } + + public void setClassId(int classId) { + this.classId = classId; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getParentUserId() { + return parentUserId; + } + + public void setParentUserId(String parentUserId) { + this.parentUserId = parentUserId; + } + + public String getParentMobile() { + return parentMobile; + } + + public void setParentMobile(String parentMobile) { + this.parentMobile = parentMobile; + } + + public String getParentPass() { + return parentPass; + } + + public void setParentPass(String parentPass) { + this.parentPass = parentPass; + } + + public String getParentName() { + return parentName; + } + + public void setParentName(String parentName) { + this.parentName = parentName; + } +} diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherClassInfo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherClassInfo.java new file mode 100644 index 0000000..df97bbe --- /dev/null +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherClassInfo.java @@ -0,0 +1,77 @@ +package com.sincere.userSearch.model; + +public class TeacherClassInfo { + + private int classId ; + private String className ; + private String subjectId ; + private String subjectName ; + private int userType ; + private int teacherId ; + private String grade ; + private String gradeName ; + + public int getClassId() { + return classId; + } + + public void setClassId(int classId) { + this.classId = classId; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getSubjectId() { + return subjectId; + } + + public void setSubjectId(String subjectId) { + this.subjectId = subjectId; + } + + public String getSubjectName() { + return subjectName; + } + + public void setSubjectName(String subjectName) { + this.subjectName = subjectName; + } + + public int getUserType() { + return userType; + } + + public void setUserType(int userType) { + this.userType = userType; + } + + public int getTeacherId() { + return teacherId; + } + + public void setTeacherId(int teacherId) { + this.teacherId = teacherId; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getGradeName() { + return gradeName; + } + + public void setGradeName(String gradeName) { + this.gradeName = gradeName; + } +} diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherInfo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherInfo.java new file mode 100644 index 0000000..eb21a8b --- /dev/null +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/model/TeacherInfo.java @@ -0,0 +1,79 @@ +package com.sincere.userSearch.model; + +import java.util.List; + +public class TeacherInfo { + + private String userId ; + private String userName ; + private String mobile ; + private int schoolId ; + private String schoolName ; + private String face ; + private String pass ; + private List classInfos ; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public int getSchoolId() { + return schoolId; + } + + public void setSchoolId(int schoolId) { + this.schoolId = schoolId; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getFace() { + return face; + } + + public void setFace(String face) { + this.face = face; + } + + public List getClassInfos() { + return classInfos; + } + + public void setClassInfos(List classInfos) { + this.classInfos = classInfos; + } + + public String getPass() { + return pass; + } + + public void setPass(String pass) { + this.pass = pass; + } +} diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java b/cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java index c9fcea8..6ce9c18 100644 --- a/cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java @@ -1,10 +1,20 @@ package com.sincere.userSearch.service; +import com.sincere.userSearch.model.StudentInfo; +import com.sincere.userSearch.model.TeacherInfo; import com.sincere.userSearch.vo.rep.ZnxwRepVo; import com.sincere.userSearch.vo.req.ZnxwReqVo; +import java.util.List; + public interface UserService { ZnxwRepVo selectAgentId(ZnxwReqVo znxwReqVo); + List selectTeacherInfo(String userId) ; + + StudentInfo selectStudentInfo(String userId) ; + + List selectParentInfo(String userId) ; + } diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java b/cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java index 37634b8..00cb709 100644 --- a/cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java @@ -1,20 +1,72 @@ package com.sincere.userSearch.service.impl; import com.sincere.userSearch.mapper.QyhApplyMapper; +import com.sincere.userSearch.mapper.UserMapper; +import com.sincere.userSearch.model.StudentInfo; +import com.sincere.userSearch.model.TeacherClassInfo; +import com.sincere.userSearch.model.TeacherInfo; import com.sincere.userSearch.service.UserService; import com.sincere.userSearch.vo.rep.ZnxwRepVo; import com.sincere.userSearch.vo.req.ZnxwReqVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Service public class UserServiceImpl implements UserService { @Autowired QyhApplyMapper qyhApplyMapper ; + @Autowired + UserMapper userMapper ; + @Override public ZnxwRepVo selectAgentId(ZnxwReqVo znxwReqVo) { return qyhApplyMapper.selectAgentId(znxwReqVo); } + + @Override + public List selectTeacherInfo(String userId) { + List teacherInfos = userMapper.selectTeacherInfo(userId); + for(TeacherInfo teacherInfo : teacherInfos ){ + List teacherClassInfos = new ArrayList<>() ; + for(TeacherClassInfo classInfo : teacherInfo.getClassInfos()){ + if(classInfo.getClassId() != 0){ + teacherClassInfos.add(classInfo); + } + } + teacherInfo.setClassInfos(teacherClassInfos); + } + return teacherInfos ; + } + + @Override + public StudentInfo selectStudentInfo(String userId) { + StudentInfo studentInfo = userMapper.selectStudentInfo(userId); + if(studentInfo != null){ + StudentInfo parent = userMapper.selectParentInfo(studentInfo.getStudentId()) ; + studentInfo.setParentMobile(parent.getParentMobile()); + studentInfo.setParentName(parent.getParentName()); + studentInfo.setParentPass(parent.getParentPass()); + studentInfo.setParentUserId(parent.getParentUserId()); + return studentInfo ; + } + return null ; + } + + @Override + public List selectParentInfo(String userId) { + List children = userMapper.selectChildrenId(userId) ; + List patentInfo = new ArrayList<>(); + for(String child : children){ + StudentInfo studentInfo = selectStudentInfo(child); + if(studentInfo != null){ + patentInfo.add(studentInfo); + } + } + return patentInfo; + } } diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/Info.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/Info.java new file mode 100644 index 0000000..e715d8c --- /dev/null +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/Info.java @@ -0,0 +1,37 @@ +package com.sincere.userSearch.vo.rep; + +import com.sincere.userSearch.model.StudentInfo; +import com.sincere.userSearch.model.TeacherInfo; + +import java.util.List; + +public class Info { + + private List teacherInfos ; + private List parentInfos ; + private List studentInfos ; + + public List getTeacherInfos() { + return teacherInfos; + } + + public void setTeacherInfos(List teacherInfos) { + this.teacherInfos = teacherInfos; + } + + public List getParentInfos() { + return parentInfos; + } + + public void setParentInfos(List parentInfos) { + this.parentInfos = parentInfos; + } + + public List getStudentInfos() { + return studentInfos; + } + + public void setStudentInfos(List studentInfos) { + this.studentInfos = studentInfos; + } +} diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/UserInfoReqVo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/UserInfoReqVo.java new file mode 100644 index 0000000..364649a --- /dev/null +++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/UserInfoReqVo.java @@ -0,0 +1,13 @@ +package com.sincere.userSearch.vo.req; + +public class UserInfoReqVo { + private int userType ; // 2:学生;3:家长;其他都是老师 + + public int getUserType() { + return userType; + } + + public void setUserType(int userType) { + this.userType = userType; + } +} diff --git a/cloud/user_search/src/main/resources/mapper/UserMapper.xml b/cloud/user_search/src/main/resources/mapper/UserMapper.xml index 81a2ca6..2b7b1f2 100644 --- a/cloud/user_search/src/main/resources/mapper/UserMapper.xml +++ b/cloud/user_search/src/main/resources/mapper/UserMapper.xml @@ -2,13 +2,75 @@ - - - + + + + + + + + + + + + + + + + + + - + SELECT u.user_id , u.name , u.mobile , u.face , u.pass, s.school_id AS schoolid, s.numType, s.school_name AS schoolname,s.school_area as schoolArea, + c.class_id AS classid, c.class_name AS classname, + sj.subject_id AS subjectid, sj.subject_name AS subjectname, sj.subId as SysSubjectId, + ur.usertype, ur.customerId AS TeacherId,c.grade AS grade,(SELECT grade FROM dbo.SZ_Grade WHERE id=c.grade) gradename + FROM dbo.SZ_UserRole ur + join sz_user u on ur.user_id = u.user_id + INNER JOIN dbo.SZ_School s ON s.school_id = ur.school_id AND ur.isconfirm=1 + LEFT JOIN dbo.SZ_Class c ON (c.state=1 AND ur.school_id = c.school_id AND c.class_id=ur.class_id AND c.is_finish=0) + LEFT JOIN dbo.SZ_Subject sj ON sj.subject_id=ur.subject_id + WHERE ur.usertype not in (2,3,33,34) AND ur.state=1 AND ur.user_id=#{userId} order by ur.class_id desc + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- libgit2 0.21.0