package com.example.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.ShipinjiaoxueInfo;
import com.example.dao.ShipinjiaoxueInfoDao;
import com.example.service.ShipinjiaoxueInfoService;
import com.example.exception.CustomException;
import com.example.common.ResultCode;
import com.example.vo.EchartsData;
import com.example.vo.ShipinjiaoxueInfoVo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.example.service.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Value;
import cn.hutool.core.util.StrUtil;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping(value = "/shipinjiaoxueInfo")
public class ShipinjiaoxueInfoController {
@Resource
private ShipinjiaoxueInfoService shipinjiaoxueInfoService;
@Resource
private ShipinjiaoxueInfoDao shipinjiaoxueInfoDao;
@PostMapping
public Result<ShipinjiaoxueInfo> add(@RequestBody ShipinjiaoxueInfoVo shipinjiaoxueInfo) {
//mixmajixami
shipinjiaoxueInfoService.add(shipinjiaoxueInfo);
return Result.success(shipinjiaoxueInfo);
}
//youtixing1
//youtixing2
@GetMapping("/getByDiqu")
public Result<List<Map<String,String>>> qidu() {
return Result.success(shipinjiaoxueInfoService.findByDiqu());
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
shipinjiaoxueInfoService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody ShipinjiaoxueInfoVo shipinjiaoxueInfo) {
shipinjiaoxueInfoService.update(shipinjiaoxueInfo);
return Result.success();
}
//@PutMapping("/update2")
// public Result update2(@RequestBody ShipinjiaoxueInfoVo shipinjiaoxueInfo) {
// shipinjiaoxueInfoService.update2(shipinjiaoxueInfo);
// return Result.success();
// }
@GetMapping("/{id}")
public Result<ShipinjiaoxueInfo> detail(@PathVariable Long id) {
ShipinjiaoxueInfo shipinjiaoxueInfo = shipinjiaoxueInfoService.findById(id);
return Result.success(shipinjiaoxueInfo);
}
@GetMapping("/changeStatus/{id}")
public Result<ShipinjiaoxueInfo> changeStatus(@PathVariable Long id) {
shipinjiaoxueInfoService.changeStatus(id);
return Result.success();
}
@GetMapping
public Result<List<ShipinjiaoxueInfoVo>> all() {
return Result.success(shipinjiaoxueInfoService.findAll());
}
@GetMapping("/page/{name}")
public Result<PageInfo<ShipinjiaoxueInfoVo>> page(@PathVariable String name,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "5") Integer pageSize,
HttpServletRequest request) {
return Result.success(shipinjiaoxueInfoService.findPage(name, pageNum, pageSize, request));
}
@GetMapping("/pageqt/{name}")
public Result<PageInfo<ShipinjiaoxueInfoVo>> pageqt(@PathVariable String name,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "8") Integer pageSize,
HttpServletRequest request) {
return Result.success(shipinjiaoxueInfoService.findPageqt(name, pageNum, pageSize, request));
}
// @PostMapping("/register")
// public Result<ShipinjiaoxueInfo> register(@RequestBody ShipinjiaoxueInfo shipinjiaoxueInfo) {
// if (StrUtil.isBlank(shipinjiaoxueInfo.getName()) || StrUtil.isBlank(shipinjiaoxueInfo.getPassword())) {
// throw new CustomException(ResultCode.PARAM_ERROR);
// }
// return Result.success(shipinjiaoxueInfoService.add(shipinjiaoxueInfo));
// }
/**
* 批量通过excel添加信息
* @param file excel文件
* @throws IOException
*/
@PostMapping("/upload")
public Result upload(MultipartFile file) throws IOException {
List<ShipinjiaoxueInfo> infoList = ExcelUtil.getReader(file.getInputStream()).readAll(ShipinjiaoxueInfo.class);
if (!CollectionUtil.isEmpty(infoList)) {
// 处理一下空数据
List<ShipinjiaoxueInfo> resultList = infoList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getShipinmingcheng())).collect(Collectors.toList());
for (ShipinjiaoxueInfo info : resultList) {
shipinjiaoxueInfoService.add(info);
}
}
return Result.success();
}
@GetMapping("/get/shipinjiaoxue_tj_suoshuleibie")
Result<List<EchartsData>> shipinjiaoxue_tj_suoshuleibie() {
List<EchartsData> list = new ArrayList<>();
List<Map<String, Object>> shipinjiaoxue_tj_suoshuleibieList = shipinjiaoxueInfoDao.shipinjiaoxue_tj_suoshuleibie();
Map<String, Double> typeMap = new HashMap<>();
for (Map<String, Object> map : shipinjiaoxue_tj_suoshuleibieList) {
typeMap.put((String)map.get("aa"), (Double.valueOf((String)map.get("bb").toString())));
}
getPieData("视频教学按所属类别统计", list, typeMap);
getBarData("视频教学按所属类别统计", list, typeMap);
return Result.success(list);
}
@GetMapping("/getExcelModel")
public void getExcelModel(HttpServletResponse response) throws IOException {
// 1. 生成excel
Map<String, Object> row = new LinkedHashMap<>();
row.put("shipinbianhao", "A视频编号");
row.put("shipinmingcheng", "A视频名称");
row.put("suoshuleibie", "A所属类别");
row.put("shipin", "A视频");
row.put("xuyaojinbi", "A需要金币");
row.put("shipinjianjie", "A视频简介");
row.put("status", "是");
row.put("level", "shipinjiaoxue");
List<Map<String, Object>> list = CollUtil.newArrayList(row);
// 2. 写excel
ExcelWriter writer = ExcelUtil.getWriter(true);
writer.write(list, true);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
response.setHeader("Content-Disposition","attachment;filename=shipinjiaoxueInfoModel.xlsx");
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
writer.close();
IoUtil.close(System.out);
}
@GetMapping("/getExcel")
public void getExcel(HttpServletResponse response) throws IOException {
// 1. 生成excel
Map<String, Object> row = new LinkedHashMap<>();
row.put("shipinbianhao", "A视频编号");
row.put("shipinmingcheng", "A视频名称");
row.put("suoshuleibie", "A所属类别");
row.put("shipin", "A视频");
row.put("xuyaojinbi", "A需要金币");
row.put("shipinjianjie", "A视频简介");
row.put("status", "是");
row.put("level", "权限");
List<Map<String, Object>> list = CollUtil.newArrayList(row);
List<Map<String, Object>> daochuexcellist = shipinjiaoxueInfoDao.daochuexcel();
Map<String, Double> typeMap = new HashMa
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java+SpringBoot的成人教育教务系统毕业设计(源码+说明+演示视频).zip
共965个文件
js:142个
png:106个
html:104个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 83 浏览量
2023-06-25
21:50:53
上传
评论
收藏 42.66MB ZIP 举报
温馨提示
基于Java+SpringBoot的成人教育教务系统毕业设计(源码+说明+演示视频).zip 【项目技术】 java+mysql+b/s+springboot 【实现功能】 管理员功能: 包括听说学习管理、视频教学管理、资料管理、金币充值管理和视频教学统计。系统的管理员也可以第一时间发布最新的公告信息,并且展示在前台的注册用户使用界面。 用户功能: 注册用户可以通过本成人教育教务管理系统其对应的用户权限操作,其中包括试听学习、视频教学、资料信息、系统概要和在线留言等用户权限操作。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java+SpringBoot的成人教育教务系统毕业设计(源码+说明+演示视频).zip (965个子文件)
alipay_md5.asp 11KB
alipay_md5.asp 11KB
alipay_function.asp 6KB
alipay_function.asp 6KB
alipay_notify.asp 5KB
alipay_notify.asp 5KB
alipay_service.asp 2KB
alipay_service.asp 2KB
ZiliaoxinxiInfoController.class 13KB
ShipinjiaoxueInfoController.class 13KB
TingshuoxuexiInfoController.class 13KB
XinwentongzhiInfoController.class 13KB
YonghuxinxiInfoController.class 13KB
JinbichongzhiInfoController.class 13KB
LeibiexinxiInfoController.class 12KB
XitongjianjieInfoController.class 12KB
LiuyanbanInfoController.class 12KB
AccountController.class 11KB
AdminInfoController.class 9KB
NxSystemFileController.class 8KB
YonghuxinxiInfoService.class 6KB
EchartsController.class 5KB
XinwentongzhiInfoService.class 5KB
JinbichongzhiInfoService.class 5KB
AdminInfoService.class 5KB
ShipinjiaoxueInfoService.class 4KB
AdminInfo.class 4KB
ZiliaoxinxiInfoService.class 4KB
CommentInfoService.class 4KB
TingshuoxuexiInfoService.class 4KB
XitongjianjieInfoService.class 4KB
LeibiexinxiInfoService.class 4KB
XinwentongzhiInfo.class 4KB
CollectInfoController.class 4KB
LiuyanbanInfoService.class 4KB
CommentInfoController.class 4KB
YonghuxinxiInfo.class 4KB
RichtextInfoController.class 3KB
ZiliaoxinxiInfo.class 3KB
CollectInfoService.class 3KB
ShipinjiaoxueInfo.class 3KB
RichtextInfoService.class 3KB
NxSystemFileInfoService.class 3KB
TingshuoxuexiInfo.class 3KB
LiuyanbanInfo.class 3KB
CollectInfo.class 3KB
CommentInfo.class 3KB
Account.class 3KB
JinbichongzhiInfo.class 3KB
Result.class 2KB
EchartsData.class 2KB
ResultCode.class 2KB
MyInterceptor.class 2KB
XitongjianjieInfo.class 2KB
LeibiexinxiInfo.class 2KB
GlobalExceptionHandler.class 2KB
JinbichongzhiInfoDao.class 2KB
TingshuoxuexiInfoDao.class 2KB
ShipinjiaoxueInfoDao.class 2KB
ZiliaoxinxiInfoDao.class 2KB
XinwentongzhiInfoDao.class 2KB
YonghuxinxiInfoDao.class 2KB
EchartsData$Data.class 2KB
WebMvcConfig.class 2KB
CommentInfoDao.class 1KB
EchartsData$Series.class 1KB
LeibiexinxiInfoDao.class 1KB
MyInterceptorConfig.class 1KB
AuthorityInfo.class 1KB
NxSystemFileInfo.class 1KB
CollectInfoDao.class 1KB
RichtextInfo.class 1KB
LiuyanbanInfoDao.class 1KB
AuthorityInfo$Model.class 1KB
CustomException.class 1KB
XitongjianjieInfoDao.class 1KB
AdminInfoDao.class 928B
Application.class 793B
NxSystemFileInfoDao.class 773B
RichtextInfoDao.class 641B
XitongjianjieInfoVo.class 332B
ShipinjiaoxueInfoVo.class 332B
XinwentongzhiInfoVo.class 332B
JinbichongzhiInfoVo.class 332B
TingshuoxuexiInfoVo.class 332B
YonghuxinxiInfoVo.class 324B
ZiliaoxinxiInfoVo.class 324B
LeibiexinxiInfoVo.class 324B
LiuyanbanInfoVo.class 316B
RichtextInfoVo.class 312B
CollectInfoVo.class 308B
AdminInfoVo.class 300B
layer.cs 14KB
layer.cs 14KB
datepicker.cs 4KB
datepicker.cs 4KB
index.css 227KB
index.css 227KB
index.css 227KB
index.css 227KB
共 965 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
- qq_363573712023-10-13感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
职场程序猿
- 粉丝: 6451
- 资源: 3706
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HTML5实现好看的骑马俱乐部网站源码.zip
- HTML5实现好看的企业邮箱业务网站模板.zip
- HTML5实现好看的汽车改装维修车行网站源码2.zip
- HTML5实现好看的汽车改装维修车行网站源码.zip
- HTML5实现好看的汽车经销商网页源码.zip
- HTML5实现好看的汽车清洗美容公司网站源码.zip
- HTML5实现好看的汽车清洗美容连锁网站源码.zip
- HTML5实现好看的汽车美容洗车店网站模板.zip
- HTML5实现好看的汽车运输公司网站源码.zip
- HTML5实现好看的汽车自驾游网站源码.zip
- HTML5实现好看的汽车修理厂网站源码.zip
- 电动汽车蒙特卡洛模拟一充二充三充,快充慢充蒙特卡洛模拟日充电功率 可自行修改日充电数量的比例,可自行修改快充慢充功率,所见即所得,生成功率预测曲线,功率需求上下限曲线,matlab程序有注释
- HTML5实现好看的浅色清爽美食网站源码.zip
- HTML5实现好看的潜水运动响应式网站源码.zip
- HTML5实现好看的汽车租赁平台网页模板.zip
- HTML5实现好看的清爽博客自媒体网站模板.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功