客户端

main
@t2652009480 2 years ago
parent 83617994c8
commit 1a568102c5

@ -100,7 +100,18 @@
</dependencies> </dependencies>
<build> <build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

@ -3,10 +3,11 @@ package com.zhiyun.zhiyun03;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication @SpringBootApplication
@ServletComponentScan
public class Zhiyun03Application { public class Zhiyun03Application {
public static void main(String[] args) { public static void main(String[] args) {

@ -3,6 +3,7 @@ package com.zhiyun.zhiyun03.academic.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiyun.zhiyun03.academic.service.AcademicService; import com.zhiyun.zhiyun03.academic.service.AcademicService;
import com.zhiyun.zhiyun03.academic.vo.AcademicVo; import com.zhiyun.zhiyun03.academic.vo.AcademicVo;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.CourseVo; import com.zhiyun.zhiyun03.course.vo.CourseVo;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.game.vo.GameVo; import com.zhiyun.zhiyun03.game.vo.GameVo;
@ -18,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.List;
@RestController @RestController
@RequestMapping("/academic") @RequestMapping("/academic")
@ -41,6 +43,13 @@ public class AcademicController {
return JsonResult.success(lists).setCount(lists.getTotal()); return JsonResult.success(lists).setCount(lists.getTotal());
} }
@GetMapping ("/queryDir")
@ApiOperation("查询目录")
public JsonResult<Directory> queryDir(){
List<Directory> list = academicService.queryDir();
return JsonResult.success(list);
}
@PostMapping("/addAcademic") @PostMapping("/addAcademic")
@ApiOperation("新增学术信息") @ApiOperation("新增学术信息")
public JsonResult addAcademic(AcademicVo academicVo){ public JsonResult addAcademic(AcademicVo academicVo){
@ -55,8 +64,11 @@ public class AcademicController {
@RequestMapping("/selectByIdAcademic") @RequestMapping("/selectByIdAcademic")
@ApiOperation("根据id查询学术信息") @ApiOperation("根据id查询学术信息")
public JsonResult<AcademicVo> selectByIdAcademic(Integer id){ public JsonResult<AcademicVo> selectByIdAcademic(Integer id){
AcademicVo academicVo = academicService.selectByIdAcademic(id); if (id!=null){
return JsonResult.success(academicVo); AcademicVo academicVo = academicService.selectByIdAcademic(id);
return JsonResult.success(academicVo);
}
return JsonResult.error();
} }
@PostMapping("/updateAcademic") @PostMapping("/updateAcademic")
@ -106,4 +118,13 @@ public class AcademicController {
return JsonResult.success(path); return JsonResult.success(path);
} }
@RequestMapping("/addDirectory")
@ApiOperation("新增目录")
public JsonResult addDirectory( Directory directory){
int result = academicService.addDirectory(directory);
if(result>0){
return JsonResult.success(ResultCode.SUCCESS);
}
return JsonResult.error(ResultCode.Fail,"失败");
}
} }

@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiyun.zhiyun03.academic.entity.Academic; import com.zhiyun.zhiyun03.academic.entity.Academic;
import com.zhiyun.zhiyun03.academic.vo.AcademicVo; import com.zhiyun.zhiyun03.academic.vo.AcademicVo;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.CourseVo; import com.zhiyun.zhiyun03.course.vo.CourseVo;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.game.vo.GameVo; import com.zhiyun.zhiyun03.game.vo.GameVo;
import java.util.List;
public interface AcademicService extends IService<Academic> { public interface AcademicService extends IService<Academic> {
PageVO<AcademicVo> queryAcademic(Integer page, Integer limit); PageVO<AcademicVo> queryAcademic(Integer page, Integer limit);
@ -18,4 +21,8 @@ public interface AcademicService extends IService<Academic> {
int updateAcademic(AcademicVo academicVo); int updateAcademic(AcademicVo academicVo);
int deleteAcademic(Integer id); int deleteAcademic(Integer id);
List<Directory> queryDir();
int addDirectory(Directory directory);
} }

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
@Service @Service
public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> implements AcademicService { public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> implements AcademicService {
@ -43,7 +44,7 @@ public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> i
List<AcademicVo> academicVoList = academicMapper.queryAcademic(); List<AcademicVo> academicVoList = academicMapper.queryAcademic();
if (academicVoList.isEmpty()) if (academicVoList.isEmpty())
{ {
throw new ServiceException("400","课程数据为空"); throw new ServiceException("400","学术数据为空");
} }
PageInfo<AcademicVo> pageInfo = new PageInfo<AcademicVo>(academicVoList); PageInfo<AcademicVo> pageInfo = new PageInfo<AcademicVo>(academicVoList);
PageVO<AcademicVo> academicVoPageVO = new PageVO<>(); PageVO<AcademicVo> academicVoPageVO = new PageVO<>();
@ -62,12 +63,31 @@ public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> i
*/ */
@Override @Override
public int addAcademic(AcademicVo academicVo) { public int addAcademic(AcademicVo academicVo) {
if(academicVo.getAcademicName().isEmpty()){
throw new ServiceException("400","学术名称不能为空");
}
if(academicVo.getAcademicUrl().isEmpty()){
throw new ServiceException("400","学术链接不能为空");
}
if (academicVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (academicVo.getAcademicImg().isEmpty()){
throw new ServiceException("400","学术图片不能为空");
}
QueryWrapper<Academic> qwa=new QueryWrapper<>();
qwa.lambda().eq(Academic::getAcademicName,academicVo.getAcademicName()).or().eq(Academic::getAcademicUrl,academicVo.getAcademicUrl());
Academic academic1 = academicMapper.selectOne(qwa);
if(academic1!=null){
throw new ServiceException("403","学术名称或链接已存在");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Academic academic = convertUtil.VoToEntity(academicVo, Academic.class); Academic academic = convertUtil.VoToEntity(academicVo, Academic.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()); qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()).eq(Directory::getDirIden,6);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
academic.setDirId(directory.getId()); academic.setDirId(directory.getId());
@ -101,12 +121,24 @@ public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> i
*/ */
@Override @Override
public int updateAcademic(AcademicVo academicVo) { public int updateAcademic(AcademicVo academicVo) {
if(academicVo.getAcademicName().isEmpty()){
throw new ServiceException("400","学术名称不能为空");
}
if(academicVo.getAcademicUrl().isEmpty()){
throw new ServiceException("400","学术链接不能为空");
}
if (academicVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (academicVo.getAcademicImg().isEmpty()){
throw new ServiceException("400","学术图片不能为空");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Academic academic = convertUtil.VoToEntity(academicVo, Academic.class); Academic academic = convertUtil.VoToEntity(academicVo, Academic.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()); qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()).eq(Directory::getDirIden,6);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
academic.setDirId(directory.getId()); academic.setDirId(directory.getId());
@ -126,4 +158,48 @@ public class AcademicServiceImpl extends ServiceImpl<AcademicMapper, Academic> i
} }
return 0; return 0;
} }
/**
*
* @return
*/
@Override
public List<Directory> queryDir() {
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirIden,6);
List<Directory> list = directoryMapper.selectList(qwd);
if(list.isEmpty()){
throw new ServiceException("400","目录数据为空");
}
return list;
}
/**
*
* @param directory
* @return
*/
@Override
public int addDirectory(Directory directory) {
if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){
throw new ServiceException("400","目录名称和图片不能为空");
}
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,6);
Directory directory1 = directoryMapper.selectOne(qwd);
if(directory1!=null){
throw new ServiceException("403","目录名称已存在");
}
int uuid= UUID.randomUUID().hashCode();
if(uuid<0){
uuid=-uuid;
}
directory.setDirAddtime(new Date());
directory.setId(uuid);
directory.setDirIden(6);
int insert = directoryMapper.insert(directory);
return insert;
}
} }

@ -1,6 +1,7 @@
package com.zhiyun.zhiyun03.application.controller; package com.zhiyun.zhiyun03.application.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.zhiyun.zhiyun03.academic.vo.AcademicVo; import com.zhiyun.zhiyun03.academic.vo.AcademicVo;
import com.zhiyun.zhiyun03.application.config.HospConfig; import com.zhiyun.zhiyun03.application.config.HospConfig;
import com.zhiyun.zhiyun03.application.entity.Application; import com.zhiyun.zhiyun03.application.entity.Application;
@ -60,8 +61,11 @@ public class ApplicationController {
@RequestMapping("/selectByIdApplication") @RequestMapping("/selectByIdApplication")
@ApiOperation("根据id查询应用") @ApiOperation("根据id查询应用")
public JsonResult<ApplicationVo> selectByIdApplication(Integer id){ public JsonResult<ApplicationVo> selectByIdApplication(Integer id){
ApplicationVo applicationVo = applicationService.selectByIdApplication(id); if(id!=null){
return JsonResult.success(applicationVo); ApplicationVo applicationVo = applicationService.selectByIdApplication(id);
return JsonResult.success(applicationVo);
}
return JsonResult.error();
} }
@PostMapping("/updateApplication") @PostMapping("/updateApplication")

@ -31,7 +31,7 @@ public class Directory {
* *
*/ */
@TableField(value = "dir_iden") @TableField(value = "dir_iden")
private String dirIden; private Integer dirIden;
/** /**
* *

@ -46,7 +46,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
List<ApplicationVo> applicationVos = applicationMapper.queryApplication(); List<ApplicationVo> applicationVos = applicationMapper.queryApplication();
if (applicationVos.isEmpty()) if (applicationVos.isEmpty())
{ {
throw new ServiceException("400","课程数据为空"); throw new ServiceException("400","应用数据为空");
} }
PageInfo<ApplicationVo> pageInfo = new PageInfo<ApplicationVo>(applicationVos); PageInfo<ApplicationVo> pageInfo = new PageInfo<ApplicationVo>(applicationVos);
PageVO<ApplicationVo> applicationVoPageVO = new PageVO<>(); PageVO<ApplicationVo> applicationVoPageVO = new PageVO<>();
@ -66,7 +66,11 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
@Override @Override
public List<Directory> queryDir() { public List<Directory> queryDir() {
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirIden,2);
List<Directory> list = directoryMapper.selectList(qwd); List<Directory> list = directoryMapper.selectList(qwd);
if(list.isEmpty()){
throw new ServiceException("400","目录数据为空");
}
return list; return list;
} }
@ -96,10 +100,22 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
*/ */
@Override @Override
public int updateApplication(ApplicationVo applicationVo) { public int updateApplication(ApplicationVo applicationVo) {
if(applicationVo.getAppName().isEmpty()){
throw new ServiceException("400","应用名称不能为空");
}
if(applicationVo.getAppUrl().isEmpty()){
throw new ServiceException("400","应用链接不能为空");
}
if(applicationVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if(applicationVo.getAppIcon().isEmpty()){
throw new ServiceException("400","应用图片不能为空");
}
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Application application = convertUtil.VoToEntity(applicationVo, Application.class); Application application = convertUtil.VoToEntity(applicationVo, Application.class);
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()); qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
application.setDirId(directory.getId()); application.setDirId(directory.getId());
application.setAppUpdatetime(new Date()); application.setAppUpdatetime(new Date());
@ -126,11 +142,14 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
*/ */
@Override @Override
public int addDirectory(Directory directory) { public int addDirectory(Directory directory) {
if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){
throw new ServiceException("400","目录名称和图片不能为空");
}
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,directory.getDirName()); qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,2);
Directory directory1 = directoryMapper.selectOne(qwd); Directory directory1 = directoryMapper.selectOne(qwd);
if(directory1!=null){ if(directory1!=null){
return 0; throw new ServiceException("403","目录名称已存在");
} }
int uuid=UUID.randomUUID().hashCode(); int uuid=UUID.randomUUID().hashCode();
if(uuid<0){ if(uuid<0){
@ -138,6 +157,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
} }
directory.setDirAddtime(new Date()); directory.setDirAddtime(new Date());
directory.setId(uuid); directory.setId(uuid);
directory.setDirIden(2);
int insert = directoryMapper.insert(directory); int insert = directoryMapper.insert(directory);
return insert; return insert;
} }
@ -148,10 +168,28 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
*/ */
@Override @Override
public int addApplication(ApplicationVo applicationVo) { public int addApplication(ApplicationVo applicationVo) {
if(applicationVo.getAppName().isEmpty()){
throw new ServiceException("400","应用名称不能为空");
}
if (applicationVo.getAppUrl().isEmpty()){
throw new ServiceException("400","应用链接不能为空");
}
if(applicationVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if(applicationVo.getAppIcon().isEmpty()){
throw new ServiceException("400","应用图片不能为空");
}
QueryWrapper<Application> qwa=new QueryWrapper<>();
qwa.lambda().eq(Application::getAppName,applicationVo.getAppName()).or().eq(Application::getAppUrl,applicationVo.getAppUrl());
List<Application> applications = applicationMapper.selectList(qwa);
if(applications.size()!=0){
throw new ServiceException("403","应用名称或链接已存在");
}
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Application application = convertUtil.VoToEntity(applicationVo, Application.class); Application application = convertUtil.VoToEntity(applicationVo, Application.class);
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()); qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
application.setDirId(directory.getId()); application.setDirId(directory.getId());
application.setAppAddtime(new Date()); application.setAppAddtime(new Date());

@ -0,0 +1,50 @@
package com.zhiyun.zhiyun03.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebFilter(urlPatterns = "*")//表示所有请求都走这个过滤器(可以用来设置编码)
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//服务器启动时执行init方法
}
@Override//有请求就执行,且无论是前端到后端还是后端到前端都会走过滤器,真的很形象(就像量有滤网的水杯,装水和倒水都会经过滤网,前提是你有滤网(过滤器))
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//filter是抽象类,所以要强转
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
//统一资源标识符(Uniform Resource Identifier)得到一个uri
//URI和URL都定义了资源是什么但URL还定义了该如何访问资源。URL是一种具体的URI它是URI的一个子集它不仅唯一标识资源而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念可以是绝对的也可以是相对的而URL则必须提供足够的信息来定位是绝对的。
//只要能唯一标识资源的就是URI在URI的基础上给出其资源的访问方式的就是URL
String requestURI = request.getRequestURI();
System.out.println("requestURI=" + requestURI);
//这个user得先存才能取(作用范围是session,也就是其存值时是存于session中的)
Object user = request.getSession().getAttribute("USER");
System.out.println(user);//只是打印在控制台,为了测试
if (ignore(requestURI) || user != null)//满足其一就让其通过
filterChain.doFilter(request, response);
else
response.sendRedirect("/login.html");//重定向到login.jsp页面
}
private boolean ignore(String requestURI) {
//login请求 和 login.jsp页面 要让行,不然永远无法登录
String[] uris = {"login", "login.html"};
for (String u : uris) {
if (requestURI.endsWith(u))
//只能用上面的方式,不然会一直输出下面两行
// requestURI=/login.jsp
//null
//if (u.endsWith(requestURI))
return true;
}
return false;
}
}

@ -58,8 +58,11 @@ public class GameController {
@RequestMapping("/selectByIdGame") @RequestMapping("/selectByIdGame")
@ApiOperation("根据id查询大赛信息") @ApiOperation("根据id查询大赛信息")
public JsonResult<GameVo> selectByIdGame(Integer id){ public JsonResult<GameVo> selectByIdGame(Integer id){
GameVo gameVo = gameService.selectByIdGame(id); if (id!=null){
return JsonResult.success(gameVo); GameVo gameVo = gameService.selectByIdGame(id);
return JsonResult.success(gameVo);
}
return JsonResult.error();
} }
@PostMapping(value = "/updateGame") @PostMapping(value = "/updateGame")
@ -109,5 +112,20 @@ public class GameController {
path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload; path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload;
return JsonResult.success(path); return JsonResult.success(path);
} }
@GetMapping ("/queryDir")
@ApiOperation("查询目录")
public JsonResult<Directory> queryDir(){
List<Directory> list = gameService.queryDir();
return JsonResult.success(list);
}
@RequestMapping("/addDirectory")
@ApiOperation("新增目录")
public JsonResult addDirectory( Directory directory){
int result = gameService.addDirectory(directory);
if(result>0){
return JsonResult.success(ResultCode.SUCCESS);
}
return JsonResult.error(ResultCode.Fail,"失败");
}
} }

@ -2,6 +2,7 @@ package com.zhiyun.zhiyun03.game.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.game.entity.Game; import com.zhiyun.zhiyun03.game.entity.Game;
import com.zhiyun.zhiyun03.game.vo.GameVo; import com.zhiyun.zhiyun03.game.vo.GameVo;
@ -18,4 +19,8 @@ public interface GameService extends IService<Game> {
int updateGame(GameVo gameVo); int updateGame(GameVo gameVo);
int deleteGame(Integer id); int deleteGame(Integer id);
List<Directory> queryDir();
int addDirectory(Directory directory);
} }

@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
@Service @Service
public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements GameService { public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements GameService {
@ -41,7 +42,7 @@ public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements Ga
List<GameVo> gameVoList = gameMapper.queryGame(); List<GameVo> gameVoList = gameMapper.queryGame();
if (gameVoList.isEmpty()) if (gameVoList.isEmpty())
{ {
throw new ServiceException("400","课程数据为空"); throw new ServiceException("400","大赛数据为空");
} }
PageInfo<GameVo> pageInfo = new PageInfo<GameVo>(gameVoList); PageInfo<GameVo> pageInfo = new PageInfo<GameVo>(gameVoList);
PageVO<GameVo> gameVoPageVO = new PageVO<>(); PageVO<GameVo> gameVoPageVO = new PageVO<>();
@ -60,12 +61,30 @@ public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements Ga
*/ */
@Override @Override
public int addApplication(GameVo gameVo) { public int addApplication(GameVo gameVo) {
if(gameVo.getGameName().isEmpty()){
throw new ServiceException("400","大赛名称不能为空");
}
if(gameVo.getGameUrl().isEmpty()){
throw new ServiceException("400","大赛链接不能为空");
}
if (gameVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (gameVo.getGameImg().isEmpty()){
throw new ServiceException("400","大赛图片不能为空");
}
QueryWrapper<Game> qwg=new QueryWrapper<>();
qwg.lambda().eq(Game::getGameName,gameVo.getGameName()).or().eq(Game::getGameUrl,gameVo.getGameUrl());
List<Game> games = gameMapper.selectList(qwg);
if (games.size()!=0){
throw new ServiceException("403","大赛名称或链接已存在");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Game game = convertUtil.VoToEntity(gameVo, Game.class); Game game = convertUtil.VoToEntity(gameVo, Game.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()); qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()).eq(Directory::getDirIden,5);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
game.setDirId(directory.getId()); game.setDirId(directory.getId());
@ -99,12 +118,24 @@ public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements Ga
*/ */
@Override @Override
public int updateGame(GameVo gameVo) { public int updateGame(GameVo gameVo) {
if(gameVo.getGameName().isEmpty()){
throw new ServiceException("400","大赛名称不能为空");
}
if(gameVo.getGameUrl().isEmpty()){
throw new ServiceException("400","大赛链接不能为空");
}
if (gameVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (gameVo.getGameImg().isEmpty()){
throw new ServiceException("400","大赛图片不能为空");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Game game = convertUtil.VoToEntity(gameVo, Game.class); Game game = convertUtil.VoToEntity(gameVo, Game.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()); qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()).eq(Directory::getDirIden,5);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
game.setDirId(directory.getId()); game.setDirId(directory.getId());
@ -124,4 +155,37 @@ public class GameServiceImpl extends ServiceImpl<GameMapper, Game> implements Ga
} }
return 0; return 0;
} }
@Override
public List<Directory> queryDir() {
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirIden,5);
List<Directory> list = directoryMapper.selectList(qwd);
if(list.isEmpty()){
throw new ServiceException("400","目录数据为空");
}
return list;
}
@Override
public int addDirectory(Directory directory) {
if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){
throw new ServiceException("400","目录名称和图片不能为空");
}
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,5);
Directory directory1 = directoryMapper.selectOne(qwd);
if(directory1!=null){
throw new ServiceException("403","目录名称已存在");
}
int uuid= UUID.randomUUID().hashCode();
if(uuid<0){
uuid=-uuid;
}
directory.setDirAddtime(new Date());
directory.setId(uuid);
directory.setDirIden(5);
int insert = directoryMapper.insert(directory);
return insert;
}
} }

