增加文件上传相关配置

master
liuqingkun 2 years ago
parent ccf71b60a7
commit 703394438e
  1. 10
      doc/minio.txt
  2. 7
      src/main/java/org/springblade/common/constant/DictConstant.java
  3. 6
      src/main/java/org/springblade/modules/desk/controller/OrderController.java
  4. 70
      src/main/java/org/springblade/modules/resource/builder/oss/OssBuilder.java
  5. 55
      src/main/java/org/springblade/modules/system/controller/DictBizController.java
  6. 9
      src/main/resources/application-dev.yml
  7. 4
      src/main/resources/application.yml

@ -0,0 +1,10 @@
服务安装路径:
/usr/local/minio
文件存储路径:
/usr/local/minio/data
minio访问地址:
http://47.104.224.41:9001/
账号: minioadmin
密码: Sj_admin!123

@ -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";
}

@ -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));
}

@ -127,37 +127,45 @@ public class OssBuilder {
* @return Oss
*/
public Oss getOss(String tenantId, String code) {
String key = tenantId;
LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>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<Oss> lqw = Wrappers.<Oss>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;
// }
}
}

@ -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<DictBiz> list = dictService.list(Wrappers.<DictBiz>query().lambda()
.ne(DictBiz::getParentId, 0)
.eq(DictBiz::getCode, DictConstant.GOODS_INFO));
Map<String, String> 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<DictBiz> updatePrice = new LambdaUpdateWrapper<>();
updatePrice
.eq(DictBiz::getCode, DictConstant.GOODS_INFO)
.eq(DictBiz::getDictKey, DictConstant.GOODS_INFO_KEY_PRICE)
.set(DictBiz::getDictValue, price)
;
LambdaUpdateWrapper<DictBiz> 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);
}
}

@ -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

@ -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

Loading…
Cancel
Save