Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jd-activity
Project
Project
Details
Activity
Releases
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
曾水平
jd-activity
Commits
19bf8f29
Commit
19bf8f29
authored
May 19, 2021
by
曾水平
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
c664cd5f
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
189 additions
and
69 deletions
+189
-69
AppController.java
...ava/cn/com/duiba/jdactivity/controller/AppController.java
+8
-11
LoginController.java
...a/cn/com/duiba/jdactivity/controller/LoginController.java
+3
-3
Open2DuibaController.java
...com/duiba/jdactivity/controller/Open2DuibaController.java
+104
-2
JdAppEnum.java
.../java/cn/com/duiba/jdactivity/developer/jd/JdAppEnum.java
+4
-0
AccessTokenUtils.java
...duiba/jdactivity/developer/jd/utils/AccessTokenUtils.java
+1
-1
JdApiUtil.java
...cn/com/duiba/jdactivity/developer/jd/utils/JdApiUtil.java
+50
-44
TbShopAccessTokenServiceImpl.java
...jdactivity/service/impl/TbShopAccessTokenServiceImpl.java
+16
-7
BaseTest.java
src/test/java/cn/com/duiba/jdactivity/BaseTest.java
+2
-0
AccessTokenUtilsTest.java
...m/duiba/jdactivity/developer/jd/AccessTokenUtilsTest.java
+1
-1
No files found.
src/main/java/cn/com/duiba/jdactivity/controller/AppController.java
View file @
19bf8f29
...
...
@@ -6,7 +6,7 @@ import cn.com.duiba.jdactivity.developer.jd.JdAppEnum;
import
cn.com.duiba.jdactivity.developer.jd.domain.AccessTokenResponse
;
import
cn.com.duiba.jdactivity.developer.jd.domain.JosParameters
;
import
cn.com.duiba.jdactivity.developer.jd.utils.AccessTokenUtils
;
import
cn.com.duiba.jdactivity.developer.jd.utils.ApiUtil
;
import
cn.com.duiba.jdactivity.developer.jd.utils.
Jd
ApiUtil
;
import
cn.com.duiba.jdactivity.developer.jd.utils.LoginUtils
;
import
cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -35,7 +35,7 @@ public class AppController {
private
AccessTokenUtils
accessTokenUtils
;
@Resource
private
ApiUtil
a
piUtil
;
private
JdApiUtil
jdA
piUtil
;
/**
* 应用插件启动唤起页
...
...
@@ -62,8 +62,8 @@ public class AppController {
}
AccessTokenResponse
accessTokenByCode
=
accessTokenUtils
.
getAccessTokenByCode
(
jdAppEnum
,
code
);
if
(!
accessTokenByCode
.
isOk
())
{
Result
<
ShopJosResult
>
shopJosResultResult
=
a
piUtil
.
venderShopQuery
(
jdAppEnum
,
accessTokenByCode
.
getAccess_token
());
if
(
accessTokenByCode
!=
null
&&
!
accessTokenByCode
.
isOk
())
{
Result
<
ShopJosResult
>
shopJosResultResult
=
jdA
piUtil
.
venderShopQuery
(
jdAppEnum
,
accessTokenByCode
.
getAccess_token
());
if
(
shopJosResultResult
.
getSuccess
())
{
ShopJosResult
data
=
shopJosResultResult
.
getData
();
Long
id
=
accessTokenUtils
.
saveAccessToken
(
jdAppEnum
,
accessTokenByCode
,
data
);
...
...
@@ -79,17 +79,14 @@ public class AppController {
@RequestMapping
(
"/getShopInfoVO"
)
public
Result
<
JSONObject
>
getShopInfoVO
(
Long
venderId
,
Long
shopId
)
{
TbShopAccessTokenDto
accessToken
=
accessTokenUtils
.
getAccessToken
(
venderId
,
shopId
);
if
(
accessToken
==
null
)
{
return
ResultBuilder
.
fail
(
"未授权"
);
}
JdAppEnum
jdAppEnum
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
Result
<
ShopJosResult
>
shopJosResultResult
=
a
piUtil
.
venderShopQuery
(
jdAppEnum
,
accessToken
.
getAccessToken
());
Result
<
ShopJosResult
>
shopJosResultResult
=
jdA
piUtil
.
venderShopQuery
(
jdAppEnum
,
accessToken
.
getAccessToken
());
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"accessToken"
,
accessToken
);
jsonObject
.
put
(
"shop"
,
shopJosResultResult
.
getData
());
return
ResultBuilder
.
success
(
jsonObject
);
}
@RequestMapping
(
"/index"
)
public
String
index
()
{
return
null
;
}
}
src/main/java/cn/com/duiba/jdactivity/controller/LoginController.java
View file @
19bf8f29
...
...
@@ -3,7 +3,7 @@ package cn.com.duiba.jdactivity.controller;
import
cn.com.duiba.jdactivity.common.vo.Result
;
import
cn.com.duiba.jdactivity.developer.jd.JdAppEnum
;
import
cn.com.duiba.jdactivity.developer.jd.utils.AccessTokenUtils
;
import
cn.com.duiba.jdactivity.developer.jd.utils.ApiUtil
;
import
cn.com.duiba.jdactivity.developer.jd.utils.
Jd
ApiUtil
;
import
cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto
;
import
cn.com.duiba.jdactivity.interceptor.UnloginAccess
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -28,7 +28,7 @@ public class LoginController {
public
static
final
String
REDIRECT
=
"redirect"
;
@Resource
private
ApiUtil
a
piUtil
;
private
JdApiUtil
jdA
piUtil
;
@Resource
private
AccessTokenUtils
accessTokenUtils
;
...
...
@@ -48,8 +48,8 @@ public class LoginController {
JdAppEnum
appByAppKey
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
Result
<
String
>
pinByToken
=
apiUtil
.
getPinByToken
(
appByAppKey
,
accessToken
.
getAccessToken
(),
source
,
token
);
Result
<
String
>
pinByToken
=
jdApiUtil
.
getPinByToken
(
appByAppKey
,
accessToken
.
getAccessToken
(),
source
,
token
);
if
(
StringUtils
.
isBlank
(
token
))
{
return
"不能为空"
;
}
...
...
src/main/java/cn/com/duiba/jdactivity/controller/Open2DuibaController.java
View file @
19bf8f29
package
cn
.
com
.
duiba
.
jdactivity
.
controller
;
import
cn.com.duiba.jdactivity.common.vo.Result
;
import
cn.com.duiba.jdactivity.common.vo.ResultBuilder
;
import
cn.com.duiba.jdactivity.developer.jd.JdAppEnum
;
import
cn.com.duiba.jdactivity.developer.jd.utils.AccessTokenUtils
;
import
cn.com.duiba.jdactivity.developer.jd.utils.JdApiUtil
;
import
cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto
;
import
com.alibaba.fastjson.JSON
;
import
com.jd.open.api.sdk.domain.user.CrmCustomerService.response.getMemberInVender.CustomerInfoEs
;
import
com.jd.open.api.sdk.domain.user.UserRelatedRpcService.response.getUserInfoByOpenId.OAuthUserInfo
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
* 开放给星速台的接口
* // TODO 每个接口都要有签名校验
*
* @author zsp (zengshuiping@duiba.com.cn)
* @date 2021/5/17 13:26
*/
@RestController
@RequestMapping
(
"/open2Duiba"
)
public
class
Open2DuibaController
{
public
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
Open2DuibaController
.
class
);
@Resource
private
JdApiUtil
jdApiUtil
;
@Resource
private
AccessTokenUtils
accessTokenUtils
;
/**
* 微信、京东端 用户登陆后跳转到星速台
*
* @param venderId
* @param shopId
* @param token
* @param source
* @param redirectUrl
* @return
*/
Result
<
Boolean
>
isFollowShop
()
{
@GetMapping
(
"/autologin"
)
void
autologin
(
Long
venderId
,
Long
shopId
,
String
token
,
String
source
,
@RequestParam
(
required
=
false
)
String
redirectUrl
)
{
LOGGER
.
info
(
"autologin,venderId={},shopId={},token={},source={}"
,
venderId
,
shopId
,
token
,
source
);
TbShopAccessTokenDto
accessToken
=
accessTokenUtils
.
getAccessToken
(
venderId
,
shopId
);
LOGGER
.
info
(
"获取accessToken,结果={}"
,
JSON
.
toJSONString
(
accessToken
));
JdAppEnum
appByAppKey
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
Result
<
String
>
pinByToken
=
jdApiUtil
.
getPinByToken
(
appByAppKey
,
accessToken
.
getAccessToken
(),
source
,
token
);
LOGGER
.
info
(
"获取pin,结果={}"
,
JSON
.
toJSONString
(
pinByToken
));
Result
<
String
>
openIdByToken
=
jdApiUtil
.
getOpenIdByToken
(
appByAppKey
,
source
,
token
);
LOGGER
.
info
(
"获取openId,结果={}"
,
JSON
.
toJSONString
(
openIdByToken
));
Result
<
OAuthUserInfo
>
userInfoByOpenId
=
jdApiUtil
.
getUserInfoByOpenId
(
appByAppKey
,
accessToken
.
getAccessToken
(),
openIdByToken
.
getData
());
LOGGER
.
info
(
"获取userInfo,结果={}"
,
JSON
.
toJSONString
(
userInfoByOpenId
));
String
uid
=
convert2Uid
(
pinByToken
.
getData
());
String
nickName
=
userInfoByOpenId
.
getData
().
getNickName
();
String
avator
=
userInfoByOpenId
.
getData
().
getImageUrl
();
autologin
(
uid
,
nickName
,
avator
,
redirectUrl
);
}
private
void
autologin
(
String
uid
,
String
nickName
,
String
avator
,
String
redirectUrl
)
{
// TODO 兑吧免登录
}
/**
* 是否关注店铺
*/
@GetMapping
(
"/isFollowShop"
)
Result
<
Boolean
>
isFollowShop
(
String
uid
,
Long
shopId
,
Long
venderId
)
{
TbShopAccessTokenDto
accessToken
=
accessTokenUtils
.
getAccessToken
(
venderId
,
shopId
);
JdAppEnum
appEnum
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
return
jdApiUtil
.
isFollowByPinAndVid
(
appEnum
,
convert2Pin
(
uid
),
shopId
);
}
/**
* 关注店铺
*/
@GetMapping
(
"/followShop"
)
Result
<
Boolean
>
followShop
(
String
uid
,
Long
shopId
,
Long
venderId
)
{
TbShopAccessTokenDto
accessToken
=
accessTokenUtils
.
getAccessToken
(
venderId
,
shopId
);
JdAppEnum
appEnum
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
return
jdApiUtil
.
followByPinAndVid
(
appEnum
,
convert2Pin
(
uid
),
shopId
,
accessToken
.
getAccessToken
());
}
/**
* 是否是会员
*/
@GetMapping
(
"/isMember"
)
Result
<
Boolean
>
isMember
(
String
uid
,
Long
shopId
,
Long
venderId
)
{
TbShopAccessTokenDto
accessToken
=
accessTokenUtils
.
getAccessToken
(
venderId
,
shopId
);
JdAppEnum
appEnum
=
JdAppEnum
.
getAppByAppKey
(
accessToken
.
getAppKey
());
Result
<
CustomerInfoEs
>
memberInVender
=
jdApiUtil
.
getMemberInVender
(
appEnum
,
convert2Pin
(
uid
),
accessToken
.
getAccessToken
());
return
ResultBuilder
.
success
(
memberInVender
.
getSuccess
()
&&
memberInVender
.
getData
()
!=
null
);
}
// TODO 发券
public
String
convert2Pin
(
String
uid
)
{
// TODO 解密方式
return
uid
;
}
return
null
;
public
String
convert2Uid
(
String
pin
)
{
// TODO 加密方式
return
pin
;
}
}
src/main/java/cn/com/duiba/jdactivity/developer/jd/JdAppEnum.java
View file @
19bf8f29
...
...
@@ -51,4 +51,8 @@ public enum JdAppEnum {
return
null
;
}
public
static
JdAppEnum
getDefault
()
{
return
JdAppEnum
.
DUIBA
;
}
}
src/main/java/cn/com/duiba/jdactivity/developer/jd/utils/AccessTokenUtils.java
View file @
19bf8f29
...
...
@@ -63,7 +63,7 @@ public class AccessTokenUtils {
String
url
=
UrlUtils
.
assembleUrl
(
urlConstants
.
getOauthUrl
()
+
ACCESS_TOKEN_SUFFIX
,
param
);
String
s
=
httpClientUtil
.
sendGet
(
url
);
LOGGER
.
info
(
"getAccessTokenByCode,code={},
s={}"
,
code
,
s
);
LOGGER
.
info
(
"getAccessTokenByCode,code={},
url={},s={}"
,
code
,
url
,
s
);
if
(
StringUtils
.
isNotBlank
(
s
)
&&
!
StringUtils
.
equalsIgnoreCase
(
NULL
,
s
)
...
...
src/main/java/cn/com/duiba/jdactivity/developer/jd/utils/ApiUtil.java
→
src/main/java/cn/com/duiba/jdactivity/developer/jd/utils/
Jd
ApiUtil.java
View file @
19bf8f29
...
...
@@ -9,11 +9,15 @@ import com.jd.open.api.sdk.DefaultJdClient;
import
com.jd.open.api.sdk.JdClient
;
import
com.jd.open.api.sdk.domain.crm.VenderCustomerClientJsfService.response.getCustomer.EssentialCustomerInfo
;
import
com.jd.open.api.sdk.domain.seller.ShopSafService.response.query.ShopJosResult
;
import
com.jd.open.api.sdk.domain.user.CrmCustomerService.response.getMemberInVender.CommonResult
;
import
com.jd.open.api.sdk.domain.user.CrmCustomerService.response.getMemberInVender.CustomerInfoEs
;
import
com.jd.open.api.sdk.domain.user.UserRelatedRpcService.response.getUserInfoByOpenId.OAuthUserInfo
;
import
com.jd.open.api.sdk.request.crm.PopCrmCustomerGetCustomerRequest
;
import
com.jd.open.api.sdk.request.openid.JosTokenSourceToOpenIdRequest
;
import
com.jd.open.api.sdk.request.seller.VenderShopQueryRequest
;
import
com.jd.open.api.sdk.request.user.FollowVenderReadIsFollowByPinAndVidRequest
;
import
com.jd.open.api.sdk.request.user.FollowVenderWriteFollowByPinAndVidRequest
;
import
com.jd.open.api.sdk.request.user.PopCrmGetMemberInVenderRequest
;
import
com.jd.open.api.sdk.request.user.PopJmCenterUserGetEncryptPinNewRequest
;
import
com.jd.open.api.sdk.request.user.PopJmCenterUserGetOpenIdRequest
;
import
com.jd.open.api.sdk.request.user.UserGetUserInfoByOpenIdRequest
;
...
...
@@ -21,6 +25,8 @@ import com.jd.open.api.sdk.response.crm.PopCrmCustomerGetCustomerResponse;
import
com.jd.open.api.sdk.response.openid.JosTokenSourceToOpenIdResponse
;
import
com.jd.open.api.sdk.response.seller.VenderShopQueryResponse
;
import
com.jd.open.api.sdk.response.user.FollowVenderReadIsFollowByPinAndVidResponse
;
import
com.jd.open.api.sdk.response.user.FollowVenderWriteFollowByPinAndVidResponse
;
import
com.jd.open.api.sdk.response.user.PopCrmGetMemberInVenderResponse
;
import
com.jd.open.api.sdk.response.user.PopJmCenterUserGetEncryptPinNewResponse
;
import
com.jd.open.api.sdk.response.user.PopJmCenterUserGetOpenIdResponse
;
import
com.jd.open.api.sdk.response.user.UserGetUserInfoByOpenIdResponse
;
...
...
@@ -37,8 +43,8 @@ import java.util.Optional;
* @date 2021/5/13 15:08
*/
@Component
public
class
ApiUtil
{
public
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ApiUtil
.
class
);
public
class
Jd
ApiUtil
{
public
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
Jd
ApiUtil
.
class
);
private
static
final
String
CODE_SUCCESS
=
"0"
;
@Resource
private
UrlConstants
urlConstants
;
...
...
@@ -165,7 +171,7 @@ public class ApiUtil {
/**
* 是否已关注该店铺
*/
Result
<
Boolean
>
isFollowByPinAndVid
(
JdAppEnum
jdAppEnum
,
String
pin
,
Long
shopId
)
{
public
Result
<
Boolean
>
isFollowByPinAndVid
(
JdAppEnum
jdAppEnum
,
String
pin
,
Long
shopId
)
{
try
{
JdClient
client
=
new
DefaultJdClient
(
urlConstants
.
getApiServerUrl
(),
null
,
jdAppEnum
.
getAppKey
(),
jdAppEnum
.
getAppSecret
());
FollowVenderReadIsFollowByPinAndVidRequest
request
=
new
FollowVenderReadIsFollowByPinAndVidRequest
();
...
...
@@ -187,48 +193,48 @@ public class ApiUtil {
LOGGER
.
warn
(
"isFollowByPinAndVid,exception"
,
e
);
return
ResultBuilder
.
fail
(
"发生异常"
);
}
}
/**
* 关注该店铺
*/
public
Result
<
Boolean
>
followByPinAndVid
(
JdAppEnum
jdAppEnum
,
String
pin
,
Long
shopId
,
String
accessToken
)
{
try
{
JdClient
client
=
new
DefaultJdClient
(
urlConstants
.
getApiServerUrl
(),
accessToken
,
jdAppEnum
.
getAppKey
(),
jdAppEnum
.
getAppSecret
());
FollowVenderWriteFollowByPinAndVidRequest
request
=
new
FollowVenderWriteFollowByPinAndVidRequest
();
request
.
setPin
(
pin
);
request
.
setShopId
(
shopId
);
request
.
setOpenIdBuyer
(
pin
);
FollowVenderWriteFollowByPinAndVidResponse
response
=
client
.
execute
(
request
);
return
Optional
.
ofNullable
(
response
)
.
map
(
FollowVenderWriteFollowByPinAndVidResponse:
:
getFollowbypinandvidResult
)
.
map
(
result
->
ResultBuilder
.
success
(
result
.
getData
()))
.
orElse
(
ResultBuilder
.
fail
(
JSON
.
toJSONString
(
response
)));
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"followByPinAndVid,exception"
,
e
);
return
ResultBuilder
.
fail
(
"发生异常"
);
}
}
public
Result
<
CustomerInfoEs
>
getMemberInVender
(
JdAppEnum
jdAppEnum
,
String
pin
,
String
accessToken
)
{
try
{
JdClient
client
=
new
DefaultJdClient
(
urlConstants
.
getApiServerUrl
(),
accessToken
,
jdAppEnum
.
getAppKey
(),
jdAppEnum
.
getAppSecret
());
PopCrmGetMemberInVenderRequest
request
=
new
PopCrmGetMemberInVenderRequest
();
request
.
setCustomerPin
(
pin
);
request
.
setOpenIdBuyer
(
pin
);
PopCrmGetMemberInVenderResponse
response
=
client
.
execute
(
request
);
return
Optional
.
ofNullable
(
response
)
.
map
(
PopCrmGetMemberInVenderResponse:
:
getGetmemberinvenderResult
)
.
map
(
CommonResult:
:
getCustomerInfoEs
)
.
map
(
ResultBuilder:
:
success
)
.
orElse
(
ResultBuilder
.
fail
(
JSON
.
toJSONString
(
response
)));
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"getMemberInVender,exception"
,
e
);
return
ResultBuilder
.
fail
(
"发生异常"
);
}
}
// private void test() {
// try {
// String accessToken = "";
// JdClient client = new DefaultJdClient(urlConstants.getApiServerUrl(), accessToken, appKey, appSecret);
// JosTokenSourceToOpenIdRequest request = new JosTokenSourceToOpenIdRequest();
// request.setToken("36A9C36584F3519B8FA4C5072B9211DFD6D8A7B4778C7184EE59A9BC9B582914");
// request.setSource("02");
// request.setAppKey("B0F491866BC8C8BA5954B4DFCCF283CC");
// JosTokenSourceToOpenIdResponse response = client.execute(request);
// System.out.println(JSON.toJSONString(response));
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// public static void testDataEncryptOrDecrypt() {
// try {
// /*
// * 请求宙斯网关获取凭证和密钥
// * 1、凭证和密钥缓存本地(用于数据加解密)
// * 2、数据来源于请求宙斯网关 API 敏感字段值
// * 3、数据加解密案例如下
// */
// TDEClient tdeClient = SecretJdClient.
// getInstance(SERVER_URL, accessToken, appKey, appSecret);
// String type = "phone";
// String plaintext = "16612341234";
// // 加密手机号
// String ciphertext = tdeClient.encryptString(plaintext);
// System.out.println(type + "明文:" + plaintext + "—> 密文:" + ciphertext);
// // 判断是否为加密手机号码数据
//
// if (tdeClient.isEncryptData(ciphertext)) {
// // 解密手机号
// plaintext = tdeClient.decryptString(ciphertext);
// System.out.println(type + "密文:" + ciphertext + "—> 明文:" + plaintext);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
src/main/java/cn/com/duiba/jdactivity/service/impl/TbShopAccessTokenServiceImpl.java
View file @
19bf8f29
...
...
@@ -4,10 +4,12 @@ import cn.com.duiba.jdactivity.dao.TbShopAccessTokenDao;
import
cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto
;
import
cn.com.duiba.jdactivity.entity.TbShopAccessTokenEntity
;
import
cn.com.duiba.jdactivity.service.TbShopAccessTokenService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -23,18 +25,12 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
private
TbShopAccessTokenDao
tbShopAccessTokenDao
;
private
static
TbShopAccessTokenDto
convert2Dto
(
TbShopAccessTokenEntity
entity
)
{
if
(
entity
==
null
)
{
return
null
;
}
TbShopAccessTokenDto
tbShopAccessTokenDto
=
new
TbShopAccessTokenDto
();
BeanUtils
.
copyProperties
(
entity
,
tbShopAccessTokenDto
);
return
tbShopAccessTokenDto
;
}
private
static
TbShopAccessTokenEntity
convert2Entity
(
TbShopAccessTokenDto
accessTokenDto
)
{
if
(
accessTokenDto
==
null
)
{
return
null
;
}
TbShopAccessTokenEntity
tokenEntity
=
new
TbShopAccessTokenEntity
();
BeanUtils
.
copyProperties
(
accessTokenDto
,
tokenEntity
);
return
tokenEntity
;
...
...
@@ -48,12 +44,19 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/
@Override
public
TbShopAccessTokenDto
queryById
(
Long
id
)
{
return
convert2Dto
(
tbShopAccessTokenDao
.
queryById
(
id
));
TbShopAccessTokenEntity
entity
=
tbShopAccessTokenDao
.
queryById
(
id
);
if
(
entity
==
null
)
{
return
null
;
}
return
convert2Dto
(
entity
);
}
@Override
public
List
<
TbShopAccessTokenDto
>
queryByVenderIdShopId
(
Long
venderId
,
Long
shopId
)
{
List
<
TbShopAccessTokenEntity
>
entities
=
tbShopAccessTokenDao
.
queryByVenderIdShopId
(
venderId
,
shopId
);
if
(
CollectionUtils
.
isEmpty
(
entities
))
{
return
Collections
.
emptyList
();
}
return
entities
.
stream
().
map
(
TbShopAccessTokenServiceImpl:
:
convert2Dto
).
collect
(
Collectors
.
toList
());
}
...
...
@@ -66,6 +69,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/
@Override
public
Long
insert
(
TbShopAccessTokenDto
tbShopAccessTokenDto
)
{
if
(
tbShopAccessTokenDto
==
null
)
{
return
0L
;
}
TbShopAccessTokenEntity
entity
=
convert2Entity
(
tbShopAccessTokenDto
);
tbShopAccessTokenDao
.
insertOrUpdate
(
entity
);
return
entity
.
getId
();
...
...
@@ -79,6 +85,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/
@Override
public
int
update
(
TbShopAccessTokenDto
tbShopAccessTokenDto
)
{
if
(
tbShopAccessTokenDto
==
null
)
{
return
0
;
}
return
tbShopAccessTokenDao
.
update
(
convert2Entity
(
tbShopAccessTokenDto
));
}
...
...
src/test/java/cn/com/duiba/jdactivity/BaseTest.java
View file @
19bf8f29
package
cn
.
com
.
duiba
.
jdactivity
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.ActiveProfiles
;
@SpringBootTest
@ActiveProfiles
(
profiles
=
"dev"
)
public
class
BaseTest
{
}
src/test/java/cn/com/duiba/jdactivity/developer/jd/AccessTokenUtilsTest.java
View file @
19bf8f29
...
...
@@ -25,7 +25,7 @@ class AccessTokenUtilsTest extends BaseTest {
@Test
void
getAccessTokenByCode
()
{
AccessTokenResponse
tokenByCode
=
accessTokenUtils
.
getAccessTokenByCode
(
JdAppEnum
.
DUIBA
,
"
yj6CrO
"
);
AccessTokenResponse
tokenByCode
=
accessTokenUtils
.
getAccessTokenByCode
(
JdAppEnum
.
DUIBA
,
"
SknvJy
"
);
Assert
.
assertNotNull
(
tokenByCode
);
System
.
out
.
println
(
JSON
.
toJSONString
(
tokenByCode
));
}
...
...
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