@ -1,6 +1,7 @@
package com.zhiyun.zhiyun03.knowledge.controller; package com.zhiyun.zhiyun03.knowledge.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.application.vo.ApplicationVo; import com.zhiyun.zhiyun03.application.vo.ApplicationVo;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.knowledge.service.KnowledgeService; import com.zhiyun.zhiyun03.knowledge.service.KnowledgeService;
@ -18,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.List;
@RestController @RestController
@RequestMapping("/knowledge") @RequestMapping("/knowledge")
@ -55,8 +57,11 @@ public class KnowledgeController {
@RequestMapping("/selectByIdKnowledge") @RequestMapping("/selectByIdKnowledge")
@ApiOperation("根据id查询大赛信息") @ApiOperation("根据id查询大赛信息")
public JsonResult<KnowledgeVo> selectByIdKnowledge(Integer id){ public JsonResult<KnowledgeVo> selectByIdKnowledge(Integer id){
KnowledgeVo knowledgeVo = knowledgeService.selectByIdKnowledge(id); if(id!=null){
return JsonResult.success(knowledgeVo); KnowledgeVo knowledgeVo = knowledgeService.selectByIdKnowledge(id);
return JsonResult.success(knowledgeVo);
}
return JsonResult.error();
} }
@PostMapping("/updateKnowledge") @PostMapping("/updateKnowledge")
@ -109,4 +114,19 @@ public class KnowledgeController {
return JsonResult.success(path); return JsonResult.success(path);
} }
@RequestMapping("/addDirectory")
@ApiOperation("新增目录")
public JsonResult addDirectory( Directory directory){
int result = knowledgeService.addDirectory(directory);
if(result>0){
return JsonResult.success(ResultCode.SUCCESS);
}
return JsonResult.error(ResultCode.Fail,"失败");
}
@GetMapping ("/queryDir")
@ApiOperation("查询目录")
public JsonResult<Directory> queryDir(){
List<Directory> list = knowledgeService.queryDir();
return JsonResult.success(list);
}
} }

@ -2,10 +2,13 @@ package com.zhiyun.zhiyun03.knowledge.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.knowledge.entity.Knowledge; import com.zhiyun.zhiyun03.knowledge.entity.Knowledge;
import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo; import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo;
import java.util.List;
public interface KnowledgeService extends IService<Knowledge> { public interface KnowledgeService extends IService<Knowledge> {
PageVO<KnowledgeVo> queryKnowledge(Integer page, Integer limit); PageVO<KnowledgeVo> queryKnowledge(Integer page, Integer limit);
@ -16,4 +19,8 @@ public interface KnowledgeService extends IService<Knowledge> {
int updateKnowledge(KnowledgeVo knowledgeVo); int updateKnowledge(KnowledgeVo knowledgeVo);
int deleteKnowledge(Integer id); int deleteKnowledge(Integer id);
int addDirectory(Directory directory);
List<Directory> queryDir();
} }

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
@Service @Service
public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper,Knowledge> implements KnowledgeService { public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper,Knowledge> implements KnowledgeService {
@ -64,12 +65,33 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper,Knowledge>
*/ */
@Override @Override
public int addKnowledge(KnowledgeVo knowledgeVo) { public int addKnowledge(KnowledgeVo knowledgeVo) {
if(knowledgeVo.getKnowledgeName().isEmpty()){
throw new ServiceException("400","知识名称不能为空");
}
if(knowledgeVo.getKnowledgeUrl().isEmpty()){
throw new ServiceException("400","知识链接不能为空");
}
if (knowledgeVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (knowledgeVo.getKnowledgeImg().isEmpty()){
throw new ServiceException("400","知识图片不能为空");
}
QueryWrapper<Knowledge> qwk=new QueryWrapper<>();
qwk.lambda().eq(Knowledge::getKnowledgeName,knowledgeVo.getKnowledgeName()).or().eq(Knowledge::getKnowledgeUrl,knowledgeVo.getKnowledgeUrl());
List<Knowledge> knowledges = knowledgeMapper.selectList(qwk);
if(knowledges.size()!=0){
throw new ServiceException("403","知识名称或链接已存在");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class); Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()); qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()).eq(Directory::getDirIden,7);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
knowledge.setDirId(directory.getId()); knowledge.setDirId(directory.getId());
@ -103,12 +125,24 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper,Knowledge>
*/ */
@Override @Override
public int updateKnowledge(KnowledgeVo knowledgeVo) { public int updateKnowledge(KnowledgeVo knowledgeVo) {
if(knowledgeVo.getKnowledgeName().isEmpty()){
throw new ServiceException("400","知识名称不能为空");
}
if(knowledgeVo.getKnowledgeUrl().isEmpty()){
throw new ServiceException("400","知识链接不能为空");
}
if (knowledgeVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (knowledgeVo.getKnowledgeImg().isEmpty()){
throw new ServiceException("400","知识图片不能为空");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class); Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()); qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()).eq(Directory::getDirIden,7);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
knowledge.setDirId(directory.getId()); knowledge.setDirId(directory.getId());
@ -129,4 +163,42 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper,Knowledge>
} }
return 0; return 0;
} }
/**
*
* @param directory
* @return
*/
@Override
public int addDirectory(Directory directory) {
if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){
throw new ServiceException("400","目录名称和图片不能为空");
}
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,7);
Directory directory1 = directoryMapper.selectOne(qwd);
if(directory1!=null){
throw new ServiceException("403","目录名称已存在");
}
int uuid= UUID.randomUUID().hashCode();
if(uuid<0){
uuid=-uuid;
}
directory.setDirAddtime(new Date());
directory.setId(uuid);
directory.setDirIden(7);
int insert = directoryMapper.insert(directory);
return insert;
}
@Override
public List<Directory> queryDir() {
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirIden,7);
List<Directory> list = directoryMapper.selectList(qwd);
if(list.isEmpty()){
throw new ServiceException("400","目录数据为空");
}
return list;
}
} }

