package com.ruoyi.goods.controller.management;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
import com.ruoyi.common.log.annotation.Log;
|
import com.ruoyi.common.log.enums.BusinessType;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.goods.domain.dto.*;
|
import com.ruoyi.goods.domain.vo.MgtGoodsEditInfoVo;
|
import com.ruoyi.goods.domain.vo.MgtGoodsPageVo;
|
import com.ruoyi.goods.domain.vo.MgtGoodsTotalVo;
|
import com.ruoyi.goods.service.goods.GoodsService;
|
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
|
import com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* @author jqs34
|
* @ClassName MgtGoodsController
|
* @description: TODO
|
* @date 2023年06月01日
|
* @version: 1.0
|
*/
|
@Api(value = "管理后台商品相关接口", tags = "管理后台商品相关接口", description = "管理后台商品相关接口")
|
@RestController
|
@RequestMapping("/mgt/goods")
|
public class MgtGoodsController {
|
|
@Resource
|
private GoodsService goodsService;
|
|
@RequestMapping(value = "/pageMgtGoods", method = RequestMethod.POST)
|
@ApiOperation(value = "分页获取商品列表")
|
public R<Page<MgtGoodsPageVo>> pageMgtGoods(@RequestBody MgtGoodsPageDto mgtGoodsPageDto) {
|
Page<MgtGoodsPageVo> page = new Page<>();
|
page.setSize(mgtGoodsPageDto.getPageSize());
|
page.setCurrent(mgtGoodsPageDto.getPageNum());
|
page.setOptimizeCountSql(false);
|
List<MgtGoodsPageVo> mgtGoodsPageVoList = goodsService.pageMgtGoods(page,mgtGoodsPageDto);
|
return R.ok(page.setRecords(mgtGoodsPageVoList));
|
}
|
|
@RequestMapping(value = "/exportPageMgtGoods", method = RequestMethod.POST)
|
@ApiOperation(value = "导出商品列表")
|
public void exportPageMgtGoods( MgtGoodsPageDto mgtGoodsPageDto, HttpServletResponse response) {
|
Page<MgtGoodsPageVo> page = new Page<>();
|
if(page.getSize()>5000){
|
page.setSize(5000);
|
page.setCurrent(1);
|
}
|
List<MgtGoodsPageVo> mgtGoodsPageVoList = goodsService.pageMgtGoods(page,mgtGoodsPageDto);
|
ExcelUtil<MgtGoodsPageVo> util = new ExcelUtil<MgtGoodsPageVo>(MgtGoodsPageVo.class);
|
util.exportExcel(response, mgtGoodsPageVoList, "商品列表");
|
}
|
|
@RequestMapping(value = "/getMgtGoodsTotal", method = RequestMethod.POST)
|
@ApiOperation(value = "获取商品统计")
|
public R<MgtGoodsTotalVo> getMgtGoodsTotal() {
|
MgtGoodsTotalVo mgtGoodsTotalVo = goodsService.getMgtGoodsTotal();
|
return R.ok(mgtGoodsTotalVo);
|
}
|
|
@RequestMapping(value = "/editMgtGoods", method = RequestMethod.POST)
|
@Log(title = "商品管理", businessType = BusinessType.UPDATE,operContent = "编辑商品")
|
@ApiOperation(value = "平台编辑商品")
|
public R editMgtGoods(@Validated @RequestBody MgtGoodsEditDto mgtGoodsEditDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtGoodsEditDto.setUserId(userId);
|
goodsService.editMgtGoods(mgtGoodsEditDto);
|
return R.ok();
|
}
|
|
@RequestMapping(value = "/upDownMgtGoods", method = RequestMethod.POST)
|
@Log(title = "商品管理", businessType = BusinessType.UPDATE,operContent = "上下架商品")
|
@ApiOperation(value = "平台上下架商品")
|
public R upDownMgtGoods(@RequestBody MgtGoodsUpDownDto mgtGoodsUpDownDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtGoodsUpDownDto.setUserId(userId);
|
goodsService.upDownMgtGoods(mgtGoodsUpDownDto);
|
return R.ok();
|
}
|
|
@RequestMapping(value = "/recommendMgtGoods", method = RequestMethod.POST)
|
@Log(title = "商品管理", businessType = BusinessType.UPDATE,operContent = "推荐商品")
|
@ApiOperation(value = "平台推荐商品")
|
public R recommendMgtGoods(@RequestBody MgtGoodsRecommendDto mgtGoodsRecommendDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtGoodsRecommendDto.setUserId(userId);
|
goodsService.recommendMgtGoods(mgtGoodsRecommendDto);
|
return R.ok();
|
}
|
|
@RequestMapping(value = "/deleteMgtGoods", method = RequestMethod.POST)
|
@Log(title = "商品管理", businessType = BusinessType.DELETE,operContent = "删除商品")
|
@ApiOperation(value = "删除商品")
|
public R deleteMgtGoods(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
|
Long userId = SecurityUtils.getUserId();
|
mgtBaseGetDto.setUserId(userId);
|
goodsService.deleteMgtGoods(mgtBaseGetDto.getId(),userId);
|
return R.ok();
|
}
|
|
@RequestMapping(value = "/pageMgtSelectGoods", method = RequestMethod.POST)
|
@ApiOperation(value = "分页获取商品选择列表")
|
public R<Page<MgtSelectGoodsPageVo>> pageMgtSelectGoods(@RequestBody MgtSelectGoodsPageDto mgtSelectGoodsPageDto) {
|
Page<MgtSelectGoodsPageVo> page = new Page<>();
|
page.setSize(mgtSelectGoodsPageDto.getPageSize());
|
page.setCurrent(mgtSelectGoodsPageDto.getPageNum());
|
page.setOptimizeCountSql(false);
|
List<MgtSelectGoodsPageVo> mgtSelectGoodsPageVos = goodsService.pageMgtSelectGoods(page,mgtSelectGoodsPageDto);
|
return R.ok(page.setRecords(mgtSelectGoodsPageVos));
|
}
|
|
@RequestMapping(value = "/getMgtGoodsEditInfo", method = RequestMethod.POST)
|
@ApiOperation(value = "获取商品编辑信息")
|
public R<MgtGoodsEditInfoVo> getMgtGoodsEditInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
|
MgtGoodsEditInfoVo mgtGoodsEditInfoVo = goodsService.getMgtGoodsEditInfo(mgtBaseGetDto);
|
return R.ok(mgtGoodsEditInfoVo);
|
}
|
}
|