Browse Source

login

master
6 years ago
parent
commit
5f557728e3
  1. 5
      cloudutil/pom.xml
  2. 14
      cloudutil/src/main/java/com/ccsens/cloudutil/annotation/Login.java
  3. 2
      cloudutil/src/main/java/com/ccsens/cloudutil/annotation/MustLogin.java
  4. 31
      cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java
  5. 6
      ht/pom.xml
  6. 5
      ht/src/main/java/com/ccsens/ht/api/DoctorController.java
  7. 6
      ht/src/main/java/com/ccsens/ht/api/FileController.java
  8. 4
      ht/src/main/java/com/ccsens/ht/api/PatientController.java
  9. 8
      ht/src/main/java/com/ccsens/ht/api/PatientReportController.java
  10. 4
      ht/src/main/java/com/ccsens/ht/api/PositionController.java
  11. 4
      ht/src/main/java/com/ccsens/ht/api/QuestionController.java
  12. 3
      ht/src/main/java/com/ccsens/ht/aspect/DoctorAuditAspect.java
  13. 2
      util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java

5
cloudutil/pom.xml

@ -44,6 +44,11 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies>
</project>

14
cloudutil/src/main/java/com/ccsens/cloudutil/annotation/Login.java

@ -0,0 +1,14 @@
package com.ccsens.cloudutil.annotation;
import java.lang.annotation.*;
/**
* 有token,则根据token获取userId, 无则不获取
* @author: wuHuiJuan
* @create: 2019/12/26 16:39
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Login {
}

2
ht/src/main/java/com/ccsens/ht/annotation/MustLogin.java → cloudutil/src/main/java/com/ccsens/cloudutil/annotation/MustLogin.java

@ -1,4 +1,4 @@
package com.ccsens.ht.annotation;
package com.ccsens.cloudutil.annotation;
import java.lang.annotation.*;

31
ht/src/main/java/com/ccsens/ht/aspect/MustLoginAspect.java → cloudutil/src/main/java/com/ccsens/cloudutil/aspect/MustLoginAspect.java

@ -1,18 +1,20 @@
package com.ccsens.ht.aspect;
package com.ccsens.cloudutil.aspect;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant;
import com.ccsens.util.exception.BaseException;
import com.ccsens.util.bean.dto.QueryDto;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@ -20,6 +22,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
/**
* @description:
@ -34,7 +37,7 @@ public class MustLoginAspect {
@Autowired
private TallFeignClient tallFeignClient;
@Pointcut("@annotation(com.ccsens.ht.annotation.MustLogin)")
@Pointcut("@annotation(com.ccsens.cloudutil.annotation.MustLogin) || @annotation(com.ccsens.cloudutil.annotation.Login) ")
public void loginAdvice(){}
@Around("loginAdvice()")
@ -47,8 +50,28 @@ public class MustLoginAspect {
Object[] args = pjp.getArgs();
QueryDto dto = args == null || args.length < 1 ? null : (QueryDto) args[0];
//获取userId
JsonResponse response = tallFeignClient.getUserIdByToken(authHeader);
log.info("{}获取userId:{}", authHeader, response);
Signature signature = pjp.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method targetMethod = methodSignature.getMethod();
MustLogin mustLoginAnnotation = targetMethod.getAnnotation(MustLogin.class);
if (mustLoginAnnotation == null) {
log.info("不是必须登录,有token,则添加userId,没有则不添加");
if (response.getCode().intValue() == CodeEnum.SUCCESS.getCode().intValue() && response.getData() != null) {
JSONObject json = JSONObject.parseObject(JSON.toJSONString(response.getData()));
Long userId = json.getLong("id");
if (dto != null) {
dto.setUserId(userId);
}
}
Object result = pjp.proceed();
return result;
}
//必须登录,未登录直接返回未登录相关信息
if (response.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) {
return response;
}

6
ht/pom.xml

@ -24,11 +24,7 @@
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies>
<build>

5
ht/src/main/java/com/ccsens/ht/api/DoctorController.java

@ -1,10 +1,10 @@
package com.ccsens.ht.api;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ht.annotation.DoctorAudit;
import com.ccsens.ht.bean.dto.DoctorDto;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.vo.DoctorVo;
import com.ccsens.ht.service.IDoctorService;
import com.ccsens.util.CodeEnum;
@ -13,7 +13,6 @@ import com.github.pagehelper.PageInfo;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

6
ht/src/main/java/com/ccsens/ht/api/FileController.java

@ -1,12 +1,10 @@
package com.ccsens.ht.api;
import cn.hutool.core.date.DateUtil;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ht.bean.dto.FileDto;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.ht.bean.dto.QuestionDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.vo.FileVo;
import com.ccsens.ht.bean.vo.QuestionVo;
import com.ccsens.util.Base64FileUtil;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.PropUtil;

4
ht/src/main/java/com/ccsens/ht/api/PatientController.java

@ -2,9 +2,9 @@ package com.ccsens.ht.api;
import cn.hutool.core.util.IdcardUtil;
import com.ccsens.ht.annotation.DoctorAudit;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ht.bean.dto.PatientDto;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.po.HtPatient;
import com.ccsens.ht.bean.vo.PatientVo;
import com.ccsens.ht.service.IPatientService;

8
ht/src/main/java/com/ccsens/ht/api/PatientReportController.java

@ -2,15 +2,13 @@ package com.ccsens.ht.api;
import com.ccsens.ht.annotation.DoctorAudit;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ht.bean.dto.PatientReportDto;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.vo.PatientReportVo;
import com.ccsens.ht.service.IPatientReportService;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.PdfUtil;
import com.ccsens.util.PropUtil;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
@ -22,8 +20,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* @program: ptpro

4
ht/src/main/java/com/ccsens/ht/api/PositionController.java

@ -1,8 +1,8 @@
package com.ccsens.ht.api;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.ht.bean.dto.PositionDto;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.vo.PositionVo;
import com.ccsens.ht.service.IPositionService;
import com.ccsens.util.JsonResponse;

4
ht/src/main/java/com/ccsens/ht/api/QuestionController.java

@ -2,8 +2,8 @@ package com.ccsens.ht.api;
import com.ccsens.ht.annotation.DoctorAudit;
import com.ccsens.ht.annotation.MustLogin;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.dto.QuestionDto;
import com.ccsens.ht.bean.vo.QuestionVo;
import com.ccsens.ht.service.IQuestionService;

3
ht/src/main/java/com/ccsens/ht/aspect/DoctorAuditAspect.java

@ -1,13 +1,12 @@
package com.ccsens.ht.aspect;
import com.ccsens.ht.bean.dto.QueryDto;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.ht.bean.po.HtDoctor;
import com.ccsens.ht.bean.po.HtDoctorExample;
import com.ccsens.ht.persist.mapper.HtDoctorMapper;
import com.ccsens.ht.uitl.Constant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;

2
ht/src/main/java/com/ccsens/ht/bean/dto/QueryDto.java → util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java

@ -1,4 +1,4 @@
package com.ccsens.ht.bean.dto;
package com.ccsens.util.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
Loading…
Cancel
Save