云笔记笔记回收站
1.delete.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="./layui/css/layui.css" media="all">
</head>
<body>
<table class="layui-hide" id="demo" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="resume">恢复</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="./layui/layui.js"></script>
<script src="js/cookie_util.js"></script>
<script src="js/delete.js"></script>
</body>
</html>
2.delete.js
/**
*
*/
layui.use(['laypage', 'layer', 'table','jquery'], function(){
var laypage = layui.laypage //分页
,layer = layui.layer //弹层
,table = layui.table //表格
,$ = layui.jquery //jquery
//执行一个 table 实例
table.render({
elem: '#demo'
,url: 'delete/getdelnote.do' //数据接口
,title: '笔记表'
,page: true //开启分页
,where:{userid:getCookie("userid")}
,toolbar: 'true' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
,totalRow: true //开启合计行
,parseData: function(res){ //res 即为原始返回的数据
return {
"code": res.state==1?0:-1, //解析接口状态
"msg": res.message, //解析提示文本
"count": res.data.count, //解析数据长度
"data": res.data.list //解析数据列表
};
}
,cols: [[ //表头
{type: 'checkbox', fixed: 'left'}
,{field: 'id', title: 'ID',hide:'true'}
,{field: 'name', title: '笔记本名称'}
,{field: 'addtime', title: '添加时间',templet:'<div>{{layui.util.toDateString(d.addtime)}}</div>'}
/*,{field: 'notebookid',title:'所属笔记本'}*/
,{fixed: 'right', width: 165, align:'center', toolbar: '#barDemo'}
]]
});
//监听行工具事件
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
,layEvent = obj.event; //获得 lay-event 对应的值
if(layEvent === 'del'){
layer.confirm('真的删除吗?', function(index){
var sendData = {"id":data.id};
$.ajax({
type:"get",
url:"delete/deletenote.do",
data:sendData,
datetype:"json",
success:function(msg){
if(msg.state==1){
layer.msg(msg.messgae);
table.reload('demo',{
page:{
curr:1
}
});
layer.msg(msg.message);
}else{
alert(msg.message);
}
},
error:function(msg){
alert("通信失败");
}
});
layer.close(index);
//向服务端发送删除指令
});
} else if(layEvent === 'resume'){
layer.confirm('真的恢复吗?', function(index){
var sendData = {"id":data.id};
$.ajax({
type:"get",
url:"delete/resumenote.do",
data:sendData,
datetype:"json",
success:function(msg){
if(msg.state==1){
layer.msg(msg.messgae);
table.reload('demo',{
page:{
curr:1
}
});
layer.msg(msg.message);
}else{
alert(msg.message);
}
},
error:function(msg){
alert("通信失败");
}
});
layer.close(index);
//向服务端发送删除指令
});
}
});
//分页
laypage.render({
elem: 'pageDemo' //分页容器的id
,count: 100 //总页数
,skin: '#1E9FFF' //自定义选中色值
//,skip: true //开启跳页
,jump: function(obj, first){
if(!first){
layer.msg('第'+ obj.curr +'页', {offset: 'b'});
}
}
});
});
3.DelNoteController.java
package com.whc.noteserver.controller;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.whc.noteserver.entity.DelNote;
import com.whc.noteserver.entity.Note;
import com.whc.noteserver.entity.NoteBook;
import com.whc.noteserver.param.DelNoteParam;
import com.whc.noteserver.param.NoteBookParam;
import com.whc.noteserver.param.NoteParam;
import com.whc.noteserver.result.LayPage;
import com.whc.noteserver.result.NoteResult;
import com.whc.noteserver.service.DelNoteService;
import com.whc.noteserver.service.NoteService;
import com.whc.noteserver.util.JsonResult;
@Controller
@RequestMapping("/delete")
public class DelNoteController {
@Autowired
DelNoteService delnoteService;
@RequestMapping("/getdelnote")
@ResponseBody
public JsonResult getDelNote(DelNoteParam param) {
param.setPage((param.getPage()- 1)*param.getLimit());
List<DelNote> list=delnoteService.getNote(param);
int count = delnoteService.getCount(param);
//构建一个对象
LayPage lp = new LayPage();
lp.setCount(count);
lp.setList(list);
return new JsonResult(JsonResult.STATE_SUCCESS,"",lp);
}
@RequestMapping("/resumenote")
@ResponseBody
public JsonResult updateNote(Note note) {
int result = delnoteService.resumeNote(note);
if(result==1) {
return new JsonResult(JsonResult.STATE_SUCCESS,"修改成功",null);
}else {
return new JsonResult(JsonResult.STATE_ERROR,"修改失败",null);
}
}
@RequestMapping("/deletenote")
@ResponseBody
public JsonResult deleteNote(Note note) {
int result = delnoteService.deleteNote(note);
if(result==1) {
return new JsonResult(JsonResult.STATE_SUCCESS,"删除成功",null);
}else {
return new JsonResult(JsonResult.STATE_ERROR,"删除失败",null);
}
}
}
4.DelNote.java
package com.whc.noteserver.entity;
public class DelNote {
private static final long serialVersionUID = 7254414290561586449L;
public static int DELETE_OK = 1;
public static int DELEE_NO = 0;
private String id;
private String name;
private String userid;
private long addtime;
private String notebookid;
public String getNotebookid() {
return notebookid;
}
public void setNotebookid(String notebookid) {
this.notebookid = notebookid;
}
public long getAddtime() {
return addtime;
}
public void setAddtime(long addtime) {
this.addtime = addtime;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
@Override
public String toString() {
return "Recycler [id=" + id + ", name=" + name + ", userid=" + userid + ", addtime=" + addtime + ", notebookid="
+ notebookid + "]";
}
}
5.DelNoteDao.java
package com.whc.noteserver.dao;
import java.util.List;
import com.whc.noteserver.entity.DelNote;
import com.whc.noteserver.entity.Note;
import com.whc.noteserver.param.DelNoteParam;
import com.whc.noteserver.param.NoteParam;
import com.whc.noteserver.result.NoteResult;
public interface DelNoteDao {
public int getCount(DelNoteParam param);
public List<DelNote> getNote(DelNoteParam param);
public List<DelNote> getDelNoteDetail(DelNoteParam param);
public int resumeNote(Note note);
public int deleteNote(Note note);
}
6.DelNoteService.java
package com.whc.noteserver.service;
import java.util.List;
import com.whc.noteserver.entity.DelNote;
import com.whc.noteserver.entity.Note;
import com.whc.noteserver.param.DelNoteParam;
import com.whc.noteserver.param.NoteParam;
import com.whc.noteserver.result.NoteResult;
public interface DelNoteService {
public int getCount(DelNoteParam param);
public List<DelNote> getNote(DelNoteParam param);
public List<DelNote> getDelNoteDetail(DelNoteParam param);
public int resumeNote(Note note);
public int deleteNote(Note note);
}
7.DelNoteImpl.java
package com.whc.noteserver.serviceimpl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.whc.noteserver.dao.DelNoteDao;
import com.whc.noteserver.entity.DelNote;
import com.whc.noteserver.entity.Note;
import com.whc.noteserver.param.DelNoteParam;
import com.whc.noteserver.service.DelNoteService;
@Service
public class DelNoteImpl implements DelNoteService{
@Autowired
DelNoteDao delnoteDao;
@Override
public int getCount(DelNoteParam param) {
// TODO Auto-generated method stub
return delnoteDao.getCount(param);
}
@Override
public List<DelNote> getNote(DelNoteParam param) {
// TODO Auto-generated method stub
return delnoteDao.getNote(param);
}
@Override
public List<DelNote> getDelNoteDetail(DelNoteParam param) {
// TODO Auto-generated method stub
return delnoteDao.getDelNoteDetail(param);
}
@Override
public int resumeNote(Note note) {
// TODO Auto-generated method stub
return delnoteDao.resumeNote(note);
}
@Override
public int deleteNote(Note note) {
// TODO Auto-generated method stub
return delnoteDao.deleteNote(note);
}
}
8.DelNoteParam.java
package com.whc.noteserver.param;
import com.whc.noteserver.entity.DelNote;
public class DelNoteParam extends DelNote{
private String userid;
private int page;
private int limit;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
}
9.DelNoteMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd" >
<mapper namespace="com.whc.noteserver.dao.DelNoteDao">
<select id="getCount" resultType="Integer" parameterType="com.whc.noteserver.param.DelNoteParam">
select count(*)
from note_t_notes notes,note_t_notebooks notebooks
where notebooks.id=notes.notebookid and notes.isdelete=1 and notebooks.userid=#{userid}
</select>
<select id="getNote" resultType="com.whc.noteserver.entity.DelNote">
select notes.id,notes.name,notes.addtime,notes.notebookid,notes.content
from note_t_notes notes,note_t_notebooks notebooks
where notebooks.id=notes.notebookid and notes.isdelete=1 and notebooks.userid=#{userid}
order by addtime desc limit #{page},#{limit}
</select>
<select id="getDelNoteDetail" parameterType="com.whc.noteserver.entity.DelNote" resultType="com.whc.noteserver.entity.DelNote">
select id,name,content,addtime,isdelete,notebookid from note_t_notes where id=#{id}
</select>
<update id="resumeNote" parameterType="com.whc.noteserver.entity.DelNote">
update note_t_notes set isdelete=0 where id=#{id}
</update>
<update id="deleteNote" parameterType="com.whc.noteserver.entity.User">
delete from note_t_notes where id=#{id}
</update>
</mapper>