文档完善和逻辑优化

This commit is contained in:
暮光:城中城
2018-12-15 16:53:16 +08:00
parent 72d7f64cd6
commit 6362728bed
16 changed files with 257 additions and 528 deletions

View File

@@ -1,19 +1,24 @@
package com.zyplayer.doc.manage.framework.config;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
@Configuration
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory factory) {
factory.addErrorPages(new ErrorPage(HttpStatus.FORBIDDEN, "/statics/common/403.html"));
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/statics/common/404.html"));
factory.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/statics/common/500.html"));
}
}
package com.zyplayer.doc.manage.framework.config;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
/**
* 自定义错误页面
* @author 暮光:城中城
* @since 2018年11月11日
*/
@Configuration
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory factory) {
factory.addErrorPages(new ErrorPage(HttpStatus.FORBIDDEN, "/statics/common/403.html"));
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/statics/common/404.html"));
factory.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/statics/common/500.html"));
}
}

View File

@@ -1,91 +1,91 @@
package com.zyplayer.doc.manage.framework.config;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.manage.repository.manage.entity.ZyplayerStorage;
import com.zyplayer.doc.manage.service.manage.ZyplayerStorageService;
import com.zyplayer.doc.swagger.framework.service.MgStorage;
import com.zyplayer.doc.swagger.framework.service.MgStorageService;
/**
* 申明为@Service之后网页上才能使用存储能力同时需要在@EnableSwagger2的地方添加@EnableSwaggerMgUi注解
* 才能开启存储的接口<br/>
* 开放存储能力的好处:<br/>
* 所有网页的配置、调试值都可以存储到服务器的数据库中,便于团队所有人的调试,一人配置,所有人受益<br/>
* 如果不开启的话数据是存放在浏览器的localStorage中每个人、每个浏览器都得配置一次才能使用<br/>
*
* @author 暮光:城中城
* @since 2018年8月19日
*/
@Service
public class MgStorageServiceImpl implements MgStorageService {
@Autowired
ZyplayerStorageService zyplayerStorageService;
/**
* 使用数据库来存储,例: storageMapper.select(key);
*/
@Override
public String get(String key) {
QueryWrapper<ZyplayerStorage> wrapper = new QueryWrapper<>();
wrapper.eq("doc_key", key);
ZyplayerStorage zyplayerStorage = zyplayerStorageService.getOne(wrapper);
if (zyplayerStorage == null) {
return null;
}
return zyplayerStorage.getDocValue();
}
@Override
public List<MgStorage> like(String key, String value) {
QueryWrapper<ZyplayerStorage> wrapper = new QueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(key), "doc_key", key);
wrapper.like(StringUtils.isNotBlank(value), "doc_value", value);
List<ZyplayerStorage> storageList = zyplayerStorageService.list(wrapper);
if (storageList == null || storageList.isEmpty()) {
return Collections.emptyList();
}
List<MgStorage> resultList = storageList.stream().map(val -> {
return new MgStorage(val.getDocKey(), val.getDocValue());
}).collect(Collectors.toList());
return resultList;
}
/**
* 使用数据库来存储,例: storageMapper.updateOrInsert(key, value);
*/
@Override
public void put(String key, String value) {
ZyplayerStorage entity = new ZyplayerStorage();
entity.setDocValue(value);
UpdateWrapper<ZyplayerStorage> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq(true, "doc_key", key);
boolean update = zyplayerStorageService.update(entity, updateWrapper);
if (!update) {
entity = new ZyplayerStorage();
entity.setDocValue(value);
entity.setDocKey(key);
zyplayerStorageService.save(entity);
}
}
/**
* 删除一个key
*/
@Override
public void remove(String key) {
UpdateWrapper<ZyplayerStorage> queryWrapper = new UpdateWrapper<>();
queryWrapper.eq(true, "doc_key", key);
zyplayerStorageService.remove(queryWrapper);
}
}
package com.zyplayer.doc.manage.framework.config;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zyplayer.doc.manage.repository.manage.entity.ZyplayerStorage;
import com.zyplayer.doc.manage.service.manage.ZyplayerStorageService;
import com.zyplayer.doc.swagger.framework.service.MgStorage;
import com.zyplayer.doc.swagger.framework.service.MgStorageService;
/**
* 申明为@Service之后网页上才能使用存储能力同时需要在@EnableSwagger2的地方添加@EnableSwaggerMgUi注解
* 才能开启存储的接口<br/>
* 开放存储能力的好处:<br/>
* 所有网页的配置、调试值都可以存储到服务器的数据库中,便于团队所有人的调试,一人配置,所有人受益<br/>
* 如果不开启的话数据是存放在浏览器的localStorage中每个人、每个浏览器都得配置一次才能使用<br/>
*
* @author 暮光:城中城
* @since 2018年8月19日
*/
@Service
public class MgStorageServiceImpl implements MgStorageService {
@Autowired
ZyplayerStorageService zyplayerStorageService;
/**
* 使用数据库来存储,例: storageMapper.select(key);
*/
@Override
public String get(String key) {
QueryWrapper<ZyplayerStorage> wrapper = new QueryWrapper<>();
wrapper.eq("doc_key", key);
ZyplayerStorage zyplayerStorage = zyplayerStorageService.getOne(wrapper);
if (zyplayerStorage == null) {
return null;
}
return zyplayerStorage.getDocValue();
}
@Override
public List<MgStorage> like(String key, String value) {
QueryWrapper<ZyplayerStorage> wrapper = new QueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(key), "doc_key", key);
wrapper.like(StringUtils.isNotBlank(value), "doc_value", value);
List<ZyplayerStorage> storageList = zyplayerStorageService.list(wrapper);
if (storageList == null || storageList.isEmpty()) {
return Collections.emptyList();
}
List<MgStorage> resultList = storageList.stream().map(val -> {
return new MgStorage(val.getDocKey(), val.getDocValue());
}).collect(Collectors.toList());
return resultList;
}
/**
* 使用数据库来存储,例: storageMapper.updateOrInsert(key, value);
*/
@Override
public void put(String key, String value) {
ZyplayerStorage entity = new ZyplayerStorage();
entity.setDocValue(value);
UpdateWrapper<ZyplayerStorage> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq(true, "doc_key", key);
boolean update = zyplayerStorageService.update(entity, updateWrapper);
if (!update) {
entity = new ZyplayerStorage();
entity.setDocValue(value);
entity.setDocKey(key);
zyplayerStorageService.save(entity);
}
}
/**
* 删除一个key
*/
@Override
public void remove(String key) {
UpdateWrapper<ZyplayerStorage> queryWrapper = new UpdateWrapper<>();
queryWrapper.eq("doc_key", key);
zyplayerStorageService.remove(queryWrapper);
}
}