Browse Source

发现有些代码没传,也不懂有没有用

master
韦创卫 1 year ago
parent
commit
9d7663a15b
  1. 2
      yshop-admin/src/main/resources/config/application-prod.yml
  2. 9
      yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java
  3. 51
      yshop-app/src/main/java/co/yixiang/modules/subject/rest/AppSubjectNodeController.java
  4. 2
      yshop-app/src/main/resources/config/application-prod.yml
  5. 7
      yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java
  6. 4
      yshop-mall/src/main/java/co/yixiang/modules/subject/domain/YxStoreSubject.java
  7. 5
      yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectController.java
  8. 6
      yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectNodeController.java
  9. 5
      yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectVolumeController.java
  10. 2
      yshop-mall/src/main/java/co/yixiang/modules/subject/service/YxStoreSubjectService.java
  11. 25
      yshop-mall/src/main/java/co/yixiang/modules/subject/service/impl/YxStoreSubjectServiceImpl.java
  12. 17
      yshop-shop/src/main/java/co/yixiang/modules/shop/rest/MaterialController.java
  13. 6
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskCond.java
  14. 32
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskDTO.java
  15. 11
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskFop.java
  16. 8
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskInput.java
  17. 10
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskKodoFile.java
  18. 11
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskOp.java
  19. 8
      yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskResult.java
  20. 8
      yshop-tools/src/main/java/co/yixiang/modules/tools/rest/QiniuController.java

2
yshop-admin/src/main/resources/config/application-prod.yml

@ -6,7 +6,7 @@ spring:
druid: druid:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://42.194.212.185:3308/yinyao?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
url: jdbc:mysql://localhost:3308/yinyao?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
username: yinyao username: yinyao
password: NGdtmCHnWnLHBPME password: NGdtmCHnWnLHBPME

9
yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java

@ -99,7 +99,10 @@ public class IndexController {
// //
Set<Long> bestSubjectCategoryList = subjectCategoryService.lambdaQuery().eq(YxStoreSubjectCategory::getType, "音乐学院").list().stream().map(YxStoreSubjectCategory::getId).collect(Collectors.toSet()); Set<Long> bestSubjectCategoryList = subjectCategoryService.lambdaQuery().eq(YxStoreSubjectCategory::getType, "音乐学院").list().stream().map(YxStoreSubjectCategory::getId).collect(Collectors.toSet());
Set<Long> freeSubjectCategoryList = subjectCategoryService.lambdaQuery().ne(YxStoreSubjectCategory::getType, "音乐学院").list().stream().map(YxStoreSubjectCategory::getId).collect(Collectors.toSet()); Set<Long> freeSubjectCategoryList = subjectCategoryService.lambdaQuery().ne(YxStoreSubjectCategory::getType, "音乐学院").list().stream().map(YxStoreSubjectCategory::getId).collect(Collectors.toSet());
List<YxStoreSubject> freeSubjectList = subjectService.lambdaQuery().in(YxStoreSubject::getCategoryId, freeSubjectCategoryList).orderByDesc(YxStoreSubject::getCreateTime).last("limit 50").list();
List<YxStoreSubject> paySubjectList = subjectService.lambdaQuery().in(YxStoreSubject::getCategoryId, bestSubjectCategoryList).orderByDesc(YxStoreSubject::getCreateTime).last("limit 50").list();
subjectService.setSubjectViews(freeSubjectList);
subjectService.setSubjectViews(paySubjectList);
IndexVo indexVo = IndexVo.builder() IndexVo indexVo = IndexVo.builder()
.banner(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_BANNER)) .banner(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_BANNER))
@ -113,8 +116,8 @@ public class IndexController {
.roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS)) .roll(systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS))
.seckillList(storeSeckillService.getList(1, 4)) .seckillList(storeSeckillService.getList(1, 4))
.seckillVolumeList(subjectVolumeService.lambdaQuery().eq(YxStoreSubjectVolume::getIsSpike, 1).eq(YxStoreSubjectVolume::getIsShow, 1).list()) .seckillVolumeList(subjectVolumeService.lambdaQuery().eq(YxStoreSubjectVolume::getIsSpike, 1).eq(YxStoreSubjectVolume::getIsShow, 1).list())
.freeSubjectList(subjectService.lambdaQuery().in(YxStoreSubject::getCategoryId, freeSubjectCategoryList).orderByDesc(YxStoreSubject::getCreateTime).last("limit 50").list())
.paySubjectList(subjectService.lambdaQuery().in(YxStoreSubject::getCategoryId, bestSubjectCategoryList).orderByDesc(YxStoreSubject::getCreateTime).last("limit 50").list())
.freeSubjectList(freeSubjectList)
.paySubjectList(paySubjectList)
.liveList(wechatLiveService.getList(1,4,0)) .liveList(wechatLiveService.getList(1,4,0))
.build(); .build();

