博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
本系统采用SSM框架,数据层采用mybatis,数据库使用MysqL,适合选题:爱心、慈善、捐献、捐赠等。
项目功能:
1. 用户信息管理:管理员可对该系统的用户信息进行管理与维护。
2. 公益新闻管理:管理员进入系统对公益新闻信息进行管理与维护。
3. 求助信息管理:管理员通过系统在线管理系统的求助信息。并对求助信息进行在线审核。
4. 捐款记录管理:管理员通过系统在线管理系统用户的捐款信息。管理员及时对捐款信息做出反馈。
5. 活动管理:管理员通过系统在线管理活动信息。管理员可在线发布活动。
6. 个人信息管理:用户可对个人信息进行修改与维护,对个人基本资料进行更新,对账号密码信息进行更改。
7报名管理:管理员通过系统在线管理系统的报名信息。并对报名信息进行在线审核。
系统包含技术:
后端:SSM整合
前端:bootstrap、js、css等
开发工具:eclipse
数据库:MysqL 5.7
JDK版本:jdk1.8
服务器:tomcat8
部分截图说明:
可以查看已发布的公益新闻
活动列表,查看已发布的活动
活动详情
用户可以进行登陆
对活动的报名进行维护
对捐款记录进行维护
对评价进行管理
求助管理
评价信息,管理员进行管理
部分代码:
@RequestMapping("list")
public String list(Integer page, Integer limit,String content,Model model,
HttpSession session) {
PageBean pageBean=new PageBean();
if(page==null){
page=1;
}
QueryWrapper<Question> wrapper = new QueryWrapper<Question>();
if (!StringUtils.isEmpty(content)) {
wrapper.like("content", content);
model.addAttribute("content", content);
}
Integer role=(Integer)session.getAttribute("role");
if(role!=null && role==1){
Users users=(Users)session.getAttribute("users");
wrapper.eq("uid", users.getId());
}
wrapper.eq("isdel", 0);
wrapper.orderByDesc("id");
IPage<Question> Pagelist = new Page<Question>(pageBean.getPageNo(), pageBean.getPageSize());
Pagelist = questionService.page(Pagelist, wrapper);
List<Question> list = Pagelist.getRecords();
// 关联对象
for (Question m : list) {
Users u = useRSService.getById(m.getUid());
m.setUsers(u);
}
// 会自动查出总条数
int count = (int) Pagelist.getTotal();
pageBean.setTotalCount(count);
model.addAttribute("pageBean", pageBean);
model.addAttribute("list", list);
return "admin/question";
}
@RequestMapping("index")
public String index(Integer page,String name,Integer id,Model model,HttpServletRequest request) {
PageBean pageBean=new PageBean();
if(page!=null){
pageBean.setPageNo(page);
}
pageBean.setPageSize(4);
QueryWrapper<Question> wrapper = new QueryWrapper<Question>();
wrapper.eq("isdel", 0);
wrapper.orderByDesc("id");
IPage<Question> Pagelist = new Page<Question>(pageBean.getPageNo(),pageBean.getPageSize());
Pagelist = questionService.page(Pagelist, wrapper);
List<Question> list = Pagelist.getRecords();
// 关联对象
for (Question m : list) {
Users u = useRSService.getById(m.getUid());
m.setUsers(u);
//回复
QueryWrapper<Reply> qwrapper=new QueryWrapper<Reply>();
qwrapper.eq("pid", m.getId());
qwrapper.eq("type", 2);
List<Reply> replys=replyService.list(qwrapper);
for (Reply r : replys) {
Users ru = useRSService.getById(r.getUid());
r.setUsers(ru);
}
m.setReplys(replys);
}
// 会自动查出总条数
int count = (int) Pagelist.getTotal();
pageBean.setTotalCount(count);
model.addAttribute("pageBean", pageBean);
model.addAttribute("list", list);
if(id==null){
id=0;
}
model.addAttribute("id", id);
return "questionList";
}
@RequestMapping("detail")
public String detail(Integer id, Model model, HttpServletRequest request) {
Question m = questionService.getById(id);
Users u = useRSService.getById(m.getUid());
m.setUsers(u);
QueryWrapper<Reply> rwrapper = new QueryWrapper<Reply>();
rwrapper.eq("pid", m.getId());
List<Reply> replys = replyService.list(rwrapper);
for (Reply r : replys) {
Users ru = useRSService.getById(r.getUid());
r.setUsers(ru);
}
m.setReplys(replys);
model.addAttribute("question", m);
return "questionDetail";
}
@RequestMapping("admindetail")
public String admindetail(Integer id, Model model, HttpServletRequest request) {
Question m = questionService.getById(id);
Users u = useRSService.getById(m.getUid());
m.setUsers(u);
QueryWrapper<Reply> rwrapper = new QueryWrapper<Reply>();
rwrapper.eq("pid", m.getId());
List<Reply> replys = replyService.list(rwrapper);
for (Reply r : replys) {
Users ru = useRSService.getById(r.getUid());
r.setUsers(ru);
}
m.setReplys(replys);
model.addAttribute("question", m);
return "admin/questionDetail";
}
@RequestMapping("add")
@ResponseBody
public ServerResponse<Question> add(Question question) {
question.setIsdel(0);
question.setoptime(Const.getFullTime());
boolean flag=questionService.save(question);
if(flag){
return new ServerResponse<Question>("0", "操作成功!");
}else{
return new ServerResponse<Question>("1", "操作失败!");
}
}
@RequestMapping("update")
@ResponseBody
public ServerResponse<Question> update(Question question) {
boolean flag = questionService.updateById(question);
if (flag) {
return new ServerResponse<Question>("0", "操作成功!");
} else {
return new ServerResponse<Question>("1", "操作失败!");
}
}
@RequestMapping("delete")
@ResponseBody
public ServerResponse<Question> delete(Question question) {
question.setIsdel(1);
boolean flag = questionService.updateById(question);
if (flag) {
return new ServerResponse<Question>("0", "删除成功!");
} else {
return new ServerResponse<Question>("1", "删除失败!");
}
}
@RequestMapping(value="/upload", produces = "text/html; charset=utf-8")
@ResponseBody
public String upload(multipartfile file, HttpServletRequest request,HttpServletResponse response) throws IOException {
//传到服务器
//得到真实路径
String path=request.getSession().getServletContext().getRealPath("/images");
//目标文件
//目标文件
String fileName=path+"\\"+file.getoriginalFilename();
fileName=URLDecoder.decode(fileName, "UTF-8");
file.transferTo(new File(fileName));
System.out.print("名字:"+file.getoriginalFilename());
return file.getoriginalFilename();
}
@RequestMapping("/upfile")
@ResponseBody
public JSONObject upfile(multipartfile file, HttpServletRequest request,HttpServletResponse response) throws IOException {
//传到服务器
//得到真实路径
String path=request.getSession().getServletContext().getRealPath("/images");
//目标文件
String fileName=path+"\\"+file.getoriginalFilename();
fileName=URLDecoder.decode(fileName, "UTF-8");
file.transferTo(new File(fileName));
JSONObject result=new JSONObject();
result.put("errno", 0);
JSONArray data=new JSONArray();
data.add(Const.ROOT+"images/"+file.getoriginalFilename());
result.put("data", data);
result.put("filename",file.getoriginalFilename());
return result;
}
@RequestMapping(value="/download")
public ResponseEntity<byte[]> download(HttpServletRequest request,
@RequestParam("filename") String filename,
Model model)throws Exception {
//下载文件路径
//String path = request.getSession().getServletContext().getRealPath("/images/");
String path=request.getSession().getServletContext().getRealPath("/images");
//找到服务器里面的中文文件,Tomcat8就不需要
//filename = new String(filename.getBytes("iso-8859-1"),"UTF-8");
String truepath=URLDecoder.decode(path + File.separator + filename, "UTF-8");
File file = new File(truepath);
HttpHeaders headers = new HttpHeaders();
//通知浏览器以attachment(下载方式)打开图片,所有浏览器都会使用本地编码,即中文操作系统使用GBK
//下载框中显示的文件名,解决中文名称乱码问题
headers.setContentdispositionFormData("attachment", new String(filename.getBytes("GBK"),"iso-8859-1"));
//application/octet-stream : 二进制流数据(最常见的文件下载)。
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFiletoByteArray(file),
headers, HttpStatus.CREATED);
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~