package com.ruoyi.management.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.goods.api.domain.TGoods;
import com.ruoyi.goods.api.domain.TGoodsType;
import com.ruoyi.goods.api.feignClient.GoodsClient;
import com.ruoyi.goods.api.model.GoodsTypeQuery;
import com.ruoyi.goods.api.model.TGoodsVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 商品表 前端控制器
*
*
* @author 无关风月
* @since 2024-04-26
*/
@Controller
@RequestMapping("/tGoods")
public class TGoodsController {
@Autowired
private GoodsClient goodsClient;
@ResponseBody
@PostMapping("/listType")
@ApiOperation(value = "列表查询", tags = {"后台-商品类型管理"})
public AjaxResult> listType(String name, Integer pageNumber, Integer pageSize){
GoodsTypeQuery goodsTypeQuery = new GoodsTypeQuery();
goodsTypeQuery.setName(name);
goodsTypeQuery.setPageNumber(pageNumber);
goodsTypeQuery.setPageSize(pageSize);
PageInfo data = goodsClient.listType(goodsTypeQuery).getData();
return AjaxResult.success(data);
}
@ResponseBody
@PostMapping("/addGoodsType")
@ApiOperation(value = "添加", tags = {"后台-商品类型管理"})
public AjaxResult addGoodsType(TGoodsType dto) {
goodsClient.addGoodsType(dto);
// goodsTypeService.save(dto);
return AjaxResult.success("添加成功");
}
@ResponseBody
@PostMapping("/updateGoodsType")
@ApiOperation(value = "修改", tags = {"后台-商品类型管理"})
public AjaxResult updateGoodsType(TGoodsType dto) {
goodsClient.updateGoodsType(dto);
// goodsTypeService.updateById(dto);
return AjaxResult.success("修改成功");
}
@ResponseBody
@PostMapping("/deleteGoodsType")
@ApiOperation(value = "删除", tags = {"后台-商品类型管理"})
public AjaxResult deleteGoodsType(Integer id) {
R r = goodsClient.deleteGoodsType(id);
if (r.getCode()!=200){
return AjaxResult.error(r.getMsg());
}
// TGoodsType byId = goodsTypeService.getById(id);
// byId.setIsDelete(1);
// goodsTypeService.updateById(byId);
return AjaxResult.success("删除成功");
}
@ResponseBody
@PostMapping("/listAll")
@ApiOperation(value = "列表查询", tags = {"后台-商品管理"})
public AjaxResult> listAll( String name,Integer pageNumber,Integer pageSize){
GoodsTypeQuery goodsTypeQuery = new GoodsTypeQuery();
goodsTypeQuery.setName(name);
goodsTypeQuery.setPageNumber(pageNumber);
goodsTypeQuery.setPageSize(pageSize);
PageInfo data = goodsClient.listAll(goodsTypeQuery).getData();
// QueryWrapper wrapper = new QueryWrapper<>();
// if (StringUtils.hasLength(name)){
// wrapper.like("name", name);
// }
// wrapper.orderByDesc("id");
// List list = goodsService.list(wrapper);
// PageInfo res = new PageInfo<>(pageNumber, pageSize);
// res.setRecords(list);
return AjaxResult.success(data);
}
@ResponseBody
@PostMapping("/addGoods")
@ApiOperation(value = "添加", tags = {"后台-商品管理"})
public AjaxResult addGoods(@RequestBody TGoods dto) {
goodsClient.addGoods(dto);
return AjaxResult.success("添加成功");
}
@ResponseBody
@PostMapping("/deleteGoods")
@ApiOperation(value = "删除", tags = {"后台-商品管理"})
public AjaxResult deleteGoods(Integer id) {
goodsClient.deleteGoods(id);
// TGoods byId = goodsService.getById(id);
// goodsService.removeById(byId);
return AjaxResult.success("删除成功");
}
@ResponseBody
@PostMapping("/updateGoods")
@ApiOperation(value = "修改", tags = {"后台-商品管理"})
public R updateGoods(@RequestBody TGoods dto) {
R r = goodsClient.updateGoods(dto);
if (r.getCode()!=200){
return R.fail(r.getMsg());
}
return R.ok("修改成功");
}
@ResponseBody
@PostMapping("/getGoodsInfo")
@ApiOperation(value = "查看详情", tags = {"后台-商品管理"})
public AjaxResult getGoodsInfo(Integer id) {
// TGoodsVO tGoodsVO = new TGoodsVO();
// TGoods byId = goodsService.getById(id);
// BeanUtils.copyProperties(byId,tGoodsVO);
// long goodsId = orderService.count(new QueryWrapper().eq("goodsId", id));
// tGoodsVO.setInventory(goodsId);
TGoodsVO data = goodsClient.getGoodsInfo(id).getData();
return AjaxResult.success(data);
}
@ResponseBody
@PostMapping("/getGoodsTypeList")
@ApiOperation(value = "获取商品类型列表", tags = {"后台-商品管理"})
public AjaxResult> getGoodsInfo() {
// List res = goodsTypeService.list(new QueryWrapper()
// .ne("isDelete", 1));
List data = goodsClient.getGoodsInfo().getData();
return AjaxResult.success(data);
}
}