Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
88df6001
Commit
88df6001
authored
Nov 19, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上传视频
parent
7294a156
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
5 deletions
+59
-5
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
.../main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
+2
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxStorageController.java
...src/main/java/com/wwdz/ch/wx/web/WxStorageController.java
+51
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/DistributionOrderController.java
...z/ch/wx/web/distribution/DistributionOrderController.java
+6
-4
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
View file @
88df6001
...
@@ -50,8 +50,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
...
@@ -50,8 +50,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
"/wx/selfPage/countIntroduceAmount"
,
"/wx/selfPage/countIntroduceAmount"
,
"/wx/exchange/findExchangeItem"
,
"/wx/specialPerformance/findInfos"
,
"/wx/specialPerformance/findItemList"
,
"/wx/exchange/findExchangeItem"
,
"/wx/specialPerformance/findInfos"
,
"/wx/specialPerformance/findItemList"
,
"/wx/groupPurchase/findList"
,
"/wx/groupPurchase/findItemDetail"
,
"/wx/exchangeApplyOrder/handleApplyOrder"
,
"/wx/supplierItem/findDiscountList"
,
"/wx/groupPurchase/findList"
,
"/wx/groupPurchase/findItemDetail"
,
"/wx/exchangeApplyOrder/handleApplyOrder"
,
"/wx/supplierItem/findDiscountList"
,
"/wx/storage/uploadVideo"
,
"/wx/appletPageConfig/**"
,
"/wx/blindBox/**"
"/wx/appletPageConfig/**"
,
"/wx/blindBox/**"
//下列路径上线注释
//下列路径上线注释
,
"/wx/sellActivity/**"
// ,"/wx/itemTagOperate/**", "/wx/openShop/**", "/wx/earnestRecord/**", "/wx/auctionEarnest/**", "/wx/userAccount/**"
// ,"/wx/itemTagOperate/**", "/wx/openShop/**", "/wx/earnestRecord/**", "/wx/auctionEarnest/**", "/wx/userAccount/**"
/* ,"/wx/specialPerformance/**"
/* ,"/wx/specialPerformance/**"
, "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**",
, "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**",
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxStorageController.java
View file @
88df6001
package
com.wwdz.ch.wx.web
;
package
com.wwdz.ch.wx.web
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.storage.StorageService
;
import
com.wwdz.ch.core.storage.StorageService
;
import
com.wwdz.ch.core.util.CharUtil
;
import
com.wwdz.ch.core.util.CharUtil
;
import
com.wwdz.ch.core.util.ImgUtil
;
import
com.wwdz.ch.core.util.ImgUtil
;
...
@@ -9,8 +12,10 @@ import com.wwdz.ch.core.util.ResponseUtil;
...
@@ -9,8 +12,10 @@ import com.wwdz.ch.core.util.ResponseUtil;
import
com.wwdz.ch.db.dao.dts.DtsStorageDao
;
import
com.wwdz.ch.db.dao.dts.DtsStorageDao
;
import
com.wwdz.ch.db.domain.Storage
;
import
com.wwdz.ch.db.domain.Storage
;
import
com.wwdz.ch.db.domain.System
;
import
com.wwdz.ch.db.domain.System
;
import
com.xxdxxs.utils.CommonUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -18,7 +23,6 @@ import org.springframework.core.io.Resource;
...
@@ -18,7 +23,6 @@ import org.springframework.core.io.Resource;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
@@ -27,11 +31,14 @@ import javax.imageio.ImageIO;
...
@@ -27,11 +31,14 @@ import javax.imageio.ImageIO;
import
java.awt.image.BufferedImage
;
import
java.awt.image.BufferedImage
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Executors
;
import
static
com
.
wwdz
.
ch
.
core
.
util
.
MediaUtil
.
bufferedImageToInputStream
;
/**
/**
* 对象存储服务(暂未用)
* 对象存储服务(暂未用)
*/
*/
...
@@ -50,6 +57,9 @@ public class WxStorageController {
...
@@ -50,6 +57,9 @@ public class WxStorageController {
private
ExecutorService
threadPool
=
Executors
.
newFixedThreadPool
(
20
);
private
ExecutorService
threadPool
=
Executors
.
newFixedThreadPool
(
20
);
@Autowired
QiniuStorage
qiniuStorage
;
@SuppressWarnings
(
"unused"
)
@SuppressWarnings
(
"unused"
)
private
String
generateKey
(
String
originalFilename
)
{
private
String
generateKey
(
String
originalFilename
)
{
int
index
=
originalFilename
.
lastIndexOf
(
'.'
);
int
index
=
originalFilename
.
lastIndexOf
(
'.'
);
...
@@ -103,6 +113,46 @@ public class WxStorageController {
...
@@ -103,6 +113,46 @@ public class WxStorageController {
return
ResponseUtil
.
ok
(
data
);
return
ResponseUtil
.
ok
(
data
);
}
}
@PostMapping
(
"/uploadVideo"
)
@ApiOperation
(
"上传视频,并解析第一帧图片"
)
public
Object
uploadVideo
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
logger
.
info
(
"【请求开始】上传视频文件,请求参数,file:{}"
,
file
.
getOriginalFilename
());
InputStream
fileInputStream
=
file
.
getInputStream
();
String
lastKey
=
".mp4"
;
if
(
StringUtils
.
isNotBlank
(
file
.
getOriginalFilename
()))
{
lastKey
=
file
.
getOriginalFilename
().
substring
(
file
.
getOriginalFilename
().
lastIndexOf
(
"."
));
}
String
videoName
=
CommConsts
.
UPLOAD_PRE_VIDEO_DIRECTORY
+
CommonUtils
.
getUUID
()
+
lastKey
;
qiniuStorage
.
store
(
fileInputStream
,
file
.
getSize
(),
file
.
getContentType
(),
videoName
);
String
videosUrl
=
qiniuStorage
.
generateUrl
(
videoName
);
return
videosUrl
;
/*String video = "";
String[] images = videosUrl.split(";");
StringBuffer stringBuffer = new StringBuffer();
Arrays.stream(images).forEach(image -> {
if (stringBuffer.length() != 0) {
stringBuffer.append(";");
}
try {
String cutImage = MediaUtil.getImageByCutVedio(image);
logger.info(">>>>>> 截取视频第一帧图片url = {} <<<<<<<", cutImage);
URL url = new URL(cutImage);
InputStream inputStream = url.openStream();
BufferedImage bufferedImage = ImageIO.read(inputStream);
String keyName = CommConsts.UPLOAD_PRE_DIRECTORY + CommonUtils.getUUID() + "_" + bufferedImage.getWidth() + "x" + bufferedImage.getHeight() + "." + MediaTypeEnum.IMAGE_JPG.getExt();
InputStream imageStream = bufferedImageToInputStream(bufferedImage, MediaTypeEnum.IMAGE_JPG.getExt());
qiniuStorage.store(imageStream, 1, MediaTypeEnum.IMAGE_JPG.getMime(), keyName);
String urlOfSize = qiniuStorage.generateUrl(keyName);
stringBuffer.append(image).append(",").append(urlOfSize);
} catch (Exception e) {
stringBuffer.append(image);
logger.error("视频图片上传失败", e);
}
});
video = stringBuffer.toString();
return video;*/
}
/**
/**
* 批量上传文件
* 批量上传文件
*
*
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/DistributionOrderController.java
View file @
88df6001
...
@@ -149,13 +149,15 @@ public class DistributionOrderController {
...
@@ -149,13 +149,15 @@ public class DistributionOrderController {
}
}
}
}
}
}
String
[]
codeArr
=
dto
.
getRemark
().
split
(
","
);
if
(
StringUtils
.
hasLength
(
distributionOrder
.
getRemark
()))
{
String
[]
codeArr
=
distributionOrder
.
getRemark
().
split
(
","
);
for
(
String
code
:
codeArr
)
{
for
(
String
code
:
codeArr
)
{
if
(
codeList
.
contains
(
code
))
{
if
(
codeList
.
contains
(
code
))
{
return
Result
.
failed
(
code
+
"号已售出"
);
return
Result
.
failed
(
code
+
"号已售出"
);
}
}
}
}
}
}
}
return
wxPayServiceApi
.
wxAppPayTuneUp
(
dto
.
getPrepayId
());
return
wxPayServiceApi
.
wxAppPayTuneUp
(
dto
.
getPrepayId
());
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment