Commit 19bf8f29 authored by 曾水平's avatar 曾水平

优化

parent c664cd5f
...@@ -6,7 +6,7 @@ import cn.com.duiba.jdactivity.developer.jd.JdAppEnum; ...@@ -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.AccessTokenResponse;
import cn.com.duiba.jdactivity.developer.jd.domain.JosParameters; 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.AccessTokenUtils;
import cn.com.duiba.jdactivity.developer.jd.utils.ApiUtil; import cn.com.duiba.jdactivity.developer.jd.utils.JdApiUtil;
import cn.com.duiba.jdactivity.developer.jd.utils.LoginUtils; import cn.com.duiba.jdactivity.developer.jd.utils.LoginUtils;
import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto; import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -35,7 +35,7 @@ public class AppController { ...@@ -35,7 +35,7 @@ public class AppController {
private AccessTokenUtils accessTokenUtils; private AccessTokenUtils accessTokenUtils;
@Resource @Resource
private ApiUtil apiUtil; private JdApiUtil jdApiUtil;
/** /**
* 应用插件启动唤起页 * 应用插件启动唤起页
...@@ -62,8 +62,8 @@ public class AppController { ...@@ -62,8 +62,8 @@ public class AppController {
} }
AccessTokenResponse accessTokenByCode = accessTokenUtils.getAccessTokenByCode(jdAppEnum, code); AccessTokenResponse accessTokenByCode = accessTokenUtils.getAccessTokenByCode(jdAppEnum, code);
if (!accessTokenByCode.isOk()) { if (accessTokenByCode != null && !accessTokenByCode.isOk()) {
Result<ShopJosResult> shopJosResultResult = apiUtil.venderShopQuery(jdAppEnum, accessTokenByCode.getAccess_token()); Result<ShopJosResult> shopJosResultResult = jdApiUtil.venderShopQuery(jdAppEnum, accessTokenByCode.getAccess_token());
if (shopJosResultResult.getSuccess()) { if (shopJosResultResult.getSuccess()) {
ShopJosResult data = shopJosResultResult.getData(); ShopJosResult data = shopJosResultResult.getData();
Long id = accessTokenUtils.saveAccessToken(jdAppEnum, accessTokenByCode, data); Long id = accessTokenUtils.saveAccessToken(jdAppEnum, accessTokenByCode, data);
...@@ -79,17 +79,14 @@ public class AppController { ...@@ -79,17 +79,14 @@ public class AppController {
@RequestMapping("/getShopInfoVO") @RequestMapping("/getShopInfoVO")
public Result<JSONObject> getShopInfoVO(Long venderId, Long shopId) { public Result<JSONObject> getShopInfoVO(Long venderId, Long shopId) {
TbShopAccessTokenDto accessToken = accessTokenUtils.getAccessToken(venderId, shopId); TbShopAccessTokenDto accessToken = accessTokenUtils.getAccessToken(venderId, shopId);
if (accessToken == null) {
return ResultBuilder.fail("未授权");
}
JdAppEnum jdAppEnum = JdAppEnum.getAppByAppKey(accessToken.getAppKey()); JdAppEnum jdAppEnum = JdAppEnum.getAppByAppKey(accessToken.getAppKey());
Result<ShopJosResult> shopJosResultResult = apiUtil.venderShopQuery(jdAppEnum, accessToken.getAccessToken()); Result<ShopJosResult> shopJosResultResult = jdApiUtil.venderShopQuery(jdAppEnum, accessToken.getAccessToken());
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("accessToken", accessToken); jsonObject.put("accessToken", accessToken);
jsonObject.put("shop", shopJosResultResult.getData()); jsonObject.put("shop", shopJosResultResult.getData());
return ResultBuilder.success(jsonObject); return ResultBuilder.success(jsonObject);
} }
@RequestMapping("/index")
public String index() {
return null;
}
} }
...@@ -3,7 +3,7 @@ package cn.com.duiba.jdactivity.controller; ...@@ -3,7 +3,7 @@ package cn.com.duiba.jdactivity.controller;
import cn.com.duiba.jdactivity.common.vo.Result; import cn.com.duiba.jdactivity.common.vo.Result;
import cn.com.duiba.jdactivity.developer.jd.JdAppEnum; 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.AccessTokenUtils;
import cn.com.duiba.jdactivity.developer.jd.utils.ApiUtil; import cn.com.duiba.jdactivity.developer.jd.utils.JdApiUtil;
import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto; import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto;
import cn.com.duiba.jdactivity.interceptor.UnloginAccess; import cn.com.duiba.jdactivity.interceptor.UnloginAccess;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -28,7 +28,7 @@ public class LoginController { ...@@ -28,7 +28,7 @@ public class LoginController {
public static final String REDIRECT = "redirect"; public static final String REDIRECT = "redirect";
@Resource @Resource
private ApiUtil apiUtil; private JdApiUtil jdApiUtil;
@Resource @Resource
private AccessTokenUtils accessTokenUtils; private AccessTokenUtils accessTokenUtils;
...@@ -48,8 +48,8 @@ public class LoginController { ...@@ -48,8 +48,8 @@ public class LoginController {
JdAppEnum appByAppKey = JdAppEnum.getAppByAppKey(accessToken.getAppKey()); 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)) { if (StringUtils.isBlank(token)) {
return "不能为空"; return "不能为空";
} }
......
package cn.com.duiba.jdactivity.controller; package cn.com.duiba.jdactivity.controller;
import cn.com.duiba.jdactivity.common.vo.Result; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* 开放给星速台的接口
* // TODO 每个接口都要有签名校验
*
* @author zsp (zengshuiping@duiba.com.cn) * @author zsp (zengshuiping@duiba.com.cn)
* @date 2021/5/17 13:26 * @date 2021/5/17 13:26
*/ */
@RestController @RestController
@RequestMapping("/open2Duiba") @RequestMapping("/open2Duiba")
public class Open2DuibaController { 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 * @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;
} }
} }
...@@ -51,4 +51,8 @@ public enum JdAppEnum { ...@@ -51,4 +51,8 @@ public enum JdAppEnum {
return null; return null;
} }
public static JdAppEnum getDefault() {
return JdAppEnum.DUIBA;
}
} }
...@@ -63,7 +63,7 @@ public class AccessTokenUtils { ...@@ -63,7 +63,7 @@ public class AccessTokenUtils {
String url = UrlUtils.assembleUrl(urlConstants.getOauthUrl() + ACCESS_TOKEN_SUFFIX, param); String url = UrlUtils.assembleUrl(urlConstants.getOauthUrl() + ACCESS_TOKEN_SUFFIX, param);
String s = httpClientUtil.sendGet(url); 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) if (StringUtils.isNotBlank(s)
&& !StringUtils.equalsIgnoreCase(NULL, s) && !StringUtils.equalsIgnoreCase(NULL, s)
......
...@@ -9,11 +9,15 @@ import com.jd.open.api.sdk.DefaultJdClient; ...@@ -9,11 +9,15 @@ import com.jd.open.api.sdk.DefaultJdClient;
import com.jd.open.api.sdk.JdClient; 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.crm.VenderCustomerClientJsfService.response.getCustomer.EssentialCustomerInfo;
import com.jd.open.api.sdk.domain.seller.ShopSafService.response.query.ShopJosResult; 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.domain.user.UserRelatedRpcService.response.getUserInfoByOpenId.OAuthUserInfo;
import com.jd.open.api.sdk.request.crm.PopCrmCustomerGetCustomerRequest; 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.openid.JosTokenSourceToOpenIdRequest;
import com.jd.open.api.sdk.request.seller.VenderShopQueryRequest; 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.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.PopJmCenterUserGetEncryptPinNewRequest;
import com.jd.open.api.sdk.request.user.PopJmCenterUserGetOpenIdRequest; import com.jd.open.api.sdk.request.user.PopJmCenterUserGetOpenIdRequest;
import com.jd.open.api.sdk.request.user.UserGetUserInfoByOpenIdRequest; import com.jd.open.api.sdk.request.user.UserGetUserInfoByOpenIdRequest;
...@@ -21,6 +25,8 @@ import com.jd.open.api.sdk.response.crm.PopCrmCustomerGetCustomerResponse; ...@@ -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.openid.JosTokenSourceToOpenIdResponse;
import com.jd.open.api.sdk.response.seller.VenderShopQueryResponse; 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.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.PopJmCenterUserGetEncryptPinNewResponse;
import com.jd.open.api.sdk.response.user.PopJmCenterUserGetOpenIdResponse; import com.jd.open.api.sdk.response.user.PopJmCenterUserGetOpenIdResponse;
import com.jd.open.api.sdk.response.user.UserGetUserInfoByOpenIdResponse; import com.jd.open.api.sdk.response.user.UserGetUserInfoByOpenIdResponse;
...@@ -37,8 +43,8 @@ import java.util.Optional; ...@@ -37,8 +43,8 @@ import java.util.Optional;
* @date 2021/5/13 15:08 * @date 2021/5/13 15:08
*/ */
@Component @Component
public class ApiUtil { public class JdApiUtil {
public static final Logger LOGGER = LoggerFactory.getLogger(ApiUtil.class); public static final Logger LOGGER = LoggerFactory.getLogger(JdApiUtil.class);
private static final String CODE_SUCCESS = "0"; private static final String CODE_SUCCESS = "0";
@Resource @Resource
private UrlConstants urlConstants; private UrlConstants urlConstants;
...@@ -165,7 +171,7 @@ public class ApiUtil { ...@@ -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 { try {
JdClient client = new DefaultJdClient(urlConstants.getApiServerUrl(), null, jdAppEnum.getAppKey(), jdAppEnum.getAppSecret()); JdClient client = new DefaultJdClient(urlConstants.getApiServerUrl(), null, jdAppEnum.getAppKey(), jdAppEnum.getAppSecret());
FollowVenderReadIsFollowByPinAndVidRequest request = new FollowVenderReadIsFollowByPinAndVidRequest(); FollowVenderReadIsFollowByPinAndVidRequest request = new FollowVenderReadIsFollowByPinAndVidRequest();
...@@ -187,48 +193,48 @@ public class ApiUtil { ...@@ -187,48 +193,48 @@ public class ApiUtil {
LOGGER.warn("isFollowByPinAndVid,exception", e); LOGGER.warn("isFollowByPinAndVid,exception", e);
return ResultBuilder.fail("发生异常"); 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();
// }
// }
} }
...@@ -4,10 +4,12 @@ import cn.com.duiba.jdactivity.dao.TbShopAccessTokenDao; ...@@ -4,10 +4,12 @@ import cn.com.duiba.jdactivity.dao.TbShopAccessTokenDao;
import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto; import cn.com.duiba.jdactivity.dto.TbShopAccessTokenDto;
import cn.com.duiba.jdactivity.entity.TbShopAccessTokenEntity; import cn.com.duiba.jdactivity.entity.TbShopAccessTokenEntity;
import cn.com.duiba.jdactivity.service.TbShopAccessTokenService; import cn.com.duiba.jdactivity.service.TbShopAccessTokenService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -23,18 +25,12 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService { ...@@ -23,18 +25,12 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
private TbShopAccessTokenDao tbShopAccessTokenDao; private TbShopAccessTokenDao tbShopAccessTokenDao;
private static TbShopAccessTokenDto convert2Dto(TbShopAccessTokenEntity entity) { private static TbShopAccessTokenDto convert2Dto(TbShopAccessTokenEntity entity) {
if (entity == null) {
return null;
}
TbShopAccessTokenDto tbShopAccessTokenDto = new TbShopAccessTokenDto(); TbShopAccessTokenDto tbShopAccessTokenDto = new TbShopAccessTokenDto();
BeanUtils.copyProperties(entity, tbShopAccessTokenDto); BeanUtils.copyProperties(entity, tbShopAccessTokenDto);
return tbShopAccessTokenDto; return tbShopAccessTokenDto;
} }
private static TbShopAccessTokenEntity convert2Entity(TbShopAccessTokenDto accessTokenDto) { private static TbShopAccessTokenEntity convert2Entity(TbShopAccessTokenDto accessTokenDto) {
if (accessTokenDto == null) {
return null;
}
TbShopAccessTokenEntity tokenEntity = new TbShopAccessTokenEntity(); TbShopAccessTokenEntity tokenEntity = new TbShopAccessTokenEntity();
BeanUtils.copyProperties(accessTokenDto, tokenEntity); BeanUtils.copyProperties(accessTokenDto, tokenEntity);
return tokenEntity; return tokenEntity;
...@@ -48,12 +44,19 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService { ...@@ -48,12 +44,19 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/ */
@Override @Override
public TbShopAccessTokenDto queryById(Long id) { public TbShopAccessTokenDto queryById(Long id) {
return convert2Dto(tbShopAccessTokenDao.queryById(id)); TbShopAccessTokenEntity entity = tbShopAccessTokenDao.queryById(id);
if (entity == null) {
return null;
}
return convert2Dto(entity);
} }
@Override @Override
public List<TbShopAccessTokenDto> queryByVenderIdShopId(Long venderId, Long shopId) { public List<TbShopAccessTokenDto> queryByVenderIdShopId(Long venderId, Long shopId) {
List<TbShopAccessTokenEntity> entities = tbShopAccessTokenDao.queryByVenderIdShopId(venderId, shopId); List<TbShopAccessTokenEntity> entities = tbShopAccessTokenDao.queryByVenderIdShopId(venderId, shopId);
if (CollectionUtils.isEmpty(entities)) {
return Collections.emptyList();
}
return entities.stream().map(TbShopAccessTokenServiceImpl::convert2Dto).collect(Collectors.toList()); return entities.stream().map(TbShopAccessTokenServiceImpl::convert2Dto).collect(Collectors.toList());
} }
...@@ -66,6 +69,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService { ...@@ -66,6 +69,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/ */
@Override @Override
public Long insert(TbShopAccessTokenDto tbShopAccessTokenDto) { public Long insert(TbShopAccessTokenDto tbShopAccessTokenDto) {
if (tbShopAccessTokenDto == null) {
return 0L;
}
TbShopAccessTokenEntity entity = convert2Entity(tbShopAccessTokenDto); TbShopAccessTokenEntity entity = convert2Entity(tbShopAccessTokenDto);
tbShopAccessTokenDao.insertOrUpdate(entity); tbShopAccessTokenDao.insertOrUpdate(entity);
return entity.getId(); return entity.getId();
...@@ -79,6 +85,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService { ...@@ -79,6 +85,9 @@ public class TbShopAccessTokenServiceImpl implements TbShopAccessTokenService {
*/ */
@Override @Override
public int update(TbShopAccessTokenDto tbShopAccessTokenDto) { public int update(TbShopAccessTokenDto tbShopAccessTokenDto) {
if (tbShopAccessTokenDto == null) {
return 0;
}
return tbShopAccessTokenDao.update(convert2Entity(tbShopAccessTokenDto)); return tbShopAccessTokenDao.update(convert2Entity(tbShopAccessTokenDto));
} }
......
package cn.com.duiba.jdactivity; package cn.com.duiba.jdactivity;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
@SpringBootTest @SpringBootTest
@ActiveProfiles(profiles = "dev")
public class BaseTest { public class BaseTest {
} }
...@@ -25,7 +25,7 @@ class AccessTokenUtilsTest extends BaseTest { ...@@ -25,7 +25,7 @@ class AccessTokenUtilsTest extends BaseTest {
@Test @Test
void getAccessTokenByCode() { void getAccessTokenByCode() {
AccessTokenResponse tokenByCode = accessTokenUtils.getAccessTokenByCode(JdAppEnum.DUIBA, "yj6CrO"); AccessTokenResponse tokenByCode = accessTokenUtils.getAccessTokenByCode(JdAppEnum.DUIBA, "SknvJy");
Assert.assertNotNull(tokenByCode); Assert.assertNotNull(tokenByCode);
System.out.println(JSON.toJSONString(tokenByCode)); System.out.println(JSON.toJSONString(tokenByCode));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment