123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package com.kmall.admin.haikong;
- import com.kmall.admin.config.haikong.HaiKongProperties;
- import com.kmall.admin.utils.haikong.OkHttpUtils;
- import com.kmall.common.constant.HaiKongMemberSystemUrlEnum;
- import okhttp3.MediaType;
- import okhttp3.Request;
- import okhttp3.RequestBody;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- /**
- *
- * @author lhm
- * @createDate 2021-10-27
- */
- @Component
- public class HaiKongMemberTemplate {
- @Autowired
- private HaiKongProperties haiKongProperties;
- private RequestBody requestBody(String body) {
- return RequestBody.create(MediaType.parse(org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE), body);
- }
- /**
- * 拼接通用查询参数
- * @param url 接口地址
- * @param accessToken 凭证
- * @param sign 签名
- * @return 拼接后的url
- */
- private String appendQueryParam(String url, String accessToken, String sign) {
- return url + "?" + "access_token=" + accessToken +
- "&" + "sign=" + sign +
- "&" + "timestamp=" + String.valueOf(System.currentTimeMillis());
- }
- /**
- * 获取accessToken
- * @return accessToken
- */
- public String getAccessToken() {
- String url = HaiKongMemberSystemUrlEnum.QUERY_ACCESS_TOKEN.getUrl();
- Request request = new Request.Builder()
- .url(haiKongProperties.getMemberUrl() + url)
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- /**
- * 刷新accessToken
- * @return accessToken
- */
- public String refreshAccessToken() {
- String url = HaiKongMemberSystemUrlEnum.REFRESH_ACCESS_TOKEN.getUrl();
- Request request = new Request.Builder()
- .url(haiKongProperties.getMemberUrl() + url)
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- /**
- * 根据手机号获取会员信息
- * 可根据会员码或手机号或会员的open_id来获取会员信息
- * @param body 请求体
- * @return 会员信息
- */
- public String getMemberInfoByPhone(String body) {
- Request request = new Request.Builder()
- .post(requestBody(body))
- .url(haiKongProperties.getMemberUrl() + appendQueryParam(HaiKongMemberSystemUrlEnum.QUERY_MEMBER_INFO_BY_PHONE.getUrl(), "", ""))
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- /**
- * 根据手机号获取会员信息
- * 可根据会员码或手机号或会员的open_id来获取会员信息
- * @param body 请求体
- * @return 会员信息
- */
- public String getMemberInfoByCode(String body) {
- Request request = new Request.Builder()
- .post(requestBody(body))
- .url(haiKongProperties.getMemberUrl() + appendQueryParam(HaiKongMemberSystemUrlEnum.QUERY_MEMBER_INFO_BY_CODE.getUrl(), "", ""))
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- /**
- * 获取会员优惠券详细信息
- * 待定
- * @param body 请求体
- * @return 优惠券信息
- */
- public String getMemberCouponInfo(String body) {
- Request request = new Request.Builder()
- .get()
- .url(haiKongProperties.getMemberUrl() + appendQueryParam(HaiKongMemberSystemUrlEnum.QUERY_MEMBER_COUPON.getUrl(), "", ""))
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- /**
- * 积分变动接口
- * @param body 请求体
- * @return 响应数据
- */
- public String changeMemberScore(String body) {
- Request request = new Request.Builder()
- .post(requestBody(body))
- .url(haiKongProperties.getMemberUrl() + appendQueryParam(HaiKongMemberSystemUrlEnum.CHANGE_MEMBER_SCORE.getUrl(), "", ""))
- .build();
- return OkHttpUtils.retry(request, haiKongProperties.getRetry());
- }
- }
|