Commit 1d5e419d authored by 陈孝伟's avatar 陈孝伟

查询积分明细

parent f9878d26
......@@ -19,6 +19,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.jd.open.api.sdk.domain.crm.VenderCustomerClientJsfService.response.getCustomer.EssentialCustomerInfo;
import com.jd.open.api.sdk.domain.user.CrmPointsService.response.getPointsDetail.PointsDetailsResult;
import com.jd.open.api.sdk.domain.user.UserRelatedRpcService.response.getUserInfoByOpenId.OAuthUserInfo;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -529,6 +530,26 @@ public class Open2DuibaController {
}
}
/**
* 查询积分明细
*/
@PostMapping("/findPointsDetails")
public Result<PointsDetailsResult> findPointsDetails(@RequestBody DuibaPointDetailsParam duibaUserParam) {
try {
String uid = getUid(duibaUserParam.getUid());
signVerify4Post(duibaUserParam, "查询积分明细");
TbShopAccessTokenDto accessToken = accessTokenUtils.getAccessTokenWithCache(duibaUserParam);
JdAppEnum appEnum = JdAppEnum.getAppByAppKey(accessToken.getAppKey());
String pin = convert2Pin(appEnum, accessToken.getAccessToken(), uid);
return jdApiUtil.getPointDetail(appEnum, accessToken.getAccessToken(), pin, duibaUserParam);
} catch (BizException e) {
return ResultBuilder.fail(e.getMessage());
} catch (Exception e) {
LOGGER.error("查询积分明细异常", e);
return ResultBuilder.fail("查询积分明细异常");
}
}
/**
* 会员信息,包含首次成为会员的时间、会员等级、总订单金额、总下单次数、客单价、最新订单时间
*/
......
......@@ -6,6 +6,7 @@ import cn.com.duiba.jdactivity.common.vo.ResultBuilder;
import cn.com.duiba.jdactivity.developer.jd.Main;
import cn.com.duiba.jdactivity.developer.jd.constant.JdAppEnum;
import cn.com.duiba.jdactivity.developer.jd.constant.JdServerUrlEnum;
import cn.com.duiba.jdactivity.dto.DuibaPointDetailsParam;
import com.alibaba.fastjson.JSON;
import com.jd.open.api.sdk.DefaultJdClient;
import com.jd.open.api.sdk.JdClient;
......@@ -17,6 +18,7 @@ import com.jd.open.api.sdk.domain.seller.ShopSafService.response.query.ShopJosRe
import com.jd.open.api.sdk.domain.sku.BeanWriteService.response.sendBean.BeanSendResult;
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.CrmPointsService.response.getPointsDetail.PointsDetailsResult;
import com.jd.open.api.sdk.domain.user.UserRelatedRpcService.response.getUserInfoByOpenId.OAuthUserInfo;
import com.jd.open.api.sdk.request.JdRequest;
import com.jd.open.api.sdk.request.crm.PointsJosSendPointsRequest;
......@@ -30,7 +32,6 @@ import com.jd.open.api.sdk.request.promotion.SellerCouponWritePushCouponRequest;
import com.jd.open.api.sdk.request.seller.VenderShopQueryRequest;
import com.jd.open.api.sdk.request.sku.PopBeanSendBeanRequest;
import com.jd.open.api.sdk.request.user.*;
import com.jd.open.api.sdk.request.ware.SkuReadFindSkuByIdRequest;
import com.jd.open.api.sdk.request.ware.WareReadFindWareByIdRequest;
import com.jd.open.api.sdk.request.ware.WareReadSearchWare4ValidRequest;
import com.jd.open.api.sdk.response.crm.PointsJosSendPointsResponse;
......@@ -44,7 +45,6 @@ import com.jd.open.api.sdk.response.promotion.SellerCouponWritePushCouponRespons
import com.jd.open.api.sdk.response.seller.VenderShopQueryResponse;
import com.jd.open.api.sdk.response.sku.PopBeanSendBeanResponse;
import com.jd.open.api.sdk.response.user.*;
import com.jd.open.api.sdk.response.ware.SkuReadFindSkuByIdResponse;
import com.jd.open.api.sdk.response.ware.WareReadFindWareByIdResponse;
import com.jd.open.api.sdk.response.ware.WareReadSearchWare4ValidResponse;
import org.apache.commons.lang3.StringUtils;
......@@ -804,4 +804,29 @@ public class JdApiUtil {
}
}
public Result<PointsDetailsResult> getPointDetail(JdAppEnum appEnum, String accessToken, String pin, DuibaPointDetailsParam duibaUserParam) {
try {
JdClient client = getJdClient(appEnum, accessToken);
PopCrmGetPointsDetailRequest request = new PopCrmGetPointsDetailRequest();
request.setCustomerPin(pin);
request.setStartTime(duibaUserParam.getBeginTime());
request.setEndTime(duibaUserParam.getEndTime());
request.setStartPage(duibaUserParam.getStartPage());
request.setEndPage(duibaUserParam.getEndPage());
request.setPage(duibaUserParam.getPage());
request.setPageSize(duibaUserParam.getPageSize());
request.setStartRowKey("无");
request.setOpenIdBuyer(pin);
PopCrmGetPointsDetailResponse response = client.execute(request);
LOGGER.info("获取积分明细,pin={},response={}", pin, JSON.toJSONString(response));
if (!CODE_SUCCESS.equals(response.getCode())) {
LOGGER.warn("失败:request:{},return_code:{},return_msg:{}", JSON.toJSONString(request), response.getCode(), response.getZhDesc());
return ResultBuilder.fail("失败:" + response.getZhDesc());
}
return ResultBuilder.success(response.getGetpointsdetailResult());
} catch (Exception e) {
LOGGER.warn("venderShopQuery,exception", e);
return ResultBuilder.fail("发生异常");
}
}
}
package cn.com.duiba.jdactivity.dto;
public class DuibaPointDetailsParam extends DuibaUserParam {
/**
* 查询开始时间,格式yyyyMMddHHmmss
*/
String beginTime;
/**
* 查询结束时间,格式yyyyMMddHHmmss
*/
String endTime;
/**
* 本次查询页大于等于startPage且小于等于endPage
*/
Integer page;
/**
* 页长(0-50),必须小于50
*/
Integer pageSize;
/**
* 本次查询起始页码
*/
Integer startPage;
/**
* 本次查询终止页码
*/
Integer endPage;
public String getBeginTime() {
return beginTime;
}
public void setBeginTime(String beginTime) {
this.beginTime = beginTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getStartPage() {
return startPage;
}
public void setStartPage(Integer startPage) {
this.startPage = startPage;
}
public Integer getEndPage() {
return endPage;
}
public void setEndPage(Integer endPage) {
this.endPage = endPage;
}
}
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