作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目分为管理员与普通用户两种角色

后台管理员功能:

求购管理,收购管理,学生管理,评论管理,建议管理,新闻公告,网站设置,订单管理,图书管理。
1.求购管理实现了查看前台用户发布的求购信息和删除功能
2.收购管理实现了学生发布的二手书籍商品的查看和收购
3.学生管理实现了前台用户信息的查看和账号冻结功能
4.评论管理实现了对发布的图书的留言评论信息的查看和删除功能
5.建议管理实现了用户对发布的二手书籍的建议查看和删除
6.新闻公告实现了新闻公告的发布的增删改查,在前台首页显示
7.网站设置分为友情链接和站点设置
A、友情链接实现了前台下面的友情网站的增删改查,(比如发布一个网址)
B、站点设置实现了前台显示logo和网站名称的增删改查
8.订单管理实现了用户购买的订单信息的查看
9.图书管理实现了分类列表和图书列表
A、分类列表实现书籍分类的增删改查(二级分类)

B、图书列表实现了被收购的二手书籍在这里进行编辑,上架下架,是否进行推荐(上架后,用户可以进行购买)

前台用户功能:

注册登录,个人信息的管理,我发布的出售书籍,我发布的求购书籍管理,我建议的书籍,查看书籍订单,求购专区查看等等功能。
1.个人信息实现了个人信息的管理和密码修改
2.我发布的出售书籍实现了可以对出售的书籍进行增删改查(被官网收购后只能查看)
3.我发布的求购书籍实现了可以对求购书籍进行增删改查
4.我建议的书籍实现了对某个上架的书籍的建议查看
5.查看书籍订单实现了查看购买的书籍
6.求购专区实现了查看全部求购信息
7.前台书籍信息的查看,新闻公告的查看等等功能

使用人群:
正在做毕设的学生,或者需要项目实战练习的Java学习者

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 8.0/5.7版本;

6.是否Maven项目:是;

技术栈

SpringBoot+springJpa+freemarker+CSS+JavaScript+mysql

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application-dev.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,前台地址:在浏览器中输入http://localhost:8081/home/index/index 访问
管理员账号密码:admin/123456

后台地址:http://localhost:8081/system/login

普通用户账号密码:111/111

运行截图

前台界面

管理员界面

相关代码

HomeStudentController

