package com.jilongda.manage.controller;
import com.jilongda.common.basic.ApiResult;
import com.jilongda.common.basic.PageInfo;
import com.jilongda.manage.model.Region;
import com.jilongda.manage.model.TStore;
import com.jilongda.manage.query.TStoreQuery;
import com.jilongda.manage.service.ITRegionService;
import com.jilongda.manage.service.TStoreService;
import com.jilongda.manage.utils.LoginInfoUtil;
import com.jilongda.manage.vo.TStoreVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
*
* 门店表 前端控制器
*
*
* @author 无关风月
* @since 2024-12-09
*/
@Api(tags = "门店管理")
@RestController
@RequestMapping("/t-store")
public class TStoreController {
@Autowired
private TStoreService storeService;
@Autowired
private LoginInfoUtil loginInfoUtil;
@Autowired
private ITRegionService regionService;
/**
* 获取门店列表
*/
@ApiOperation(value = "获取门店分页列表")
@PostMapping(value = "/pageList")
public ApiResult> pageList(@RequestBody TStoreQuery query) {
Integer userType = loginInfoUtil.getLoginUser().getUserType();
if(!Objects.equals(userType,1)){
query.setStatus(1);
}
return ApiResult.success(storeService.pageList(query));
}
@ApiOperation(value = "省市区三级联动 获取省不传值 市区县传上级code")
@GetMapping(value = "/list")
public ApiResult> add(String code) {
if (!StringUtils.hasLength(code)){
return ApiResult.success(regionService.lambdaQuery().eq(Region::getParentId,0).list());
}else{
return ApiResult.success(regionService.lambdaQuery().eq(Region::getParentId,regionService.lambdaQuery().eq(Region::getCode,code).one().getId()).list());
}
}
/**
* 添加门店
*/
@ApiOperation(value = "添加门店")
@PostMapping(value = "/add")
public ApiResult add(@Validated @RequestBody TStore dto) {
storeService.save(dto);
return ApiResult.success();
}
@ApiOperation(value = "修改门店")
@PostMapping(value = "/update")
public ApiResult update(@Validated @RequestBody TStore dto) {
storeService.updateById(dto);
return ApiResult.success();
}
@ApiOperation(value = "删除门店")
@DeleteMapping(value = "/deleteById")
public ApiResult deleteById(@RequestParam Long id) {
return ApiResult.success(storeService.removeById(id));
}
@ApiOperation(value = "批量删除门店")
@DeleteMapping(value = "/deleteByIds")
public ApiResult deleteByIds(@RequestBody List ids) {
return ApiResult.success(storeService.removeByIds(ids));
}
@ApiOperation(value = "查询门店详情")
@GetMapping(value = "/getDetailById")
public ApiResult getDetailById(@RequestParam Long id) {
return ApiResult.success(storeService.getById(id));
}
}