package com.cdug.model;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import com.cdug.tool.DataHanlder;
import com.jfinal.aop.Before;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.IAtom;
import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.tx.Tx;
@SuppressWarnings("serial")
public class Materials extends Model<Materials> {
public static Materials dao = new Materials();
private String solution;
private String technical;
public String getTechnical() {
return technical;
}
public void setTechnical(String technical) {
this.technical = technical;
}
public String getSolution() {
return solution;
}
public void setSolution(String solution) {
this.solution = solution;
}
public boolean addViewCount(int mid) {
Materials material = dao.findById(mid);
if (material == null) {
return false;
} else {
return material
.set("view_count", material.getInt("view_count") + 1)
.update();
}
}
public int getUserId(int mid) {
Materials material = dao
.findFirst("select user_id from materials where id=" + mid);
if (material != null) {
return material.getInt("user_id");
} else {
return -1;
}
}
public ArrayList<Materials> getMaterials() {
return (ArrayList<Materials>) dao
.find("select * from materials order by id desc");
}
public ArrayList<Materials> getMaterials(int uid) {
return (ArrayList<Materials>) dao
.find("select * from materials where user_id =" + uid
+ " order by id desc");
}
@Before(Tx.class)
public int updateMaterial(int mid, String title, String content,
int isDraft, String[] fileids, String[] tag_ids) {
// update files
if (deleteRelatedRows(mid)) {
for (String id : fileids) {
MaterialFile.dao.set("material_id", mid)
.set("file_id", Integer.parseInt(id)).save();
}
for (String id : tag_ids) {
MaterialSecondTag.dao.set("material_id", mid)
.set("second_tag_id", id).save();
}
if (dao.findById(mid).set("title", title).set("content", content)
.set("isDraft", isDraft).set("update_time", new Date())
.update()) {
return mid;
} else {
return -1;
}
} else {
return -1;
}
}
public ArrayList<Materials> getAllMaterial() {
// HashMap<String, String> ms_map = new HashMap<>();
// HashMap<String, String> mt_map = new HashMap<>();
//
// ArrayList<MaterialSolution> ms_list = (ArrayList<MaterialSolution>)
// MaterialSolution.dao
// .find("select a.material_id,b.name from material_solution a inner join solutions b where a.solution_id = b.id");
// // Cast to map
// for (MaterialSolution ms : ms_list) {
// String key = ms.get("material_id") + "";
// if (ms_map.containsKey(key)) {
// ms_map.put(key, ms_map.get(key) + "," + ms.getStr("name"));
// } else {
// ms_map.put(key, ms.getStr("name"));
// }
// }
//
// ArrayList<MaterialTechnical> mt_list = (ArrayList<MaterialTechnical>)
// MaterialTechnical.dao
// .find("select a.material_id,b.name from material_technical a inner join technicals b where a.technical_id = b.id");
// // Cast to map
// for (MaterialTechnical mt : mt_list) {
// String key = mt.get("material_id") + "";
// if (mt_map.containsKey(key)) {
// mt_map.put(key, mt_map.get(key) + "," + mt.getStr("name"));
// } else {
// mt_map.put(key, mt.getStr("name"));
// }
// }
ArrayList<Materials> list = (ArrayList<Materials>) dao
.find("select * from materials where isDraft=0");
// for (Materials m : list) {
// String id = m.get("id") + "";
// m.setSolution("");
// m.setTechnical("");
// if (ms_map.containsKey(id)) {
// m.setSolution(ms_map.get(id));
// }
// if (mt_map.containsKey(id)) {
// m.setTechnical(mt_map.get(id));
// }
// }
return list;
}
public ArrayList<Materials> getAllMaterial(String[] tag_ids) {
ArrayList<Materials> list;
if (tag_ids.length > 0) {
String ids = DataHanlder.joinStrings(",", tag_ids);
list = (ArrayList<Materials>) dao
.find("select * from materials where id in(select material_id from material_second_tag where second_tag_id in("
+ ids + ") group by material_id) and isDraft=0");
} else {
list = getAllMaterial();//new ArrayList<>();
}
return list;
}
@Before(Tx.class)
// Transaction support
public int addMaterial(String title, String content, String author,
int user_id, int isDraft, String[] fileids, String[] tagIds) {
Materials material = new Materials().set("title", title)
.set("content", content).set("user_id", user_id)
.set("isDraft", isDraft).set("update_time", new Date())
.set("create_time", new Date()).set("author", author);
boolean msave_reuslt = material.save();
int mid = material.get("id");
if (msave_reuslt) {
for (String id : fileids) {
MaterialFile.dao.set("material_id", mid)
.set("file_id", Integer.parseInt(id)).save();
}
for (String id : tagIds) {
MaterialSecondTag.dao.set("material_id", mid)
.set("second_tag_id", id).save();
}
} else {
return -1;
}
return mid;
}
private boolean deleteRelatedRows(int id) {
final int mid = id;
final int fileCount = MaterialFile.dao.count(mid);
final int tagsCount = MaterialSecondTag.dao.count(mid);
boolean succeed = Db.tx(new IAtom() {
@Override
public boolean run() throws SQLException {
int count1 = Db
.update("delete from material_file where material_id="
+ mid);
int count2 = Db
.update("delete from material_second_tag where material_id="
+ mid);
return (count2 == tagsCount) && (count1 == fileCount);
}
});
return succeed;
}
public boolean deleteMaterial(int id) {
final int mid = id;
final int fileCount = MaterialFile.dao.count(mid);
final int tagsCount = MaterialSecondTag.dao.count(mid);
boolean succeed = Db.tx(new IAtom() {
@Override
public boolean run() throws SQLException {
int count1 = Db
.update("delete from material_second_tag where material_id="
+ mid);
int count2 = Db
.update("delete from material_file where material_id="
+ mid);
int count4 = Db.update("delete from materials where id=" + mid);
return (count1 == tagsCount) && (count2 == fileCount)
&& (count4 == 1);
}
});
return succeed;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
一个基于 Java JFinal 的会议网站.zip
共608个文件
js:238个
png:120个
html:52个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 112 浏览量
2024-03-24
10:29:50
上传
评论
收藏 10.26MB ZIP 举报
温馨提示
一个基于 Java JFinal 的会议网站
资源推荐
资源详情
资源评论
收起资源包目录
一个基于 Java JFinal 的会议网站.zip (608个子文件)
.classpath 838B
org.eclipse.wst.common.component 457B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 120KB
bootstrap.min.css 111KB
bootstrap.css 97KB
animate.css 67KB
jquery.snippet.min.css 50KB
editor_ie7.css 48KB
editor_ie7.css 48KB
editor_iequirks.css 47KB
editor_iequirks.css 47KB
editor_ie8.css 46KB
editor_ie8.css 46KB
editor_ie.css 46KB
editor_ie.css 46KB
editor_gecko.css 45KB
editor_gecko.css 45KB
editor.css 45KB
editor.css 45KB
dialog_ie7.css 17KB
dialog_ie7.css 17KB
dialog_ie8.css 16KB
dialog_ie8.css 16KB
dialog_iequirks.css 16KB
dialog_iequirks.css 16KB
dialog_ie.css 16KB
dialog_ie.css 16KB
dialog.css 15KB
dialog.css 15KB
bootstrap-theme.css 14KB
bootstrap-responsive.css 14KB
bootstrap-responsive.css 14KB
bootstrap-theme.min.css 13KB
back_site.css 5KB
back_site.css 5KB
jquery.dataTables_themeroller.css 4KB
jquery.dataTables_themeroller.css 4KB
jquery.dataTables.css 4KB
dataTables.bootstrap.css 4KB
dataTables.bootstrap.css 4KB
site.css 4KB
datatables.css 4KB
datatables.css 4KB
contents.css 2KB
contents.css 2KB
templates.css 2KB
toolbar.css 1KB
wsc.css 1KB
jPages.css 564B
pagination.css 487B
.DS_Store 15KB
.DS_Store 15KB
.DS_Store 15KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 12KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
angel_smile.gif 1KB
devil_smile.gif 1KB
shades_smile.gif 1KB
angry_smile.gif 1KB
regular_smile.gif 1KB
tongue_smile.gif 1KB
tounge_smile.gif 1KB
wink_smile.gif 1KB
teeth_smile.gif 1KB
confused_smile.gif 1KB
omg_smile.gif 1KB
共 608 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
Kwan的解忧杂货铺
- 粉丝: 1w+
- 资源: 3622
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功