@ -1,6 +1,7 @@
package com.zhiyun.zhiyun03.textual.controller; package com.zhiyun.zhiyun03.textual.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.game.vo.GameVo; import com.zhiyun.zhiyun03.game.vo.GameVo;
import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo; import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo;
@ -13,6 +14,7 @@ import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
@RestController @RestController
@RequestMapping("/textual") @RequestMapping("/textual")
@ -43,8 +45,11 @@ public class TextualController {
@RequestMapping("/selectByIdTextual") @RequestMapping("/selectByIdTextual")
@ApiOperation("根据id查询大赛信息") @ApiOperation("根据id查询大赛信息")
public JsonResult<TextualVo> selectByIdTextual(Integer id){ public JsonResult<TextualVo> selectByIdTextual(Integer id){
TextualVo textualVo = textualService.selectByIdTextual(id); if(id!=null){
return JsonResult.success(textualVo); TextualVo textualVo = textualService.selectByIdTextual(id);
return JsonResult.success(textualVo);
}
return JsonResult.error();
} }
@PostMapping(value = "/updateTextual") @PostMapping(value = "/updateTextual")
@ -66,4 +71,19 @@ public class TextualController {
} }
return JsonResult.success(ResultCode.Fail); return JsonResult.success(ResultCode.Fail);
} }
@GetMapping ("/queryDir")
@ApiOperation("查询目录")
public JsonResult<Directory> queryDir(){
List<Directory> list = textualService.queryDir();
return JsonResult.success(list);
}
@RequestMapping("/addDirectory")
@ApiOperation("新增目录")
public JsonResult addDirectory( Directory directory){
int result = textualService.addDirectory(directory);
if(result>0){
return JsonResult.success(ResultCode.SUCCESS);
}
return JsonResult.error(ResultCode.Fail,"失败");
}
} }

