diff --git a/doc/minio.txt b/doc/minio.txt new file mode 100644 index 0000000..4dc0d18 --- /dev/null +++ b/doc/minio.txt @@ -0,0 +1,10 @@ +服务安装路径: +/usr/local/minio + +文件存储路径: +/usr/local/minio/data + +minio访问地址: +http://47.104.224.41:9001/ +账号: minioadmin +密码: Sj_admin!123 diff --git a/src/main/java/org/springblade/common/constant/DictConstant.java b/src/main/java/org/springblade/common/constant/DictConstant.java index af32437..fc6bbaf 100644 --- a/src/main/java/org/springblade/common/constant/DictConstant.java +++ b/src/main/java/org/springblade/common/constant/DictConstant.java @@ -45,4 +45,11 @@ public interface DictConstant { */ String PURCHASE_CHANNEL_CODE = "purchase_channel"; + /** + * 商品信息 + */ + String GOODS_INFO = "goods_info"; + String GOODS_INFO_KEY_PRICE = "price"; + String GOODS_INFO_KEY_IMG = "imgPath"; + } diff --git a/src/main/java/org/springblade/modules/desk/controller/OrderController.java b/src/main/java/org/springblade/modules/desk/controller/OrderController.java index ff45bbd..75af451 100644 --- a/src/main/java/org/springblade/modules/desk/controller/OrderController.java +++ b/src/main/java/org/springblade/modules/desk/controller/OrderController.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.cache.DictBizCache; +import org.springblade.common.constant.DictConstant; import org.springblade.common.enums.*; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.launch.constant.AppConstant; @@ -105,6 +107,10 @@ public class OrderController { return R.fail("您当前有未付款的清单, 请支付."); } + String price = DictBizCache.getValue(DictConstant.GOODS_INFO, DictConstant.GOODS_INFO_KEY_PRICE); + info.setGoodsPrice(Func.toDouble(price)); + info.setGoodsNum(1); + return R.status(orderService.save(info)); } diff --git a/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java b/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java index 3bcced6..2f391d8 100644 --- a/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java +++ b/src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java @@ -127,37 +127,45 @@ public class OssBuilder { * @return Oss */ public Oss getOss(String tenantId, String code) { - String key = tenantId; - LambdaQueryWrapper lqw = Wrappers.query().lambda().eq(Oss::getTenantId, tenantId); - // 获取传参的资源编号并查询,若有则返回,若没有则调启用的配置 - String ossCode = StringUtil.isBlank(code) ? WebUtil.getParameter(OSS_PARAM_KEY) : code; - if (StringUtil.isNotBlank(ossCode)) { - key = key.concat(StringPool.DASH).concat(ossCode); - lqw.eq(Oss::getOssCode, ossCode); - } else { - lqw.eq(Oss::getStatus, OssStatusEnum.ENABLE.getNum()); - } - Oss oss = CacheUtil.get(RESOURCE_CACHE, OSS_CODE, key, () -> { - Oss o = ossService.getOne(lqw); - // 若为空则调用默认配置 - if (o == null || o.getId() == null) { - Oss defaultOss = new Oss(); - defaultOss.setId(0L); - defaultOss.setCategory(OssEnum.of(ossProperties.getName()).getCategory()); - defaultOss.setEndpoint(ossProperties.getEndpoint()); - defaultOss.setBucketName(ossProperties.getBucketName()); - defaultOss.setAccessKey(ossProperties.getAccessKey()); - defaultOss.setSecretKey(ossProperties.getSecretKey()); - return defaultOss; - } else { - return o; - } - }); - if (oss == null || oss.getId() == null) { - throw new ServiceException("未获取到对应的对象存储配置"); - } else { - return oss; - } + Oss defaultOss = new Oss(); + defaultOss.setId(0L); + defaultOss.setCategory(OssEnum.of(ossProperties.getName()).getCategory()); + defaultOss.setEndpoint(ossProperties.getEndpoint()); + defaultOss.setBucketName(ossProperties.getBucketName()); + defaultOss.setAccessKey(ossProperties.getAccessKey()); + defaultOss.setSecretKey(ossProperties.getSecretKey()); + return defaultOss; +// String key = tenantId; +// LambdaQueryWrapper lqw = Wrappers.query().lambda().eq(Oss::getTenantId, tenantId); +// // 获取传参的资源编号并查询,若有则返回,若没有则调启用的配置 +// String ossCode = StringUtil.isBlank(code) ? WebUtil.getParameter(OSS_PARAM_KEY) : code; +// if (StringUtil.isNotBlank(ossCode)) { +// key = key.concat(StringPool.DASH).concat(ossCode); +// lqw.eq(Oss::getOssCode, ossCode); +// } else { +// lqw.eq(Oss::getStatus, OssStatusEnum.ENABLE.getNum()); +// } +// Oss oss = CacheUtil.get(RESOURCE_CACHE, OSS_CODE, key, () -> { +// Oss o = ossService.getOne(lqw); +// // 若为空则调用默认配置 +// if (o == null || o.getId() == null) { +// Oss defaultOss = new Oss(); +// defaultOss.setId(0L); +// defaultOss.setCategory(OssEnum.of(ossProperties.getName()).getCategory()); +// defaultOss.setEndpoint(ossProperties.getEndpoint()); +// defaultOss.setBucketName(ossProperties.getBucketName()); +// defaultOss.setAccessKey(ossProperties.getAccessKey()); +// defaultOss.setSecretKey(ossProperties.getSecretKey()); +// return defaultOss; +// } else { +// return o; +// } +// }); +// if (oss == null || oss.getId() == null) { +// throw new ServiceException("未获取到对应的对象存储配置"); +// } else { +// return oss; +// } } } diff --git a/src/main/java/org/springblade/modules/system/controller/DictBizController.java b/src/main/java/org/springblade/modules/system/controller/DictBizController.java index 7ba5783..e7bc6b1 100644 --- a/src/main/java/org/springblade/modules/system/controller/DictBizController.java +++ b/src/main/java/org/springblade/modules/system/controller/DictBizController.java @@ -16,6 +16,7 @@ */ package org.springblade.modules.system.controller; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -23,6 +24,7 @@ import io.swagger.annotations.*; import lombok.AllArgsConstructor; import org.springblade.common.constant.CommonConstant; import org.springblade.common.constant.DictConstant; +import org.springblade.common.enums.OrderStatusEnum; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.launch.constant.AppConstant; @@ -31,7 +33,10 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; +import org.springblade.modules.desk.entity.Order; import org.springblade.modules.system.entity.DictBiz; import org.springblade.modules.system.service.IDictBizService; import org.springblade.modules.system.vo.DictBizVO; @@ -40,8 +45,11 @@ import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; import static org.springblade.core.cache.constant.CacheConstant.DICT_CACHE; @@ -227,4 +235,51 @@ public class DictBizController extends BladeController { .eq(DictBiz::getCode, DictConstant.PURCHASE_CHANNEL_CODE)); return R.data(list); } + + /** + * 获取商品信息 + */ + @GetMapping("/get-goods-info") + @ApiOperation(value = "购买渠道列表", notes = "购买渠道列表") + public R getGoodsInfo() { + List list = dictService.list(Wrappers.query().lambda() + .ne(DictBiz::getParentId, 0) + .eq(DictBiz::getCode, DictConstant.GOODS_INFO)); + + Map infoMap = list.stream().collect(Collectors.toMap(DictBiz::getDictKey, DictBiz::getDictValue)); + + return R.data(infoMap); + } + + /** + * 保存商品信息 + */ + @PostMapping("/save-goods-info") + @ApiOperation(value = "购买渠道列表", notes = "购买渠道列表") + public R saveGoodsInfo(String price, String imgPath) { + if (Func.isEmpty(price)) { + return R.fail("商品价格不能为空"); + } + + if (Func.isEmpty(imgPath)) { + return R.fail("商品图片不能为空"); + } + + LambdaUpdateWrapper updatePrice = new LambdaUpdateWrapper<>(); + updatePrice + .eq(DictBiz::getCode, DictConstant.GOODS_INFO) + .eq(DictBiz::getDictKey, DictConstant.GOODS_INFO_KEY_PRICE) + .set(DictBiz::getDictValue, price) + ; + + LambdaUpdateWrapper updateImgPath = new LambdaUpdateWrapper<>(); + updateImgPath + .eq(DictBiz::getCode, DictConstant.GOODS_INFO) + .eq(DictBiz::getDictKey, DictConstant.GOODS_INFO_KEY_IMG) + .set(DictBiz::getDictValue, imgPath) + ; + boolean flagPrice = dictService.update(null, updatePrice); + boolean flagImgPath = dictService.update(null, updateImgPath); + return R.status(flagPrice && flagImgPath); + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index f195f24..55b0269 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -32,3 +32,12 @@ blade: upload-domain: http://localhost:8999 remote-path: /usr/share/nginx/html +#oss默认配置 +oss: + enabled: true + name: minio + tenant-mode: false + endpoint: http://47.104.224.41:9000 + access-key: JFuZsufFyX9T2yuYaJr6 + secret-key: LDzFXFodYLHtnLdPEPFwBDuKVKiUNJMsgQ4SsGYc + bucket-name: etriphome diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7cd6cf4..d193cb6 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -183,10 +183,12 @@ blade: secure: #接口放行 skip-url: - - /blade-desk/** + - /blade-resource/** + - /blade-system/** - /blade-desk/custom-made-info/** - /blade-system/dict-biz/get-logistics-companies - /blade-system/dict-biz/get-purchase-channel + - /blade-system/dict-biz/get-goods-info #授权认证配置 auth: - method: ALL