51
yshop-app/src/main/java/co/yixiang/modules/subject/rest/AppSubjectNodeController.java

@ -4,10 +4,14 @@ import cn.hutool.core.util.NumberUtil;
import co.yixiang.api.ApiResult; import co.yixiang.api.ApiResult;
import co.yixiang.common.bean.LocalUser; import co.yixiang.common.bean.LocalUser;
import co.yixiang.domain.BaseDomain; import co.yixiang.domain.BaseDomain;
import co.yixiang.modules.logging.aop.log.Log;
import co.yixiang.modules.shop.domain.YxMaterial;
import co.yixiang.modules.shop.service.YxMaterialService;
import co.yixiang.modules.subject.domain.YxStoreSubjectNode; import co.yixiang.modules.subject.domain.YxStoreSubjectNode;
import co.yixiang.modules.subject.domain.YxStoreSubjectNodeViews; import co.yixiang.modules.subject.domain.YxStoreSubjectNodeViews;
import co.yixiang.modules.subject.service.YxStoreSubjectNodeService; import co.yixiang.modules.subject.service.YxStoreSubjectNodeService;
import co.yixiang.modules.subject.service.YxStoreSubjectNodeViewsService; import co.yixiang.modules.subject.service.YxStoreSubjectNodeViewsService;
import co.yixiang.modules.tools.domain.dto.QiniuTaskDTO;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -30,6 +34,8 @@ public class AppSubjectNodeController {
private final YxStoreSubjectNodeService nodeService; private final YxStoreSubjectNodeService nodeService;
private final YxStoreSubjectNodeViewsService nodeViewsService; private final YxStoreSubjectNodeViewsService nodeViewsService;
private final YxMaterialService materialService;
@ApiOperation(value = "查询商品分类") @ApiOperation(value = "查询商品分类")
@GetMapping("/type/list") @GetMapping("/type/list")
@ -94,4 +100,49 @@ public class AppSubjectNodeController {
return ApiResult.ok(list); return ApiResult.ok(list);
} }
@ApiOperation("任务回调")
@PostMapping("/notify/qiniu")
public ApiResult<?> taskNotify(@RequestBody QiniuTaskDTO dto) {
if(dto.getCode() != 0) {
return ApiResult.ok();
}
String key = dto.getInput().getKodo_file().getKey();
List<YxStoreSubjectNode> nodeList = nodeService.lambdaQuery().like(YxStoreSubjectNode::getVideoUrl, key).list();
if(CollectionUtils.isNotEmpty(nodeList)) {
YxStoreSubjectNode yxStoreSubjectNode = nodeList.get(0);
String videoUrl = yxStoreSubjectNode.getVideoUrl();
yxStoreSubjectNode.setVideoUrl(rename(videoUrl, "_transcode.mp4"));
yxStoreSubjectNode.setPoster(rename(videoUrl, "_poster.jpg"));
nodeService.updateById(yxStoreSubjectNode);
}
List<YxMaterial> materialList = materialService.lambdaQuery().like(YxMaterial::getUrl, key).eq(YxMaterial::getType, "video").list();
if(CollectionUtils.isNotEmpty(materialList)) {
YxMaterial yxMaterial = materialList.get(0);
String url = yxMaterial.getUrl();
yxMaterial.setUrl(rename(url, "_transcode.mp4"));
yxMaterial.setThumb(rename(url, "_poster.jpg"));
materialService.updateById(yxMaterial);
}
return ApiResult.ok("我知道了");
}
String rename(String str, String ext) {
int dotIndex = str.lastIndexOf('.');
if (dotIndex != -1) {
String modifiedString = str.substring(0, dotIndex) + ext;
return modifiedString;
}else {
String modifiedString = str + ext;
return modifiedString;
}
}
} }

