Dieses Projekt ist ein Front-End- und Back-End-Projekt, das in zwei Rollen unterteilt ist: normale Benutzer und Administratoren, normale Front-End-Benutzer melden sich an und Back-End-Administratoren melden sich an.
Die Administratorrolle umfasst die folgenden Funktionen:
Administratoranmeldung, Benutzerverwaltung, Blumenkategorieverwaltung, Blumenverwaltung, Auftragsverwaltung und -lieferung, Nachrichtenverwaltung, Systemankündigungsverwaltung und andere Funktionen.
Benutzerrollen umfassen die folgenden Funktionen:
Die Website bietet mehrere Funktionen wie Benutzerhomepage, Benutzerregistrierung und -anmeldung, Anzeige von Blumendetails, Hinzufügen von Produkten zum Warenkorb, Bestellbestätigung, Anzeige persönlicher Bestellungen, Message Board für Einkaufszentren und Ankündigungen für Einkaufszentren .
1. Betriebsumgebung: vorzugsweise Java JDK 1.8, wir laufen auf dieser Plattform. Andere Versionen sind theoretisch möglich.
2. IDE-Umgebung: IDEA, Eclipse, Myeclipse sind alle verfügbar. IDEA wird empfohlen;
3. Tomcat 7.x, 8.x, 9.x-Versionen sind verfügbar
4 Hardware-Umgebung: Windows 7/8/10 1G-Speicher oder mehr; 5. Datenbank: MySql Version 5.7;
Technologie-Stack: Spring+SpringMVC+Mybatis
Anweisungen Zur Verwendung
2. Beim Importieren aus Eclipse/MyEclipse. Wenn es sich um ein Maven-Projekt handelt, wählen Sie bitte Maven aus. Wenn der Import erfolgreich war, führen Sie bitte den Maven-Installationsbefehl aus und führen Sie dann
3 aus. Eigenschaftenkonfigurationsdatei im Projekt zu Ihrer eigenen Konfiguration;
Administratorkonto/Passwort: admin/admin
🏜 ee
Benutzerverwaltungs-Kontrollschicht/** * 商品 **/ @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<Flower> 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<Flower> flowers = flowerService.findAll(searchKey); if (flowers == null) { return r.setCode(2000); } return getResponse(flowers, page, Constant.PAGE_SIZE, r); } // 返回结果 private R getResponse(List<Flower> flowers, int page, int pageSize, R r) { Map<String, Object> map = new HashMap<>(); List<Flower> 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(); } } } }
Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Blumen-Mall-System in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!