@ -1,238 +1,363 @@
|
||||
// 声明该类所在的包
|
||||
package com.controller;
|
||||
|
||||
// 导入用于格式化日期的类
|
||||
import java.text.SimpleDateFormat;
|
||||
// 导入用于创建动态数组的类
|
||||
import java.util.ArrayList;
|
||||
// 导入用于操作数组的工具类
|
||||
import java.util.Arrays;
|
||||
// 导入用于处理日期和时间的类
|
||||
import java.util.Calendar;
|
||||
// 导入用于存储键值对的接口
|
||||
import java.util.Map;
|
||||
// 导入 HashMap 类,用于实现 Map 接口
|
||||
import java.util.HashMap;
|
||||
// 导入用于遍历集合的接口
|
||||
import java.util.Iterator;
|
||||
// 导入用于表示日期和时间的类
|
||||
import java.util.Date;
|
||||
// 导入用于创建列表的接口
|
||||
import java.util.List;
|
||||
// 导入用于处理 HTTP 请求的类
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
// 导入自定义的验证工具类
|
||||
import com.utils.ValidatorUtils;
|
||||
// 导入 Apache Commons Lang 库中的字符串处理工具类
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
// 导入 Spring 框架的自动注入注解
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
// 导入 Spring 框架的日期格式化注解
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
// 导入 Spring 框架的路径变量注解
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
// 导入 Spring 框架的请求体注解
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
// 导入 Spring 框架的请求映射注解
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
// 导入 Spring 框架的请求参数注解
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
// 导入 Spring 框架的 REST 控制器注解
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
// 导入 MyBatis-Plus 的实体包装器类
|
||||
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
||||
// 导入 MyBatis-Plus 的包装器接口
|
||||
import com.baomidou.mybatisplus.mapper.Wrapper;
|
||||
// 导入自定义的忽略认证注解
|
||||
import com.annotation.IgnoreAuth;
|
||||
|
||||
// 导入学习交流实体类
|
||||
import com.entity.ForumEntity;
|
||||
// 导入学习交流视图类
|
||||
import com.entity.view.ForumView;
|
||||
|
||||
// 导入学习交流服务类
|
||||
import com.service.ForumService;
|
||||
// 导入令牌服务类
|
||||
import com.service.TokenService;
|
||||
// 导入分页工具类
|
||||
import com.utils.PageUtils;
|
||||
// 导入自定义的响应类
|
||||
import com.utils.R;
|
||||
// 导入 MD5 加密工具类
|
||||
import com.utils.MD5Util;
|
||||
// 导入 MyBatis-Plus 工具类
|
||||
import com.utils.MPUtil;
|
||||
// 导入通用工具类
|
||||
import com.utils.CommonUtil;
|
||||
|
||||
|
||||
/**
|
||||
* 学习交流
|
||||
* 后端接口
|
||||
* @author
|
||||
* @email
|
||||
* @author
|
||||
* @email
|
||||
* @date 2021-05-09 15:46:15
|
||||
*/
|
||||
// 声明该类为 REST 控制器,用于处理 HTTP 请求
|
||||
@RestController
|
||||
// 映射请求路径,所有以 /forum 开头的请求都会由该控制器处理
|
||||
@RequestMapping("/forum")
|
||||
public class ForumController {
|
||||
// 自动注入学习交流服务类的实例
|
||||
@Autowired
|
||||
private ForumService forumService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 后端列表
|
||||
*/
|
||||
// 映射请求路径 /forum/page
|
||||
@RequestMapping("/page")
|
||||
public R page(@RequestParam Map<String, Object> params,ForumEntity forum,
|
||||
HttpServletRequest request){
|
||||
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
|
||||
forum.setUserid((Long)request.getSession().getAttribute("userId"));
|
||||
}
|
||||
// 处理后端分页查询学习交流列表的请求
|
||||
public R page(@RequestParam Map<String, Object> params, ForumEntity forum,
|
||||
HttpServletRequest request) {
|
||||
// 如果当前用户不是管理员
|
||||
if (!request.getSession().getAttribute("role").toString().equals("管理员")) {
|
||||
// 设置学习交流的用户 ID 为当前用户的 ID
|
||||
forum.setUserid((Long) request.getSession().getAttribute("userId"));
|
||||
}
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
|
||||
|
||||
// 调用学习交流服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 前端列表
|
||||
*/
|
||||
// 映射请求路径 /forum/list
|
||||
@RequestMapping("/list")
|
||||
public R list(@RequestParam Map<String, Object> params,ForumEntity forum,
|
||||
HttpServletRequest request){
|
||||
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
|
||||
forum.setUserid((Long)request.getSession().getAttribute("userId"));
|
||||
}
|
||||
// 处理前端分页查询学习交流列表的请求
|
||||
public R list(@RequestParam Map<String, Object> params, ForumEntity forum,
|
||||
HttpServletRequest request) {
|
||||
// 如果当前用户不是管理员
|
||||
if (!request.getSession().getAttribute("role").toString().equals("管理员")) {
|
||||
// 设置学习交流的用户 ID 为当前用户的 ID
|
||||
forum.setUserid((Long) request.getSession().getAttribute("userId"));
|
||||
}
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
|
||||
// 调用学习交流服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
// 该接口忽略认证
|
||||
@IgnoreAuth
|
||||
// 映射请求路径 /forum/flist
|
||||
@RequestMapping("/flist")
|
||||
public R flist(@RequestParam Map<String, Object> params,ForumEntity forum, HttpServletRequest request){
|
||||
// 处理查询学习交流列表的请求
|
||||
public R flist(@RequestParam Map<String, Object> params, ForumEntity forum, HttpServletRequest request) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allEq(ew, forum), params), params));
|
||||
// 调用学习交流服务类的查询分页方法,进行排序、范围和全量相等查询
|
||||
PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allEq(ew, forum), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
// 映射请求路径 /forum/query
|
||||
@RequestMapping("/query")
|
||||
public R query(ForumEntity forum){
|
||||
EntityWrapper< ForumEntity> ew = new EntityWrapper< ForumEntity>();
|
||||
ew.allEq(MPUtil.allEQMapPre( forum, "forum"));
|
||||
ForumView forumView = forumService.selectView(ew);
|
||||
return R.ok("查询学习交流成功").put("data", forumView);
|
||||
// 处理查询学习交流信息的请求
|
||||
public R query(ForumEntity forum) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
|
||||
// 设置查询条件,所有字段相等
|
||||
ew.allEq(MPUtil.allEQMapPre(forum, "forum"));
|
||||
// 调用学习交流服务类的查询视图方法
|
||||
ForumView forumView = forumService.selectView(ew);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok("查询学习交流成功").put("data", forumView);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后端详情
|
||||
*/
|
||||
// 映射请求路径 /forum/info/{id}
|
||||
@RequestMapping("/info/{id}")
|
||||
public R info(@PathVariable("id") Long id){
|
||||
// 处理后端查询学习交流详情的请求
|
||||
public R info(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询学习交流实体
|
||||
ForumEntity forum = forumService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", forum);
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端详情
|
||||
*/
|
||||
// 映射请求路径 /forum/detail/{id}
|
||||
@RequestMapping("/detail/{id}")
|
||||
public R detail(@PathVariable("id") Long id){
|
||||
// 处理前端查询学习交流详情的请求
|
||||
public R detail(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询学习交流实体
|
||||
ForumEntity forum = forumService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", forum);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* 论坛详情
|
||||
*/
|
||||
@IgnoreAuth
|
||||
// 该接口忽略认证
|
||||
@IgnoreAuth
|
||||
// 映射请求路径 /forum/list/{id}
|
||||
@RequestMapping("/list/{id}")
|
||||
public R list(@PathVariable("id") String id){
|
||||
// 处理查询论坛详情的请求
|
||||
public R list(@PathVariable("id") String id) {
|
||||
// 根据 ID 查询学习交流实体
|
||||
ForumEntity forum = forumService.selectById(id);
|
||||
// 递归获取子论坛信息
|
||||
getChilds(forum);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", forum);
|
||||
}
|
||||
|
||||
private ForumEntity getChilds(ForumEntity forum) {
|
||||
List<ForumEntity> childs = new ArrayList<ForumEntity>();
|
||||
childs = forumService.selectList(new EntityWrapper<ForumEntity>().eq("parentid", forum.getId()));
|
||||
if(childs == null || childs.size()==0) {
|
||||
return null;
|
||||
}
|
||||
forum.setChilds(childs);
|
||||
for(ForumEntity forumEntity : childs) {
|
||||
getChilds(forumEntity);
|
||||
}
|
||||
return forum;
|
||||
}
|
||||
|
||||
|
||||
// 递归获取子论坛信息的方法
|
||||
private ForumEntity getChilds(ForumEntity forum) {
|
||||
// 创建一个存储子论坛的列表
|
||||
List<ForumEntity> childs = new ArrayList<ForumEntity>();
|
||||
// 查询该论坛的所有子论坛
|
||||
childs = forumService.selectList(new EntityWrapper<ForumEntity>().eq("parentid", forum.getId()));
|
||||
// 如果没有子论坛
|
||||
if (childs == null || childs.size() == 0) {
|
||||
// 返回 null
|
||||
return null;
|
||||
}
|
||||
// 设置该论坛的子论坛列表
|
||||
forum.setChilds(childs);
|
||||
// 递归处理每个子论坛
|
||||
for (ForumEntity forumEntity : childs) {
|
||||
getChilds(forumEntity);
|
||||
}
|
||||
// 返回该论坛
|
||||
return forum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 后端保存
|
||||
*/
|
||||
// 映射请求路径 /forum/save
|
||||
@RequestMapping("/save")
|
||||
public R save(@RequestBody ForumEntity forum, HttpServletRequest request){
|
||||
forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(forum);
|
||||
forum.setUserid((Long)request.getSession().getAttribute("userId"));
|
||||
// 处理后端保存学习交流信息的请求
|
||||
public R save(@RequestBody ForumEntity forum, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
forum.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(forum);
|
||||
// 设置学习交流的用户 ID 为当前用户的 ID
|
||||
forum.setUserid((Long) request.getSession().getAttribute("userId"));
|
||||
// 调用学习交流服务类的插入方法
|
||||
forumService.insert(forum);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 前端保存
|
||||
*/
|
||||
// 映射请求路径 /forum/add
|
||||
@RequestMapping("/add")
|
||||
public R add(@RequestBody ForumEntity forum, HttpServletRequest request){
|
||||
forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(forum);
|
||||
forum.setUserid((Long)request.getSession().getAttribute("userId"));
|
||||
// 处理前端保存学习交流信息的请求
|
||||
public R add(@RequestBody ForumEntity forum, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
forum.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(forum);
|
||||
// 设置学习交流的用户 ID 为当前用户的 ID
|
||||
forum.setUserid((Long) request.getSession().getAttribute("userId"));
|
||||
// 调用学习交流服务类的插入方法
|
||||
forumService.insert(forum);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
// 映射请求路径 /forum/update
|
||||
@RequestMapping("/update")
|
||||
public R update(@RequestBody ForumEntity forum, HttpServletRequest request){
|
||||
// 处理修改学习交流信息的请求
|
||||
public R update(@RequestBody ForumEntity forum, HttpServletRequest request) {
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(forum);
|
||||
forumService.updateById(forum);//全部更新
|
||||
// 调用学习交流服务类的更新方法,更新所有字段
|
||||
forumService.updateById(forum); // 全部更新
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
// 映射请求路径 /forum/delete
|
||||
@RequestMapping("/delete")
|
||||
public R delete(@RequestBody Long[] ids){
|
||||
// 处理删除学习交流信息的请求
|
||||
public R delete(@RequestBody Long[] ids) {
|
||||
// 调用学习交流服务类的批量删除方法
|
||||
forumService.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<ForumEntity> wrapper = new EntityWrapper<ForumEntity>();
|
||||
if(map.get("remindstart")!=null) {
|
||||
wrapper.ge(columnName, map.get("remindstart"));
|
||||
}
|
||||
if(map.get("remindend")!=null) {
|
||||
wrapper.le(columnName, map.get("remindend"));
|
||||
}
|
||||
|
||||
|
||||
int count = forumService.selectCount(wrapper);
|
||||
return R.ok().put("count", count);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
// 映射请求路径 /forum/remind/{columnName}/{type}
|
||||
@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);
|
||||
|
||||
// 如果类型为 2
|
||||
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<ForumEntity> wrapper = new EntityWrapper<ForumEntity>();
|
||||
// 如果提醒开始参数不为空
|
||||
if (map.get("remindstart") != null) {
|
||||
// 设置查询条件,列名大于等于提醒开始日期
|
||||
wrapper.ge(columnName, map.get("remindstart"));
|
||||
}
|
||||
// 如果提醒结束参数不为空
|
||||
if (map.get("remindend") != null) {
|
||||
// 设置查询条件,列名小于等于提醒结束日期
|
||||
wrapper.le(columnName, map.get("remindend"));
|
||||
}
|
||||
|
||||
// 调用学习交流服务类的统计方法,统计符合条件的记录数
|
||||
int count = forumService.selectCount(wrapper);
|
||||
// 返回成功响应,并将统计结果放入响应中
|
||||
return R.ok().put("count", count);
|
||||
}
|
||||
}
|
||||
@ -1,208 +1,313 @@
|
||||
// 声明该类所在的包
|
||||
package com.controller;
|
||||
|
||||
// 导入用于格式化日期的类
|
||||
import java.text.SimpleDateFormat;
|
||||
// 导入用于创建动态数组的类
|
||||
import java.util.ArrayList;
|
||||
// 导入用于操作数组的工具类
|
||||
import java.util.Arrays;
|
||||
// 导入用于处理日期和时间的类
|
||||
import java.util.Calendar;
|
||||
// 导入用于存储键值对的接口
|
||||
import java.util.Map;
|
||||
// 导入用于实现 Map 接口的 HashMap 类
|
||||
import java.util.HashMap;
|
||||
// 导入用于遍历集合的接口
|
||||
import java.util.Iterator;
|
||||
// 导入用于表示日期和时间的类
|
||||
import java.util.Date;
|
||||
// 导入用于创建列表的接口
|
||||
import java.util.List;
|
||||
// 导入用于处理 HTTP 请求的类
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
// 导入自定义的验证工具类
|
||||
import com.utils.ValidatorUtils;
|
||||
// 导入 Apache Commons Lang 库中的字符串处理工具类
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
// 导入 Spring 框架的自动注入注解
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
// 导入 Spring 框架的日期格式化注解
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
// 导入 Spring 框架的路径变量注解
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
// 导入 Spring 框架的请求体注解
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
// 导入 Spring 框架的请求映射注解
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
// 导入 Spring 框架的请求参数注解
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
// 导入 Spring 框架的 REST 控制器注解
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
// 导入 MyBatis-Plus 的实体包装器类
|
||||
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
||||
// 导入 MyBatis-Plus 的包装器接口
|
||||
import com.baomidou.mybatisplus.mapper.Wrapper;
|
||||
// 导入自定义的忽略认证注解
|
||||
import com.annotation.IgnoreAuth;
|
||||
|
||||
// 导入课程信息实体类
|
||||
import com.entity.KechengxinxiEntity;
|
||||
// 导入课程信息视图类
|
||||
import com.entity.view.KechengxinxiView;
|
||||
|
||||
// 导入课程信息服务类
|
||||
import com.service.KechengxinxiService;
|
||||
// 导入令牌服务类
|
||||
import com.service.TokenService;
|
||||
// 导入分页工具类
|
||||
import com.utils.PageUtils;
|
||||
// 导入自定义的响应类
|
||||
import com.utils.R;
|
||||
// 导入 MD5 加密工具类
|
||||
import com.utils.MD5Util;
|
||||
// 导入 MyBatis-Plus 工具类
|
||||
import com.utils.MPUtil;
|
||||
// 导入通用工具类
|
||||
import com.utils.CommonUtil;
|
||||
|
||||
|
||||
/**
|
||||
* 课程信息
|
||||
* 后端接口
|
||||
* @author
|
||||
* @email
|
||||
* @author
|
||||
* @email
|
||||
* @date 2021-05-09 15:46:14
|
||||
*/
|
||||
// 声明该类为 REST 控制器,用于处理 HTTP 请求
|
||||
@RestController
|
||||
// 映射请求路径,所有以 /kechengxinxi 开头的请求都会由该控制器处理
|
||||
@RequestMapping("/kechengxinxi")
|
||||
public class KechengxinxiController {
|
||||
// 自动注入课程信息服务类的实例
|
||||
@Autowired
|
||||
private KechengxinxiService kechengxinxiService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 后端列表
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/page
|
||||
@RequestMapping("/page")
|
||||
public R page(@RequestParam Map<String, Object> params,KechengxinxiEntity kechengxinxi,
|
||||
HttpServletRequest request){
|
||||
// 处理后端分页查询课程信息列表的请求
|
||||
public R page(@RequestParam Map<String, Object> params, KechengxinxiEntity kechengxinxi,
|
||||
HttpServletRequest request) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
|
||||
PageUtils page = kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));
|
||||
|
||||
// 调用课程信息服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 前端列表
|
||||
*/
|
||||
@IgnoreAuth
|
||||
// 该接口忽略认证
|
||||
@IgnoreAuth
|
||||
// 映射请求路径 /kechengxinxi/list
|
||||
@RequestMapping("/list")
|
||||
public R list(@RequestParam Map<String, Object> params,KechengxinxiEntity kechengxinxi,
|
||||
HttpServletRequest request){
|
||||
// 处理前端分页查询课程信息列表的请求
|
||||
public R list(@RequestParam Map<String, Object> params, KechengxinxiEntity kechengxinxi,
|
||||
HttpServletRequest request) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
|
||||
PageUtils page = kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));
|
||||
// 调用课程信息服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/lists
|
||||
@RequestMapping("/lists")
|
||||
public R list( KechengxinxiEntity kechengxinxi){
|
||||
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
|
||||
ew.allEq(MPUtil.allEQMapPre( kechengxinxi, "kechengxinxi"));
|
||||
// 处理查询课程信息列表的请求
|
||||
public R list(KechengxinxiEntity kechengxinxi) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
|
||||
// 设置查询条件,所有字段相等
|
||||
ew.allEq(MPUtil.allEQMapPre(kechengxinxi, "kechengxinxi"));
|
||||
// 返回成功响应,并将查询结果(视图列表)放入响应中
|
||||
return R.ok().put("data", kechengxinxiService.selectListView(ew));
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/query
|
||||
@RequestMapping("/query")
|
||||
public R query(KechengxinxiEntity kechengxinxi){
|
||||
EntityWrapper< KechengxinxiEntity> ew = new EntityWrapper< KechengxinxiEntity>();
|
||||
ew.allEq(MPUtil.allEQMapPre( kechengxinxi, "kechengxinxi"));
|
||||
KechengxinxiView kechengxinxiView = kechengxinxiService.selectView(ew);
|
||||
return R.ok("查询课程信息成功").put("data", kechengxinxiView);
|
||||
// 处理查询课程信息的请求
|
||||
public R query(KechengxinxiEntity kechengxinxi) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<KechengxinxiEntity> ew = new EntityWrapper<KechengxinxiEntity>();
|
||||
// 设置查询条件,所有字段相等
|
||||
ew.allEq(MPUtil.allEQMapPre(kechengxinxi, "kechengxinxi"));
|
||||
// 调用课程信息服务类的查询视图方法
|
||||
KechengxinxiView kechengxinxiView = kechengxinxiService.selectView(ew);
|
||||
// 返回成功响应,并将查询结果放入响应中,附带成功提示信息
|
||||
return R.ok("查询课程信息成功").put("data", kechengxinxiView);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 后端详情
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/info/{id}
|
||||
@RequestMapping("/info/{id}")
|
||||
public R info(@PathVariable("id") Long id){
|
||||
// 处理后端查询课程信息详情的请求
|
||||
public R info(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询课程信息实体
|
||||
KechengxinxiEntity kechengxinxi = kechengxinxiService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", kechengxinxi);
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端详情
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/detail/{id}
|
||||
@RequestMapping("/detail/{id}")
|
||||
public R detail(@PathVariable("id") Long id){
|
||||
// 处理前端查询课程信息详情的请求
|
||||
public R detail(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询课程信息实体
|
||||
KechengxinxiEntity kechengxinxi = kechengxinxiService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", kechengxinxi);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 后端保存
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/save
|
||||
@RequestMapping("/save")
|
||||
public R save(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){
|
||||
kechengxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(kechengxinxi);
|
||||
// 处理后端保存课程信息的请求
|
||||
public R save(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
kechengxinxi.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(kechengxinxi);
|
||||
// 调用课程信息服务类的插入方法
|
||||
kechengxinxiService.insert(kechengxinxi);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 前端保存
|
||||
*/
|
||||
@IgnoreAuth
|
||||
// 该接口忽略认证
|
||||
@IgnoreAuth
|
||||
// 映射请求路径 /kechengxinxi/add
|
||||
@RequestMapping("/add")
|
||||
public R add(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){
|
||||
kechengxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(kechengxinxi);
|
||||
// 处理前端保存课程信息的请求
|
||||
public R add(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
kechengxinxi.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(kechengxinxi);
|
||||
// 调用课程信息服务类的插入方法
|
||||
kechengxinxiService.insert(kechengxinxi);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/update
|
||||
@RequestMapping("/update")
|
||||
public R update(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request){
|
||||
// 处理修改课程信息的请求
|
||||
public R update(@RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(kechengxinxi);
|
||||
kechengxinxiService.updateById(kechengxinxi);//全部更新
|
||||
// 调用课程信息服务类的更新方法,更新所有字段
|
||||
kechengxinxiService.updateById(kechengxinxi); // 全部更新
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
// 映射请求路径 /kechengxinxi/delete
|
||||
@RequestMapping("/delete")
|
||||
public R delete(@RequestBody Long[] ids){
|
||||
// 处理删除课程信息的请求
|
||||
public R delete(@RequestBody Long[] ids) {
|
||||
// 调用课程信息服务类的批量删除方法
|
||||
kechengxinxiService.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<KechengxinxiEntity> wrapper = new EntityWrapper<KechengxinxiEntity>();
|
||||
if(map.get("remindstart")!=null) {
|
||||
wrapper.ge(columnName, map.get("remindstart"));
|
||||
}
|
||||
if(map.get("remindend")!=null) {
|
||||
wrapper.le(columnName, map.get("remindend"));
|
||||
}
|
||||
|
||||
|
||||
int count = kechengxinxiService.selectCount(wrapper);
|
||||
return R.ok().put("count", count);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
// 映射请求路径 /kechengxinxi/remind/{columnName}/{type}
|
||||
@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);
|
||||
|
||||
// 如果类型为 2
|
||||
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<KechengxinxiEntity> wrapper = new EntityWrapper<KechengxinxiEntity>();
|
||||
// 如果提醒开始参数不为空
|
||||
if (map.get("remindstart") != null) {
|
||||
// 设置查询条件,列名大于等于提醒开始日期
|
||||
wrapper.ge(columnName, map.get("remindstart"));
|
||||
}
|
||||
// 如果提醒结束参数不为空
|
||||
if (map.get("remindend") != null) {
|
||||
// 设置查询条件,列名小于等于提醒结束日期
|
||||
wrapper.le(columnName, map.get("remindend"));
|
||||
}
|
||||
|
||||
// 调用课程信息服务类的统计方法,统计符合条件的记录数
|
||||
int count = kechengxinxiService.selectCount(wrapper);
|
||||
// 返回成功响应,并将统计结果放入响应中
|
||||
return R.ok().put("count", count);
|
||||
}
|
||||
}
|
||||
@ -1,219 +1,333 @@
|
||||
// 声明该类所在的包
|
||||
package com.controller;
|
||||
|
||||
// 导入用于格式化日期的类,可将日期对象按照指定格式转换为字符串
|
||||
import java.text.SimpleDateFormat;
|
||||
// 导入用于创建动态数组的类,可根据需要动态调整数组大小
|
||||
import java.util.ArrayList;
|
||||
// 导入用于操作数组的工具类,提供了如排序、查找等方法
|
||||
import java.util.Arrays;
|
||||
// 导入用于处理日期和时间的类,可进行日期的计算、格式化等操作
|
||||
import java.util.Calendar;
|
||||
// 导入用于存储键值对的接口,可通过键快速查找对应的值
|
||||
import java.util.Map;
|
||||
// 导入用于实现 Map 接口的 HashMap 类,基于哈希表实现,存储键值对
|
||||
import java.util.HashMap;
|
||||
// 导入用于遍历集合的接口,可依次访问集合中的元素
|
||||
import java.util.Iterator;
|
||||
// 导入用于表示日期和时间的类,用于处理日期和时间相关操作
|
||||
import java.util.Date;
|
||||
// 导入用于创建列表的接口,可存储多个元素并进行操作
|
||||
import java.util.List;
|
||||
// 导入用于处理 HTTP 请求的类,封装了 HTTP 请求的相关信息
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
// 导入自定义的验证工具类,用于对实体对象进行验证
|
||||
import com.utils.ValidatorUtils;
|
||||
// 导入 Apache Commons Lang 库中的字符串处理工具类,提供了丰富的字符串操作方法
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
// 导入 Spring 框架的自动注入注解,可自动将依赖的对象注入到类中
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
// 导入 Spring 框架的日期格式化注解,用于指定日期参数的格式
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
// 导入 Spring 框架的路径变量注解,用于获取 URL 路径中的变量值
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
// 导入 Spring 框架的请求体注解,用于将请求体中的数据绑定到方法参数上
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
// 导入 Spring 框架的请求映射注解,用于将 HTTP 请求映射到控制器的方法上
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
// 导入 Spring 框架的请求参数注解,用于获取请求参数的值
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
// 导入 Spring 框架的 REST 控制器注解,表明该类是一个 RESTful 风格的控制器
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
// 导入 MyBatis-Plus 的实体包装器类,用于构建查询条件
|
||||
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
||||
// 导入 MyBatis-Plus 的包装器接口,是实体包装器的接口
|
||||
import com.baomidou.mybatisplus.mapper.Wrapper;
|
||||
// 导入自定义的忽略认证注解,用于标记某些接口不需要进行认证
|
||||
import com.annotation.IgnoreAuth;
|
||||
|
||||
// 导入视频点播实体类,包含视频点播的相关属性
|
||||
import com.entity.ShipindianboEntity;
|
||||
// 导入视频点播视图类,可能用于展示视频点播的相关信息
|
||||
import com.entity.view.ShipindianboView;
|
||||
|
||||
// 导入视频点播服务类,处理视频点播的业务逻辑
|
||||
import com.service.ShipindianboService;
|
||||
// 导入令牌服务类,可能用于处理令牌相关业务
|
||||
import com.service.TokenService;
|
||||
// 导入分页工具类,用于处理分页查询相关操作
|
||||
import com.utils.PageUtils;
|
||||
// 导入自定义的响应类,用于封装接口的返回结果
|
||||
import com.utils.R;
|
||||
// 导入 MD5 加密工具类,用于对数据进行 MD5 加密
|
||||
import com.utils.MD5Util;
|
||||
// 导入 MyBatis-Plus 工具类,提供一些便捷的操作方法
|
||||
import com.utils.MPUtil;
|
||||
// 导入通用工具类,包含一些通用的工具方法
|
||||
import com.utils.CommonUtil;
|
||||
|
||||
|
||||
/**
|
||||
* 视频点播
|
||||
* 后端接口
|
||||
* @author
|
||||
* @email
|
||||
* @author
|
||||
* @email
|
||||
* @date 2021-05-09 15:46:14
|
||||
*/
|
||||
// 声明该类为 REST 控制器,处理 HTTP 请求并返回 JSON 数据
|
||||
@RestController
|
||||
// 映射请求路径,所有以 /shipindianbo 开头的请求都会由该控制器处理
|
||||
@RequestMapping("/shipindianbo")
|
||||
public class ShipindianboController {
|
||||
@Autowired
|
||||
private ShipindianboService shipindianboService;
|
||||
|
||||
// 自动注入视频点播服务类的实例,用于调用服务层的方法
|
||||
@Autowired
|
||||
private ShipindianboService shipindianboService;
|
||||
|
||||
|
||||
/**
|
||||
* 后端列表
|
||||
*/
|
||||
@RequestMapping("/page")
|
||||
public R page(@RequestParam Map<String, Object> params,ShipindianboEntity shipindianbo,
|
||||
HttpServletRequest request){
|
||||
/**
|
||||
* 后端列表
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/page
|
||||
@RequestMapping("/page")
|
||||
// 处理后端分页查询视频点播列表的请求
|
||||
public R page(@RequestParam Map<String, Object> params, ShipindianboEntity shipindianbo,
|
||||
HttpServletRequest request) {
|
||||
// 从会话中获取表名
|
||||
String tableName = request.getSession().getAttribute("tableName").toString();
|
||||
if(tableName.equals("yonghu")) {
|
||||
shipindianbo.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
|
||||
// 如果表名是 "yonghu"
|
||||
if (tableName.equals("yonghu")) {
|
||||
// 设置视频点播实体的用户账号为会话中的用户名
|
||||
shipindianbo.setYonghuzhanghao((String) request.getSession().getAttribute("username"));
|
||||
}
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 调用视频点播服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = shipindianboService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shipindianbo), params), params));
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端列表
|
||||
*/
|
||||
@RequestMapping("/list")
|
||||
public R list(@RequestParam Map<String, Object> params,ShipindianboEntity shipindianbo,
|
||||
HttpServletRequest request){
|
||||
/**
|
||||
* 前端列表
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/list
|
||||
@RequestMapping("/list")
|
||||
// 处理前端分页查询视频点播列表的请求
|
||||
public R list(@RequestParam Map<String, Object> params, ShipindianboEntity shipindianbo,
|
||||
HttpServletRequest request) {
|
||||
// 从会话中获取表名
|
||||
String tableName = request.getSession().getAttribute("tableName").toString();
|
||||
if(tableName.equals("yonghu")) {
|
||||
shipindianbo.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
|
||||
// 如果表名是 "yonghu"
|
||||
if (tableName.equals("yonghu")) {
|
||||
// 设置视频点播实体的用户账号为会话中的用户名
|
||||
shipindianbo.setYonghuzhanghao((String) request.getSession().getAttribute("username"));
|
||||
}
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 调用视频点播服务类的查询分页方法,进行排序、范围和模糊查询
|
||||
PageUtils page = shipindianboService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shipindianbo), params), params));
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
// 返回成功响应,并将分页数据放入响应中
|
||||
return R.ok().put("data", page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@RequestMapping("/lists")
|
||||
public R list( ShipindianboEntity shipindianbo){
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
ew.allEq(MPUtil.allEQMapPre( shipindianbo, "shipindianbo"));
|
||||
return R.ok().put("data", shipindianboService.selectListView(ew));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
@RequestMapping("/query")
|
||||
public R query(ShipindianboEntity shipindianbo){
|
||||
EntityWrapper< ShipindianboEntity> ew = new EntityWrapper< ShipindianboEntity>();
|
||||
ew.allEq(MPUtil.allEQMapPre( shipindianbo, "shipindianbo"));
|
||||
ShipindianboView shipindianboView = shipindianboService.selectView(ew);
|
||||
* 列表
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/lists
|
||||
@RequestMapping("/lists")
|
||||
// 处理查询视频点播列表的请求
|
||||
public R list(ShipindianboEntity shipindianbo) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 设置查询条件,所有字段相等
|
||||
ew.allEq(MPUtil.allEQMapPre(shipindianbo, "shipindianbo"));
|
||||
// 返回成功响应,并将查询结果(视图列表)放入响应中
|
||||
return R.ok().put("data", shipindianboService.selectListView(ew));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/query
|
||||
@RequestMapping("/query")
|
||||
// 处理查询视频点播的请求
|
||||
public R query(ShipindianboEntity shipindianbo) {
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
EntityWrapper<ShipindianboEntity> ew = new EntityWrapper<ShipindianboEntity>();
|
||||
// 设置查询条件,所有字段相等
|
||||
ew.allEq(MPUtil.allEQMapPre(shipindianbo, "shipindianbo"));
|
||||
// 调用视频点播服务类的查询视图方法
|
||||
ShipindianboView shipindianboView = shipindianboService.selectView(ew);
|
||||
// 返回成功响应,并将查询结果放入响应中,附带成功提示信息
|
||||
return R.ok("查询视频点播成功").put("data", shipindianboView);
|
||||
}
|
||||
|
||||
/**
|
||||
* 后端详情
|
||||
*/
|
||||
@RequestMapping("/info/{id}")
|
||||
public R info(@PathVariable("id") Long id){
|
||||
ShipindianboEntity shipindianbo = shipindianboService.selectById(id);
|
||||
return R.ok().put("data", shipindianbo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端详情
|
||||
*/
|
||||
@RequestMapping("/detail/{id}")
|
||||
public R detail(@PathVariable("id") Long id){
|
||||
ShipindianboEntity shipindianbo = shipindianboService.selectById(id);
|
||||
return R.ok().put("data", shipindianbo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 后端保存
|
||||
*/
|
||||
@RequestMapping("/save")
|
||||
public R save(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request){
|
||||
shipindianbo.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
shipindianboService.insert(shipindianbo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端保存
|
||||
*/
|
||||
@RequestMapping("/add")
|
||||
public R add(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request){
|
||||
shipindianbo.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
shipindianbo.setUserid((Long)request.getSession().getAttribute("userId"));
|
||||
shipindianboService.insert(shipindianbo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@RequestMapping("/update")
|
||||
public R update(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request){
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
shipindianboService.updateById(shipindianbo);//全部更新
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
@RequestMapping("/delete")
|
||||
public R delete(@RequestBody Long[] ids){
|
||||
shipindianboService.deleteBatchIds(Arrays.asList(ids));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提醒接口
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* 后端详情
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/info/{id}
|
||||
@RequestMapping("/info/{id}")
|
||||
// 处理后端查询视频点播详情的请求
|
||||
public R info(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询视频点播实体
|
||||
ShipindianboEntity shipindianbo = shipindianboService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", shipindianbo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端详情
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/detail/{id}
|
||||
@RequestMapping("/detail/{id}")
|
||||
// 处理前端查询视频点播详情的请求
|
||||
public R detail(@PathVariable("id") Long id) {
|
||||
// 根据 ID 查询视频点播实体
|
||||
ShipindianboEntity shipindianbo = shipindianboService.selectById(id);
|
||||
// 返回成功响应,并将查询结果放入响应中
|
||||
return R.ok().put("data", shipindianbo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 后端保存
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/save
|
||||
@RequestMapping("/save")
|
||||
// 处理后端保存视频点播的请求
|
||||
public R save(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
shipindianbo.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
// 调用视频点播服务类的插入方法
|
||||
shipindianboService.insert(shipindianbo);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 前端保存
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/add
|
||||
@RequestMapping("/add")
|
||||
// 处理前端保存视频点播的请求
|
||||
public R add(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request) {
|
||||
// 生成一个唯一的 ID
|
||||
shipindianbo.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
// 设置视频点播实体的用户 ID 为会话中的用户 ID
|
||||
shipindianbo.setUserid((Long) request.getSession().getAttribute("userId"));
|
||||
// 调用视频点播服务类的插入方法
|
||||
shipindianboService.insert(shipindianbo);
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/update
|
||||
@RequestMapping("/update")
|
||||
// 处理修改视频点播的请求
|
||||
public R update(@RequestBody ShipindianboEntity shipindianbo, HttpServletRequest request) {
|
||||
// 验证实体(注释掉,未启用)
|
||||
//ValidatorUtils.validateEntity(shipindianbo);
|
||||
// 调用视频点播服务类的更新方法,更新所有字段
|
||||
shipindianboService.updateById(shipindianbo); // 全部更新
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/delete
|
||||
@RequestMapping("/delete")
|
||||
// 处理删除视频点播的请求
|
||||
public R delete(@RequestBody Long[] ids) {
|
||||
// 调用视频点播服务类的批量删除方法
|
||||
shipindianboService.deleteBatchIds(Arrays.asList(ids));
|
||||
// 返回成功响应
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提醒接口
|
||||
*/
|
||||
// 映射请求路径 /shipindianbo/remind/{columnName}/{type}
|
||||
@RequestMapping("/remind/{columnName}/{type}")
|
||||
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
|
||||
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
|
||||
// 处理提醒统计的请求
|
||||
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")) {
|
||||
|
||||
// 如果类型为 2
|
||||
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) {
|
||||
// 如果提醒开始参数不为空
|
||||
if (map.get("remindstart") != null) {
|
||||
// 将提醒开始参数转换为整数
|
||||
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
|
||||
c.setTime(new Date());
|
||||
c.add(Calendar.DAY_OF_MONTH,remindStart);
|
||||
// 设置日历时间为当前时间
|
||||
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) {
|
||||
// 如果提醒结束参数不为空
|
||||
if (map.get("remindend") != null) {
|
||||
// 将提醒结束参数转换为整数
|
||||
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
|
||||
// 设置日历时间为当前时间
|
||||
c.setTime(new Date());
|
||||
c.add(Calendar.DAY_OF_MONTH,remindEnd);
|
||||
// 在当前日期上加上提醒结束天数
|
||||
c.add(Calendar.DAY_OF_MONTH, remindEnd);
|
||||
// 获取提醒结束日期
|
||||
remindEndDate = c.getTime();
|
||||
// 将提醒结束日期格式化后放入参数映射中
|
||||
map.put("remindend", sdf.format(remindEndDate));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 创建一个实体包装器,用于构建查询条件
|
||||
Wrapper<ShipindianboEntity> wrapper = new EntityWrapper<ShipindianboEntity>();
|
||||
if(map.get("remindstart")!=null) {
|
||||
// 如果提醒开始参数不为空
|
||||
if (map.get("remindstart") != null) {
|
||||
// 设置查询条件,列名大于等于提醒开始日期
|
||||
wrapper.ge(columnName, map.get("remindstart"));
|
||||
}
|
||||
if(map.get("remindend")!=null) {
|
||||
// 如果提醒结束参数不为空
|
||||
if (map.get("remindend") != null) {
|
||||
// 设置查询条件,列名小于等于提醒结束日期
|
||||
wrapper.le(columnName, map.get("remindend"));
|
||||
}
|
||||
|
||||
// 从会话中获取表名
|
||||
String tableName = request.getSession().getAttribute("tableName").toString();
|
||||
if(tableName.equals("yonghu")) {
|
||||
wrapper.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));
|
||||
// 如果表名是 "yonghu"
|
||||
if (tableName.equals("yonghu")) {
|
||||
// 设置查询条件,用户账号等于会话中的用户名
|
||||
wrapper.eq("yonghuzhanghao", (String) request.getSession().getAttribute("username"));
|
||||
}
|
||||
|
||||
// 调用视频点播服务类的统计方法,统计符合条件的记录数
|
||||
int count = shipindianboService.selectCount(wrapper);
|
||||
// 返回成功响应,并将统计结果放入响应中
|
||||
return R.ok().put("count", count);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue