首页> Java> java教程> 正文

Java如何实现鲜花商城系统

WBOY
发布: 2023-05-17 11:31:14
转载
1028 人浏览过

项目介绍

该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;

管理员角色包含以下功能:

管理员登录,用户管理,鲜花类别管理,鲜花管理,订单管理并发货,留言管理,系统公告管理等功能。

用户角色包含以下功能:

该网站提供用户首页、用户注册登录、鲜花详情查看、商品加入购物车、订单确认、个人订单查看、商城留言板以及商城公告等多项功能。

环境需要

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 5.7版本;

6.是否Maven项目:否;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:JSP+jQuery+Ajax

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

用户账号/密码: user/123456

管理员账号/密码:admin/admin

效果图展示

Java如何实现鲜花商城系统

Java如何实现鲜花商城系统

Java如何实现鲜花商城系统

Java如何实现鲜花商城系统

Java如何实现鲜花商城系统

Java如何实现鲜花商城系统

核心代码

商品管理控制层

/** * 商品 **/ @RestController @RequestMapping("flower") public class FlowerController { @Autowired FlowersService flowerService; @Autowired FlowersDao flowersDao; @RequestMapping("/test") R test() { R r = new R(); return r; } //find @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("searchType") String searchType) { R r = new R(); List flowers = flowerService.find(searchKey, searchType); if (flowers == null) { return r.setCode(2000); } return getResponse(flowers, page, Constant.SHOW_PAGE_SIZE, r); } // 管理员查询所有 @RequestMapping("/findAll") R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); List flowers = flowerService.findAll(searchKey); if (flowers == null) { return r.setCode(2000); } return getResponse(flowers, page, Constant.PAGE_SIZE, r); } // 返回结果 private R getResponse(List flowers, int page, int pageSize, R r) { Map map = new HashMap<>(); List items = flowers.size() >= page * pageSize ? flowers.subList((page - 1) * pageSize, page * pageSize) : flowers.subList((page - 1) * pageSize, flowers.size()); int len = flowers.size() % pageSize == 0 ? flowers.size() / pageSize : (flowers.size() / pageSize + 1); for (Flower item : items) { if (item.getImg_guid() == null) { item.setImg_guid(Constant.DEFAULT_IMG); } item.setImg_guid(Constant.IMG_USE_PATH + item.getImg_guid()); } map.put("items", items); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/create") R create(@RequestBody Flower flower) { R r = new R(); int ans = flowerService.add(flower); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.ADD_FLOWER_OK); } return r.setCode(4000).setMsg(HttpMsg.ADD_FLOWER_FAILED); } @RequestMapping("/update") R update(@RequestBody Flower flower) { R r = new R(); int ans = flowerService.update(flower); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_FLOWER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_FLOWER_FAILED); } @RequestMapping("/changeState") R changeState(@RequestBody Flower flower) { R r = new R(); flowersDao.changeState(flower); String msg = flower.getState() == 1?HttpMsg.GOODS_UP_OK:HttpMsg.GOODS_DOWN_OK; return r.setCode(2000).setMsg(msg); } // 保存上传的图片 @RequestMapping("/updateImg") R updateImg(@RequestParam("file") MultipartFile file) { R r = new R(); // 只接收 jpg/png 图片 String filename = file.getOriginalFilename(); if (!filename.endsWith(".jpg") && !filename.endsWith(".png")){ return r.setCode(4000).setMsg(HttpMsg.ERROR_FILE_TYPE); } String img_guid = UUID.randomUUID().toString().replaceAll("-", "") + ".jpg"; try { savePic(file.getInputStream(), img_guid); return r.setCode(2000).setMsg(HttpMsg.UPDATE_PIC_OK).setData(img_guid); } catch (IOException e) { return r.setCode(4000).setMsg(HttpMsg.UPDATE_PIC_FAILED); } } @PutMapping("/updateImgGuid") R updateImgGuid(@RequestParam("guid") String guid, @RequestParam("id") int id) { R r = new R(); int ans = flowerService.updateImg(guid, id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_PIC_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_PIC_FAILED); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = flowerService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_FLOWER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_FLOWER_FAILED); } private void savePic(InputStream inputStream, String fileName) { OutputStream os = null; try { String path = Constant.IMG_PATH; // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出的文件流保存到本地文件 os = new FileOutputStream(new File(path + fileName)); // 开始读取 while ((len = inputStream.read(bs)) != -1) { os.write(bs, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { // 完毕,关闭所有链接 try { os.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }
登录后复制

订单管理控制层

/** * 用户 **/ @RestController @RequestMapping("order") public class OrderController { @Autowired OrderService orderService; @Autowired UserDao userDao; @Autowired OrderDao orderDao; @Autowired FlowersDao flowersDao; @RequestMapping("/test") R test() { R r = new R(); return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(orderDao.findAll(null)); } @RequestMapping("/queryByAccount") R queryByAccount(@RequestParam("account") String account) { R r = new R(); if (StringUtil.isEmpty(account)) { return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } List orders = orderService.queryByAccount(account); return r.setCode(2000).setData(orders); } @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account) { R r = new R(); Map map = new HashMap<>(); List orders = orderService.find(searchKey, account); if (orders == null) { return r.setCode(2000); } map.put("items", orders); map.put("len", orders.size()); return r.setCode(2000).setData(map); } @RequestMapping("/findAll") R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); Map map = new HashMap<>(); List orders = orderService.findAll(searchKey); if (orders == null) { return r.setCode(2000); } List items = orders.size() >= page * Constant.PAGE_SIZE ? orders.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE) : orders.subList((page - 1) * Constant.PAGE_SIZE, orders.size()); int len = orders.size() % Constant.PAGE_SIZE == 0 ? orders.size() / Constant.PAGE_SIZE : (orders.size() / Constant.PAGE_SIZE + 1); List vos = new ArrayList<>(); for (Order item : items) { User user = userDao.queryById(item.getUid()); OrderVo vo = new OrderVo(); vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName()) .setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId()) .setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice()) .setState(item.getState()); vos.add(vo); } map.put("items", vos); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/update") R update(@RequestBody Order order) { R r = new R(); int ans = orderService.update(order); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } @RequestMapping("/changeState") R changeState(@RequestBody Order order) { orderDao.changeState(order); return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = orderService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } }
登录后复制

用户管理控制层

/** * 用户 **/ @RestController @RequestMapping("user") public class UserController { @Autowired UserService userService; @Autowired UserDao dao; @RequestMapping("/test") R test() { R r = new R(); return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll()); } @RequestMapping("/queryInfoByAccount") R queryInfoByAccount(@RequestParam("account") String account) { R r = new R(); if (StringUtil.isEmpty(account)){ return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } User loginUser = userService.queryInfo(account); if (loginUser == null){ return r.setCode(4000).setMsg(HttpMsg.INVALID_USER); } return r.setCode(2000).setData(loginUser); } @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); Map map = new HashMap<>(); List users = userService.find(searchKey); if (users == null) { return r.setCode(2000); } List items = users.size() >= page * Constant.PAGE_SIZE ? users.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE) : users.subList((page - 1) * Constant.PAGE_SIZE, users.size()); int len = users.size() % Constant.PAGE_SIZE == 0 ? users.size() / Constant.PAGE_SIZE : (users.size() / Constant.PAGE_SIZE + 1); map.put("items", items); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/create") R create(@RequestBody User user) { R r = new R(); int ans = userService.add(user); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED); } @RequestMapping("/update") R update(@RequestBody User user) { R r = new R(); int ans = userService.update(user); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = userService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } }
登录后复制

以上是Java如何实现鲜花商城系统的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!