天天看點

黑馬瑞吉外賣之售賣狀态的更改

黑馬瑞吉外賣之售賣狀态的更改

基本上在套餐這裡的子產品我們隻剩下簡單的對售賣狀态更改了。停售,啟售,批量停售,批量啟售。

黑馬瑞吉外賣之售賣狀态的更改

我們先來看前端界面,目前,還是在浏覽器中直接調試也是沒有問題的。

為了更加明白整體的邏輯,我們就還是先看頁面設計代碼。

在這裡呢,還是按鈕綁定的方法,批量停售和批量啟售,如果我們代碼當中綁定的方法裡面傳過去的是1,那麼就是啟,0就是停售。

這裡就是批量操作

黑馬瑞吉外賣之售賣狀态的更改

還有這裡就是單個操作的按鈕

黑馬瑞吉外賣之售賣狀态的更改

是以總的來說,其實都是綁定的是同一個方法,那麼我們就具體的去檢視這樣的方法。

黑馬瑞吉外賣之售賣狀态的更改

定位到這裡。

黑馬瑞吉外賣之售賣狀态的更改

點選進去

黑馬瑞吉外賣之售賣狀态的更改

在這裡我們就能清楚的看到路徑和具體的請求方法了。

然後我們這樣去寫代碼就可以了。

@Override
    public void updateSetmealStatusById(Integer status, List<Long> ids) {
//        構造一個套餐的條件查詢器
        LambdaQueryWrapper<Setmeal> queryWrapper = new LambdaQueryWrapper();
//        條件查詢到具體的套餐
        queryWrapper.in(ids !=null,Setmeal::getId,ids);
//        菜品根據套餐的條件查詢
        List<Setmeal> list = this.list(queryWrapper);
        for(Setmeal setmeal: list)
        {
            if(setmeal !=null)
            {
                setmeal.setStatus(status);
                this.updateById(setmeal);
            }

        }

    }      
@PostMapping("/status/{status}")
    public R_<String> status(@PathVariable("status") Integer status,@RequestParam List<Long> ids){
        log.info("status:{}",status);
        log.info("ids:{}",ids);
        //
        setMealService.updateSetmealStatusById(status,ids);
        return R_.success("操作成功");



    }