From 6127f9c2f53b4e11d2ddfc5575631e5403da0410 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 05 Jun 2025 17:34:45 +0800 Subject: [PATCH] feat(mall): 添加年排行功能并优化积分查询性能 --- src/main/java/cc/mrbird/febs/mall/controller/CommonController.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 98 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java index 12fecbc..8c4dcd1 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java @@ -2,20 +2,22 @@ import cc.mrbird.febs.common.annotation.ControllerEndpoint; import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.*; import cc.mrbird.febs.mall.dto.AccountAndCodeDto; import cc.mrbird.febs.mall.dto.Base64UploadDto; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.service.ICommonService; +import cc.mrbird.febs.mall.vo.ScoreSignVo; +import cc.mrbird.febs.mall.vo.common.ApiCommonSetVo; +import cc.mrbird.febs.mall.vo.common.ApiIndexSetVo; import cn.hutool.core.io.file.FileNameUtil; import cn.hutool.core.lang.UUID; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.thoughtworks.xstream.core.BaseException; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.coobird.thumbnailator.Thumbnails; @@ -189,6 +191,98 @@ return new FebsResponse().success().data(dic); } + @ApiOperation(value = "小程序系统公共设置") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiCommonSetVo.class) + }) + @GetMapping(value = "/commonSet") + public FebsResponse commonSet() { + ApiCommonSetVo apiCommonSetVo = new ApiCommonSetVo(); + + String graySet = commonService.getDicByTypeAndCode( + CommonDictionaryEnum.GRAY_SET.getType(), + CommonDictionaryEnum.GRAY_SET.getCode() + ); + if (graySet == null) { + graySet = "0"; + } + apiCommonSetVo.setGrayState(graySet); + return new FebsResponse().success().data(apiCommonSetVo); + } + + + @ApiOperation(value = "小程序首页头部背景") + @GetMapping(value = "/indexHeadPng") + public FebsResponse indexHeadPng() { + String pngUrl = commonService.getDicByTypeAndCode( + CommonDictionaryEnum.VIDEO_URL_INDEX.getType(), + CommonDictionaryEnum.VIDEO_URL_INDEX.getCode() + ); + if (pngUrl == null) { + pngUrl = ""; + } + return new FebsResponse().success().data(pngUrl); + } + + @ApiOperation(value = "小程序开屏页设置") + @ApiResponses({ + @ApiResponse(code = 200, message = "success", response = ApiIndexSetVo.class) + }) + @GetMapping(value = "/indexSet") + public FebsResponse indexSet() { + ApiIndexSetVo apiIndexSetVo = new ApiIndexSetVo(); + + String pngUrl = commonService.getDicByTypeAndCode( + CommonDictionaryEnum.PNG_URL_INDEX.getType(), + CommonDictionaryEnum.PNG_URL_INDEX.getCode() + ); + if (pngUrl == null) { + pngUrl = ""; + } + apiIndexSetVo.setPngUrl(pngUrl); + + String timeStop = commonService.getDicByTypeAndCode( + CommonDictionaryEnum.TIME_URL_INDEX.getType(), + CommonDictionaryEnum.TIME_URL_INDEX.getCode() + ); + if (timeStop == null) { + timeStop = "3"; + } + apiIndexSetVo.setTimeStop(timeStop); + return new FebsResponse().success().data(apiIndexSetVo); + } + + @ApiOperation(value = "base64FileUpload上传") + @PostMapping(value = "/base64FileUpload") + public Map<String,Object> base64FileUpload(@RequestBody @Validated MultipartFile file) throws IOException { + if (file == null || file.isEmpty()) { + return new FebsResponse().message("上传文件为空").fail(); + } + + try { + byte[] fileBytes = file.getBytes(); + String base64Str = java.util.Base64.getEncoder().encodeToString(fileBytes); + String imageSuffix = "." + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1); + String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageSuffix; + String imageName = "hc/" + imageNames; + OssUtils.uploadFileWithBase64(base64Str, 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>(); + map2.put("src",url);//图片url + map2.put("title",imageNames);//图片名称,这个会显示在输入框里 + map.put("code",0);//0表示成功,1失败 + map.put("msg","上传成功");//提示消息 + map.put("data",map2); + return map; + } catch (IOException e) { + log.error("上传失败: {}", e.getMessage()); + return new FebsResponse().message("上传失败").fail(); + } + } + @ApiOperation(value = "base64上传") @PostMapping(value = "/base64Upload") public FebsResponse base64Upload(@RequestBody @Validated Base64UploadDto base64UploadDto) { @@ -199,7 +293,7 @@ String imageFuffix = ".jpg"; String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageFuffix; - String imageName = "uploadeFile/" + imageNames; + String imageName = "hc/" + imageNames; OssUtils.uploadFileWithBase64(base64Str, imageName); String bucket_name ="https://excoin.oss-cn-hangzhou.aliyuncs.com"; String url = bucket_name + "/" + imageName; -- Gitblit v1.9.1