package cc.mrbird.febs.dapp.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.dapp.entity.PlatformBanner;
|
import cc.mrbird.febs.dapp.service.IAdminBannerService;
|
import cc.mrbird.febs.dapp.utils.OssUtils;
|
import cn.hutool.core.util.IdUtil;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
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;
|
import sun.misc.BASE64Encoder;
|
|
import javax.validation.Valid;
|
import javax.validation.constraints.NotNull;
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@Slf4j
|
@Validated
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping(value = "/admin/banner")
|
public class AdminBannerController extends BaseController {
|
|
@Autowired
|
private IAdminBannerService iAdminBannerService;
|
|
/**
|
* 轮播图---列表
|
*/
|
@GetMapping("platformBanner")
|
public FebsResponse platformBanner(PlatformBanner platformBannerEntity, QueryRequest request) {
|
Map<String, Object> data = getDataTable(iAdminBannerService.findPlatformBannerInPage(platformBannerEntity, request));
|
return new FebsResponse().success().data(data);
|
}
|
|
/**
|
* 轮播图---确认
|
* @return
|
*/
|
@PostMapping("platformBannerConfirm")
|
@ControllerEndpoint(operation = "轮播图---确认", exceptionMessage = "设置失败")
|
public FebsResponse platformBannerConfirm(@Valid PlatformBanner platformBannerEntity) {
|
return iAdminBannerService.platformBannerConfirm(platformBannerEntity);
|
}
|
|
/**
|
* 轮播图---删除
|
* @return
|
*/
|
@GetMapping("platformBannerDelete/{id}")
|
@ControllerEndpoint(operation = "轮播图---删除", exceptionMessage = "删除失败")
|
public FebsResponse platformBannerDelete(@NotNull(message = "{required}") @PathVariable Long id) {
|
return iAdminBannerService.platformBannerDelete(id);
|
}
|
|
/**
|
* 轮播图---新增
|
*/
|
|
@RequiresPermissions("platformBanner:add")
|
@PostMapping("platformBannerAdds")
|
@ControllerEndpoint(operation = "轮播图---新增", exceptionMessage = "新增失败")
|
public FebsResponse platformBannerAdds(@Valid PlatformBanner platformBannerEntity) {
|
iAdminBannerService.platformBannerAdd(platformBannerEntity);
|
return new FebsResponse().success();
|
}
|
|
/**
|
* 图片上传
|
* @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 = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
|
// 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;
|
}
|
}
|