2
yshop-app/src/main/resources/config/application-prod.yml

@ -5,7 +5,7 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://42.194.212.185:3308/yinyao?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
url: jdbc:mysql://localhost:3308/yinyao?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
username: yinyao username: yinyao
password: NGdtmCHnWnLHBPME password: NGdtmCHnWnLHBPME
# 从库数据源 # 从库数据源

7
yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java

@ -556,8 +556,13 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
yxStoreProduct.setIntegral(resultDTO.getMinIntegral()); yxStoreProduct.setIntegral(resultDTO.getMinIntegral());
yxStoreProduct.setStock(resultDTO.getStock()); yxStoreProduct.setStock(resultDTO.getStock());
yxStoreProduct.setSliderImage(String.join(",", storeProductDto.getSliderImage())); yxStoreProduct.setSliderImage(String.join(",", storeProductDto.getSliderImage()));
yxStoreProduct.setSliderVideo(String.join(",", storeProductDto.getSliderVideo()));
if (!storeProductDto.getSliderVideo().isEmpty()) {
yxStoreProduct.setSliderVideo(String.join(",", storeProductDto.getSliderVideo()));
}else {
yxStoreProduct.setSliderVideo("");
}
if (storeProductDto.getId() != null) { if (storeProductDto.getId() != null) {
//清空商品转发图 //清空商品转发图
deleteForwardImg(storeProductDto.getId()); deleteForwardImg(storeProductDto.getId());

4
yshop-mall/src/main/java/co/yixiang/modules/subject/domain/YxStoreSubject.java

@ -72,9 +72,13 @@ public class YxStoreSubject extends BaseDomain {
/** 分类id */ /** 分类id */
private Long categoryId; private Long categoryId;
@TableField(exist = false)
private int views;
@TableField(exist = false) @TableField(exist = false)
private YxStoreSubjectCategory category; private YxStoreSubjectCategory category;

5
yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectController.java

@ -8,6 +8,8 @@
*/ */
package co.yixiang.modules.subject.rest; package co.yixiang.modules.subject.rest;
import java.util.Arrays; import java.util.Arrays;
import co.yixiang.constant.ShopConstants;
import co.yixiang.dozer.service.IGenerator; import co.yixiang.dozer.service.IGenerator;
import co.yixiang.modules.subject.domain.YxStoreSubjectNode; import co.yixiang.modules.subject.domain.YxStoreSubjectNode;
import co.yixiang.modules.subject.domain.YxStoreSubjectVolume; import co.yixiang.modules.subject.domain.YxStoreSubjectVolume;
@ -20,6 +22,7 @@ import co.yixiang.modules.subject.service.YxStoreSubjectVolumeService;
import co.yixiang.modules.subject.service.dto.YxStoreSubjectQueryCriteria; import co.yixiang.modules.subject.service.dto.YxStoreSubjectQueryCriteria;
import co.yixiang.modules.subject.service.dto.YxStoreSubjectDto; import co.yixiang.modules.subject.service.dto.YxStoreSubjectDto;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -85,6 +88,7 @@ public class YxStoreSubjectController {
@Log("新增课程") @Log("新增课程")
@ApiOperation("新增课程") @ApiOperation("新增课程")
@PreAuthorize("@el.check('admin','yxStoreSubject:add')") @PreAuthorize("@el.check('admin','yxStoreSubject:add')")
public ResponseEntity<Object> create(@Validated @RequestBody YxStoreSubject resources){ public ResponseEntity<Object> create(@Validated @RequestBody YxStoreSubject resources){
return new ResponseEntity<>(yxStoreSubjectService.saveRel(resources),HttpStatus.CREATED); return new ResponseEntity<>(yxStoreSubjectService.saveRel(resources),HttpStatus.CREATED);
} }
@ -93,6 +97,7 @@ public class YxStoreSubjectController {
@Log("修改课程") @Log("修改课程")
@ApiOperation("修改课程") @ApiOperation("修改课程")
@PreAuthorize("@el.check('admin','yxStoreSubject:edit')") @PreAuthorize("@el.check('admin','yxStoreSubject:edit')")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
public ResponseEntity<Object> update(@Validated @RequestBody YxStoreSubject resources){ public ResponseEntity<Object> update(@Validated @RequestBody YxStoreSubject resources){
yxStoreSubjectService.updateById(resources); yxStoreSubjectService.updateById(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);

6
yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectNodeController.java

@ -11,6 +11,9 @@ import java.util.Arrays;
import co.yixiang.dozer.service.IGenerator; import co.yixiang.dozer.service.IGenerator;
import co.yixiang.modules.shop.domain.YxMaterial; import co.yixiang.modules.shop.domain.YxMaterial;
import co.yixiang.modules.shop.service.YxMaterialService; import co.yixiang.modules.shop.service.YxMaterialService;
import co.yixiang.modules.tools.domain.dto.QiniuTaskDTO;
import co.yixiang.modules.tools.domain.dto.QiniuTaskOp;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import co.yixiang.modules.logging.aop.log.Log; import co.yixiang.modules.logging.aop.log.Log;
@ -102,4 +105,7 @@ public class YxStoreSubjectNodeController {
}); });
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
} }

5
yshop-mall/src/main/java/co/yixiang/modules/subject/rest/YxStoreSubjectVolumeController.java

@ -8,6 +8,8 @@
*/ */
package co.yixiang.modules.subject.rest; package co.yixiang.modules.subject.rest;
import java.util.Arrays; import java.util.Arrays;
import co.yixiang.constant.ShopConstants;
import co.yixiang.dozer.service.IGenerator; import co.yixiang.dozer.service.IGenerator;
import co.yixiang.exception.BadRequestException; import co.yixiang.exception.BadRequestException;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -16,6 +18,7 @@ import co.yixiang.modules.subject.domain.YxStoreSubjectVolume;
import co.yixiang.modules.subject.service.YxStoreSubjectVolumeService; import co.yixiang.modules.subject.service.YxStoreSubjectVolumeService;
import co.yixiang.modules.subject.service.dto.YxStoreSubjectVolumeQueryCriteria; import co.yixiang.modules.subject.service.dto.YxStoreSubjectVolumeQueryCriteria;
import co.yixiang.modules.subject.service.dto.YxStoreSubjectVolumeDto; import co.yixiang.modules.subject.service.dto.YxStoreSubjectVolumeDto;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -68,6 +71,7 @@ public class YxStoreSubjectVolumeController {
@Log("新增subjectLevel") @Log("新增subjectLevel")
@ApiOperation("新增subjectLevel") @ApiOperation("新增subjectLevel")
@PreAuthorize("@el.check('admin','yxStoreSubjectVolume:add')") @PreAuthorize("@el.check('admin','yxStoreSubjectVolume:add')")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
public ResponseEntity<Object> create(@Validated @RequestBody YxStoreSubjectVolume resources){ public ResponseEntity<Object> create(@Validated @RequestBody YxStoreSubjectVolume resources){
return new ResponseEntity<>(yxStoreSubjectVolumeService.save(resources),HttpStatus.CREATED); return new ResponseEntity<>(yxStoreSubjectVolumeService.save(resources),HttpStatus.CREATED);
} }
@ -76,6 +80,7 @@ public class YxStoreSubjectVolumeController {
@Log("修改subjectLevel") @Log("修改subjectLevel")
@ApiOperation("修改subjectLevel") @ApiOperation("修改subjectLevel")
@PreAuthorize("@el.check('admin','yxStoreSubjectVolume:edit')") @PreAuthorize("@el.check('admin','yxStoreSubjectVolume:edit')")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
public ResponseEntity<Object> update(@Validated @RequestBody YxStoreSubjectVolume resources){ public ResponseEntity<Object> update(@Validated @RequestBody YxStoreSubjectVolume resources){
if(resources.getIsSpike() == 1) { if(resources.getIsSpike() == 1) {
if(resources.getSpikeStartTime() == null) { if(resources.getSpikeStartTime() == null) {

2
yshop-mall/src/main/java/co/yixiang/modules/subject/service/YxStoreSubjectService.java

@ -49,4 +49,6 @@ public interface YxStoreSubjectService extends BaseService<YxStoreSubject>{
YxStoreSubject getByIdRel(Long id); YxStoreSubject getByIdRel(Long id);
boolean saveRel(YxStoreSubject entity); boolean saveRel(YxStoreSubject entity);
void setSubjectViews(List<YxStoreSubject> storeSubjects);
} }

25
yshop-mall/src/main/java/co/yixiang/modules/subject/service/impl/YxStoreSubjectServiceImpl.java

@ -8,6 +8,7 @@
*/ */
package co.yixiang.modules.subject.service.impl; package co.yixiang.modules.subject.service.impl;
import co.yixiang.constant.ShopConstants;
import co.yixiang.modules.product.domain.YxStoreProduct; import co.yixiang.modules.product.domain.YxStoreProduct;
import co.yixiang.modules.product.service.YxStoreProductService; import co.yixiang.modules.product.service.YxStoreProductService;
import co.yixiang.modules.subject.domain.YxStoreSubject; import co.yixiang.modules.subject.domain.YxStoreSubject;
@ -28,6 +29,7 @@ import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.utils.FileUtil; import co.yixiang.utils.FileUtil;
import co.yixiang.modules.subject.service.YxStoreSubjectService; import co.yixiang.modules.subject.service.YxStoreSubjectService;
import co.yixiang.modules.subject.service.dto.YxStoreSubjectDto; import co.yixiang.modules.subject.service.dto.YxStoreSubjectDto;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
@ -83,6 +85,7 @@ public class YxStoreSubjectServiceImpl extends BaseServiceImpl<YxStoreSubjectMap
@Override @Override
@Transactional @Transactional
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
public boolean saveRel(YxStoreSubject entity) { public boolean saveRel(YxStoreSubject entity) {
super.save(entity); super.save(entity);
@ -115,6 +118,25 @@ public class YxStoreSubjectServiceImpl extends BaseServiceImpl<YxStoreSubjectMap
return true; return true;
} }
@Override
public void setSubjectViews(List<YxStoreSubject> storeSubjects) {
Set<Long> subjectIds = storeSubjects.stream().map(YxStoreSubject::getId).collect(Collectors.toSet());
List<YxStoreSubjectVolume> list = volumeService.lambdaQuery().in(YxStoreSubjectVolume::getSubjectId, subjectIds).list();
Map<Long, List<YxStoreSubjectVolume>> collect = list.stream().collect(Collectors.groupingBy(YxStoreSubjectVolume::getSubjectId));
storeSubjects.forEach(item -> {
List<YxStoreSubjectVolume> volumeList = collect.get(item.getId());
if(CollectionUtils.isNotEmpty(volumeList)) {
int sum = volumeList.stream().mapToInt(YxStoreSubjectVolume::getSales).sum();
int fakeSum = volumeList.stream().mapToInt(YxStoreSubjectVolume::getFakeSales).sum();
item.setSales(sum + fakeSum);
}else {
item.setSales(0);
}
});
}
@Override @Override
//@Cacheable //@Cacheable
public PageResult<YxStoreSubjectDto> queryAll(YxStoreSubjectQueryCriteria criteria, Pageable pageable) { public PageResult<YxStoreSubjectDto> queryAll(YxStoreSubjectQueryCriteria criteria, Pageable pageable) {
@ -180,4 +202,7 @@ public class YxStoreSubjectServiceImpl extends BaseServiceImpl<YxStoreSubjectMap
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);
} }
} }

17
yshop-shop/src/main/java/co/yixiang/modules/shop/rest/MaterialController.java

@ -60,12 +60,27 @@ public class MaterialController {
@ApiOperation("新增素材管理") @ApiOperation("新增素材管理")
public ResponseEntity<Object> create(@Validated @RequestBody YxMaterial resources){ public ResponseEntity<Object> create(@Validated @RequestBody YxMaterial resources){
if("video".equals(resources.getType())) { if("video".equals(resources.getType())) {
// String url = resources.getUrl();
// resources.setUrl(rename(url, "_transcode.mp4"));
} }
resources.setCreateId(SecurityUtils.getUsername()); resources.setCreateId(SecurityUtils.getUsername());
return new ResponseEntity<>(yxMaterialService.save(resources),HttpStatus.CREATED); return new ResponseEntity<>(yxMaterialService.save(resources),HttpStatus.CREATED);
} }
String rename(String str, String ext) {
int dotIndex = str.lastIndexOf('.');
if (dotIndex != -1) {
String modifiedString = str.substring(0, dotIndex) + ext;
return modifiedString;
}else {
String modifiedString = str + ext;
return modifiedString;
}
}
@PutMapping @PutMapping
@Log("修改素材管理") @Log("修改素材管理")
@ApiOperation("修改素材管理") @ApiOperation("修改素材管理")

6
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskCond.java

@ -0,0 +1,6 @@
package co.yixiang.modules.tools.domain.dto;
public class QiniuTaskCond {
private String expression;
private QiniuTaskResult result;
}

32
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskDTO.java

@ -0,0 +1,32 @@
package co.yixiang.modules.tools.domain.dto;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPObject;
import lombok.Data;
import java.util.List;
@Data
public class QiniuTaskDTO {
//版本号,新版本统一都为“v3”
private String version;
// 任务ID
private String id;
// 云处理请求的请求id,主要用于七牛技术人员的问题排查
private String reqid;
//默认使用队列为:default.sys
private String pipeline;
private Integer code;
private String desc;
// 任务创建的时间戳,单位为毫秒
private Long created_at;
private QiniuTaskInput input;
private List<QiniuTaskOp> ops;
}

11
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskFop.java

@ -0,0 +1,11 @@
package co.yixiang.modules.tools.domain.dto;
import lombok.Data;
@Data
public class QiniuTaskFop {
private String cmd;
private String input_from;
private QiniuTaskResult result;
}

8
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskInput.java

@ -0,0 +1,8 @@
package co.yixiang.modules.tools.domain.dto;
import lombok.Data;
@Data
public class QiniuTaskInput {
private QiniuTaskKodoFile kodo_file;
}

10
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskKodoFile.java

@ -0,0 +1,10 @@
package co.yixiang.modules.tools.domain.dto;
import lombok.Data;
@Data
public class QiniuTaskKodoFile {
private String bucket;
private String key;
private Boolean hash;
}

11
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskOp.java

@ -0,0 +1,11 @@
package co.yixiang.modules.tools.domain.dto;
import lombok.Data;
@Data
public class QiniuTaskOp {
private String id;
private QiniuTaskFop fop;
private String[] depends;
}

8
yshop-tools/src/main/java/co/yixiang/modules/tools/domain/dto/QiniuTaskResult.java

@ -0,0 +1,8 @@
package co.yixiang.modules.tools.domain.dto;
public class QiniuTaskResult {
private String code;
private String desc;
private Boolean hasOutput;
private String[] output;
}

8
yshop-tools/src/main/java/co/yixiang/modules/tools/rest/QiniuController.java

@ -8,9 +8,12 @@ package co.yixiang.modules.tools.rest;
import co.yixiang.modules.logging.aop.log.Log; import co.yixiang.modules.logging.aop.log.Log;
import co.yixiang.modules.tools.domain.QiniuConfig; import co.yixiang.modules.tools.domain.QiniuConfig;
import co.yixiang.modules.tools.domain.QiniuContent; import co.yixiang.modules.tools.domain.QiniuContent;
import co.yixiang.modules.tools.domain.dto.QiniuTaskDTO;
import co.yixiang.modules.tools.domain.dto.QiniuTaskOp;
import co.yixiang.modules.tools.service.QiNiuService; import co.yixiang.modules.tools.service.QiNiuService;
import co.yixiang.modules.tools.service.QiniuConfigService; import co.yixiang.modules.tools.service.QiniuConfigService;
import co.yixiang.modules.tools.service.dto.QiniuQueryCriteria; import co.yixiang.modules.tools.service.dto.QiniuQueryCriteria;
import com.alibaba.fastjson.JSONObject;
import com.qiniu.util.Auth; import com.qiniu.util.Auth;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -33,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -50,6 +54,7 @@ public class QiniuController {
private final QiniuConfigService qiniuConfigService; private final QiniuConfigService qiniuConfigService;
public QiniuController(QiNiuService qiNiuService, QiniuConfigService qiniuConfigService) { public QiniuController(QiNiuService qiNiuService, QiniuConfigService qiniuConfigService) {
this.qiNiuService = qiNiuService; this.qiNiuService = qiNiuService;
this.qiniuConfigService = qiniuConfigService; this.qiniuConfigService = qiniuConfigService;
@ -137,4 +142,7 @@ public class QiniuController {
String upToken = auth.uploadToken(qiniuConfig.getBucket()); String upToken = auth.uploadToken(qiniuConfig.getBucket());
return new ResponseEntity<>(upToken,HttpStatus.OK); return new ResponseEntity<>(upToken,HttpStatus.OK);
} }
} }

Loading…
Cancel
Save