package cc.mrbird.febs.mall.controller;
|
|
|
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
|
import cc.mrbird.febs.common.controller.BaseController;
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.common.entity.QueryRequest;
|
import cc.mrbird.febs.common.utils.OssUtils;
|
import cc.mrbird.febs.mall.dto.AddMallGoodsDto;
|
import cc.mrbird.febs.mall.dto.UpMallGoodsDto;
|
import cc.mrbird.febs.mall.entity.MallGoods;
|
import cc.mrbird.febs.mall.entity.MallGoodsCategory;
|
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
|
import cn.hutool.core.util.IdUtil;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import sun.misc.BASE64Encoder;
|
|
import javax.validation.Valid;
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@Slf4j
|
@Validated
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping(value = "/admin/goods")
|
public class AdminMallGoodsController extends BaseController {
|
|
private final IAdminMallGoodsService adminMallGoodsService;
|
|
/**
|
* 图片上传
|
* @return
|
*/
|
@PostMapping(value = "/uploadFileBase64")
|
@ControllerEndpoint(operation = "图片上传", exceptionMessage = "上传失败")
|
public Map<String,Object> uploadFileBase64(@RequestBody @Validated MultipartFile file) {
|
if (file.isEmpty()) {
|
new FebsResponse().message("上传文件为空");
|
}
|
|
//文件加密
|
BASE64Encoder base64Encoder =new BASE64Encoder();
|
String base64EncoderImg = null;
|
try {
|
base64EncoderImg = base64Encoder.encode(file.getBytes());
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
String imageFuffix = ".png";
|
String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageFuffix;
|
String imageName = "uploadeFile/" + imageNames;
|
OssUtils.uploadFileWithBase64(base64EncoderImg, imageName);
|
String bucket_name ="https://excoin.oss-cn-hangzhou.aliyuncs.com";
|
String url = bucket_name + "/" + imageName;
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
Map<String,Object> map2 = new HashMap<String,Object>();
|
map.put("code",0);//0表示成功,1失败
|
map.put("msg","上传成功");//提示消息
|
map.put("data",map2);
|
map2.put("src",url);//图片url
|
map2.put("title",imageNames);//图片名称,这个会显示在输入框里
|
return map;
|
}
|
|
/**
|
* 商品列表
|
* @param mallGoods
|
* @param request
|
* @return
|
*/
|
@GetMapping("goodsList")
|
public FebsResponse getGoodsList(MallGoods mallGoods, QueryRequest request) {
|
Map<String, Object> data = getDataTable(adminMallGoodsService.getCategoryListInPage(mallGoods, request));
|
return new FebsResponse().success().data(data);
|
}
|
|
/**
|
* 商品-新增
|
*/
|
@PostMapping("addMallGoods")
|
@ControllerEndpoint(operation = " 商品-新增", exceptionMessage = "新增失败")
|
public FebsResponse addMallGoods(@RequestBody @Valid AddMallGoodsDto addMallGoodsDto) {
|
return adminMallGoodsService.addMallGoods(addMallGoodsDto);
|
}
|
|
/**
|
* 商品-上架
|
*/
|
@PostMapping("upMallGoods")
|
@ControllerEndpoint(operation = " 商品-上架", exceptionMessage = "上架失败")
|
public FebsResponse upMallGoods(@RequestBody @Valid UpMallGoodsDto upMallGoodsDto) {
|
return adminMallGoodsService.upMallGoods(upMallGoodsDto);
|
}
|
|
/**
|
* 商品-下架
|
*/
|
@PostMapping("downMallGoods")
|
@ControllerEndpoint(operation = " 商品-下架", exceptionMessage = "下架失败")
|
public FebsResponse downMallGoods(@RequestBody @Valid UpMallGoodsDto upMallGoodsDto) {
|
return adminMallGoodsService.downMallGoods(upMallGoodsDto);
|
}
|
}
|