博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
研究背景:
一个行业发展起来,自然会诞生相关的交流和分享网站,随着计算机技术的发展,IT技术学习的人越来越多,人们在进行IT技术交流和分享的时候,都是基于线下好友间的沟通交流、互相分享,有时间地点的限制,在当今社会已经无法满足用户的需求,针对这一情况,结合目前计算机技术的发展,特开发了本基于Spring Boot的IT技术交流和分享平台。IT技术交流和分享平台与传统的交流和分享方式相比,有着无法比拟的优点,网络共享、传播速度快的特点,用户可以随时随地进行IT技术交流和分享,同时管理员通过计算机对系统信息进行管理,大大提高了IT技术交流和分享效率。
功能介绍:
系统包含技术:
后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
用户在系统前台可查看系统信息,系统前台主界面展示如图所示。
没有账号的用户可进行注册操作,用户注册界面展示如图所示。
用户在登录界面可输入登录信息,点击登录按钮进行登录系统,用户登录界面展示如图所示。
用户可选择笔记分享查看详情信息,笔记分享详情界面展示如图所示。
管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面展示如图所示。
管理员在用户管理界面可查看所有用户信息,并可对其进行编辑和删除操作,用户管理界面展示如图所示。
管理员可增删改查笔记类型信息,笔记类型管理界面展示如图所示。
管理员可增删改查笔记分享信息,笔记分享管理界面展示如图所示。
部分代码:
/*** 笔记分享* 后端接口* @author * @email * @date 2021-04-02 22:11:50*/
@RestController
@RequestMapping("/bijifenxiang")
public class BijifenxiangController {@Autowiredprivate BijifenxiangService bijifenxiangService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang,HttpServletRequest request){EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang, HttpServletRequest request){EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BijifenxiangEntity bijifenxiang){EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( bijifenxiang, "bijifenxiang")); return R.ok().put("data", bijifenxiangService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(BijifenxiangEntity bijifenxiang){EntityWrapper< BijifenxiangEntity> ew = new EntityWrapper< BijifenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( bijifenxiang, "bijifenxiang")); BijifenxiangView bijifenxiangView = bijifenxiangService.selectView(ew);return R.ok("查询笔记分享成功").put("data", bijifenxiangView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);bijifenxiang.setClicknum(bijifenxiang.getClicknum()+1);bijifenxiang.setClicktime(new Date());bijifenxiangService.updateById(bijifenxiang);return R.ok().put("data", bijifenxiang);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);bijifenxiang.setClicknum(bijifenxiang.getClicknum()+1);bijifenxiang.setClicktime(new Date());bijifenxiangService.updateById(bijifenxiang);return R.ok().put("data", bijifenxiang);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R vote(@PathVariable("id") String id,String type){BijifenxiangEntity bijifenxiang = bijifenxiangService.selectById(id);if(type.equals("1")) {bijifenxiang.setThumbsupnum(bijifenxiang.getThumbsupnum()+1);} else {bijifenxiang.setCrazilynum(bijifenxiang.getCrazilynum()+1);}bijifenxiangService.updateById(bijifenxiang);return R.ok("投票成功");}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){bijifenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bijifenxiang);bijifenxiangService.insert(bijifenxiang);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){bijifenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bijifenxiang);bijifenxiangService.insert(bijifenxiang);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BijifenxiangEntity bijifenxiang, HttpServletRequest request){//ValidatorUtils.validateEntity(bijifenxiang);bijifenxiangService.updateById(bijifenxiang);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){bijifenxiangService.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<BijifenxiangEntity> wrapper = new EntityWrapper<BijifenxiangEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = bijifenxiangService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,BijifenxiangEntity bijifenxiang, HttpServletRequest request,String pre){EntityWrapper<BijifenxiangEntity> ew = new EntityWrapper<BijifenxiangEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicknum");params.put("order", "desc");PageUtils page = bijifenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bijifenxiang), params), params));return R.ok().put("data", page);}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~