• 基于SSM的二手书店推荐系统(商城)


    博主主页猫头鹰源码

    博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

    主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

    文末联系获取

    项目介绍: 

    二手书交易平台为想要购买二手书的用户提供了一个优质的线上交易平台。根据使用对象的区别,本系统为三类不同的使用人群提供了不同的权限,它们分别是初次浏览没有注册的一类用户,被统称为非会员,非会员可以在本二手书籍交易系统中进行一些简单操作,例如浏览基本的商品信息、查看用户的评论等等;其次,当用户进行注册后,将会自动成为会员,会员即可以在本系统中进行一些核心业务的操作,比如购买商品、查看订单以及评价等等;最后,在本系统中权限最高的无疑是拥有后台管理权限的管理员,管理员在保障用户相关信息、书籍相关信息的完整性之余,还对这些信息有着绝对的控制权,除此之外,还可以对订单信息等等进行一系列的管理。为相关领域的研究和学习提供重要的参考。

    项目功能:

    用户:登录注册,商品展示、资讯、按照分类查看、充值、购物车,我的订单
    管理员:登录、用户管理、资讯管理、商品管理、订单管理、商品分类管理等

    系统包含技术:

    后端:SSM
    前端:bootstrap、js、css等
    开发工具:eclipse
    数据库:mysql 5.7
    JDK版本:jdk1.8
    tomcat版本:tomcat8

    部分截图说明:

    下面是首页

    商品页面,可以根据名字搜索

     查看商品详情

     可以查看所有资讯,可以进行搜索

     资讯详情

     登录后可以进行购书

     支付后可以看到我的订单

    后台登录

    管理员对用户进行管理

     管理员对新闻进行维护

     对新闻进行修改

     管理员对商品进行管理

     管理员对订单统计

    部分代码:

    文件维护

    1. // 文件上传
    2. public String fileUpload(@RequestParam(value="file",required=false)MultipartFile file,
    3. HttpServletRequest request,String img){
    4. String path=request.getSession().getServletContext().getRealPath("upload");
    5. String fileName=file.getOriginalFilename();
    6. File targetFile=new File(path,fileName);
    7. if(!targetFile.exists()){
    8. targetFile.mkdirs();
    9. }
    10. try {
    11. file.transferTo(targetFile);
    12. } catch (IllegalStateException e) {
    13. e.printStackTrace();
    14. } catch (IOException e) {
    15. e.printStackTrace();
    16. }
    17. String pa=request.getContextPath()+"/upload/"+fileName;
    18. System.out.println("path==="+pa);
    19. if(fileName!=null&&!fileName.equals("")){
    20. img=fileName;
    21. }else{
    22. img="zanwu.jpg";
    23. }
    24. return img;
    25. }

    订单维护

    1. // 退货 tuiHuo.do
    2. @RequestMapping("tuiHuo.do")
    3. public String tuiHuo(HttpServletRequest request, Forder order, HttpSession session, int id) {
    4. Sysuser u = (Sysuser) session.getAttribute("user");
    5. // Timestamp time=new Timestamp(System.currentTimeMillis());
    6. if (u == null) {
    7. return "nologin";
    8. } else {
    9. order = orderService.getById(id);
    10. order.setStatus("待确认退货");
    11. order.setKid(id);
    12. orderService.update(order);
    13. return "redirect:shopList.do";
    14. }
    15. }
    16. // 确认退货 queRenTuiHuo.do
    17. @RequestMapping("admin/queRenTuiHuo.do")
    18. public String queRenTuiHuo(HttpServletRequest request, Forder order, HttpSession session, int id) {
    19. order = orderService.getById(id);
    20. order.setStatus("已退货,退款");
    21. order.setKid(id);
    22. Sysuser u = userService.getById(order.getUid());
    23. u.setMoney((u.getMoney()) + order.getZprice());
    24. u.setId(order.getUid());
    25. userService.update(u);
    26. Map<String, Object> cmap = new HashMap<String, Object>();
    27. cmap.put("oid", order.getOno());
    28. List<Fshop> slist = shopService.getAll(cmap);
    29. for (Fshop ss : slist) {
    30. ss.setStatus("已退货,退款");
    31. ss.setId(ss.getId());
    32. Goods gg = goodsService.getById(ss.getFid());
    33. gg.setKcnum(gg.getKcnum() + ss.getNum());
    34. gg.setXnum(gg.getXnum() - ss.getNum());
    35. gg.setId(ss.getFid());
    36. goodsService.update(gg);
    37. shopService.update(ss);
    38. }
    39. orderService.update(order);
    40. return "redirect:ForderList.do";
    41. }
    42. @RequestMapping("admin/juJue.do")
    43. public String juJue(int id, ModelMap map, HttpSession session) {
    44. Forder order = orderService.getById(id);
    45. order.setStatus("已发货");
    46. order.setKid(id);
    47. orderService.update(order);
    48. return "redirect:ForderList.do";
    49. }
    50. // 购买
    51. @RequestMapping("addOrder.do")
    52. public String addOrder(HttpServletRequest request, Forder order, HttpSession session) {
    53. Sysuser u = (Sysuser) session.getAttribute("user");
    54. Timestamp time = new Timestamp(System.currentTimeMillis());
    55. if (u == null) {
    56. return "login";
    57. } else {
    58. if (order.getZprice() > u.getMoney()) {
    59. session.setAttribute("info", "余额不足,请充值!!");
    60. return "redirect:doAddChongZhi.do";
    61. } else {
    62. String ono = Info.getID();
    63. System.out.println("订单号rr===" + ono);
    64. Map<String, Object> smap = new HashMap<String, Object>();
    65. smap.put("uid", u.getId());
    66. smap.put("status", "购物车");
    67. List<Fshop> slist = shopService.getAll(smap);
    68. for (Fshop fs : slist) {
    69. Fshop ff = shopService.getById(fs.getId());
    70. Goods gg = goodsService.getById(ff.getFid());
    71. gg.setXnum(gg.getXnum() + ff.getNum());
    72. gg.setId(ff.getFid());
    73. // gg.setKcnum(gg.getKcnum() - ff.getNum());
    74. goodsService.update(gg);
    75. ff.setStatus("已支付");
    76. ff.setId(fs.getId());
    77. ff.setOid(ono);
    78. shopService.update(ff);
    79. Forder fo = new Forder();
    80. fo.setIsdel("单个订单");
    81. fo.setOno(ono);
    82. fo.setPubtime(time.toString().substring(0, 10));
    83. fo.setStime(time.toString().substring(0, 19));
    84. fo.setUid(u.getId());
    85. fo.setStatus("已支付");
    86. fo.setFid(gg.getId());
    87. fo.setAmount(ff.getNum());
    88. fo.setZprice(gg.getPrice() * ff.getNum());
    89. orderService.add(fo);
    90. }
    91. Double dd = u.getMoney();
    92. Double dou = dd - order.getZprice();
    93. u.setMoney(dou);
    94. u.setId(u.getId());
    95. userService.update(u);
    96. return "success";
    97. }
    98. }
    99. }
    100. // 订单详情查看showOrderDetail.do
    101. @RequestMapping("admin/showOrderDetail.do")
    102. public String showOrderDetail(int id, ModelMap map, HttpSession session) {
    103. Forder order = orderService.getById(id);
    104. Map<String, Object> gmap = new HashMap<String, Object>();
    105. gmap.put("oid", order.getOno());
    106. map.put("list", shopService.getAll(gmap));
    107. map.put("order", order);
    108. map.put("glist", goodsService.getAll(null));
    109. map.put("ulist", userService.getAll(null));
    110. return "admin/order_detail";
    111. }

    首页展示

    1. // 首页显示内容
    2. @RequestMapping("index.do")
    3. public String showIndex(ModelMap map){
    4. Map<String, Object> pmap=new HashMap<String,Object>();
    5. Map<String, Object> pmap2=new HashMap<String,Object>();
    6. Map<String, Object> jzmap=new HashMap<String,Object>();
    7. Map<String, Object> jmap=new HashMap<String,Object>();
    8. Map<String, Object> jmap2=new HashMap<String,Object>();
    9. pmap.put("pageno", 0);
    10. pmap.put("pageSize", 4);
    11. pmap2.put("pageno", 0);
    12. pmap2.put("pageSize", 10);
    13. jmap.put("pageno", 0);
    14. jmap.put("pageSize", 10);
    15. jmap.put("isshow", "推荐");
    16. jmap2.put("pageno", 0);
    17. jmap2.put("pageSize", 10);
    18. jmap2.put("tpstatus", "特价");
    19. jzmap.put("pageno", 0);
    20. jzmap.put("pageSize", 12);
    21. List<News> list=newsService.getByPage(pmap);
    22. List<News> nlist2=newsService.getByPage(pmap2);
    23. List<Goods> clist=jzService.getByPage2(jzmap);
    24. List<Goods> tlist=jzService.getByPage2(jmap2);
    25. List<Goods> jzlist=jzService.getAll(jmap);
    26. List<Ftype> alist=typeService.getAll(null);
    27. map.put("adlist", alist);
    28. map.put("nlist", list);
    29. map.put("nlist2", nlist2);
    30. map.put("clist", clist);
    31. map.put("jlist", jzlist);
    32. map.put("tlist", tlist);
    33. return "index2";
    34. }

    以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

  • 相关阅读:
    阿里18年架构师,带你分析经典算法应用思路,探究分布式背后原理
    python学习笔记(二)
    Mali GPU“补丁缺口”让 Android 用户容易受到攻击
    IP-Guard客户端连接中继器和主服务器的优先级是什么?
    tail命令应用
    linux提权
    Linux学习-72-GRUB加密方法(2种加密方式)
    Springboot 引入 Redis 并配置序列化和封装RedisTemplate
    过拟合在测试集上的表现,利用卷积性质求卷积
    如何开发和利用美容院顾客资源
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/126651593