@ -2,10 +2,13 @@ package com.zhiyun.zhiyun03.textual.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.course.vo.PageVO;
import com.zhiyun.zhiyun03.textual.entity.Textual; import com.zhiyun.zhiyun03.textual.entity.Textual;
import com.zhiyun.zhiyun03.textual.vo.TextualVo; import com.zhiyun.zhiyun03.textual.vo.TextualVo;
import java.util.List;
public interface TextualService extends IService<Textual> { public interface TextualService extends IService<Textual> {
PageVO<TextualVo> queryTextual(Integer page, Integer limit); PageVO<TextualVo> queryTextual(Integer page, Integer limit);
@ -16,4 +19,10 @@ public interface TextualService extends IService<Textual> {
int updateTextual(TextualVo textualVo); int updateTextual(TextualVo textualVo);
int deleteGame(Integer id); int deleteGame(Integer id);
List<Directory> queryDir();
int addDirectory(Directory directory);
} }

@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
@Service @Service
public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> implements TextualService { public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> implements TextualService {
@ -61,6 +62,25 @@ public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> impl
*/ */
@Override @Override
public int addTextual(TextualVo textualVo) { public int addTextual(TextualVo textualVo) {
if(textualVo.getTextualName().isEmpty()){
throw new ServiceException("400","学术名称不能为空");
}
if(textualVo.getTextualUrl().isEmpty()){
throw new ServiceException("400","学术链接不能为空");
}
if (textualVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (textualVo.getTextualImg().isEmpty()){
throw new ServiceException("400","学术图片不能为空");
}
QueryWrapper<Textual> qwt=new QueryWrapper<>();
qwt.lambda().eq(Textual::getTextualName,textualVo.getTextualName()).or().eq(Textual::getTextualUrl,textualVo.getTextualUrl());
List<Textual> textuals = textualMapper.selectList(qwt);
if(textuals.size()!=0) {
throw new ServiceException("403","考证名称或链接已存在");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Textual textual = convertUtil.VoToEntity(textualVo, Textual.class); Textual textual = convertUtil.VoToEntity(textualVo, Textual.class);
@ -86,7 +106,7 @@ public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> impl
Textual textual = textualMapper.selectOne(qwa); Textual textual = textualMapper.selectOne(qwa);
//查询目录 //查询目录
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getId,textual.getDirId()); qwd.lambda().eq(Directory::getId,textual.getDirId()).eq(Directory::getDirIden,4);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
TextualVo textualVo = convertUtil.entityToVo(textual, TextualVo.class); TextualVo textualVo = convertUtil.entityToVo(textual, TextualVo.class);
@ -100,12 +120,24 @@ public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> impl
*/ */
@Override @Override
public int updateTextual(TextualVo textualVo) { public int updateTextual(TextualVo textualVo) {
if(textualVo.getTextualName().isEmpty()){
throw new ServiceException("400","学术名称不能为空");
}
if(textualVo.getTextualUrl().isEmpty()){
throw new ServiceException("400","学术链接不能为空");
}
if (textualVo.getDirName().isEmpty()){
throw new ServiceException("400","归属目录不能为空");
}
if (textualVo.getTextualImg().isEmpty()){
throw new ServiceException("400","学术图片不能为空");
}
//将vo类转换为实体类 //将vo类转换为实体类
ConvertUtil convertUtil=new ConvertUtil(); ConvertUtil convertUtil=new ConvertUtil();
Textual textual = convertUtil.VoToEntity(textualVo, Textual.class); Textual textual = convertUtil.VoToEntity(textualVo, Textual.class);
//根据目录名称查询目录id //根据目录名称查询目录id
QueryWrapper<Directory> qwd=new QueryWrapper<>(); QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,textualVo.getDirName()); qwd.lambda().eq(Directory::getDirName,textualVo.getDirName()).eq(Directory::getDirIden,4);
Directory directory = directoryMapper.selectOne(qwd); Directory directory = directoryMapper.selectOne(qwd);
//将目录id封装到实体类 //将目录id封装到实体类
textual.setDirId(directory.getId()); textual.setDirId(directory.getId());
@ -125,4 +157,41 @@ public class TextualServiceImpl extends ServiceImpl<TextualMapper, Textual> impl
} }
return 0; return 0;
} }
/**
*
* @return
*/
@Override
public List<Directory> queryDir() {
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirIden,4);
List<Directory> list = directoryMapper.selectList(qwd);
if(list.isEmpty()){
throw new ServiceException("400","目录数据为空");
}
return list;
}
@Override
public int addDirectory(Directory directory) {
if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){
throw new ServiceException("400","目录名称和图片不能为空");
}
QueryWrapper<Directory> qwd=new QueryWrapper<>();
qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,4);
Directory directory1 = directoryMapper.selectOne(qwd);
if(directory1!=null){
throw new ServiceException("403","目录名称已存在");
}
int uuid= UUID.randomUUID().hashCode();
if(uuid<0){
uuid=-uuid;
}
directory.setDirAddtime(new Date());
directory.setId(uuid);
directory.setDirIden(4);
int insert = directoryMapper.insert(directory);
return insert;
}
} }

