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
7279c75e
Commit
7279c75e
authored
Aug 17, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
b73c4f2e
669a137c
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
262 additions
and
164 deletions
+262
-164
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
...ore/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
+6
-1
ch-core/src/main/java/com/wwdz/ch/core/storage/AliyunStorage.java
...src/main/java/com/wwdz/ch/core/storage/AliyunStorage.java
+14
-10
ch-core/src/main/java/com/wwdz/ch/core/storage/LocalStorage.java
.../src/main/java/com/wwdz/ch/core/storage/LocalStorage.java
+5
-0
ch-core/src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
.../src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
+33
-16
ch-core/src/main/java/com/wwdz/ch/core/storage/Storage.java
ch-core/src/main/java/com/wwdz/ch/core/storage/Storage.java
+8
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/FavoritesServiceImpl.java
...c/main/java/com/wwdz/ch/wx/impl/FavoritesServiceImpl.java
+26
-13
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/FootPrintServiceImpl.java
...c/main/java/com/wwdz/ch/wx/impl/FootPrintServiceImpl.java
+35
-46
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
+71
-57
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/WxLoginServiceImpl.java
...src/main/java/com/wwdz/ch/wx/impl/WxLoginServiceImpl.java
+25
-17
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/FootPrintService.java
...rc/main/java/com/wwdz/ch/wx/service/FootPrintService.java
+0
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/ItemService.java
...api/src/main/java/com/wwdz/ch/wx/service/ItemService.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/util/StringUtil.java
ch-wx-api/src/main/java/com/wwdz/ch/wx/util/StringUtil.java
+36
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxItemController.java
...pi/src/main/java/com/wwdz/ch/wx/web/WxItemController.java
+2
-2
No files found.
ch-core/src/main/java/com/wwdz/ch/core/consts/CommConsts.java
View file @
7279c75e
...
@@ -25,5 +25,10 @@ public interface CommConsts {
...
@@ -25,5 +25,10 @@ public interface CommConsts {
/**
/**
* 上传视频目录
* 上传视频目录
*/
*/
public
static
final
String
UPLOAD_PRE_VEDIO_DIRECTORY
=
"quanku/vedio/"
;
public
static
final
String
UPLOAD_PRE_VIDEO_DIRECTORY
=
"quanku/video/"
;
/**
* 上传微信小程序码目录
*/
public
static
final
String
UPLOAD_PRE_WXACODE_DIRECTORY
=
"quanku/wxacode/"
;
}
}
ch-core/src/main/java/com/wwdz/ch/core/storage/AliyunStorage.java
View file @
7279c75e
package
com.wwdz.ch.core.storage
;
package
com.wwdz.ch.core.storage
;
import
java.io.InputStream
;
import
com.aliyun.oss.OSSClient
;
import
java.net.MalformedURLException
;
import
com.aliyun.oss.model.ObjectMetadata
;
import
java.net.URL
;
import
com.aliyun.oss.model.PutObjectRequest
;
import
java.nio.file.Path
;
import
com.aliyun.oss.model.PutObjectResult
;
import
java.util.stream.Stream
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.UrlResource
;
import
org.springframework.core.io.UrlResource
;
import
com.aliyun.oss.OSSClient
;
import
java.io.InputStream
;
import
com.aliyun.oss.model.ObjectMetadata
;
import
java.net.MalformedURLException
;
import
com.aliyun.oss.model.PutObjectRequest
;
import
java.net.URL
;
import
com.aliyun.oss.model.PutObjectResult
;
import
java.nio.file.Path
;
import
java.util.stream.Stream
;
public
class
AliyunStorage
implements
Storage
{
public
class
AliyunStorage
implements
Storage
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AliyunStorage
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AliyunStorage
.
class
);
...
@@ -135,4 +134,9 @@ public class AliyunStorage implements Storage {
...
@@ -135,4 +134,9 @@ public class AliyunStorage implements Storage {
public
String
generateUrl
(
String
keyName
)
{
public
String
generateUrl
(
String
keyName
)
{
return
getBaseUrl
()
+
keyName
;
return
getBaseUrl
()
+
keyName
;
}
}
@Override
public
Object
checkFile
(
String
keyName
)
{
return
null
;
}
}
}
ch-core/src/main/java/com/wwdz/ch/core/storage/LocalStorage.java
View file @
7279c75e
...
@@ -101,4 +101,9 @@ public class LocalStorage implements Storage {
...
@@ -101,4 +101,9 @@ public class LocalStorage implements Storage {
String
url
=
address
+
keyName
;
String
url
=
address
+
keyName
;
return
url
;
return
url
;
}
}
@Override
public
Object
checkFile
(
String
keyName
)
{
return
null
;
}
}
}
\ No newline at end of file
ch-core/src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
View file @
7279c75e
package
com.wwdz.ch.core.storage
;
package
com.wwdz.ch.core.storage
;
import
java.awt.image.BufferedImage
;
import
com.qiniu.common.QiniuException
;
import
java.io.ByteArrayInputStream
;
import
com.qiniu.http.Response
;
import
java.io.InputStream
;
import
com.qiniu.storage.BucketManager
;
import
java.net.MalformedURLException
;
import
com.qiniu.storage.Configuration
;
import
java.net.URL
;
import
com.qiniu.storage.UploadManager
;
import
java.nio.file.Path
;
import
com.qiniu.storage.model.FileInfo
;
import
java.util.Base64
;
import
com.qiniu.util.Auth
;
import
java.util.stream.Stream
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.core.util.MediaUtil
;
...
@@ -19,14 +17,15 @@ import org.apache.commons.logging.LogFactory;
...
@@ -19,14 +17,15 @@ import org.apache.commons.logging.LogFactory;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.UrlResource
;
import
org.springframework.core.io.UrlResource
;
import
com.qiniu.common.QiniuException
;
import
com.qiniu.http.Response
;
import
com.qiniu.storage.BucketManager
;
import
com.qiniu.storage.Configuration
;
import
com.qiniu.storage.UploadManager
;
import
com.qiniu.util.Auth
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.nio.file.Path
;
import
java.util.Base64
;
import
java.util.stream.Stream
;
public
class
QiniuStorage
implements
Storage
{
public
class
QiniuStorage
implements
Storage
{
...
@@ -201,6 +200,24 @@ public class QiniuStorage implements Storage {
...
@@ -201,6 +200,24 @@ public class QiniuStorage implements Storage {
return
endpoint
+
"/"
+
keyName
;
return
endpoint
+
"/"
+
keyName
;
}
}
@Override
public
Object
checkFile
(
String
keyName
)
{
if
(
bucketManager
==
null
)
{
if
(
auth
==
null
)
{
auth
=
Auth
.
create
(
accessKey
,
secretKey
);
}
bucketManager
=
new
BucketManager
(
auth
,
new
Configuration
());
}
FileInfo
fileInfo
=
null
;
try
{
fileInfo
=
bucketManager
.
stat
(
bucketName
,
keyName
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
fileInfo
;
}
/**
/**
* 原图片地址没尺寸信息的加上尺寸信息重新上传
* 原图片地址没尺寸信息的加上尺寸信息重新上传
...
...
ch-core/src/main/java/com/wwdz/ch/core/storage/Storage.java
View file @
7279c75e
...
@@ -34,4 +34,12 @@ public interface Storage {
...
@@ -34,4 +34,12 @@ public interface Storage {
void
delete
(
String
keyName
);
void
delete
(
String
keyName
);
String
generateUrl
(
String
keyName
);
String
generateUrl
(
String
keyName
);
/**
* 获取文件
*
* @param keyName
* @return
*/
Object
checkFile
(
String
keyName
);
}
}
\ No newline at end of file
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/FavoritesServiceImpl.java
View file @
7279c75e
...
@@ -18,6 +18,7 @@ import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
...
@@ -18,6 +18,7 @@ import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
import
com.wwdz.ch.wx.entity.vo.FavoritesResponseVo
;
import
com.wwdz.ch.wx.entity.vo.FavoritesResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.service.FavoritesService
;
import
com.wwdz.ch.wx.service.FavoritesService
;
import
com.wwdz.ch.wx.util.StringUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -276,12 +277,22 @@ public class FavoritesServiceImpl implements FavoritesService {
...
@@ -276,12 +277,22 @@ public class FavoritesServiceImpl implements FavoritesService {
for
(
FavoritesItemsRelation
relation
:
relationPage
.
getList
())
{
for
(
FavoritesItemsRelation
relation
:
relationPage
.
getList
())
{
ItemResponseVo
vo
=
new
ItemResponseVo
();
ItemResponseVo
vo
=
new
ItemResponseVo
();
Item
item
=
itemDao
.
findDetails
(
relation
.
getItemId
());
Item
item
=
itemDao
.
findDetails
(
relation
.
getItemId
());
// 设置基本信息
vo
.
setId
(
relation
.
getItemId
());
vo
.
setId
(
relation
.
getItemId
());
vo
.
setName
(
item
.
getName
());
vo
.
setName
(
item
.
getName
());
vo
.
setImages
(
item
.
getImages
());
vo
.
setImages
(
item
.
getImages
());
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
*
100
));
vo
.
setDetail
(
item
.
getDetail
());
vo
.
setDetail
(
item
.
getDetail
());
// 设置价格
if
(
item
.
getPrice
()
%
100
==
0
)
{
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
}
else
{
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
}
vo
.
setPrice
(
StringUtil
.
formatAmount
(
vo
.
getPrice
()));
// 设置是否收藏或是否是自己发布的
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
relation
.
getItemId
())
?
1
:
0
);
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
relation
.
getItemId
())
?
1
:
0
);
vo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
// 设置收藏数
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
count
--;
count
--;
...
@@ -291,26 +302,26 @@ public class FavoritesServiceImpl implements FavoritesService {
...
@@ -291,26 +302,26 @@ public class FavoritesServiceImpl implements FavoritesService {
}
else
{
}
else
{
vo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
vo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
}
}
// 设置图片或视频
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
if
(
vedioImage
[
0
].
contains
(
","
))
{
if
(
vedioImage
[
0
].
contains
(
","
))
{
String
[]
image
=
vedioImage
[
0
].
split
(
","
);
String
[]
video
=
vedioImage
[
0
].
split
(
","
);
homePageMap
=
getImageMap
(
image
[
1
]);
homePageMap
=
getImageMap
(
video
[
1
]);
homePageMap
.
put
(
"url"
,
image
[
1
]);
homePageMap
.
put
(
"url"
,
video
[
1
]);
homePageMap
.
put
(
"type"
,
1
);
homePageMap
.
put
(
"type"
,
1
);
}
}
}
else
{
}
else
{
String
[]
image
=
item
.
getImages
().
split
(
";"
);
if
(
image
[
0
].
contains
(
"_"
))
{
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"type"
,
2
);
}
else
{
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
}
}
}
}
vo
.
setHomePageImage
(
homePageMap
);
vo
.
setHomePageImage
(
homePageMap
);
...
@@ -424,9 +435,11 @@ public class FavoritesServiceImpl implements FavoritesService {
...
@@ -424,9 +435,11 @@ public class FavoritesServiceImpl implements FavoritesService {
.
map
(
UserItemsRelation:
:
getItemId
).
collect
(
Collectors
.
toList
());
.
map
(
UserItemsRelation:
:
getItemId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
itemIds
=
dto
.
getItemIds
().
stream
()
List
<
Long
>
itemIds
=
dto
.
getItemIds
().
stream
()
.
filter
(
usersItemsIds:
:
contains
).
collect
(
Collectors
.
toList
());
.
filter
(
usersItemsIds:
:
contains
).
collect
(
Collectors
.
toList
());
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
if
(
CollectionUtils
.
isNotEmpty
(
itemIds
))
{
coinRequestDto
.
setIds
(
itemIds
);
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
itemDao
.
deleteUserItems
(
coinRequestDto
);
coinRequestDto
.
setIds
(
itemIds
);
itemDao
.
deleteUserItems
(
coinRequestDto
);
}
}
}
// 删除收藏册和钱币的关联
// 删除收藏册和钱币的关联
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/FootPrintServiceImpl.java
View file @
7279c75e
...
@@ -12,6 +12,7 @@ import com.wwdz.ch.wx.entity.request.FootPrintRequestDto;
...
@@ -12,6 +12,7 @@ import com.wwdz.ch.wx.entity.request.FootPrintRequestDto;
import
com.wwdz.ch.wx.entity.vo.FootPrintResponseVo
;
import
com.wwdz.ch.wx.entity.vo.FootPrintResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.service.FootPrintService
;
import
com.wwdz.ch.wx.service.FootPrintService
;
import
com.wwdz.ch.wx.util.StringUtil
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.DateUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -20,7 +21,6 @@ import org.slf4j.LoggerFactory;
...
@@ -20,7 +21,6 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -71,13 +71,23 @@ public class FootPrintServiceImpl implements FootPrintService {
...
@@ -71,13 +71,23 @@ public class FootPrintServiceImpl implements FootPrintService {
for
(
Footprint
footprint
:
list
)
{
for
(
Footprint
footprint
:
list
)
{
Item
item
=
itemDao
.
findDetails
(
footprint
.
getItemId
());
Item
item
=
itemDao
.
findDetails
(
footprint
.
getItemId
());
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
// 设置基本信息
itemResponseVo
.
setId
(
footprint
.
getId
());
itemResponseVo
.
setId
(
footprint
.
getId
());
itemResponseVo
.
setItemId
(
item
.
getId
());
itemResponseVo
.
setItemId
(
item
.
getId
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setDetail
(
item
.
getDetail
());
itemResponseVo
.
setDetail
(
item
.
getDetail
());
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
// 设置价格
if
(
item
.
getPrice
()
%
100
==
0
)
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
}
else
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
}
itemResponseVo
.
setPrice
(
StringUtil
.
formatAmount
(
itemResponseVo
.
getPrice
()));
// 设置是否收藏或是否是自己发布的
itemResponseVo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
footprint
.
getItemId
())
?
1
:
0
);
itemResponseVo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
footprint
.
getItemId
())
?
1
:
0
);
itemResponseVo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
// 设置收藏数
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
count
--;
count
--;
...
@@ -87,26 +97,26 @@ public class FootPrintServiceImpl implements FootPrintService {
...
@@ -87,26 +97,26 @@ public class FootPrintServiceImpl implements FootPrintService {
}
else
{
}
else
{
itemResponseVo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
itemResponseVo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
}
}
// 设置图片或视频
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
if
(
vedioImage
[
0
].
contains
(
","
))
{
if
(
vedioImage
[
0
].
contains
(
","
))
{
String
[]
image
=
vedioImage
[
0
].
split
(
","
);
String
[]
video
=
vedioImage
[
0
].
split
(
","
);
homePageMap
=
getImageMap
(
image
[
1
]);
homePageMap
=
getImageMap
(
video
[
1
]);
homePageMap
.
put
(
"url"
,
image
[
1
]);
homePageMap
.
put
(
"url"
,
video
[
1
]);
homePageMap
.
put
(
"type"
,
1
);
homePageMap
.
put
(
"type"
,
1
);
}
}
}
else
{
}
else
{
String
[]
image
=
item
.
getImages
().
split
(
";"
);
if
(
image
[
0
].
contains
(
"_"
))
{
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"type"
,
2
);
}
else
{
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
}
}
}
}
itemResponseVo
.
setHomePageImage
(
homePageMap
);
itemResponseVo
.
setHomePageImage
(
homePageMap
);
...
@@ -190,18 +200,23 @@ public class FootPrintServiceImpl implements FootPrintService {
...
@@ -190,18 +200,23 @@ public class FootPrintServiceImpl implements FootPrintService {
for
(
Footprint
footprint
:
list
)
{
for
(
Footprint
footprint
:
list
)
{
Item
item
=
itemDao
.
findDetails
(
footprint
.
getItemId
());
Item
item
=
itemDao
.
findDetails
(
footprint
.
getItemId
());
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
// 设置基本信息
itemResponseVo
.
setId
(
footprint
.
getId
());
itemResponseVo
.
setId
(
footprint
.
getId
());
itemResponseVo
.
setItemId
(
item
.
getId
());
itemResponseVo
.
setItemId
(
item
.
getId
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setDetail
(
item
.
getDetail
());
itemResponseVo
.
setDetail
(
item
.
getDetail
());
// 设置价格
if
(
item
.
getPrice
()
%
100
==
0
)
{
if
(
item
.
getPrice
()
%
100
==
0
)
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
}
else
{
}
else
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
}
}
itemResponseVo
.
setPrice
(
StringUtil
.
formatAmount
(
itemResponseVo
.
getPrice
()));
// 设置是否收藏或是否是自己发布的
itemResponseVo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
footprint
.
getItemId
())
?
1
:
0
);
itemResponseVo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
footprint
.
getItemId
())
?
1
:
0
);
itemResponseVo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
itemResponseVo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
// 设置收藏数
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
count
--;
count
--;
...
@@ -211,26 +226,26 @@ public class FootPrintServiceImpl implements FootPrintService {
...
@@ -211,26 +226,26 @@ public class FootPrintServiceImpl implements FootPrintService {
}
else
{
}
else
{
itemResponseVo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
itemResponseVo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
}
}
// 设置图片或视频
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
if
(
vedioImage
[
0
].
contains
(
","
))
{
if
(
vedioImage
[
0
].
contains
(
","
))
{
String
[]
image
=
vedioImage
[
0
].
split
(
","
);
String
[]
video
=
vedioImage
[
0
].
split
(
","
);
homePageMap
=
getImageMap
(
image
[
1
]);
homePageMap
=
getImageMap
(
video
[
1
]);
homePageMap
.
put
(
"url"
,
image
[
1
]);
homePageMap
.
put
(
"url"
,
video
[
1
]);
homePageMap
.
put
(
"type"
,
1
);
homePageMap
.
put
(
"type"
,
1
);
}
}
}
else
{
}
else
{
String
[]
image
=
item
.
getImages
().
split
(
";"
);
if
(
image
[
0
].
contains
(
"_"
))
{
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"type"
,
2
);
}
else
{
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
}
}
}
}
itemResponseVo
.
setHomePageImage
(
homePageMap
);
itemResponseVo
.
setHomePageImage
(
homePageMap
);
...
@@ -287,32 +302,6 @@ public class FootPrintServiceImpl implements FootPrintService {
...
@@ -287,32 +302,6 @@ public class FootPrintServiceImpl implements FootPrintService {
}
}
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Result
add
(
FootPrintRequestDto
dto
)
{
try
{
Footprint
footprint
=
footPrintDao
.
selectByUserIdItem
(
dto
.
getUserId
(),
dto
.
getItemId
());
Date
now
=
new
Date
();
if
(
Objects
.
isNull
(
footprint
))
{
Footprint
newVo
=
new
Footprint
();
newVo
.
setUserId
(
dto
.
getUserId
());
newVo
.
setItemId
(
dto
.
getItemId
());
newVo
.
setDeleted
(
false
);
newVo
.
setAddTime
(
now
);
newVo
.
setUpdateTime
(
now
);
footPrintDao
.
insert
(
newVo
);
}
else
{
footprint
.
setUpdateTime
(
now
);
footPrintDao
.
upateTime
(
footprint
);
}
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户浏览藏品后添加或更新足迹失败"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
Result
.
failed
();
}
}
private
Map
<
String
,
Object
>
getImageMap
(
String
image
)
{
private
Map
<
String
,
Object
>
getImageMap
(
String
image
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
[]
_image
=
image
.
split
(
"_"
);
String
[]
_image
=
image
.
split
(
"_"
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
View file @
7279c75e
package
com.wwdz.ch.wx.impl
;
package
com.wwdz.ch.wx.impl
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.qiniu.storage.model.FileInfo
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommonEnum
;
import
com.wwdz.ch.core.consts.CommonEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
...
@@ -15,6 +16,7 @@ import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
...
@@ -15,6 +16,7 @@ import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
import
com.wwdz.ch.wx.service.ItemService
;
import
com.wwdz.ch.wx.service.ItemService
;
import
com.wwdz.ch.wx.service.WxLoginService
;
import
com.wwdz.ch.wx.service.WxLoginService
;
import
com.wwdz.ch.wx.util.StringUtil
;
import
com.xxdxxs.utils.CommonUtils
;
import
com.xxdxxs.utils.CommonUtils
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.DateUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
...
@@ -30,7 +32,10 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -30,7 +32,10 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageIO
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.awt.image.BufferedImage
;
import
java.awt.image.BufferedImage
;
import
java.io.*
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.net.URL
;
import
java.util.*
;
import
java.util.*
;
...
@@ -91,44 +96,50 @@ public class ItemServiceImpl implements ItemService {
...
@@ -91,44 +96,50 @@ public class ItemServiceImpl implements ItemService {
List
<
AgentTranceResponseVo
>
resultList
=
new
ArrayList
<>();
List
<
AgentTranceResponseVo
>
resultList
=
new
ArrayList
<>();
for
(
Item
item
:
page
.
getList
())
{
for
(
Item
item
:
page
.
getList
())
{
ItemResponseVo
vo
=
new
ItemResponseVo
();
ItemResponseVo
vo
=
new
ItemResponseVo
();
// 设置基本信息
vo
.
setId
(
item
.
getId
());
vo
.
setId
(
item
.
getId
());
vo
.
setName
(
item
.
getName
());
vo
.
setName
(
item
.
getName
());
vo
.
setDetail
(
item
.
getDetail
());
vo
.
setImages
(
item
.
getImages
());
vo
.
setSourceType
(
item
.
getSourceType
());
// 设置价格
if
(
item
.
getPrice
()
%
100
==
0
)
{
if
(
item
.
getPrice
()
%
100
==
0
)
{
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
}
else
{
}
else
{
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
vo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
}
}
vo
.
setDetail
(
item
.
getDetail
());
vo
.
setPrice
(
StringUtil
.
formatAmount
(
vo
.
getPrice
()));
vo
.
setIsCollected
(
0
);
// 设置图片或视频
vo
.
setIsMine
(
0
);
vo
.
setImages
(
item
.
getImages
());
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
if
(
vedioImage
[
0
].
contains
(
","
))
{
if
(
vedioImage
[
0
].
contains
(
","
))
{
String
[]
image
=
vedioImage
[
0
].
split
(
","
);
String
[]
video
=
vedioImage
[
0
].
split
(
","
);
homePageMap
=
getImageMap
(
image
[
1
]);
homePageMap
=
getImageMap
(
video
[
1
]);
homePageMap
.
put
(
"url"
,
image
[
1
]);
homePageMap
.
put
(
"url"
,
video
[
1
]);
homePageMap
.
put
(
"type"
,
1
);
homePageMap
.
put
(
"type"
,
1
);
}
}
}
else
{
}
else
{
String
[]
image
=
item
.
getImages
().
split
(
";"
);
if
(
image
[
0
].
contains
(
"_"
))
{
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"type"
,
2
);
}
else
{
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
}
}
}
}
vo
.
setHomePageImage
(
homePageMap
);
vo
.
setHomePageImage
(
homePageMap
);
// 设置是否收藏和是否是自己发布的
vo
.
setIsCollected
(
0
);
vo
.
setIsMine
(
0
);
if
(!
dto
.
getUserId
().
equals
(
0L
))
{
if
(!
dto
.
getUserId
().
equals
(
0L
))
{
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
vo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
vo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
}
}
// 设置收藏数
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
long
count
=
favoritesItemsRelationDao
.
countByItemId
(
item
.
getId
());
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
if
(
item
.
getSourceType
().
equals
(
CommonEnum
.
SourceTypeEnum
.
USER_UPLOAD
.
getCode
()))
{
count
--;
count
--;
...
@@ -138,7 +149,6 @@ public class ItemServiceImpl implements ItemService {
...
@@ -138,7 +149,6 @@ public class ItemServiceImpl implements ItemService {
}
else
{
}
else
{
vo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
vo
.
setCollectCount
(
String
.
format
(
"%.1f"
,
(
double
)
count
/
1000
)
+
"k"
);
}
}
vo
.
setSourceType
(
item
.
getSourceType
());
AgentTranceResponseVo
agentTranceResponseVo
=
new
AgentTranceResponseVo
();
AgentTranceResponseVo
agentTranceResponseVo
=
new
AgentTranceResponseVo
();
agentTranceResponseVo
.
setAgentTraceInfo_
(
""
);
agentTranceResponseVo
.
setAgentTraceInfo_
(
""
);
...
@@ -217,9 +227,14 @@ public class ItemServiceImpl implements ItemService {
...
@@ -217,9 +227,14 @@ public class ItemServiceImpl implements ItemService {
return
Result
.
failed
(
"数据异常,该藏品不存在"
);
return
Result
.
failed
(
"数据异常,该藏品不存在"
);
}
}
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
ItemResponseVo
itemResponseVo
=
new
ItemResponseVo
();
// 设置基本信息
itemResponseVo
.
setId
(
item
.
getId
());
itemResponseVo
.
setId
(
item
.
getId
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setName
(
item
.
getName
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setImages
(
item
.
getImages
());
itemResponseVo
.
setDetail
(
item
.
getDetail
());
itemResponseVo
.
setSourceType
(
item
.
getSourceType
());
itemResponseVo
.
setCreateTime
(
DateUtils
.
toString
(
item
.
getUpdateTime
()));
// 设置视频
itemResponseVo
.
setVideos
(
null
);
itemResponseVo
.
setVideos
(
null
);
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
StringBuilder
stringBuilder
=
new
StringBuilder
();
...
@@ -234,19 +249,20 @@ public class ItemServiceImpl implements ItemService {
...
@@ -234,19 +249,20 @@ public class ItemServiceImpl implements ItemService {
}
}
itemResponseVo
.
setVideos
(
stringBuilder
.
substring
(
0
,
stringBuilder
.
length
()
-
1
));
itemResponseVo
.
setVideos
(
stringBuilder
.
substring
(
0
,
stringBuilder
.
length
()
-
1
));
}
}
itemResponseVo
.
setDetail
(
item
.
getDetail
());
// 设置分类id和名称
itemResponseVo
.
setCid
(
item
.
getCid
());
itemResponseVo
.
setCid
(
item
.
getCid
());
Category
category
=
categoryDao
.
findById
(
item
.
getCid
());
Category
category
=
categoryDao
.
findById
(
item
.
getCid
());
if
(
Objects
.
nonNull
(
category
))
{
if
(
Objects
.
nonNull
(
category
))
{
itemResponseVo
.
setCategoryName
(
category
.
getName
());
itemResponseVo
.
setCategoryName
(
category
.
getName
());
}
}
// 设置价格
if
(
item
.
getPrice
()
%
100
==
0
)
{
if
(
item
.
getPrice
()
%
100
==
0
)
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
()
/
100
));
}
else
{
}
else
{
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
itemResponseVo
.
setPrice
(
String
.
valueOf
(
item
.
getPrice
().
doubleValue
()
/
100
));
}
}
itemResponseVo
.
set
SourceType
(
item
.
getSourceType
(
));
itemResponseVo
.
set
Price
(
StringUtil
.
formatAmount
(
itemResponseVo
.
getPrice
()
));
itemResponseVo
.
setCreateTime
(
DateUtils
.
toString
(
item
.
getUpdateTime
()));
// 设置是否收藏或是否是自己发布的
itemResponseVo
.
setIsCollected
(
0
);
itemResponseVo
.
setIsCollected
(
0
);
itemResponseVo
.
setIsMine
(
0
);
itemResponseVo
.
setIsMine
(
0
);
if
(!
dto
.
getUserId
().
equals
(
0L
))
{
if
(!
dto
.
getUserId
().
equals
(
0L
))
{
...
@@ -259,15 +275,21 @@ public class ItemServiceImpl implements ItemService {
...
@@ -259,15 +275,21 @@ public class ItemServiceImpl implements ItemService {
}
}
itemResponseVo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
itemResponseVo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
// 添加用户足迹
// 添加或更新用户足迹
Footprint
footprint
=
new
Footprint
();
Footprint
footprint
=
footPrintDao
.
selectByUserIdItem
(
dto
.
getUserId
(),
item
.
getId
());
footprint
.
setUserId
(
dto
.
getUserId
());
footprint
.
setItemId
(
item
.
getId
());
Date
now
=
new
Date
();
Date
now
=
new
Date
();
footprint
.
setAddTime
(
now
);
if
(
Objects
.
isNull
(
footprint
))
{
footprint
.
setUpdateTime
(
now
);
Footprint
newVo
=
new
Footprint
();
footprint
.
setDeleted
(
false
);
newVo
.
setUserId
(
dto
.
getUserId
());
footPrintDao
.
insert
(
footprint
);
newVo
.
setItemId
(
item
.
getId
());
newVo
.
setDeleted
(
false
);
newVo
.
setAddTime
(
now
);
newVo
.
setUpdateTime
(
now
);
footPrintDao
.
insert
(
newVo
);
}
else
{
footprint
.
setUpdateTime
(
now
);
footPrintDao
.
upateTime
(
footprint
);
}
}
}
logger
.
info
(
"【请求结束】查看藏品详情成功"
);
logger
.
info
(
"【请求结束】查看藏品详情成功"
);
return
Result
.
success
(
itemResponseVo
);
return
Result
.
success
(
itemResponseVo
);
...
@@ -407,36 +429,28 @@ public class ItemServiceImpl implements ItemService {
...
@@ -407,36 +429,28 @@ public class ItemServiceImpl implements ItemService {
}
}
@Override
@Override
public
void
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
)
{
public
Result
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
)
{
try
{
try
{
InputStream
inputStream
=
wxLoginService
.
getWxacodeStream
(
page
,
scene
);
// 判断是否存储过该请求路径的微信小程序码图片
if
(
Objects
.
isNull
(
inputStream
))
{
String
keyName
=
CommConsts
.
UPLOAD_PRE_WXACODE_DIRECTORY
+
page
+
"/"
+
scene
+
"."
+
MediaTypeEnum
.
IMAGE_JPG
.
getExt
();
response
.
setStatus
(
HttpServletResponse
.
SC_BAD_GATEWAY
);
FileInfo
fileInfo
=
(
FileInfo
)
qiniuStorage
.
checkFile
(
keyName
);
return
;
if
(
Objects
.
isNull
(
fileInfo
))
{
}
InputStream
inputStream
=
wxLoginService
.
getWxacodeStream
(
page
,
scene
);
ByteArrayOutputStream
outStream
=
new
ByteArrayOutputStream
();
if
(
Objects
.
isNull
(
inputStream
))
{
//创建一个Buffer字符串
return
Result
.
failed
(
"获取微信小程序流失败"
);
byte
[]
buffer
=
new
byte
[
4096
];
}
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int
len
=
0
;
// 新生成微信小程序码并上传到七牛云
//使用一个输入流从buffer里把数据读取出来
qiniuStorage
.
store
(
inputStream
,
1
,
MediaTypeEnum
.
IMAGE_JPG
.
getMime
(),
keyName
);
while
((
len
=
inputStream
.
read
(
buffer
))
!=
-
1
)
{
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream
.
write
(
buffer
,
0
,
len
);
}
}
//关闭输入流
inputStream
.
close
();
String
urlOfSize
=
qiniuStorage
.
generateUrl
(
keyName
);
//把outStream里的数据写入内存
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
byte
[]
data
=
outStream
.
toByteArray
();
map
.
put
(
"url"
,
urlOfSize
);
OutputStream
outputStream
=
response
.
getOutputStream
();
//输出数据
return
Result
.
success
(
map
);
//写入数据
outputStream
.
write
(
data
);
outputStream
.
flush
();
//关闭输出流
outStream
.
close
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取小程序码失败"
,
e
);
logger
.
error
(
"获取
微信
小程序码失败"
,
e
);
re
sponse
.
setStatus
(
HttpServletResponse
.
SC_BAD_GATEWAY
);
re
turn
Result
.
failed
(
"获取微信小程序码失败"
);
}
}
}
}
...
@@ -445,14 +459,14 @@ public class ItemServiceImpl implements ItemService {
...
@@ -445,14 +459,14 @@ public class ItemServiceImpl implements ItemService {
try
{
try
{
String
link
=
wxLoginService
.
getLink
(
pageUrl
);
String
link
=
wxLoginService
.
getLink
(
pageUrl
);
if
(
StringUtils
.
isBlank
(
link
))
{
if
(
StringUtils
.
isBlank
(
link
))
{
return
Result
.
failed
(
"获取小程序链接失败"
);
return
Result
.
failed
(
"获取
微信
小程序链接失败"
);
}
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"link"
,
link
);
map
.
put
(
"link"
,
link
);
return
Result
.
success
(
map
);
return
Result
.
success
(
map
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取小程序链接失败"
,
e
);
logger
.
error
(
"获取
微信
小程序链接失败"
,
e
);
return
Result
.
failed
(
"获取小程序链接失败"
);
return
Result
.
failed
(
"获取
微信
小程序链接失败"
);
}
}
}
}
...
@@ -486,7 +500,7 @@ public class ItemServiceImpl implements ItemService {
...
@@ -486,7 +500,7 @@ public class ItemServiceImpl implements ItemService {
if
(
StringUtils
.
isNotBlank
(
file
.
getOriginalFilename
()))
{
if
(
StringUtils
.
isNotBlank
(
file
.
getOriginalFilename
()))
{
lastKey
=
file
.
getOriginalFilename
().
substring
(
file
.
getOriginalFilename
().
lastIndexOf
(
"."
));
lastKey
=
file
.
getOriginalFilename
().
substring
(
file
.
getOriginalFilename
().
lastIndexOf
(
"."
));
}
}
String
keyName
=
CommConsts
.
UPLOAD_PRE_V
EDI
O_DIRECTORY
+
CommonUtils
.
getUUID
()
+
lastKey
;
String
keyName
=
CommConsts
.
UPLOAD_PRE_V
IDE
O_DIRECTORY
+
CommonUtils
.
getUUID
()
+
lastKey
;
qiniuStorage
.
store
(
inputStream
,
file
.
getSize
(),
file
.
getContentType
(),
keyName
);
qiniuStorage
.
store
(
inputStream
,
file
.
getSize
(),
file
.
getContentType
(),
keyName
);
String
urlOfSize
=
qiniuStorage
.
generateUrl
(
keyName
);
String
urlOfSize
=
qiniuStorage
.
generateUrl
(
keyName
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/WxLoginServiceImpl.java
View file @
7279c75e
...
@@ -6,7 +6,6 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
...
@@ -6,7 +6,6 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.wwdz.ch.core.util.OkHttpUtil
;
import
com.wwdz.ch.core.util.OkHttpUtil
;
import
com.wwdz.ch.wx.constant.CacheCodeConstants
;
import
com.wwdz.ch.wx.entity.request.UserRequestDto
;
import
com.wwdz.ch.wx.entity.request.UserRequestDto
;
import
com.wwdz.ch.wx.service.WxLoginService
;
import
com.wwdz.ch.wx.service.WxLoginService
;
import
com.wwdz.ch.wx.util.RedisUtil
;
import
com.wwdz.ch.wx.util.RedisUtil
;
...
@@ -93,23 +92,32 @@ public class WxLoginServiceImpl implements WxLoginService {
...
@@ -93,23 +92,32 @@ public class WxLoginServiceImpl implements WxLoginService {
public
String
getAccessToken
()
{
public
String
getAccessToken
()
{
logger
.
info
(
"开始获取access_token----------------"
);
logger
.
info
(
"开始获取access_token----------------"
);
try
{
try
{
if
(
redisUtil
.
hasKey
(
CacheCodeConstants
.
WX_ACCESS_TOKEN
))
{
// if (redisUtil.hasKey(CacheCodeConstants.WX_ACCESS_TOKEN)) {
logger
.
info
(
"从redis获取access_token成功"
);
// logger.info("从redis获取access_token成功");
return
redisUtil
.
get
(
CacheCodeConstants
.
WX_ACCESS_TOKEN
).
toString
();
// return redisUtil.get(CacheCodeConstants.WX_ACCESS_TOKEN).toString();
}
else
{
// } else {
String
accessTokenUrl
=
String
.
format
(
GET_ACCESS_TOKEN_URL
,
appid
,
secret
);
// String accessTokenUrl = String.format(GET_ACCESS_TOKEN_URL, appid, secret);
String
res
=
OkHttpUtil
.
builder
().
url
(
accessTokenUrl
)
// String res = OkHttpUtil.builder().url(accessTokenUrl)
.
get
().
sync
();
// .get().sync();
logger
.
info
(
"获取access_token结果:"
+
res
);
// logger.info("获取access_token结果:" + res);
if
(!
res
.
contains
(
"access_token"
))
{
// if (!res.contains("access_token")) {
logger
.
error
(
"获取accessToken出错,返回结果是:"
+
res
);
// logger.error("获取accessToken出错,返回结果是:" + res);
return
null
;
// return null;
}
// }
String
accessToken
=
JsonUtils
.
getValueByPath
(
res
,
"access_token"
);
// String accessToken = JsonUtils.getValueByPath(res, "access_token");
String
expiresIn
=
JsonUtils
.
getValueByPath
(
res
,
"expires_in"
);
// String expiresIn = JsonUtils.getValueByPath(res, "expires_in");
redisUtil
.
set
(
CacheCodeConstants
.
WX_ACCESS_TOKEN
,
accessToken
,
Long
.
parseLong
(
expiresIn
));
// redisUtil.set(CacheCodeConstants.WX_ACCESS_TOKEN, accessToken, Long.parseLong(expiresIn));
return
accessToken
;
// return accessToken;
// }
String
accessTokenUrl
=
String
.
format
(
GET_ACCESS_TOKEN_URL
,
appid
,
secret
);
String
res
=
OkHttpUtil
.
builder
().
url
(
accessTokenUrl
)
.
get
().
sync
();
logger
.
info
(
"获取access_token结果:"
+
res
);
if
(!
res
.
contains
(
"access_token"
))
{
logger
.
error
(
"获取accessToken出错,返回结果是:"
+
res
);
return
null
;
}
}
return
JsonUtils
.
getValueByPath
(
res
,
"access_token"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取access_token失败"
,
e
);
logger
.
error
(
"获取access_token失败"
,
e
);
return
null
;
return
null
;
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/FootPrintService.java
View file @
7279c75e
...
@@ -7,5 +7,4 @@ public interface FootPrintService {
...
@@ -7,5 +7,4 @@ public interface FootPrintService {
Result
listAll
(
FootPrintRequestDto
dto
);
Result
listAll
(
FootPrintRequestDto
dto
);
Result
page
(
FootPrintRequestDto
dto
);
Result
page
(
FootPrintRequestDto
dto
);
Result
delete
(
FootPrintRequestDto
dto
);
Result
delete
(
FootPrintRequestDto
dto
);
Result
add
(
FootPrintRequestDto
dto
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/ItemService.java
View file @
7279c75e
...
@@ -22,7 +22,7 @@ public interface ItemService {
...
@@ -22,7 +22,7 @@ public interface ItemService {
Result
update
(
ItemRequestDto
dto
);
Result
update
(
ItemRequestDto
dto
);
void
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
);
Result
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
);
Result
getWxLink
(
String
pageUrl
);
Result
getWxLink
(
String
pageUrl
);
Result
uploadImage
(
MultipartFile
file
);
Result
uploadImage
(
MultipartFile
file
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/util/StringUtil.java
View file @
7279c75e
...
@@ -5,6 +5,12 @@ import java.util.Random;
...
@@ -5,6 +5,12 @@ import java.util.Random;
public
class
StringUtil
{
public
class
StringUtil
{
private
static
final
String
ALLOWED_CHARACTERS
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
;
private
static
final
String
ALLOWED_CHARACTERS
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
;
/**
* 获取随机任意长度的字符串
*
* @param length
* @return
*/
public
static
String
generateRandomString
(
int
length
)
{
public
static
String
generateRandomString
(
int
length
)
{
Random
random
=
new
Random
();
Random
random
=
new
Random
();
StringBuilder
sb
=
new
StringBuilder
(
length
);
StringBuilder
sb
=
new
StringBuilder
(
length
);
...
@@ -13,4 +19,34 @@ public class StringUtil {
...
@@ -13,4 +19,34 @@ public class StringUtil {
}
}
return
sb
.
toString
();
return
sb
.
toString
();
}
}
/**
* 格式化金额
*
* @param amount
* @return
*/
public
static
String
formatAmount
(
String
amount
)
{
String
minMoney
=
null
;
String
intMoney
=
null
;
if
(
amount
.
contains
(
"."
))
{
minMoney
=
amount
.
substring
(
amount
.
indexOf
(
"."
));
intMoney
=
amount
.
substring
(
0
,
amount
.
indexOf
(
"."
));
}
else
{
intMoney
=
amount
;
}
StringBuilder
sb
=
new
StringBuilder
();
int
j
=
1
;
for
(
int
i
=
intMoney
.
length
()
-
1
;
i
>=
0
;
i
--)
{
sb
.
insert
(
0
,
intMoney
.
charAt
(
i
));
if
(
j
%
3
==
0
&&
i
!=
0
)
{
sb
.
insert
(
0
,
","
);
}
j
++;
}
if
(
amount
.
contains
(
"."
))
{
return
sb
+
minMoney
;
}
return
sb
.
toString
();
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxItemController.java
View file @
7279c75e
...
@@ -245,8 +245,8 @@ public class WxItemController {
...
@@ -245,8 +245,8 @@ public class WxItemController {
@ApiOperation
(
value
=
"小程序码"
)
@ApiOperation
(
value
=
"小程序码"
)
@GetMapping
(
"/getWxacode"
)
@GetMapping
(
"/getWxacode"
)
public
void
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
)
{
public
Result
getWxacode
(
String
page
,
String
scene
,
HttpServletResponse
response
)
{
itemService
.
getWxacode
(
page
,
scene
,
response
);
return
itemService
.
getWxacode
(
page
,
scene
,
response
);
}
}
@ApiOperation
(
value
=
"小程序链接"
)
@ApiOperation
(
value
=
"小程序链接"
)
...
...
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