package com.ycl.controller.store;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.dto.UmsStoreInfoParam;
import com.ycl.entity.store.StoreInfo;
import com.ycl.service.store.StoreInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
/**
*
* 前端控制器
*
*
* @author lyq
* @since 2022-09-08
*/
@RestController
@RequestMapping("/store/storeinfo")
@Api(tags = "门店管理")
public class StoreInfoController {
private StoreInfoService storeInfoService;
@Autowired
public void setUmsStoreInfoService(StoreInfoService umsStoreInfoService) {
this.storeInfoService = umsStoreInfoService;
}
@ApiOperation("根据门店名称分页获取门店列表列表")
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
public CommonResult> list(@RequestParam(value = "keyword", required = false) String keyword,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
Page storeInfoPage = storeInfoService.list(keyword, pageSize, pageNum);
return CommonResult.success(CommonPage.restPage(storeInfoPage));
}
@ApiOperation("根据id获取门店信息")
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public CommonResult getItem(@PathVariable Long id) {
StoreInfo storeInfo = storeInfoService.getById(id);
return CommonResult.success(storeInfo);
}
@ApiOperation(value = "添加门店信息")
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public CommonResult add(@Validated @RequestBody UmsStoreInfoParam umsStoreInfoParam) {
StoreInfo storeInfo = StoreInfo.builder()
.owner(umsStoreInfoParam.getOwner())
.storename(umsStoreInfoParam.getStorename())
.contact(umsStoreInfoParam.getContact())
.storeaddr(umsStoreInfoParam.getStoreaddr())
.storephoto(umsStoreInfoParam.getStorephoto())
.idcardinfo(umsStoreInfoParam.getIdcardinfo())
.storescore(umsStoreInfoParam.getStorescore()).build();
boolean success = storeInfoService.save(storeInfo);
if (success) {
return CommonResult.success(null);
} else {
return CommonResult.failed();
}
}
@ApiOperation(value = "根据id删除门店信息")
@RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)
@ResponseBody
public CommonResult delete(@PathVariable Long id) {
boolean success = storeInfoService.removeById(id);
if (success) {
return CommonResult.success(null);
} else {
return CommonResult.failed();
}
}
@ApiOperation(value = "修改门店信息")
@RequestMapping(value = "/update", method = RequestMethod.GET)
@ResponseBody
public CommonResult update(@RequestBody StoreInfo storeInfo) {
boolean success = storeInfoService.updateById(storeInfo);
if (success) {
return CommonResult.success(null);
} else {
return CommonResult.failed();
}
}
@ApiOperation(value = "根据excel模板批量导入门店信息")
@RequestMapping(value = "/add/excel", method = RequestMethod.POST)
@ResponseBody
public CommonResult addByExcel(MultipartFile file) {
boolean success = storeInfoService.addByExcel(file);
if (success) {
return CommonResult.success(null);
} else {
return CommonResult.failed();
}
}
}