package com.yuanlrc.campus_market.controller.home;import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import com.yuanlrc.campus_market.bean.CodeMsg;
import com.yuanlrc.campus_market.bean.Result;
import com.yuanlrc.campus_market.constant.SessionConstant;
import com.yuanlrc.campus_market.entity.common.Comment;
import com.yuanlrc.campus_market.entity.common.Goods;
import com.yuanlrc.campus_market.entity.common.ReportGoods;
import com.yuanlrc.campus_market.entity.common.Student;
import com.yuanlrc.campus_market.entity.common.WantedGoods;
import com.yuanlrc.campus_market.service.common.CommentService;
import com.yuanlrc.campus_market.service.common.GoodsCategoryService;
import com.yuanlrc.campus_market.service.common.GoodsService;
import com.yuanlrc.campus_market.service.common.ReportGoodsService;
import com.yuanlrc.campus_market.service.common.StudentService;
import com.yuanlrc.campus_market.service.common.WantedGoodsService;
import com.yuanlrc.campus_market.util.SessionUtil;
import com.yuanlrc.campus_market.util.ValidateEntityUtil;/*** 学生中心控制器* @author Administrator**/
@RequestMapping("/home/student")
@Controller
public class HomeStudentController {@Autowiredprivate GoodsCategoryService goodsCategoryService;@Autowiredprivate StudentService studentService;@Autowiredprivate GoodsService goodsService;@Autowiredprivate WantedGoodsService wantedGoodsService;@Autowiredprivate ReportGoodsService reportGoodsService;@Autowiredprivate CommentService commentService;/*** 学生登录主页* @param model* @return*/@RequestMapping(value="/index",method=RequestMethod.GET)public String index(Model model){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);model.addAttribute("goodsList", goodsService.findByStudent(loginedStudent));model.addAttribute("wantedGoodsList", wantedGoodsService.findByStudent(loginedStudent));model.addAttribute("reportGoodsList", reportGoodsService.findByStudent(loginedStudent));return "home/student/index";}/*** 修改个人信息提交表单* @param student* @return*/@RequestMapping(value="/edit_info",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> editInfo(Student student){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);loginedStudent.setAcademy(student.getAcademy());loginedStudent.setGrade(student.getGrade());loginedStudent.setMobile(student.getMobile());loginedStudent.setNickname(student.getNickname());loginedStudent.setQq(student.getQq());loginedStudent.setSchool(student.getSchool());if(studentService.save(loginedStudent) == null){return Result.error(CodeMsg.HOME_STUDENT_EDITINFO_ERROR);}SessionUtil.set(SessionConstant.SESSION_STUDENT_LOGIN_KEY,loginedStudent);return Result.success(true);}/*** 保存用户头像* @param headPic* @return*/@RequestMapping(value="/update_head_pic",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> updateHeadPic(@RequestParam(name="headPic",required=true)String headPic){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);loginedStudent.setHeadPic(headPic);;if(studentService.save(loginedStudent) == null){return Result.error(CodeMsg.HOME_STUDENT_EDITINFO_ERROR);}SessionUtil.set(SessionConstant.SESSION_STUDENT_LOGIN_KEY,loginedStudent);return Result.success(true);}/*** 物品发布页面* @param model* @return*/@RequestMapping(value="/publish",method=RequestMethod.GET)public String publish(Model model){return "home/student/publish";}/*** 商品发布表单提交* @param goods* @return*/@RequestMapping(value="/publish",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> publish(Goods goods){CodeMsg validate = ValidateEntityUtil.validate(goods);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(goods.getGoodsCategory() == null || goods.getGoodsCategory().getId() == null || goods.getGoodsCategory().getId().longValue() == -1){return Result.error(CodeMsg.HOME_STUDENT_PUBLISH_CATEGORY_EMPTY);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);goods.setStudent(loginedStudent);if(goodsService.save(goods) == null){return Result.error(CodeMsg.HOME_STUDENT_PUBLISH_ERROR);}return Result.success(true);}/*** 物品编辑页面* @param id* @param model* @return*/@RequestMapping(value="/edit_goods",method=RequestMethod.GET)public String publish(@RequestParam(name="id",required=true)Long id,Model model){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);Goods goods = goodsService.find(id, loginedStudent.getId());if(goods == null){model.addAttribute("msg", "物品不存在!");return "error/runtime_error";}model.addAttribute("goods", goods);return "home/student/edit_goods";}/*** 物品编辑表单提交* @param goods* @return*/@RequestMapping(value="/edit_goods",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> editGoods(Goods goods){CodeMsg validate = ValidateEntityUtil.validate(goods);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(goods.getGoodsCategory() == null || goods.getGoodsCategory().getId() == null || goods.getGoodsCategory().getId().longValue() == -1){return Result.error(CodeMsg.HOME_STUDENT_PUBLISH_CATEGORY_EMPTY);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);Goods existGoods = goodsService.find(goods.getId(), loginedStudent.getId());if(existGoods == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}existGoods.setBuyPrice(goods.getBuyPrice());existGoods.setContent(goods.getContent());existGoods.setGoodsCategory(goods.getGoodsCategory());existGoods.setName(goods.getName());existGoods.setPhoto(goods.getPhoto());existGoods.setSellPrice(goods.getSellPrice());if(goodsService.save(existGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_EDIT_ERROR);}return Result.success(true);}/*** 用户设置是否擦亮物品* @param id* @param flag* @return*/@RequestMapping(value="/update_flag",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> updateFlag(@RequestParam(name="id",required=true)Long id,@RequestParam(name="flag",required=true,defaultValue="0")Integer flag){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);Goods existGoods = goodsService.find(id, loginedStudent.getId());if(existGoods == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}existGoods.setFlag(flag);if(goodsService.save(existGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_EDIT_ERROR);}return Result.success(true);}/*** 修改物品状态* @param id* @param status* @return*/@RequestMapping(value="/update_status",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> updateStatus(@RequestParam(name="id",required=true)Long id,@RequestParam(name="status",required=true,defaultValue="2")Integer status){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);Goods existGoods = goodsService.find(id, loginedStudent.getId());if(existGoods == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}existGoods.setStatus(status);if(goodsService.save(existGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_EDIT_ERROR);}return Result.success(true);}/*** 发布求购物品页面* @param model* @return*/@RequestMapping(value="/publish_wanted",method=RequestMethod.GET)public String publishWanted(Model model){return "home/student/publish_wanted";}/*** 求购物品发布提交* @param wantedGoods* @return*/@RequestMapping(value="/publish_wanted",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> publishWanted(WantedGoods wantedGoods){CodeMsg validate = ValidateEntityUtil.validate(wantedGoods);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);wantedGoods.setStudent(loginedStudent);if(wantedGoodsService.save(wantedGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_PUBLISH_ERROR);}return Result.success(true);}/*** 编辑求购物品页面* @param id* @param model* @return*/@RequestMapping(value="/edit_wanted_goods",method=RequestMethod.GET)public String editWantedGoods(@RequestParam(name="id",required=true)Long id,Model model){WantedGoods wantedGoods = wantedGoodsService.find(id);if(wantedGoods == null){model.addAttribute("msg", "求购物品不存在!");return "error/runtime_error";}model.addAttribute("wantedGoods", wantedGoods);return "home/student/edit_wanted";}/*** 编辑求购信息表单提交* @param wantedGoods* @return*/@RequestMapping(value="/edit_wanted_goods",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> editWantedGoods(WantedGoods wantedGoods){CodeMsg validate = ValidateEntityUtil.validate(wantedGoods);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(wantedGoods.getId() == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}WantedGoods existWantedGoods = wantedGoodsService.find(wantedGoods.getId());if(existWantedGoods == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);if(existWantedGoods.getStudent().getId().longValue() != loginedStudent.getId().longValue()){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}existWantedGoods.setContent(wantedGoods.getContent());existWantedGoods.setName(wantedGoods.getName());existWantedGoods.setSellPrice(wantedGoods.getSellPrice());existWantedGoods.setTradePlace(wantedGoods.getTradePlace());if(wantedGoodsService.save(existWantedGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_PUBLISH_ERROR);}return Result.success(true);}/*** 删除求购物品* @param id* @return*/@RequestMapping(value="/delete_wanted",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> deleteWanted(@RequestParam(name="id",required=true)Long id){WantedGoods wantedGoods = wantedGoodsService.find(id);if(wantedGoods == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);if(wantedGoods.getStudent().getId().longValue() != loginedStudent.getId().longValue()){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}wantedGoodsService.delete(id);return Result.success(true);}/*** 举报物品* @param reportGoods* @return*/@RequestMapping(value="/report_goods",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> reportGoods(ReportGoods reportGoods){CodeMsg validate = ValidateEntityUtil.validate(reportGoods);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(reportGoods.getGoods() == null || reportGoods.getGoods().getId() == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);ReportGoods find = reportGoodsService.find(reportGoods.getGoods().getId(), loginedStudent.getId());if(find != null){return Result.error(CodeMsg.HOME_STUDENT_REPORTED_GOODS);}reportGoods.setStudent(loginedStudent);if(reportGoodsService.save(reportGoods) == null){return Result.error(CodeMsg.HOME_STUDENT_REPORT_GOODS_ERROR);}return Result.success(true);}/*** 删除举报信息* @param id* @return*/@RequestMapping(value="/delete_report",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> deleteReport(@RequestParam(name="id",required=true)Long id){ReportGoods reportGoods = reportGoodsService.find(id);if(reportGoods == null){return Result.error(CodeMsg.HOME_STUDENT_REPORTED_NO_EXIST);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);if(reportGoods.getStudent().getId().longValue() != loginedStudent.getId().longValue()){return Result.error(CodeMsg.HOME_STUDENT_REPORTED_NO_EXIST);}reportGoodsService.delete(id);return Result.success(true);}/*** 获取个人物品统计信息* @return*/@RequestMapping(value="/get_stats",method=RequestMethod.POST)@ResponseBodypublic Result<Map<String, Integer>> getStats(){Map<String, Integer> ret = new HashMap<String, Integer>();Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);List<Goods> findByStudent = goodsService.findByStudent(loginedStudent);Integer goodsTotal = findByStudent.size();//已发布的商品总数Integer soldGoodsTotal = 0;Integer downGoodsTotal = 0;Integer upGoodsTotal = 0;for(Goods goods : findByStudent){if(goods.getStatus() == Goods.GOODS_STATUS_SOLD){soldGoodsTotal++;}if(goods.getStatus() == Goods.GOODS_STATUS_DOWN){downGoodsTotal++;}if(goods.getStatus() == Goods.GOODS_STATUS_UP){upGoodsTotal++;}}ret.put("goodsTotal", goodsTotal);ret.put("soldGoodsTotal", soldGoodsTotal);ret.put("downGoodsTotal", downGoodsTotal);ret.put("upGoodsTotal", upGoodsTotal);return Result.success(ret);}/*** 评论物品* @param comment* @return*/@RequestMapping(value="/comment",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> comment(Comment comment){CodeMsg validate = ValidateEntityUtil.validate(comment);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(comment.getGoods() == null || comment.getGoods().getId() == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);Goods find = goodsService.findById(comment.getGoods().getId());if(find == null){return Result.error(CodeMsg.HOME_STUDENT_GOODS_NO_EXIST);}comment.setStudent(loginedStudent);if(commentService.save(comment) == null){return Result.error(CodeMsg.HOME_STUDENT_COMMENT_ADD_ERROR);}return Result.success(true);}/*** 修改学生用户密码* @param oldPwd* @param newPwd* @return*/@RequestMapping(value="/edit_pwd",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> editPwd(@RequestParam(name="oldPwd",required=true)String oldPwd,@RequestParam(name="newPwd",required=true)String newPwd){Student loginedStudent = (Student)SessionUtil.get(SessionConstant.SESSION_STUDENT_LOGIN_KEY);if(!loginedStudent.getPassword().equals(oldPwd)){return Result.error(CodeMsg.HOME_STUDENT_EDITPWD_OLD_ERROR);}loginedStudent.setPassword(newPwd);if(studentService.save(loginedStudent) == null){return Result.error(CodeMsg.HOME_STUDENT_EDITINFO_ERROR);}SessionUtil.set(SessionConstant.SESSION_STUDENT_LOGIN_KEY, loginedStudent);return Result.success(true);}
}

如果也想学习本系统,下面领取。关注并回复:104springboot

Java项目:springBoot+Mysql实现的校园二手在线交易平台系统相关推荐

  1. 微信小程序的校园二手物品交易平台系统 uniapp 小程序

    在大学校园里,存在着很多的二手商品,但是由于信息资源的不流通以及传统二手商品信息交流方式的笨拙,导致了很多仍然具有一定价值或者具有非常价值的二手商品的囤积,乃至被当作废弃物处理.现在通过微信小程序的校 ...

  2. 计算机毕业设计springboot+vue基本微信小程序的校园二手物品交易平台系统

    项目介绍 目的:设计一个同学们能自由发布和浏览求购或卖出商品信息的校园二手交易小程序,解决信息的不流通以及传统二手商品信息交流方式的笨拙等问题. 意义:在大学校园里,存在着很多的二手商品,但是由于信息 ...

  3. springboot+vue基本微信小程序的校园二手物品交易平台系统

    在大学校园里,存在着很多的二手商品,但是由于信息资源的不流通以及传统二手商品信息交流方式的笨拙,导致了很多仍然具有一定价值或者具有非常价值的二手商品的囤积,乃至被当作废弃物处理.现在通过微信小程序的校 ...

  4. jsp+ssm+mysql实现的校园二手市场交易平台源码

    **# 功能:实现简单的商城交易网站 **# 框架:SSM **# 数据库:MySQL 截图: 数据库表: CREATE TABLE collect_table ( id int(11) NOT NU ...

  5. jsp+ssm+mysql实现的校园二手市场交易平台

    **# 功能:实现简单的商城交易网站 **# 框架:SSM **# 数据库:MySQL 截图: 数据库表: CREATE TABLE collect_table ( id int(11) NOT NU ...

  6. (附源码)springboot基于java的校园二手书籍交易平台 毕业设计131558

    校园二手书籍交易平台的设计与实现 摘要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领域 ...

  7. (附源码)基于java的校园二手书籍交易平台 毕业设计131558

    校园二手书籍交易平台的设计与实现 摘要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领域 ...

  8. springboot校园二手书籍交易平台 毕业设计-附源码131558

    校园二手书籍交易平台的设计与实现 摘 要 随着计算机技术和网络技术的迅速发展,网上购物已经融入了人们的日常生活中,电子商务也因此流行起来.国内的京东商城.天猫.苏宁易购等大型网站在图书销售等商品零售领 ...

  9. Java项目:ssm+mysql+jsp实现的校园二手市场交易平台源码

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本系统分为前后台,主要实现的功能有: 前台:(1)二手物品信息查看.搜索. (2)学生 ...

最新文章

  1. python2.x文件编码
  2. JVM系列之内存泄漏
  3. java计算面积的方法_JAVA多态计算面积main函数调用方法
  4. python OOP(2)
  5. C# 替换桌面背景图片
  6. 数据结构(C语言版 第2版)课后习题答案 严蔚敏 编著
  7. 010 Editor
  8. DNS解析出错导致网站在部分地区无法打开
  9. JavaEE - 正则表达式、日期时间类、Math、Random、System、Runtime、大数值运算类
  10. 坐标中国|中国速度,挑战极限驱动发展“快车”
  11. 【转】如何使html5语义化标签兼容ie
  12. Excel和WPS 下设置多种不同条件的条件格式
  13. 设计模式——设计模式名中英文对照
  14. 用计算机怎么管理小米路由器,小米路由器3做二级路由器怎么设置?小米路由器3设置详细教程...
  15. IOl流的分类与使用
  16. [ZT]千兆光纤 GBIC和SFP接口规格介绍
  17. 速营社怎么赚钱,可以当副业吗
  18. 【Java 8 新特性】Java 8 Collectors:joining()使用示例
  19. 偶然发现的一篇文章 激励自己吧。
  20. Xmouse 修改鼠标侧面按钮

热门文章

  1. mysql行锁索引问题_Mysql锁机制--索引失效导致行锁变表锁
  2. 浮点精度异常检测技术
  3. UCanCode发布升级E-Form++可视化源码组件库2018全新版 !
  4. 《转载》【国际惯例】华为十年,干货送给后来人
  5. IDM(功能强大的下载工具)IDM可以批量下载视频吗?
  6. Julia: HDF5与JLD2两个库的比较
  7. CTF解题记录-Misc-图片隐写术+摩尔密码
  8. LeetCode-50.Pow(x, n)
  9. 多线程和线程安全 同步代码 lock锁
  10. matlab sap2000,MATLAB调用SAP2000-原创例子