Selaa lähdekoodia

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wangzhinan 4 vuotta sitten
vanhempi
commit
3b7ca513d9

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyUserAnswerDao.java

@ -18,7 +18,7 @@ public interface SurveyUserAnswerDao extends PagingAndSortingRepository<WlyySurv
    List<WlyySurveyUserAnswerDO> findBySurverUserId(String surverUserId);
    List<WlyySurveyUserAnswerDO> findByTempQuestionCode(String tempQuestionCode);
    @Query("From WlyySurveyUserAnswerDO c WHERE c.tempOptionCode = ?1 and c.surveyTempCode = ?2")
    List<WlyySurveyUserAnswerDO> findBytempOptionCode(String tempOptionCode,String surveyTempCode);
    @Query("SELECT DISTINCT c.patient from WlyySurveyUserAnswerDO c WHERE c.tempQuestionCode = ?1 and c.surveyTempCode = ?2")

+ 34 - 22
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -145,10 +145,21 @@ public class BasicZuulFilter extends ZuulFilter {
        }
        //获取所有token资源
        String resourceIds[] = urls.split(",");
        String platform = request.getHeader("platform");
        for (String resourceId : resourceIds) {
            if (resourceId.equals("/**")) {
                System.out.println("/**"+true);
                this.checkTimeout(oAuth2AccessToken);
                //判断用户操作间隔
                if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
                    //判断用户操作间隔
                    String userId = userAgent.getUID();
                    System.out.println(userId);
                    Boolean checkTimeOut = baseLoginLogService.checkTime(userId);
                    System.out.println("即将进入验证操作时间接口");
                    if (!checkTimeOut){
                        return this.forbidden(ctx, ResultStatus.OPERATE_TIME, "expired token");
                    }
                }
                return true;
            }
            if (!resourceId.startsWith("/")) {
@ -158,33 +169,34 @@ public class BasicZuulFilter extends ZuulFilter {
            if (path.startsWith(resourceId)
                    && (path.length() == resourceId.length() || path.charAt(resourceId.length()) == '/')) {
                System.out.println("158"+true);
                this.checkTimeout(oAuth2AccessToken);
                //判断用户操作间隔
                if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
                    //判断用户操作间隔
                    String userId = userAgent.getUID();
                    System.out.println(userId);
                    Boolean checkTimeOut = baseLoginLogService.checkTime(userId);
                    System.out.println("即将进入验证操作时间接口");
                    if (!checkTimeOut){
                        return this.forbidden(ctx, ResultStatus.OPERATE_TIME, "expired token");
                    }
                }
                return true;
            }
        }
        //判断用户操作间隔
        String userId = userAgent.getUID();
        System.out.println(userId);
        Boolean checkTimeOut = baseLoginLogService.checkTime(userId);
        System.out.println("即将进入验证操作时间接口");
        if (!checkTimeOut){
            tokenStore.removeAccessToken(oAuth2AccessToken);
            return this.forbidden(ctx, ResultStatus.OPERATE_TIME, "expired token");
        if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
            //判断用户操作间隔
            String userId = userAgent.getUID();
            System.out.println(userId);
            Boolean checkTimeOut = baseLoginLogService.checkTime(userId);
            System.out.println("即将进入验证操作时间接口");
            if (!checkTimeOut){
                return this.forbidden(ctx, ResultStatus.OPERATE_TIME, "expired token");
            }
        }
        return this.forbidden(ctx, ResultStatus.NO_PERMI, "invalid token does not contain request resource " + path);
    }
    private void checkTimeout(OAuth2AccessToken oAuth2AccessToken){
        //判断用户操作间隔
        String userId = userAgent.getUID();
        System.out.println(userId);
        Boolean checkTimeOut = baseLoginLogService.checkTime(userId);
        System.out.println("即将进入验证操作时间接口");
        if (!checkTimeOut){
            tokenStore.removeAccessToken(oAuth2AccessToken);
            redisTokenStore.removeAccessToken(oAuth2AccessToken.getValue());
            redisTokenStore.removeRefreshToken(oAuth2AccessToken.getRefreshToken().getValue());
        }
    }
    private String extractToken(HttpServletRequest request) {
        String accessToken = request.getHeader(ACCESS_TOKEN_PARAMETER);
        if (null == accessToken) {

+ 9 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/methlog/BaseLoginLogService.java

@ -1,6 +1,7 @@
package com.yihu.jw.gateway.methlog;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Service;
@ -16,6 +17,8 @@ public class BaseLoginLogService {
    @Autowired
    private BaseLoginLogDao baseLoginLogDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    /**
     * 根据openid 获取最新的一条数据
@ -37,6 +40,12 @@ public class BaseLoginLogService {
        List<BaseLoginLogDO> list = baseLoginLogDao.findByUserId(userId);
        long between = 0l;
        long timeOut = 1000*60*5;
        String idOperate = "OPERATE_TIME";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findOne(idOperate);
        if (null!=wlyyHospitalSysDictDO){
            String dictValue =wlyyHospitalSysDictDO.getDictValue()==null?"5":wlyyHospitalSysDictDO.getDictValue();
            timeOut = 1000*60*Integer.valueOf(dictValue);
        }
        if (list.size()>0){
            BaseLoginLogDO baseLoginLogDO = list.get(0);
            Date optiondate = baseLoginLogDO.getOperateTime();

+ 9 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/methlog/WlyyHospitalSysDictDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.gateway.methlog;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface WlyyHospitalSysDictDao extends PagingAndSortingRepository<WlyyHospitalSysDictDO, String>, JpaSpecificationExecutor<WlyyHospitalSysDictDO> {
}