package com.ruoyi.demo.controller;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.demo.entity.Store;
import com.ruoyi.demo.entity.bo.StoreBo;
import com.ruoyi.demo.entity.vo.StoreVo;
import com.ruoyi.demo.service.StoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.HashMap;

@RestController
@RequestMapping("/store")
public class StoreController {
    @Autowired
    StoreService storeService;

    /**
     * 新增店铺
     * @param storeVo
     * @return
     */
    @PostMapping("/addStore")
    public R addStore(@RequestBody @Validated(value = {AddGroup.class})StoreVo storeVo){
        storeService.addStore(storeVo);
        return R.ok();
    }

    /**
     * 修改店铺信息
     * @param storeVo
     * @return
     */
    @PutMapping("/updateStore")
    public R updateStore(@RequestBody @Validated(value = {EditGroup.class})StoreVo storeVo){
        storeService.updateStore(storeVo);
        return R.ok();
    }

    /**
     * 删除店铺
     * @param storeIds
     * @return
     */
    @DeleteMapping("/deleteStore")
    public R deleteStore(@NotEmpty(message = "店铺Id不能为空") String[] storeIds){
        storeService.deleteStore(storeIds);
        return R.ok();
    }

    /**
     * 获取店铺列表
     * @param storeVo
     * @return
     */
    @GetMapping("/getStoreList")
    public R getStoreList(StoreVo storeVo){
        HashMap storeList = storeService.getStoreList(storeVo);
        return R.ok(storeList);
    }

    @GetMapping("/getStore")
    public R getStore(@NotBlank(message = "店铺Id不能为空") String storeId){
        Store store = storeService.getStore(storeId);
        return R.ok(store);
    }


}
