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.enumerates.DataDictionaryEnum;
|
import cc.mrbird.febs.common.utils.OssUtils;
|
import cc.mrbird.febs.mall.dto.AddMallGoodsDto;
|
import cc.mrbird.febs.mall.dto.MallGoodsUpdateDto;
|
import cc.mrbird.febs.mall.dto.RankAwardUpdateDto;
|
import cc.mrbird.febs.mall.dto.UpMallGoodsDto;
|
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
|
import cc.mrbird.febs.mall.entity.MallGoods;
|
import cc.mrbird.febs.mall.entity.MallGoodsCategory;
|
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
|
import cc.mrbird.febs.mall.service.IAdminMallGoodsService;
|
import cc.mrbird.febs.mall.vo.AdminHomeDeliverySettingVo;
|
import cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryTreeVo;
|
import cc.mrbird.febs.mall.vo.AdminMallGoodsTreeVo;
|
import cc.mrbird.febs.mall.vo.AdminRangeSettingVo;
|
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.StrUtil;
|
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 javax.validation.constraints.NotNull;
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@Validated
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping(value = "/admin/goods")
|
public class AdminMallGoodsController extends BaseController {
|
|
private final IAdminMallGoodsService adminMallGoodsService;
|
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
|
|
/**
|
* 图片上传
|
* @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;
|
}
|
|
/**
|
* 商品列表
|
* @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);
|
}
|
|
/**
|
* 商品-热卖
|
*/
|
@GetMapping("goodsHot/{id}")
|
@ControllerEndpoint(operation = " 商品-热卖", exceptionMessage = "设置失败")
|
public FebsResponse goodsHot(@NotNull(message = "{required}") @PathVariable Long id) {
|
return adminMallGoodsService.goodsHot(id);
|
}
|
|
/**
|
* 商品-取消热卖
|
*/
|
@GetMapping("goodsNotHot/{id}")
|
@ControllerEndpoint(operation = " 商品-取消热卖", exceptionMessage = "设置失败")
|
public FebsResponse goodsNotHot(@NotNull(message = "{required}") @PathVariable Long id) {
|
return adminMallGoodsService.goodsNotHot(id);
|
}
|
|
/**
|
* 商品-上架
|
*/
|
@GetMapping("upMallGoods/{id}")
|
@ControllerEndpoint(operation = " 商品-上架", exceptionMessage = "上架失败")
|
public FebsResponse upMallGoods(@NotNull(message = "{required}") @PathVariable Long id) {
|
return adminMallGoodsService.upMallGoods(id);
|
}
|
|
/**
|
* 商品-下架
|
*/
|
@GetMapping("downMallGoods/{id}")
|
@ControllerEndpoint(operation = " 商品-下架", exceptionMessage = "下架失败")
|
public FebsResponse downMallGoods(@NotNull(message = "{required}") @PathVariable Long id) {
|
return adminMallGoodsService.downMallGoods(id);
|
}
|
|
/**
|
* 商品-删除
|
*/
|
@GetMapping("delMallGoods/{id}")
|
@ControllerEndpoint(operation = " 商品-删除", exceptionMessage = "删除失败")
|
public FebsResponse delMallGoods(@NotNull(message = "{required}") @PathVariable Long id) {
|
return adminMallGoodsService.delMallGoods(id);
|
}
|
|
|
/**
|
* 商品-编辑
|
*/
|
@PostMapping("updateMallGoods")
|
@ControllerEndpoint(operation = "商品-编辑", exceptionMessage = "操作失败")
|
public FebsResponse updateMallGoods(@RequestBody @Valid MallGoodsUpdateDto mallGoodsUpdateDto) {
|
return adminMallGoodsService.updateMallGoods(mallGoodsUpdateDto);
|
}
|
|
/**
|
* 商品-全部选择
|
*/
|
@GetMapping("goods/allTree")
|
@ControllerEndpoint(exceptionMessage = "获取商品失败")
|
public List<AdminMallGoodsTreeVo> getAllGoodsTree(){
|
return adminMallGoodsService.getAllGoodsTree();
|
}
|
|
/**
|
* 商品配送设置 -- 更新
|
*/
|
@PostMapping(value = "/deliverySetUpdate")
|
public FebsResponse deliverySetUpdate(AdminRangeSettingVo adminRangeSettingVo) {
|
Integer rangeSwitch = adminRangeSettingVo.getRangeSwitch();
|
DataDictionaryCustom rangeSwitchDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SWITCH.getType(), DataDictionaryEnum.RANGE_SWITCH.getCode());
|
rangeSwitchDic.setValue(rangeSwitch.toString());
|
dataDictionaryCustomMapper.updateById(rangeSwitchDic);
|
|
Integer rangeSize = adminRangeSettingVo.getRangeSize();
|
DataDictionaryCustom rangeSizeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SIZE.getType(), DataDictionaryEnum.RANGE_SIZE.getCode());
|
rangeSizeDic.setValue(rangeSize.toString());
|
dataDictionaryCustomMapper.updateById(rangeSizeDic);
|
|
Double homeDeliveryAmount = adminRangeSettingVo.getHomeDeliveryAmount();
|
DataDictionaryCustom homeDeliveryAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.HOME_DELIVERY_AMOUNT.getType(), DataDictionaryEnum.HOME_DELIVERY_AMOUNT.getCode());
|
homeDeliveryAmountDic.setValue(homeDeliveryAmount.toString());
|
dataDictionaryCustomMapper.updateById(homeDeliveryAmountDic);
|
|
return new FebsResponse().success();
|
}
|
|
/**
|
* 配送费列表
|
*/
|
@GetMapping("deliveryHomeList")
|
public FebsResponse deliveryHomeList(AdminHomeDeliverySettingVo adminHomeDeliverySettingVo, QueryRequest request) {
|
Map<String, Object> data = getDataTable(adminMallGoodsService.getDeliveryHomeListInPage(adminHomeDeliverySettingVo, request));
|
return new FebsResponse().success().data(data);
|
}
|
|
/**
|
* 配送费列表-更新
|
*/
|
@PostMapping("deliveryHomeUpdate")
|
@ControllerEndpoint(operation = "配送费列表-更新", exceptionMessage = "操作失败")
|
public FebsResponse deliveryHomeUpdate(@Valid AdminHomeDeliverySettingVo adminHomeDeliverySettingVo) {
|
return adminMallGoodsService.deliveryHomeUpdate(adminHomeDeliverySettingVo);
|
}
|
|
|
}
|