基于SSM的在线商城系统(最新)

news/2024/11/8 0:50:25/

系统使用技术:SSM

前端技术:bootstrap、css、js等

开发工具:eclipse或idea

数据库:mysql5.7

项目介绍:

该系统适合选择框架为SSM,基础中等或以下,做类似商城系统,要求页面美观度高的同学。主要功能包括:完整的商城业务流程,比如用户管理,商品管理、订单管理、分类管理等,满足商城的基本要求。

下面我们来看看功能。

系统登陆界面:

http://localhost:8080/technology/page/login.html 

首页

查看热销商品

分类查看

可以按照分类查看商品

商品详情

可以查看商品详情

个人中心

用户登录后可以查看个人信息

购物车

可以查看购物车内商品

我的订单

可以查看个人订单信息

后台首页

可以统计商品、订单信息

用户管理

对用户进行管理

商品管理

对商品进行管理

订单管理

对订单进行管理

 代码

用户登录:

/*** produces="application/json;charset=UTF-8":防止ajax获取中文时出现乱码* @return 将数据回传给ajax*/@ResponseBody@RequestMapping(value = "/usertologin", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")public Object usertologin(Integer uid,String upswd,HttpServletResponse response,HttpSession session) {//创建 JSONObject 对象,它会把放入的数据以 json 的数据格式存储,对于集合类型的数据还要用到 JSONArray 数组JSONObject object = new JSONObject();int i = loginSvc.checkUid(uid);if (i > 0) { // 证明账号存在,进行密码验证object.put("num_i", i);object.put("SUCCESS_MESSAGE", "账号验证成功!");int j = loginSvc.checkLogin(new User(uid, upswd));if (j > 0) { // 密码正确,进行相同账号的登录验证object.put("num_j", j);object.put("SUCCESS_MESSAGE2", "密码验证成功!");User user_session = (User) CoreUtil.getSession().getAttribute(Constants.LOGIN_USER);if (user_session!=null) { //证明用户已登录,不允许相同账号的登录object.put("ERROR_MESSAGE", "该账号已登录!");return object.toString();} else {  //尚未有该用户登录,需要获取个人信息,保存用户名等,用以显示/*String ipAddr = ToolsUtil.getIpAddr(request);System.out.println("当前用户IP为:" + ipAddr);*/User user = loginSvc.showUserInfo(uid);/*保存信息,用于验证登录拦截器*/session.setAttribute(Constants.LOGIN_USER, user);session.setAttribute("myinfo", user);String lasttime = ToolsUtil.getTime("yyyy-MM-dd HH:mm:ss", 0);User user2 = loginSvc.showUserInfo(uid);user2.setLasttime(lasttime);int k = loginSvc.upUser(user2); // 此处可以对k进行判断,提示等String logintime = ToolsUtil.getTime("yyyy年MM月dd日 HH:mm:ss", 0);// 登录日志记录,此处为日志插入单独写了一个方法,调用即可String descb = "您在【" + logintime + "】登录了本商城";Log log = ToolsUtil.insertLog(uid, descb);int m = loginSvc.insertUserLog(log);}} else {object.put("ERROR_MESSAGE", "密码错误,请重新输入!");}} else {object.put("ERROR_MESSAGE", "账号不存在!");}return object.toString();   //由于前端ajax在接收服务器数据时一般是字符串,因此要用“.toString()”方法转化}

生成订单:

@RequestMapping("/addOrder")public String addOrder(String orderaddress,@RequestParam(required = false) Integer[] pid,@RequestParam(required = false) int[] pronum,HttpSession session) {Order order = new Order();int id = getLoginUserId();order.setUid(id);order.setOrderaddress(orderaddress);/*Integer[] pid = {100001, 100002};int[] pronum = {23, 31};*/List<Map<String, Object>> prolist = productSvc.proSelByCIds(pid, pronum);List<OrderDetail> orderDetails = new ArrayList<OrderDetail>();for (Map<String, Object> aProlist : prolist) {OrderDetail od = new OrderDetail();od.setPid((Integer) aProlist.get("pid"));od.setPimg((String) aProlist.get("pimg"));od.setPname((String) aProlist.get("pname"));od.setPrice((Float) aProlist.get("price"));od.setOdetailnum((Integer) aProlist.get("pronum"));orderDetails.add(od);}/* 邮费 10-30 随机 */Random random = new Random();order.setPostalfee(random.nextInt(20) + 10);int i = orderSvc.addOrder(order, orderDetails); //会调用Dao,向order表插入数据if(i>0){String descb = "下单成功,订单号:【" + order.getOrdercode() + "】";Log log = ToolsUtil.insertLog(UserUtil.getLoginUserId(), descb);loginSvc.insertUserLog(log);Order orderss = iorderDao.getOrderDetailById(order.getOrderid());List<OrderDetail> details =  orderss.getOdetails();for(int i1= 0;i1<details.size();i1++){Product p = iProductDao.proSelByCId(details.get(i1).getPid());Product product = new Product();int stock = p.getStock() - details.get(i1).getOdetailnum();product.setStock(stock);product.setPid(details.get(i1).getPid());iProductDao.updataStock(product);}}System.out.println("----------" + i);return "redirect:getMyOrders";}

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。

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


http://www.ppmy.cn/news/833611.html

相关文章

MM移动类型

1. MM移动类型&#xff1a; What Is a Movement Type? 什么是移动类型&#xff1f; When you enter a goods movement in the system, you must enter amovement typeto differentiate between the various goods movements. A movement type is a three-digit identificatio…

谷粒商城-商城业务-商品详情

目录 商城业务-商品详情-环境搭建 商城业务-商品详情-模型抽取 商城业务-商品详情-规格参数 商城业务-商品详情-销售属性组合 商城业务-商品详情-详情页渲染 商城业务-商品详情-销售属性渲染 商城业务-商品详情-sku组合切换 商城业务-商品详情-异步编排优化 商城业务-商…

SAP MM模块简单介绍

SAP划成了几个比较大的模块,各模块虽有联系但也有某种程度的独立性.用户可能只购买其中的的某几个模块,然后再用做一些二次开发.主要是用ABAP. 一种专门用来针对SAP二次开发的语言.再配合自己的其他一些系统.就可以实现整个公司的信息化管理了. SAP的可配置性非常强,它可以应用…

【MM模块】 Goods Issue 发货

发货通常有三种方式&#xff1a; 从仓库发料&#xff1b;从寄售发料&#xff1b;从管道发料&#xff1b; 系统专门的发货事务代码&#xff1a;MB1A / MIGO 比较常用的移动类型&#xff1a; 1、发料到成本中心 从正常库位 201从寄售库存 201 K从管道材料 201 P 一般这里会…

彩绘漂亮MM集

女--韦庄 冠子 【作者简介】 韦庄:(836—910)字端己&#xff0c;长安杜陵(今西安)人乾进士&#xff0c;此前曾漫游各地。曾任校书郎、左补阙等职。后入蜀&#xff0c;为王建掌书记。王氏建立前蜀&#xff0c;他做过宰相。终于蜀。他的诗词都很著名&#xff0c;诗极富画意&am…

SAP WM与MM联系

转载自&#xff1a;https://blog.csdn.net/superying/article/details/86645028 最近集团的瑞士公司有可能要实施WM&#xff0c;而俺又很久没写技术性的BLOG了&#xff0c;因此WM的文章就这样产生了 。

【MM小贴士】SAP MM模块 序列号管理

序列号管理在离散行业 如 汽车、机械装备等行业应用较多。每生产一个产品 都有一个唯一的编号。该编号用于追踪产品质量、处理后续的质量投诉&#xff0c;判定产品保质期等。 今天我们学习序列号的基础配置&#xff1a; 一、定义序列号参数 存在的需求&#xff1a;如果勾上 表…

MM寄售业务

1.激活寄售信息记录 2.创建寄售物料主数据 3.创建信息记录 4.创建PO 5.收货 6.转仓(MB1B) 保存时报错: 解决办法&#xff1a;OMWB里面维护 KON 类型 8.查看库存(MMBE) 7.结算(MRKO) 没有税务码&#xff0c;需要在信息记录里维护(ME12) 再次执行结算&#xff1a; 至此&#xff0…