Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AutogeneralShanghai
yd-backend
Commits
fa60bcc6
Commit
fa60bcc6
authored
Apr 26, 2020
by
yao.xiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加-微信文件上传
parent
13522d43
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
116 additions
and
16 deletions
+116
-16
yd-api/src/main/java/com/yd/api/practitioner/PractitionerController.java
+10
-0
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerService.java
+9
-0
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
+65
-0
yd-api/src/main/java/com/yd/api/practitioner/vo/media/MediaGetReqVO.java
+9
-0
yd-api/src/main/java/com/yd/api/practitioner/vo/media/MediaGetRespVO.java
+10
-0
yd-api/src/main/java/com/yd/rmi/ali/oss/service/OssService.java
+0
-3
yd-api/src/main/java/com/yd/rmi/tencent/wechat/service/impl/WechatServiceImpl.java
+13
-13
No files found.
yd-api/src/main/java/com/yd/api/practitioner/PractitionerController.java
View file @
fa60bcc6
...
...
@@ -3,6 +3,8 @@ package com.yd.api.practitioner;
import
com.yd.api.practitioner.service.PractitionerService
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO
;
import
com.yd.api.practitioner.vo.media.MediaGetReqVO
;
import
com.yd.api.practitioner.vo.media.MediaGetRespVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO
;
import
com.yd.api.practitioner.vo.setting.*
;
...
...
@@ -89,4 +91,12 @@ public class PractitionerController {
return
result
;
}
@RequestMapping
(
"/mediaGet"
)
public
Object
mediaGet
(
@RequestBody
MediaGetReqVO
requestVO
)
throws
Exception
{
JsonResult
result
=
new
JsonResult
();
MediaGetRespVO
responseVO
=
practitionerService
.
mediaGet
(
requestVO
);
result
.
addResult
(
responseVO
);
result
.
setData
(
responseVO
);
return
result
;
}
}
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerService.java
View file @
fa60bcc6
...
...
@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service;
import
com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO
;
import
com.yd.api.practitioner.vo.media.MediaGetReqVO
;
import
com.yd.api.practitioner.vo.media.MediaGetRespVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO
;
import
com.yd.api.practitioner.vo.setting.*
;
...
...
@@ -44,4 +46,11 @@ public interface PractitionerService {
* @return
*/
SettingSaveResponseVO
settingSave
(
SettingSaveRequestVO
requestVO
)
throws
Exception
;
/**
* 微信上传图片
* @param requestVO
* @return
*/
MediaGetRespVO
mediaGet
(
MediaGetReqVO
requestVO
);
}
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
View file @
fa60bcc6
...
...
@@ -2,6 +2,8 @@ package com.yd.api.practitioner.service.impl;
import
com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO
;
import
com.yd.api.practitioner.vo.media.MediaGetReqVO
;
import
com.yd.api.practitioner.vo.media.MediaGetRespVO
;
import
com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO
;
...
...
@@ -21,6 +23,9 @@ import com.yd.dal.service.practitioner.PractitionerSubordinateDALService;
import
com.yd.dal.service.tencent.TenInterfRecordDALService
;
import
com.yd.dal.service.transaction.TranLogDALService
;
import
com.yd.rmi.ali.oss.service.OssService
;
import
com.yd.rmi.tencent.wechat.service.WechatService
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
import
com.yd.util.CommonUtil
;
import
com.yd.util.HttpUtil
;
import
com.yd.util.config.ZHBErrorConfig
;
...
...
@@ -33,12 +38,15 @@ import com.google.common.base.Strings;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.imageio.ImageIO
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.List
;
@Service
(
"practitionerService"
)
public
class
PractitionerServiceImpl
implements
com
.
yd
.
api
.
practitioner
.
service
.
PractitionerService
{
...
...
@@ -55,6 +63,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private
AclCustomerLogDALService
aclCustomerLogDALService
;
@Autowired
private
OssService
ossService
;
@Autowired
private
WechatService
wechatService
;
@Override
public
PractitionerLoginResponseVO
practitionerLogin
(
PractitionerLoginRequestVO
requestVO
)
{
...
...
@@ -330,6 +340,61 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return
responseVO
;
}
@Override
public
MediaGetRespVO
mediaGet
(
MediaGetReqVO
requestVO
)
{
MediaGetRespVO
mediaGetRespVO
=
new
MediaGetRespVO
();
boolean
success
=
true
;
String
message
=
ZHBErrorConfig
.
getErrorInfo
(
"800000"
);
String
mediaId
=
requestVO
.
getMediaId
();
String
accessToken
=
wechatService
.
obtainToken
(
new
TokenRequest
());
System
.
out
.
println
(
"accessToken:"
+
accessToken
);
TicketRequest
ticketRequest
=
new
TicketRequest
();
ticketRequest
.
setAccessToken
(
accessToken
);
String
jsapiTicket
=
wechatService
.
obtainTicket
(
ticketRequest
);
System
.
out
.
println
(
"jsapiTicket:"
+
jsapiTicket
);
String
ImgUrl
=
"https://api.weixin.qq.com/cgi-bin/media/get?access_token="
+
accessToken
+
"&media_id="
+
mediaId
;
String
scale
=
requestVO
.
getScale
();
//判断上传尺寸是否符合要求
if
(!
CommonUtil
.
isNullOrBlank
(
scale
)){
Map
<
String
,
Object
>
input
=
HttpUtil
.
getInput
(
ImgUrl
);
if
(!(
boolean
)
input
.
get
(
"success"
)){
mediaGetRespVO
.
setCommonResult
(
new
CommonResult
(
false
,
(
String
)
input
.
get
(
"message"
)));
return
mediaGetRespVO
;
}
InputStream
inputStream
=
(
InputStream
)
input
.
get
(
"is"
);
//判断图像尺寸
Image
img
=
null
;
try
{
img
=
ImageIO
.
read
(
inputStream
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
img
==
null
||
img
.
getWidth
(
null
)
<=
0
||
img
.
getHeight
(
null
)
<=
0
)
{
mediaGetRespVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830014"
)));
return
mediaGetRespVO
;
}
else
{
double
width
=
img
.
getWidth
(
null
);
double
height
=
img
.
getHeight
(
null
);
double
value
=
height
/
width
;
Double
scaleDouble
=
Double
.
valueOf
(
scale
);
if
(
value
!=
scaleDouble
)
{
if
(
scaleDouble
==
1
){
//上传头像尺寸比例为1:1
mediaGetRespVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830016"
)));
return
mediaGetRespVO
;
}
else
if
(
scaleDouble
==
0.75
)
{
mediaGetRespVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830015"
)));
return
mediaGetRespVO
;
}
}
}
}
// System.out.println("ImgUrl:"+ImgUrl);
mediaGetRespVO
.
setImgUrl
(
ImgUrl
);
mediaGetRespVO
.
setCommonResult
(
new
CommonResult
(
success
,
message
));
return
mediaGetRespVO
;
}
private
CommonResult
paramCheck
(
SettingSaveRequestVO
requestVO
)
{
//检查入参判断
Long
practitionerId
=
requestVO
.
getPractitionerId
();
...
...
yd-api/src/main/java/com/yd/api/practitioner/vo/media/MediaGetReqVO.java
0 → 100644
View file @
fa60bcc6
package
com
.
yd
.
api
.
practitioner
.
vo
.
media
;
import
lombok.Data
;
@Data
public
class
MediaGetReqVO
{
private
String
scale
;
private
String
mediaId
;
}
yd-api/src/main/java/com/yd/api/practitioner/vo/media/MediaGetRespVO.java
0 → 100644
View file @
fa60bcc6
package
com
.
yd
.
api
.
practitioner
.
vo
.
media
;
import
com.yd.api.result.CommonResult
;
import
lombok.Data
;
@Data
public
class
MediaGetRespVO
{
private
CommonResult
commonResult
;
private
String
imgUrl
;
}
yd-api/src/main/java/com/yd/rmi/ali/oss/service/OssService.java
View file @
fa60bcc6
package
com
.
yd
.
rmi
.
ali
.
oss
.
service
;
import
com.yd.rmi.ali.oss.vo.OssRequestVO
;
import
com.yd.rmi.ali.oss.vo.OssResponseVO
;
import
java.io.InputStream
;
public
interface
OssService
{
...
...
yd-api/src/main/java/com/yd/rmi/tencent/wechat/service/impl/WechatServiceImpl.java
View file @
fa60bcc6
package
com
.
yd
.
rmi
.
tencent
.
wechat
.
service
.
impl
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.yd.api.result.CommonResult
;
import
com.yd.cache.SystemConfigService
;
import
com.yd.dal.entity.customer.Customer
;
import
com.yd.dal.entity.tencent.TenInterfRecord
;
import
com.yd.dal.entity.transaction.TranLog
;
import
com.yd.dal.service.tencent.TenInterfRecordDALService
;
...
...
@@ -22,10 +18,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenResponse;
import
com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse
;
import
com.yd.rmi.tencent.wechatinterf.service.WechatInterfService
;
import
com.yd.util.CommonUtil
;
import
com.yd.util.EncryptUtil
;
import
com.yd.util.JsonUtil
;
import
com.yd.util.XmlUtil
;
import
com.yd.util.*
;
import
com.yd.util.config.ZHBErrorConfig
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -50,10 +43,6 @@ public class WechatServiceImpl implements WechatService {
private
WechatInterfService
wechatInterfService
;
@Autowired
private
SystemConfigService
systemConfigService
;
// @Autowired
// private PoOrderService poOrderService;
// @Autowired
// private ProductPlanService productPlanService;
@Autowired
private
TranLogDALService
tranLogDALService
;
...
...
@@ -64,6 +53,10 @@ public class WechatServiceImpl implements WechatService {
String
pGrantType
=
tokenRequest
.
getGrant_type
()
==
null
||
""
.
equals
(
tokenRequest
.
getGrant_type
())
?
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TOKEN_GRANT_TYPE"
)
:
tokenRequest
.
getGrant_type
();
String
pAppid
=
tokenRequest
.
getAppid
()
==
null
||
""
.
equals
(
tokenRequest
.
getAppid
())
?
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_APPID"
):
tokenRequest
.
getAppid
();
String
pSecret
=
tokenRequest
.
getSecret
()
==
null
||
""
.
equals
(
tokenRequest
.
getSecret
())
?
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_APP_SECRET"
)
:
tokenRequest
.
getSecret
();
if
(
SpringContextUtil
.
isProd
()){
pAppid
=
systemConfigService
.
getSingleConfigValue
(
"YD-TENCENT_WECHAT_APPID"
);
pSecret
=
systemConfigService
.
getSingleConfigValue
(
"YD-TENCENT_WECHAT_APP_SECRET"
);
}
TenInterfRecord
tencentInterfRecord
=
new
TenInterfRecord
();
tencentInterfRecord
.
setInterfType
(
"TOKEN"
);
tencentInterfRecord
.
setGrantType
(
pGrantType
);
...
...
@@ -89,7 +82,14 @@ public class WechatServiceImpl implements WechatService {
needReload
=
true
;
}
if
(
needReload
){
TokenResponse
tokenResponse
=
wechatInterfService
.
token
(
tokenRequest
);
String
url
=
"https://api.weixin.qq.com/cgi-bin/token?"
+
"grant_type="
+
pGrantType
+
"&appid="
+
pAppid
+
"&secret="
+
pSecret
;
tranLogDALService
.
logDB
(
"wechat"
,
"accessToken"
,
"in"
,
tokenRequest
.
getAppid
(),
url
,
null
,
null
);
String
responseStr
=
wechatInterfService
.
transaction
(
url
,
null
,
null
);
tranLogDALService
.
logDB
(
"wechat"
,
"accessToken"
,
"out"
,
tokenRequest
.
getAppid
(),
responseStr
,
null
,
null
);
TokenResponse
tokenResponse
=
(
TokenResponse
)
JsonUtil
.
jsonToObj
(
responseStr
,
TokenResponse
.
class
);
accessToken
=
tokenResponse
.
getAccess_token
();
Long
expiresIn
=
null
;
...
...
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