Heim >Java >javaLernprogramm >So implementieren Sie ein Blumen-Mall-System in Java

So implementieren Sie ein Blumen-Mall-System in Java

WBOY
WBOYnach vorne
2023-05-17 11:31:141190Durchsuche

Projekteinführung

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 .

Umgebungsanforderungen

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

1. Verwenden Sie Navicat oder andere Tools, um eine Datenbank mit dem entsprechenden Namen in MySQL zu erstellen und die SQL-Datei des Projekts zu importieren.

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;

4. Führen Sie das Projekt aus und geben Sie localhost:8080 ein. Anmelden: Benutzerkonto/Passwort: user/123456.

Administratorkonto/Passwort: admin/admin

So implementieren Sie ein Blumen-Mall-System in Java🏜 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen