f835cc59 by chentao

加免

1 parent 06c3a7ae
......@@ -85,4 +85,9 @@ public class Upgrade extends BaseEntity {
*/
private String constrain;
/**
* 应用密钥
*/
private String appSecret;
}
\ No newline at end of file
......
......@@ -55,4 +55,11 @@ public class UpgradeBo extends BaseBO {
* 描述
*/
private String remark;
/**
* 应用密钥
*/
private String appSecret;
}
\ No newline at end of file
......
......@@ -76,4 +76,10 @@ public class UpgradeVo {
* 强制升级(0否 1是)
*/
private String constrain;
/**
* 应用密钥
*/
private String appSecret;
}
\ No newline at end of file
......
......@@ -10,6 +10,7 @@ import com.lego.core.domin.vo.CourseVo;
import com.lego.core.domin.vo.QuestionVo;
import com.lego.core.domin.vo.ResourceVo;
import com.lego.core.domin.vo.UpgradeVo;
import com.lego.system.domain.vo.SysOssVo;
import java.rmi.ServerException;
import java.util.List;
......@@ -42,6 +43,8 @@ public interface IUpgradeService {
*/
boolean addUpgrade(UpgradeBo UpgradeBo) throws ServerException;
UpgradeVo getById(String id);
/**
* 修改
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.constant.CacheNames;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.core.service.ConfigService;
import com.lego.common.core.service.OssService;
......@@ -23,6 +24,7 @@ import com.lego.core.service.*;
import com.lego.system.domain.vo.SysOssVo;
import com.lego.system.service.ISysOssService;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.rmi.ServerException;
......@@ -57,6 +59,7 @@ public class UpgradeServiceImpl implements IUpgradeService {
resourceVo.setBuildingBlocks(buildingBlocks);
List<CourseVo> courses = courseService.list();
resourceVo.setCourses(courses);
List<QuestionVo> questions = questionService.list();
resourceVo.setQuestions(questions);
......@@ -64,8 +67,6 @@ public class UpgradeServiceImpl implements IUpgradeService {
List<AdvertVo> adverts = advertService.list();
resourceVo.setAdverts(adverts);
resourceVo.setCourses(courses);
String siteUrl = configService.getConfigValue("sys.site.url");
SiteVo siteVo = new SiteVo();
siteVo.setUrl(siteUrl);
......@@ -109,7 +110,16 @@ public class UpgradeServiceImpl implements IUpgradeService {
public boolean addUpgrade(UpgradeBo UpgradeBo) {
Upgrade upgrade = BeanUtil.toBean(UpgradeBo, Upgrade.class);
upgrade.setId(null);
return baseMapper.insert(upgrade) > 0;
int result = baseMapper.insert(upgrade);
getById(upgrade.getId());
return result > 0;
}
@Cacheable(cacheNames = CacheNames.SYS_OSS, key = "#id")
@Override
public UpgradeVo getById(String id) {
UpgradeVo vo = baseMapper.selectVoById(id);
return vo;
}
/**
......@@ -124,7 +134,9 @@ public class UpgradeServiceImpl implements IUpgradeService {
public boolean updateUpgrade(UpgradeBo upgradeBo) throws ServerException {
checkExists(upgradeBo.getId());
Upgrade upgrade = BeanUtil.toBean(upgradeBo, Upgrade.class);
return baseMapper.updateById(upgrade) > 0;
int result = baseMapper.updateById(upgrade);
getById(upgrade.getId());
return result > 0;
}
/**
......
package com.lego.framework.config;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaRequest;
import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.jwt.StpLogicJwtForSimple;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpInterface;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
import com.lego.common.utils.EncryptUtils;
import com.lego.common.utils.StringUtils;
import com.lego.common.utils.spring.SpringUtils;
import com.lego.framework.config.properties.SecurityProperties;
import com.lego.framework.handler.AllUrlHandler;
......@@ -16,9 +21,13 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.CollectionUtils;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.Arrays;
import java.util.List;
/**
* sa-token 配置
*
......@@ -30,6 +39,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
public class SaTokenConfig implements WebMvcConfigurer {
private final SecurityProperties securityProperties;
private final PlusSaTokenDao plusSaTokenDao;
/**
* 注册sa-token的拦截器
......@@ -46,7 +56,29 @@ public class SaTokenConfig implements WebMvcConfigurer {
// 对未排除的路径进行检查
.check(() -> {
// 检查是否登录 是否有token
StpUtil.checkLogin();
SaRequest request = SaHolder.getRequest();
String version = request.getHeader("version");
if(StringUtils.isNotBlank(version)) {
String token = StpUtil.getTokenValue();
String secret = plusSaTokenDao.get(version);
String appSecret = EncryptUtils.decryptByAes(secret);
String explicitToken = EncryptUtils.decryptByAes(token,appSecret);
List<String> list = Arrays.asList(explicitToken.split("&"));
if(!CollectionUtils.isEmpty(list)){
long time = System.currentTimeMillis();
long period = time-Long.valueOf(list.get(0));
if(period<60 && period>0){
}
else{
throw NotLoginException.newInstance("", "-2", "token 无效", token).setCode(403);
}
}
}
else{
StpUtil.checkLogin();
}
// 有效率影响 用于临时测试
// if (log.isDebugEnabled()) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!