From e2822531b384da2952784a98991d144fa97938e0 Mon Sep 17 00:00:00 2001
From: 陈杰 <504987307@qq.com>
Date: Tue, 25 Feb 2020 16:31:19 +0800
Subject: [PATCH] 用户中心
---
cloud/common/src/main/java/com/sincere/common/exception/ResultException.java | 29 +++++++++++++++++++++++++++++
cloud/common/src/main/java/com/sincere/common/util/TokenUtils.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml | 16 ++++++++--------
cloud/user_search/pom.xml | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/UserApplication.java | 18 ++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/access/MemberFilter.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/access/ParameterRequestWrapper.java | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/mapper/QyhApplyMapper.java | 9 +++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java | 4 ++++
cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java | 10 ++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java | 20 ++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/vo/BaseVo.java | 36 ++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/vo/UserInfo.java | 14 ++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/ZnxwRepVo.java | 23 +++++++++++++++++++++++
cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/ZnxwReqVo.java | 23 +++++++++++++++++++++++
cloud/user_search/src/main/resources/application.yaml | 28 ++++++++++++++++++++++++++++
cloud/user_search/src/main/resources/logback.xml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/user_search/src/main/resources/mapper/QyhApplyMapper.xml | 14 ++++++++++++++
cloud/user_search/src/main/resources/mapper/UserMapper.xml | 14 ++++++++++++++
21 files changed, 856 insertions(+), 8 deletions(-)
create mode 100644 cloud/common/src/main/java/com/sincere/common/exception/ResultException.java
create mode 100644 cloud/common/src/main/java/com/sincere/common/util/TokenUtils.java
create mode 100644 cloud/user_search/pom.xml
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/UserApplication.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/access/MemberFilter.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/access/ParameterRequestWrapper.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/mapper/QyhApplyMapper.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/vo/BaseVo.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/vo/UserInfo.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/ZnxwRepVo.java
create mode 100644 cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/ZnxwReqVo.java
create mode 100644 cloud/user_search/src/main/resources/application.yaml
create mode 100644 cloud/user_search/src/main/resources/logback.xml
create mode 100644 cloud/user_search/src/main/resources/mapper/QyhApplyMapper.xml
create mode 100644 cloud/user_search/src/main/resources/mapper/UserMapper.xml
diff --git a/cloud/common/src/main/java/com/sincere/common/exception/ResultException.java b/cloud/common/src/main/java/com/sincere/common/exception/ResultException.java
new file mode 100644
index 0000000..9698f6a
--- /dev/null
+++ b/cloud/common/src/main/java/com/sincere/common/exception/ResultException.java
@@ -0,0 +1,29 @@
+package com.sincere.common.exception;
+
+public class ResultException extends Exception {
+
+ private int code ;
+ private String message ;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public ResultException(int code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+}
diff --git a/cloud/common/src/main/java/com/sincere/common/util/TokenUtils.java b/cloud/common/src/main/java/com/sincere/common/util/TokenUtils.java
new file mode 100644
index 0000000..86e6b90
--- /dev/null
+++ b/cloud/common/src/main/java/com/sincere/common/util/TokenUtils.java
@@ -0,0 +1,95 @@
+package com.sincere.common.util;
+
+import com.nimbusds.jose.*;
+import com.nimbusds.jose.crypto.MACSigner;
+import com.nimbusds.jose.crypto.MACVerifier;
+import com.nimbusds.jwt.JWTClaimsSet;
+import com.nimbusds.jwt.SignedJWT;
+import com.sincere.common.exception.ResultException;
+
+import java.util.Date;
+import java.util.Objects;
+
+public class TokenUtils {
+
+ /**
+ * 创建秘钥
+ */
+ private static final byte[] SECRET = "6MNSobBRCHGIO0fS6MNSobBRCHGWO0fS".getBytes();
+
+ /**
+ * 过期时间5秒
+ */
+ private static final long EXPIRE_TIME = 1000 * 60 * 60 * 24;
+
+
+ /**
+ * 生成Token
+ * @param account
+ * @return
+ */
+ public static String buildToken(String account) {
+ try {
+ /**
+ * 1.创建一个32-byte的密匙
+ */
+ MACSigner macSigner = new MACSigner(SECRET);
+ /**
+ * 2. 建立payload 载体
+ */
+ JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
+ .expirationTime(new Date(System.currentTimeMillis() + EXPIRE_TIME))
+ .claim("ACCOUNT",account)
+ .build();
+
+ /**
+ * 3. 建立签名
+ */
+ SignedJWT signedJWT = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
+ signedJWT.sign(macSigner);
+
+ /**
+ * 4. 生成token
+ */
+ String token = signedJWT.serialize();
+ return token;
+ } catch (KeyLengthException e) {
+ e.printStackTrace();
+ } catch (JOSEException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 校验token
+ * @param token
+ * @return
+ */
+ public static String validToken(String token) throws ResultException {
+ try {
+ SignedJWT jwt = SignedJWT.parse(token);
+ JWSVerifier verifier = new MACVerifier(SECRET);
+ //校验是否有效
+ if (!jwt.verify(verifier)) {
+ throw new ResultException(-1, "Token 无效");
+ }
+
+ //校验超时
+ Date expirationTime = jwt.getJWTClaimsSet().getExpirationTime();
+ if (new Date().after(expirationTime)) {
+ throw new ResultException(-2, "Token 已过期");
+ }
+
+ //获取载体中的数据
+ Object account = jwt.getJWTClaimsSet().getClaim("ACCOUNT");
+ //是否有openUid
+ if (Objects.isNull(account)){
+ throw new ResultException(-3, "账号为空");
+ }
+ return account.toString();
+ } catch (Exception e) {
+ throw new ResultException(-4, "系统繁忙");
+ }
+ }
+}
diff --git a/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml b/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
index 2d1610c..b88749f 100644
--- a/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
+++ b/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
@@ -68,35 +68,35 @@
- insert into YXY_DeptRelation (hxyDeptId,yxyDeptId,usertype,updateTime,createTime,state)
+ insert into YXT_DeptRelation (hxyDeptId,yxyDeptId,usertype,updateTime,createTime,state)
values (#{hxyDeptId},#{yxyDeptId},#{userType},GETDATE(),GETDATE(),#{state})
- update YXY_DeptRelation set updateTime = GETDATE() , state = #{state} where hxyDeptId = #{hxyDeptId}
+ update YXT_DeptRelation set updateTime = GETDATE() , state = #{state} where hxyDeptId = #{hxyDeptId}
- insert into YXY_UserRelation (hxyCustomerId,yxyUserId,userType,updateTime,createTime,state)
+ insert into YXT_UserRelation (hxyCustomerId,yxyUserId,userType,updateTime,createTime,state)
values (#{hxyCustomerId},#{yxyUserId},#{userType},GETDATE(),GETDATE(),#{state})
- update YXY_UserRelation set updateTime = GETDATE() , state = #{state} where hxyCustomerId = #{hxyCustomerId}
+ update YXT_UserRelation set updateTime = GETDATE() , state = #{state} where hxyCustomerId = #{hxyCustomerId}
\ No newline at end of file
diff --git a/cloud/user_search/pom.xml b/cloud/user_search/pom.xml
new file mode 100644
index 0000000..cee6260
--- /dev/null
+++ b/cloud/user_search/pom.xml
@@ -0,0 +1,158 @@
+
+
+
+ cloud
+ com.sincere
+ 1.0.0
+
+ 4.0.0
+
+ user_search
+
+
+
+ com.sincere
+ common
+ 1.0.0
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.cloud
+ spring-cloud-starter-feign
+ 1.3.6.RELEASE
+
+
+ org.springframework.cloud
+ spring-cloud-openfeign-core
+ 2.1.2.RELEASE
+
+
+ org.apache.commons
+ commons-lang3
+ 3.3.2
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 1.3.0
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 6.4.0.jre8
+
+
+ io.springfox
+ springfox-swagger2
+ 2.5.0
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.5.0
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
+
+
+
+ quartz_server
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ com.sincere.quartz.QuartzApplication
+ true
+ lib/
+
+
+ ./config/
+
+
+
+ config/**
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy
+ package
+
+ copy-dependencies
+
+
+
+ ${project.build.directory}/lib
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+ UTF-8
+
+
+
+
+ maven-source-plugin
+ 2.2
+
+ true
+
+
+
+ compile
+
+ jar
+
+
+
+
+
+
+
\ No newline at end of file
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
new file mode 100644
index 0000000..30ac230
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/Swagger2.java
@@ -0,0 +1,52 @@
+package com.sincere.userSearch;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@EnableSwagger2
+@Configuration //让Spring来加载该类配置
+public class Swagger2 {
+
+ @Bean
+ public Docket createRestApi() {
+ ParameterBuilder ticketPar = new ParameterBuilder();
+ List pars = new ArrayList();
+ ticketPar.name("X-Authorization").description("user token")
+ .modelRef(new ModelRef("string")).parameterType("header")
+ .required(false).build(); //header中的ticket参数非必填,传空也可以
+ pars.add(ticketPar.build());
+
+
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .enableUrlTemplating(true)
+ .select()
+ // 扫描所有有注解的api,用这种方式更灵活
+ .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
+ .paths(PathSelectors.any())
+ .build().globalOperationParameters(pars);
+
+ }
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("Spring Boot中使用Swagger2构建RESTful APIs")
+ .description("接口文档")
+ .termsOfServiceUrl("")
+ .version("1.0")
+ .build();
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/UserApplication.java b/cloud/user_search/src/main/java/com/sincere/userSearch/UserApplication.java
new file mode 100644
index 0000000..52afdbe
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/UserApplication.java
@@ -0,0 +1,18 @@
+package com.sincere.userSearch;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+
+@ServletComponentScan
+@EnableEurekaClient
+@SpringBootApplication
+@MapperScan("com.sincere.userSearch.mapper")
+public class UserApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(UserApplication.class, args);
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/access/MemberFilter.java b/cloud/user_search/src/main/java/com/sincere/userSearch/access/MemberFilter.java
new file mode 100644
index 0000000..06a152b
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/access/MemberFilter.java
@@ -0,0 +1,60 @@
+package com.sincere.userSearch.access;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.sincere.common.exception.ResultException;
+import com.sincere.common.util.TokenUtils;
+import com.sincere.userSearch.vo.UserInfo;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+@WebFilter(urlPatterns = "/user/*")
+public class MemberFilter implements Filter {
+
+ private static String token_string = "X-Authorization" ;
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+
+ HttpServletRequest req = (HttpServletRequest) request;
+
+ String token = req.getHeader(token_string);
+ if (StringUtils.isBlank(token)) {
+ respFail(response,-5,"token 没有");
+ return;
+ }
+
+// MemberDetails memberDetails = memberService.getMemberDetailsByToken(tokenId);
+// if (memberDetails == null) this.respFail(response);
+ String userId = "" ;
+ try{
+ userId = TokenUtils.validToken(token);
+ }catch (ResultException e){
+ respFail(response,e.getCode(),e.getMessage());
+ return;
+ }
+ ParameterRequestWrapper requestWrapper = new ParameterRequestWrapper(req);
+ UserInfo userInfo = new UserInfo() ;
+ userInfo.setUserId(userId);
+ requestWrapper.addObject(userInfo);
+ chain.doFilter(requestWrapper, response);
+ }
+
+ private void respFail(ServletResponse response , int code , String message) throws IOException {
+ Map map = new HashMap<>();
+ map.put("status", code);
+ map.put("message", message);
+ map.put("data", null);
+ ObjectMapper objectMapper = new ObjectMapper();
+ String s = objectMapper.writeValueAsString(map);
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("application/json; charset=utf-8");
+ response.getWriter().write(s);
+ }
+
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/access/ParameterRequestWrapper.java b/cloud/user_search/src/main/java/com/sincere/userSearch/access/ParameterRequestWrapper.java
new file mode 100644
index 0000000..8191811
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/access/ParameterRequestWrapper.java
@@ -0,0 +1,130 @@
+package com.sincere.userSearch.access;
+
+import org.apache.commons.lang.WordUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.*;
+
+/**
+ * 重写HttpServletRequestWrapper ,为把token 转化为userinfo 带入到request中
+ */
+public class ParameterRequestWrapper extends HttpServletRequestWrapper {
+
+ private Map params = new HashMap();
+
+
+ @SuppressWarnings("unchecked")
+ public ParameterRequestWrapper(HttpServletRequest request) {
+ // 将request交给父类,以便于调用对应方法的时候,将其输出,其实父亲类的实现方式和第一种new的方式类似
+ super(request);
+ //将参数表,赋予给当前的Map以便于持有request中的参数
+ this.params.putAll(request.getParameterMap());
+ }
+ //重载一个构造方法
+ public ParameterRequestWrapper(HttpServletRequest request , Map extendParams) {
+ this(request);
+ addAllParameters(extendParams);//这里将扩展参数写入参数表
+ }
+
+ /**
+ * 复写获取key的方法
+ */
+ @Override
+ public Enumeration getParameterNames() {
+ Vector names = new Vector(params.keySet());
+ return names.elements();
+ }
+
+ /**
+ * 复写获取值value的方法
+ */
+ @Override
+ public String getParameter(String name) {
+ Object v = params.get(name);
+ if (v == null) {
+ return null;
+ } else if (v instanceof String[]) {
+ String[] strArr = (String[]) v;
+ if (strArr.length > 0) {
+ return strArr[0];
+ } else {
+ return null;
+ }
+ } else if (v instanceof String) {
+ return (String) v;
+ } else {
+ return v.toString();
+ }
+ }
+
+ @Override
+ public String[] getParameterValues(String name) {
+ Object v = params.get(name);
+ if (v == null) {
+ return null;
+ } else if (v instanceof String[]) {
+ return (String[]) v;
+ } else if (v instanceof String) {
+ return new String[] { (String) v };
+ } else {
+ return new String[] { v.toString() };
+ }
+ }
+
+ public void addAllParameters(MapotherParams) {//增加多个参数
+ for(Map.Entryentry : otherParams.entrySet()) {
+ addParameter(entry.getKey() , entry.getValue());
+ }
+ }
+
+
+ public void addParameter(String name , Object value) {//增加参数
+ if(value != null) {
+ if(value instanceof String[]) {
+ params.put(name , (String[])value);
+ }else if(value instanceof String) {
+ params.put(name , new String[] {(String)value});
+ }else {
+ params.put(name , new String[] {String.valueOf(value)});
+ }
+ }
+ }
+
+ /** 简单封装,请根据需求改进 */
+ public void addObject(Object obj) {
+ Class> clazz = obj.getClass();
+ Method[] methods = clazz.getMethods();
+ try {
+ for (Method method : methods) {
+ if (!method.getName().startsWith("get")) {
+ continue;
+ }
+ Object invoke = method.invoke(obj);
+ if (invoke == null || "".equals(invoke)) {
+ continue;
+ }
+
+ String filedName = method.getName().replace("get", "");
+ filedName = WordUtils.uncapitalize(filedName);
+
+ if (invoke instanceof Collection) {
+ Collection collections = (Collection) invoke;
+ if (collections != null && collections.size() > 0) {
+ String[] strings = (String[]) collections.toArray();
+ addParameter(filedName, strings);
+ return;
+ }
+ }
+
+ addParameter(filedName, invoke);
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ }
+}
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
new file mode 100644
index 0000000..a08516e
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/controller/UserController.java
@@ -0,0 +1,51 @@
+package com.sincere.userSearch.controller;
+
+import com.sincere.userSearch.service.UserService;
+import com.sincere.userSearch.vo.BaseVo;
+import com.sincere.userSearch.vo.UserInfo;
+import com.sincere.userSearch.vo.rep.ZnxwRepVo;
+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.*;
+
+@RestController
+@RequestMapping("/user")
+@Api(value = "用户中心")
+public class UserController {
+
+ @Autowired
+ UserService userService ;
+
+ /**
+ * 获取钉钉angenId的接口 EM_QYHApply
+ */
+ @ApiOperation("获取智能校卫agentid")
+ @RequestMapping(value = "getZNXWWebApp" , method = RequestMethod.POST)
+ public BaseVo getZNXWWebApp(@RequestBody ZnxwReqVo znxwReqVo , UserInfo userInfo){
+ BaseVo result = new BaseVo<>() ;
+ ZnxwRepVo data = userService.selectAgentId(znxwReqVo) ;
+ result.setData(data);
+ return result ;
+ }
+
+
+ public void getUserRole(){
+
+ }
+
+ /**
+ * 用户类型 0-班主任; 1-任课老师; 2-学生; 3-家长; 10-学校管理员;
+ * @param userId
+ */
+ @ApiOperation("根据userId 获取用户信息")
+ @RequestMapping(value = "getUserInfo" , method = RequestMethod.POST)
+ public void getUserInfo(UserInfo userId){
+
+ }
+
+ public void getUserId(){
+
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/QyhApplyMapper.java b/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/QyhApplyMapper.java
new file mode 100644
index 0000000..a80c928
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/QyhApplyMapper.java
@@ -0,0 +1,9 @@
+package com.sincere.userSearch.mapper;
+
+import com.sincere.userSearch.vo.rep.ZnxwRepVo;
+import com.sincere.userSearch.vo.req.ZnxwReqVo;
+
+public interface QyhApplyMapper {
+
+ ZnxwRepVo selectAgentId(ZnxwReqVo znxwReqVo);
+}
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
new file mode 100644
index 0000000..5cf1255
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/mapper/UserMapper.java
@@ -0,0 +1,4 @@
+package com.sincere.userSearch.mapper;
+
+public interface UserMapper {
+}
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
new file mode 100644
index 0000000..c9fcea8
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/service/UserService.java
@@ -0,0 +1,10 @@
+package com.sincere.userSearch.service;
+
+import com.sincere.userSearch.vo.rep.ZnxwRepVo;
+import com.sincere.userSearch.vo.req.ZnxwReqVo;
+
+public interface UserService {
+
+ ZnxwRepVo selectAgentId(ZnxwReqVo znxwReqVo);
+
+}
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
new file mode 100644
index 0000000..37634b8
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/service/impl/UserServiceImpl.java
@@ -0,0 +1,20 @@
+package com.sincere.userSearch.service.impl;
+
+import com.sincere.userSearch.mapper.QyhApplyMapper;
+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;
+
+@Service
+public class UserServiceImpl implements UserService {
+
+ @Autowired
+ QyhApplyMapper qyhApplyMapper ;
+
+ @Override
+ public ZnxwRepVo selectAgentId(ZnxwReqVo znxwReqVo) {
+ return qyhApplyMapper.selectAgentId(znxwReqVo);
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/BaseVo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/BaseVo.java
new file mode 100644
index 0000000..f996cdd
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/BaseVo.java
@@ -0,0 +1,36 @@
+package com.sincere.userSearch.vo;
+
+public class BaseVo {
+
+ private String message ;
+ private boolean status ;
+ private T data ;
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public boolean isStatus() {
+ return status;
+ }
+
+ public void setStatus(boolean status) {
+ this.status = status;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
+
+ public BaseVo() {
+ this.status = true ;
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/UserInfo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/UserInfo.java
new file mode 100644
index 0000000..a3e69ad
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/UserInfo.java
@@ -0,0 +1,14 @@
+package com.sincere.userSearch.vo;
+
+public class UserInfo {
+
+ private String userId ;
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/ZnxwRepVo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/ZnxwRepVo.java
new file mode 100644
index 0000000..af5a382
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/rep/ZnxwRepVo.java
@@ -0,0 +1,23 @@
+package com.sincere.userSearch.vo.rep;
+
+public class ZnxwRepVo {
+
+ private String agentId ;
+ private String schoolName ;
+
+ public String getAgentId() {
+ return agentId;
+ }
+
+ public void setAgentId(String agentId) {
+ this.agentId = agentId;
+ }
+
+ public String getSchoolName() {
+ return schoolName;
+ }
+
+ public void setSchoolName(String schoolName) {
+ this.schoolName = schoolName;
+ }
+}
diff --git a/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/ZnxwReqVo.java b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/ZnxwReqVo.java
new file mode 100644
index 0000000..eb7b584
--- /dev/null
+++ b/cloud/user_search/src/main/java/com/sincere/userSearch/vo/req/ZnxwReqVo.java
@@ -0,0 +1,23 @@
+package com.sincere.userSearch.vo.req;
+
+public class ZnxwReqVo {
+
+ private int schoolId ;
+ private int type ;
+
+ public int getSchoolId() {
+ return schoolId;
+ }
+
+ public void setSchoolId(int schoolId) {
+ this.schoolId = schoolId;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+}
diff --git a/cloud/user_search/src/main/resources/application.yaml b/cloud/user_search/src/main/resources/application.yaml
new file mode 100644
index 0000000..d53af07
--- /dev/null
+++ b/cloud/user_search/src/main/resources/application.yaml
@@ -0,0 +1,28 @@
+server:
+ port: 9004
+
+spring:
+ application:
+ name: user_search
+ datasource:
+ username: szjxtuser
+ password: RQminVCJota3H1u8bBYH
+ url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
+ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+##mybatis
+mybatis:
+ mapper-locations: classpath:mapper/*.xml
+ type-aliases-package: com.sincere.quartz.mapper
+ check-config-location: true
+ribbon:
+ ReadTimeout: 50000
+ ConnectTimeout: 5000
+eureka:
+ instance:
+ hostname: localhost
+ lease-expiration-duration-in-seconds: 60
+ lease-renewal-interval-in-seconds: 10
+ client:
+ service-url:
+ defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
+
diff --git a/cloud/user_search/src/main/resources/logback.xml b/cloud/user_search/src/main/resources/logback.xml
new file mode 100644
index 0000000..826d9a9
--- /dev/null
+++ b/cloud/user_search/src/main/resources/logback.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)
+ UTF-8
+
+
+
+
+
+
+
+
+ ${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd}.%i.log
+
+ 30
+
+ 100MB
+
+
+
+
+ [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n
+ UTF-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud/user_search/src/main/resources/mapper/QyhApplyMapper.xml b/cloud/user_search/src/main/resources/mapper/QyhApplyMapper.xml
new file mode 100644
index 0000000..3db0e66
--- /dev/null
+++ b/cloud/user_search/src/main/resources/mapper/QyhApplyMapper.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cloud/user_search/src/main/resources/mapper/UserMapper.xml b/cloud/user_search/src/main/resources/mapper/UserMapper.xml
new file mode 100644
index 0000000..81a2ca6
--- /dev/null
+++ b/cloud/user_search/src/main/resources/mapper/UserMapper.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
--
libgit2 0.21.0