@ -3,12 +3,13 @@ package com.zhiyun.zhiyun03.utils.common;
public enum ResultCode { public enum ResultCode {
SUCCESS("200", "成功"), SUCCESS("200", "成功"),
Fail("500","失败"), Fail("500","失败"),
ERROR("-1", "系统异常"),
ERROR("-1", "NOTLOGIN"),
PARAM_ERROR("1001", "参数异常"), PARAM_ERROR("1001", "参数异常"),
USER_EXIST_ERROR("2001", "用户已存在"), USER_EXIST_ERROR("2001", "用户已存在"),
USER_ACCOUNT_ERROR("2002", "账号或密码错误"), USER_ACCOUNT_ERROR("2002", "账号或密码错误"),
USER_NOT_EXIST_ERROR("2003", "未找到用户"), USER_NOT_EXIST_ERROR("2003", "未找到用户"),
ORDER_PAY_ERROR("3001", "库存不足,下单失败"), NO_NULL_ERROR("3001", "账号或密码错误"),
PARAM_LOST_ERROR("2004", "参数缺失"), PARAM_LOST_ERROR("2004", "参数缺失"),
PARAM_PASSWORD_ERROR("2005", "原密码输入错误"), PARAM_PASSWORD_ERROR("2005", "原密码输入错误"),
; ;

@ -3,9 +3,13 @@ package com.zhiyun.zhiyun03.utils.exception;
import com.zhiyun.zhiyun03.utils.common.JsonResult; import com.zhiyun.zhiyun03.utils.common.JsonResult;
import com.zhiyun.zhiyun03.utils.common.ResultCode; import com.zhiyun.zhiyun03.utils.common.ResultCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
// @RestController + @ResponseBody // @RestController + @ResponseBody
@RestControllerAdvice @RestControllerAdvice
@Slf4j @Slf4j
@ -18,6 +22,7 @@ public class GlobalExceptionHandler {
return JsonResult.error(ResultCode.Fail, e.getMsg()); return JsonResult.error(ResultCode.Fail, e.getMsg());
} }
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public JsonResult exceptionHandler(Exception e) { public JsonResult exceptionHandler(Exception e) {
log.error("未知异常", e); log.error("未知异常", e);

@ -20,7 +20,12 @@ spring:
url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root username: root
password: 123456 password: 123456
thymeleaf:
cache: false
prefix: classpath:/templates
encoding: UTF-8 #编码
suffix: .html # 模板后缀
mode: HTML #模板
# mybatis plus的配置和mybatis类似之前在mybatis的配置使用mybtis-plus替换 # mybatis plus的配置和mybatis类似之前在mybatis的配置使用mybtis-plus替换

@ -151,7 +151,7 @@
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/academic/queryDir',
type: "get", type: "get",
success: function (data) { success: function (data) {
if (data.msg === "success") { if (data.msg === "success") {
@ -264,7 +264,7 @@
btn: ['提交', '取消'] btn: ['提交', '取消']
, yes: function (index, layero) { , yes: function (index, layero) {
//修改操作 //修改操作
$.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), $.get("http://localhost:8080/academic/addDirectory", $("#addDirectory").serialize(),
function (data) { function (data) {
if ("success" == data.msg) { if ("success" == data.msg) {
layer.msg(data.msg); layer.msg(data.msg);
@ -297,9 +297,9 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">目录名称</label> <label class="layui-form-label">选择icon</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="dirName" id="dirName" required lay-verify="required" autocomplete="off" <input type="text" name="dirImg" id="dirImg" required lay-verify="required" autocomplete="off"
class="layui-input"> class="layui-input">
</div> </div>
</div> </div>
@ -344,7 +344,7 @@
layui.use(['form'], function() { layui.use(['form'], function() {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/academic/queryDir',
type:"get", type:"get",
success: function(data) { success: function(data) {
if(data.msg === "success"){ if(data.msg === "success"){

@ -146,7 +146,7 @@
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/game/queryDir',
type: "get", type: "get",
success: function (data) { success: function (data) {
if (data.msg === "success") { if (data.msg === "success") {
@ -257,7 +257,7 @@
btn: ['提交', '取消'] btn: ['提交', '取消']
, yes: function (index, layero) { , yes: function (index, layero) {
//修改操作 //修改操作
$.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), $.get("http://localhost:8080/game/addDirectory", $("#addDirectory").serialize(),
function (data) { function (data) {
if ("success" == data.msg) { if ("success" == data.msg) {
layer.msg(data.msg); layer.msg(data.msg);
@ -328,7 +328,7 @@
layui.use(['form'], function() { layui.use(['form'], function() {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/game/queryDir',
type:"get", type:"get",
success: function(data) { success: function(data) {
if(data.msg === "success"){ if(data.msg === "success"){

@ -38,7 +38,7 @@
<dl class="layui-nav-child"> <dl class="layui-nav-child">
<dd><a href="">Your Profile</a></dd> <dd><a href="">Your Profile</a></dd>
<dd><a href="">Settings</a></dd> <dd><a href="">Settings</a></dd>
<dd><a href="">Sign out</a></dd> <dd><a href="lgoin.html">Sign out</a></dd>
</dl> </dl>
</li> </li>
<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect> <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>

@ -150,7 +150,7 @@
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/knowledge/queryDir',
type: "get", type: "get",
success: function (data) { success: function (data) {
if (data.msg === "success") { if (data.msg === "success") {
@ -254,7 +254,7 @@
btn: ['提交', '取消'] btn: ['提交', '取消']
, yes: function (index, layero) { , yes: function (index, layero) {
//修改操作 //修改操作
$.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), $.get("http://localhost:8080/knowledge/addDirectory", $("#addDirectory").serialize(),
function (data) { function (data) {
if ("success" == data.msg) { if ("success" == data.msg) {
layer.msg(data.msg); layer.msg(data.msg);
@ -334,7 +334,7 @@
layui.use(['form'], function() { layui.use(['form'], function() {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/knowledge/queryDir',
type:"get", type:"get",
success: function(data) { success: function(data) {
if(data.msg === "success"){ if(data.msg === "success"){

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
/** layuiAdmin.std-v1.2.1 LPPL License By http://www.layui.com/admin/ */
#LAY_app,body,html{height:100%}.layui-layout-body{overflow:auto}#LAY-user-login,.layadmin-user-display-show{display:block!important}.layadmin-user-login{position:relative;left:0;top:0;padding:110px 0;min-height:100%;box-sizing:border-box}.layadmin-user-login-main{width:375px;margin:0 auto;box-sizing:border-box}.layadmin-user-login-box{padding:20px}.layadmin-user-login-header{text-align:center}.layadmin-user-login-header h2{margin-bottom:10px;font-weight:300;font-size:30px;color:#000}.layadmin-user-login-header p{font-weight:300;color:#999}.layadmin-user-login-body .layui-form-item{position:relative}.layadmin-user-login-icon{position:absolute;left:1px;top:1px;width:38px;line-height:36px;text-align:center;color:#d2d2d2}.layadmin-user-login-body .layui-form-item .layui-input{padding-left:38px}.layadmin-user-login-codeimg{max-height:38px;width:100%;cursor:pointer;box-sizing:border-box}.layadmin-user-login-other{position:relative;font-size:0;line-height:38px;padding-top:20px}.layadmin-user-login-other>*{display:inline-block;vertical-align:middle;margin-right:10px;font-size:14px}.layadmin-user-login-other .layui-icon{position:relative;top:2px;font-size:26px}.layadmin-user-login-other a:hover{opacity:.8}.layadmin-user-jump-change{float:right}.layadmin-user-login-footer{position:absolute;left:0;bottom:0;width:100%;line-height:30px;padding:20px;text-align:center;box-sizing:border-box;color:rgba(0,0,0,.5)}.layadmin-user-login-footer span{padding:0 5px}.layadmin-user-login-footer a{padding:0 5px;color:rgba(0,0,0,.5)}.layadmin-user-login-footer a:hover{color:rgba(0,0,0,1)}.layadmin-user-login-main[bgimg]{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.05)}.ladmin-user-login-theme{position:fixed;bottom:0;left:0;width:100%;text-align:center}.ladmin-user-login-theme ul{display:inline-block;padding:5px;background-color:#fff}.ladmin-user-login-theme ul li{display:inline-block;vertical-align:top;width:64px;height:43px;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;background-color:#f2f2f2}.ladmin-user-login-theme ul li:hover{opacity:.9}@media screen and (max-width:768px){.layadmin-user-login{padding-top:60px}.layadmin-user-login-main{width:300px}.layadmin-user-login-box{padding:10px}}

@ -1,92 +1,76 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="utf-8">
<title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>登录</title>
<style> <link rel="stylesheet" href="layui/css/layui.css">
* { <link rel="stylesheet" href="layui/css/admin.css">
margin: 0; <link rel="stylesheet" href="layui/css/log.css">
padding: 0;
}
html {
height: 100%;
}
body {
height: 100%;
}
.container {
height: 100%;
background-image: linear-gradient(to right, #E0E0E0, #A3A3A3);
}
.login-wrapper {
background-color: white;
width: 358px;
height: 588px;
border-radius: 15px;
padding: 0 50px;
position: relative;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
.header {
font-size: 38px;
font-weight: bold;
text-align: center;
line-height: 200px;
}
.input-item {
display: block;
width: 100%;
margin-bottom: 20px;
border: 0;
padding: 10px;
border-bottom: 1px solid rgb(128,125,125);
font-size: 15px;
outline: none;
}
.input-item::placeholder {
text-transform: uppercase;
}
.btn {
text-align: center;
padding: 10px;
width: 100%;
margin-top: 40px;
background-image: linear-gradient(to right,#a6c1ee, #fbc2eb);
color: #fff;
cursor: pointer;
}
.msg {
text-align: center;
line-height: 88px;
}
a {
text-decoration-line: none;
color: #3580BB;
}
</style>
</head> </head>
<body> <body>
<div class="container"> <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
<div class="login-wrapper"> <div class="layadmin-user-login-main">
<div class="header">用户登录</div> <div class="layadmin-user-login-box layadmin-user-login-header">
<div class="form-wrapper"> <h2>用户登录</h2>
<form action="http://localhost:8080/user/login" method="post"> <p>客户端后台管理</p>
<input type="text" name="username" placeholder="username" class="input-item">
<input type="password" name="password" placeholder="password" class="input-item">
<div><input class="btn" style="border:none;" type="submit" value="登录"></div>
</form>
</div> </div>
<div class="msg"> <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
Don't have account? <div class="layui-form-item">
<a href="">Sign up</a> <label class="layadmin-user-login-icon layui-icon layui-icon-username"></label>
<input type="text" id="userName" name="userName" lay-verify="required" placeholder="用户名" class="layui-input">
</div>
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-password"></label>
<input type="password" id="password" name="password" lay-verify="required" placeholder="密码" readonly onfocus="this.removeAttribute('readonly');" class="layui-input">
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-fluid" lay-submit id="userlogin">登 入</button>
</div>
</div> </div>
</div> </div>
</div> </div>
<script src="layui/layui.js" type="text/javascript"></script>
<script>
//JavaScript代码区域
layui.use(['layer','element','form','jquery'], function(){
let layer = layui.layer;
let form = layui.form;
let element = layui.element;
let $ = layui.jquery;
$("#userlogin").click(function(){
let userName = $("#userName").val()
let password = $("#password").val()
$.ajax({
url:"http://localhost:8080/user/login",
data:{
userCode:userName,
password:password
},
type:"post",
success:function(result){
console.log(result);
if (result.msg==='success'){
layer.msg(result.tip,{icon:1,time:100},function () {
location.href="http://localhost:63342/zhiyun/src/main/resources/templates/layui-v2.6.8/index.html"
})
}else if (result.type==='error'){
layer.msg(result.tip)
}else {
layer.msg('未知异常,请联系管理员')
}
},
})
});
});
</script>
</body> </body>
</html> </html>

@ -153,7 +153,7 @@
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/textual/queryDir',
type: "get", type: "get",
success: function (data) { success: function (data) {
if (data.msg === "success") { if (data.msg === "success") {
@ -230,7 +230,7 @@
btn: ['提交', '取消'] btn: ['提交', '取消']
, yes: function (index, layero) { , yes: function (index, layero) {
//修改操作 //修改操作
$.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), $.get("http://localhost:8080/textual/addDirectory", $("#addDirectory").serialize(),
function (data) { function (data) {
if ("success" == data.msg) { if ("success" == data.msg) {
layer.msg(data.msg); layer.msg(data.msg);
@ -309,7 +309,7 @@
layui.use(['form'], function () { layui.use(['form'], function () {
var form = layui.form; var form = layui.form;
$.ajax({ $.ajax({
url: 'http://localhost:8080/application/queryDir', url: 'http://localhost:8080/textual/queryDir',
type: "get", type: "get",
success: function (data) { success: function (data) {
if (data.msg === "success") { if (data.msg === "success") {

Loading…
Cancel
Save