package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.JiaocaiEntity;
import com.entity.view.JiaocaiView;
import com.service.JiaocaiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
import java.io.InputStream;
import org.springframework.web.multipart.MultipartFile;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
/**
* 教材
* 后端接口
* @author
* @email
* @date 2022-04-30 17:40:37
*/
@RestController
@RequestMapping("/jiaocai")
public class JiaocaiController {
@Autowired
private JiaocaiService jiaocaiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,JiaocaiEntity jiaocai,
HttpServletRequest request){
EntityWrapper<JiaocaiEntity> ew = new EntityWrapper<JiaocaiEntity>();
PageUtils page = jiaocaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaocai), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,JiaocaiEntity jiaocai,
HttpServletRequest request){
EntityWrapper<JiaocaiEntity> ew = new EntityWrapper<JiaocaiEntity>();
PageUtils page = jiaocaiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaocai), params), params));
request.setAttribute("data", page);
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( JiaocaiEntity jiaocai){
EntityWrapper<JiaocaiEntity> ew = new EntityWrapper<JiaocaiEntity>();
ew.allEq(MPUtil.allEQMapPre( jiaocai, "jiaocai"));
return R.ok().put("data", jiaocaiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(JiaocaiEntity jiaocai){
EntityWrapper< JiaocaiEntity> ew = new EntityWrapper< JiaocaiEntity>();
ew.allEq(MPUtil.allEQMapPre( jiaocai, "jiaocai"));
JiaocaiView jiaocaiView = jiaocaiService.selectView(ew);
return R.ok("查询教材成功").put("data", jiaocaiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
JiaocaiEntity jiaocai = jiaocaiService.selectById(id);
return R.ok().put("data", jiaocai);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
JiaocaiEntity jiaocai = jiaocaiService.selectById(id);
return R.ok().put("data", jiaocai);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody JiaocaiEntity jiaocai, HttpServletRequest request){
jiaocai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(jiaocai);
jiaocaiService.insert(jiaocai);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody JiaocaiEntity jiaocai, HttpServletRequest request){
jiaocai.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(jiaocai);
jiaocaiService.insert(jiaocai);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody JiaocaiEntity jiaocai, HttpServletRequest request){
//ValidatorUtils.validateEntity(jiaocai);
jiaocaiService.updateById(jiaocai);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
jiaocaiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<JiaocaiEntity> wrapper = new EntityWrapper<JiaocaiEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = jiaocaiService.selectCount(wrapper);
return R.ok().put("count", count);
}
@RequestMapping("/importExcel")
public R importExcel(@RequestParam("file") MultipartFile file){
try {
//获取输入流
InputStream inputStream = file.getInputStream();
//创建读取工作簿
Workbook workbook = WorkbookFactory.create(inputStream);
//获取工作表
Sheet sheet = workbook.getSheetAt(0);
//获取总行
int rows=sheet.getPhysicalNumberOfRows();
if(rows>1){
//获取单元格
for (int i = 1; i < rows; i++) {
Row row = sheet.getRow(i);
JiaocaiEntity jiaocaiEntity =new JiaocaiEntity();
jiaocaiEntity.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
String jiaocaibianhao = CommonUtil.getCellValue(row.getCell(0));
jiaocaiEntity.setJiaocaibianhao(jiaocaibianhao);
String jiaocaimingcheng = CommonUtil.getCellValue(row.getCell(1));
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java 毕业设计,SSM 课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 1. 技术组成 前端:HTML/JSP/Vue 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM+JSP+HTML的数据元标准的教材征订管理系统(Java毕业设计,附源码,数据库,教程).zip (916个子文件)
styles.css.bak 23KB
index.jsp.bak 4KB
setMenu.js.bak 3KB
topNav.jsp.bak 1KB
.classpath 1KB
org.eclipse.wst.common.component 689B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.min.css 141KB
bootstrap.css 120KB
style.css 66KB
ueditor.css 44KB
styles.css 41KB
ueditor.min.css 34KB
font-awesome.min.css 30KB
jquery.treetable.theme.default.css 25KB
animate.css 23KB
entypo-icon.css 23KB
all.css 21KB
font-awesome.css 21KB
video-js.css 21KB
image.css 19KB
jquery.idealforms.css 17KB
themify-icons.css 16KB
video.css 15KB
attachment.css 15KB
square.min.css 14KB
all.css 13KB
dropzone.css 11KB
video-js.min.css 11KB
bootstrap-switch.css 11KB
bootstrap-datetimepicker.min.css 11KB
extra-pages.css 11KB
ladda.min.css 10KB
tooltipster.css 9KB
calendar.css 9KB
responsive.css 8KB
shCoreDefault.css 7KB
social.css 7KB
jquery-jvectormap.css 6KB
clockface.css 6KB
jquery.steps.css 6KB
dripicon.css 5KB
weather-icons.min.css 5KB
footable.core.css 5KB
dataTables.bootstrap4.min.css 5KB
datepicker.css 5KB
tabelizer.min.css 5KB
datepicker.css 5KB
datepicker.css 5KB
footable.standalone.css 5KB
signin.css 5KB
media.css 5KB
slidebars.css 4KB
skin-select.css 4KB
datepicker.css 4KB
scrawl.css 4KB
DT_bootstrap.css 4KB
datepicker.css 4KB
bootstrap-timepicker.css 3KB
green.css 3KB
yellow.css 3KB
red.css 3KB
blue.css 3KB
violet.css 3KB
codemirror.css 3KB
bootstrap-colorpicker.css 3KB
maki-icons.css 3KB
jquery.treeview.css 3KB
profile.css 3KB
charts.css 3KB
background.css 2KB
bootstrap-wysihtml5.css 2KB
awwwards.css 2KB
jquery.stepy.css 2KB
responsive-table.css 2KB
emotion.css 2KB
dialogbase.css 2KB
jquery.pnotify.default.css 2KB
music.css 2KB
demo.css 1KB
acc-wizard.min.css 1KB
jquery.easy-pie-chart.css 1KB
pace-theme-center-simple.css 1KB
uploader.css 1KB
edittable.css 1KB
editor.css 1KB
template.css 1KB
jquery.tagsinput.css 992B
mail.css 840B
number-pb.css 737B
jquery.treetable.css 652B
datatables.responsive.css 618B
validate.css 581B
open-sans.css 567B
stacktable.css 565B
webuploader.css 515B
icons-style.css 490B
loader-style.css 483B
footable-demos.css 440B
morris.css 433B
共 916 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
Java老徐
- 粉丝: 1602
- 资源: 2045
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 运维 kafka 3.0.0支持Raft模式
- HD1611 通过初级侧电压及电流采样技术,无需光耦和二次侧控制电路,简化 CV/CC 模式开关电源设计 并具有精确的输出电压
- 基于Springboot+Vue+Mysql的火车票订票系统的设计与实现毕业设计
- Fortran-函数及描述-适合于做科学计算的编译性语言
- model-best.hdl
- 修复中文不能复制 java反编译工具
- vue3-Cesium-文字转坐标
- Swift与Objective-重新认识苹果的编程语言
- TMF0X65,TMF0X65 芯片是一款高集成度、高性能的 PWM+MOSFET 二合一的电流型离线式开关电源控制器
- lca_cn.unipus.cloud-20180-1726628255997.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功