|
|
@ -1,29 +1,23 @@
|
|
|
|
package com.zhiyun.zhiyun03.application.service.impl;
|
|
|
|
package com.zhiyun.zhiyun03.application.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.fasterxml.jackson.databind.util.BeanUtil;
|
|
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.zhiyun.zhiyun03.academic.vo.AcademicVo;
|
|
|
|
|
|
|
|
import com.zhiyun.zhiyun03.application.entity.Application;
|
|
|
|
import com.zhiyun.zhiyun03.application.entity.Application;
|
|
|
|
import com.zhiyun.zhiyun03.application.entity.Directory;
|
|
|
|
import com.zhiyun.zhiyun03.application.entity.Directory;
|
|
|
|
import com.zhiyun.zhiyun03.application.mapper.ApplicationMapper;
|
|
|
|
import com.zhiyun.zhiyun03.application.mapper.ApplicationMapper;
|
|
|
|
import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper;
|
|
|
|
import com.zhiyun.zhiyun03.application.mapper.DirectoryMapper;
|
|
|
|
import com.zhiyun.zhiyun03.application.service.ApplicationService;
|
|
|
|
import com.zhiyun.zhiyun03.application.service.ApplicationService;
|
|
|
|
import com.zhiyun.zhiyun03.application.vo.ClientApplicationVo;
|
|
|
|
import com.zhiyun.zhiyun03.application.vo.ClientApplicationVo;
|
|
|
|
|
|
|
|
import com.zhiyun.zhiyun03.course.entity.Course;
|
|
|
|
import com.zhiyun.zhiyun03.course.vo.PageVO;
|
|
|
|
import com.zhiyun.zhiyun03.course.vo.PageVO;
|
|
|
|
import com.zhiyun.zhiyun03.utils.convert.ConvertUtil;
|
|
|
|
import com.zhiyun.zhiyun03.utils.convert.ConvertUtil;
|
|
|
|
import com.zhiyun.zhiyun03.application.vo.ApplicationVo;
|
|
|
|
import com.zhiyun.zhiyun03.application.vo.ApplicationVo;
|
|
|
|
import com.zhiyun.zhiyun03.utils.convert.Switch;
|
|
|
|
|
|
|
|
import com.zhiyun.zhiyun03.utils.exception.ServiceException;
|
|
|
|
import com.zhiyun.zhiyun03.utils.exception.ServiceException;
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.time.LocalTime;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
@ -43,9 +37,27 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public PageVO<ApplicationVo> queryApplication(Integer page, Integer limit) {
|
|
|
|
public PageVO<ApplicationVo> queryApplication(Integer page, Integer limit) {
|
|
|
|
PageHelper.startPage(page,limit);
|
|
|
|
String orderBy = "sequence desc";
|
|
|
|
|
|
|
|
PageHelper.startPage(page,limit,orderBy);
|
|
|
|
//查询所有课程
|
|
|
|
//查询所有课程
|
|
|
|
List<ApplicationVo> applicationVos = applicationMapper.queryApplication();
|
|
|
|
// List<ApplicationVo> applicationVos = applicationMapper.queryApplication();
|
|
|
|
|
|
|
|
QueryWrapper<Application> qwa=new QueryWrapper<>();
|
|
|
|
|
|
|
|
List<Application> applications = applicationMapper.selectList(qwa);
|
|
|
|
|
|
|
|
ConvertUtil convertUtil=new ConvertUtil();
|
|
|
|
|
|
|
|
List<ApplicationVo> applicationVos = convertUtil.entityToVoList(applications, ApplicationVo.class);
|
|
|
|
|
|
|
|
List list=null;
|
|
|
|
|
|
|
|
for (int i = 0; i <applications.size(); i++) {
|
|
|
|
|
|
|
|
String[] split = applications.get(i).getDirId().split(",");
|
|
|
|
|
|
|
|
list=new ArrayList();
|
|
|
|
|
|
|
|
for (int j = 0; j < split.length; j++) {
|
|
|
|
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
|
|
|
|
qwd.lambda().eq(Directory::getId,split[j]);
|
|
|
|
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
|
|
|
|
list.add(directory.getDirName());
|
|
|
|
|
|
|
|
applicationVos.get(i).setAppCourseDirectoryVos(list);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (applicationVos.isEmpty())
|
|
|
|
if (applicationVos.isEmpty())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
throw new ServiceException("400","应用数据为空");
|
|
|
|
throw new ServiceException("400","应用数据为空");
|
|
|
@ -62,13 +74,14 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
return applicationVoPageVO;
|
|
|
|
return applicationVoPageVO;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 查询目录名称
|
|
|
|
* 查询应用目录名称
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Directory> queryDir() {
|
|
|
|
public List<Directory> queryDirectory() {
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
qwd.lambda().eq(Directory::getDirIden,2);
|
|
|
|
qwd.select("directory_name").lambda().eq(Directory::getDirIden,2);
|
|
|
|
List<Directory> list = directoryMapper.selectList(qwd);
|
|
|
|
List<Directory> list = directoryMapper.selectList(qwd);
|
|
|
|
if(list.isEmpty()){
|
|
|
|
if(list.isEmpty()){
|
|
|
|
throw new ServiceException("400","目录数据为空");
|
|
|
|
throw new ServiceException("400","目录数据为空");
|
|
|
@ -76,6 +89,15 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
return list;
|
|
|
|
return list;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void dirSequence(Application application) {
|
|
|
|
|
|
|
|
QueryWrapper<Application> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
|
|
|
queryWrapper.lambda().eq(Application::getAppName,application.getAppName());
|
|
|
|
|
|
|
|
Application application1 = applicationMapper.selectOne(queryWrapper);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
applicationMapper.updateSequence(application1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 根据id查询应用中心
|
|
|
|
* 根据id查询应用中心
|
|
|
@ -86,14 +108,19 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
QueryWrapper<Application> qwa=new QueryWrapper<>();
|
|
|
|
QueryWrapper<Application> qwa=new QueryWrapper<>();
|
|
|
|
qwa.lambda().eq(Application::getId,id);
|
|
|
|
qwa.lambda().eq(Application::getId,id);
|
|
|
|
Application application = applicationMapper.selectOne(qwa);
|
|
|
|
Application application = applicationMapper.selectOne(qwa);
|
|
|
|
//查询目录
|
|
|
|
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
|
|
|
|
qwd.lambda().eq(Directory::getId,application.getDirId());
|
|
|
|
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
|
|
|
|
ConvertUtil convertUtil=new ConvertUtil();
|
|
|
|
ConvertUtil convertUtil=new ConvertUtil();
|
|
|
|
ApplicationVo applicationVo = convertUtil.entityToVo(application, ApplicationVo.class);
|
|
|
|
ApplicationVo applicationVo = convertUtil.entityToVo(application, ApplicationVo.class);
|
|
|
|
|
|
|
|
//查询目录
|
|
|
|
|
|
|
|
List list=new ArrayList();
|
|
|
|
|
|
|
|
String[] split = application.getDirId().split(",");
|
|
|
|
|
|
|
|
for (int i = 0; i < split.length; i++) {
|
|
|
|
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
|
|
|
|
qwd.lambda().eq(Directory::getId,split[i]);
|
|
|
|
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
|
|
|
|
list.add(directory.getDirName());
|
|
|
|
|
|
|
|
}
|
|
|
|
//给目录名称赋值
|
|
|
|
//给目录名称赋值
|
|
|
|
applicationVo.setDirName(directory.getDirName());
|
|
|
|
applicationVo.setAppCourseDirectoryVos(list);
|
|
|
|
return applicationVo;
|
|
|
|
return applicationVo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -108,7 +135,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
if(applicationVo.getAppUrl().isEmpty()){
|
|
|
|
if(applicationVo.getAppUrl().isEmpty()){
|
|
|
|
throw new ServiceException("400","应用链接不能为空");
|
|
|
|
throw new ServiceException("400","应用链接不能为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(applicationVo.getDirName().isEmpty()){
|
|
|
|
if(applicationVo.getAppCourseDirectoryVos().isEmpty()){
|
|
|
|
throw new ServiceException("400","归属目录不能为空");
|
|
|
|
throw new ServiceException("400","归属目录不能为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(applicationVo.getAppIcon().isEmpty()){
|
|
|
|
if(applicationVo.getAppIcon().isEmpty()){
|
|
|
@ -118,15 +145,23 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
int sum = applicationMapper.findByNameAndId(applicationVo.getId(),applicationVo.getAppName());
|
|
|
|
int sum = applicationMapper.findByNameAndId(applicationVo.getId(),applicationVo.getAppName());
|
|
|
|
if (sum>0)
|
|
|
|
if (sum>0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
throw new ServiceException("300","课程名已存在");
|
|
|
|
throw new ServiceException("300","应用名已存在");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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<>();
|
|
|
|
String arr="";
|
|
|
|
qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2);
|
|
|
|
for (int i = 0; i < applicationVo.getAppCourseDirectoryVos().size(); i++) {
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
application.setDirId(directory.getId());
|
|
|
|
qwd.lambda().eq(Directory::getDirIden,2).eq(Directory::getDirName,applicationVo.getAppCourseDirectoryVos().get(i).getDirectoryName());
|
|
|
|
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
|
|
|
|
if(i==applicationVo.getAppCourseDirectoryVos().size()-1){
|
|
|
|
|
|
|
|
arr=arr+directory.getId();
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
arr=directory.getId()+",";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
application.setDirId(arr);
|
|
|
|
application.setAppUpdatetime(new Date());
|
|
|
|
application.setAppUpdatetime(new Date());
|
|
|
|
int update = applicationMapper.updateById(application);
|
|
|
|
int update = applicationMapper.updateById(application);
|
|
|
|
return update;
|
|
|
|
return update;
|
|
|
@ -174,6 +209,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);
|
|
|
|
directory.setDirIden(2);
|
|
|
|
|
|
|
|
directory.setSequence(0);
|
|
|
|
int insert = directoryMapper.insert(directory);
|
|
|
|
int insert = directoryMapper.insert(directory);
|
|
|
|
return insert;
|
|
|
|
return insert;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -190,25 +226,37 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
if (applicationVo.getAppUrl().isEmpty()){
|
|
|
|
if (applicationVo.getAppUrl().isEmpty()){
|
|
|
|
throw new ServiceException("400","应用链接不能为空");
|
|
|
|
throw new ServiceException("400","应用链接不能为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(applicationVo.getDirName().isEmpty()){
|
|
|
|
if(applicationVo.getAppCourseDirectoryVos().isEmpty()){
|
|
|
|
throw new ServiceException("400","归属目录不能为空");
|
|
|
|
throw new ServiceException("400","归属目录不能为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(applicationVo.getAppIcon().isEmpty()){
|
|
|
|
if(applicationVo.getAppIcon().isEmpty()){
|
|
|
|
throw new ServiceException("400","应用图片不能为空");
|
|
|
|
throw new ServiceException("400","应用图片不能为空");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
QueryWrapper<Application> qwa=new QueryWrapper<>();
|
|
|
|
QueryWrapper<Application> qwa=new QueryWrapper<>();
|
|
|
|
qwa.lambda().eq(Application::getAppName,applicationVo.getAppName()).or().eq(Application::getAppUrl,applicationVo.getAppUrl());
|
|
|
|
qwa.lambda().eq(Application::getAppName,applicationVo.getAppName());
|
|
|
|
List<Application> applications = applicationMapper.selectList(qwa);
|
|
|
|
List<Application> applications = applicationMapper.selectList(qwa);
|
|
|
|
if(applications.size()!=0){
|
|
|
|
if(applications.size()!=0){
|
|
|
|
throw new ServiceException("403","应用名称或链接已存在");
|
|
|
|
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<>();
|
|
|
|
String arr="";
|
|
|
|
qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2);
|
|
|
|
for (int i = 0; i < applicationVo.getAppCourseDirectoryVos().size(); i++) {
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
QueryWrapper<Directory> qwd=new QueryWrapper<>();
|
|
|
|
application.setDirId(directory.getId());
|
|
|
|
qwd.lambda().eq(Directory::getDirName,applicationVo.getAppCourseDirectoryVos().get(i).getDirectoryName()).eq(Directory::getDirIden,2);
|
|
|
|
|
|
|
|
Directory directory = directoryMapper.selectOne(qwd);
|
|
|
|
|
|
|
|
if (i==applicationVo.getAppCourseDirectoryVos().size()-1){
|
|
|
|
|
|
|
|
arr=arr+directory.getId();
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
arr=directory.getId()+",";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Integer uuid= UUID.randomUUID().toString().replaceAll("-","").hashCode();
|
|
|
|
|
|
|
|
uuid = uuid < 0 ? -uuid : uuid;//String.hashCode() 值会为空
|
|
|
|
|
|
|
|
application.setId(uuid);
|
|
|
|
|
|
|
|
application.setDirId(arr);
|
|
|
|
application.setAppAddtime(new Date());
|
|
|
|
application.setAppAddtime(new Date());
|
|
|
|
|
|
|
|
application.setSequence(0);
|
|
|
|
int insert = applicationMapper.insert(application);
|
|
|
|
int insert = applicationMapper.insert(application);
|
|
|
|
return insert;
|
|
|
|
return insert;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -229,7 +277,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
|
|
|
|
List list=new ArrayList();
|
|
|
|
List list=new ArrayList();
|
|
|
|
for (int i = 0; i < applicationVoList.size(); i++) {
|
|
|
|
for (int i = 0; i < applicationVoList.size(); i++) {
|
|
|
|
//判断目录是否相同
|
|
|
|
//判断目录是否相同
|
|
|
|
if (applicationVoList.get(i).getDirName().equals(clientApplicationVos.get(j).getDirName())){
|
|
|
|
if (applicationVoList.get(i).getAppCourseDirectoryVos().equals(clientApplicationVos.get(j).getDirName())){
|
|
|
|
list.add(applicationVoList.get(i));
|
|
|
|
list.add(applicationVoList.get(i));
|
|
|
|
clientApplicationVos.get(j).setApplicationVos(list);
|
|
|
|
clientApplicationVos.get(j).setApplicationVos(list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|