Commit 9f892996 by yuanyuan.jing

Merge branch 'feature/20211011_购物车服务查询会员资产兼容储值卡状态查询'

parents bc75ea08 c4478eb5
......@@ -13,6 +13,11 @@ public class GetMemberInfoRequestDto {
private String userId;
/**
* 储值卡状态 0可用1转赠中2已转赠3已移除
*/
private List<Integer> statusFlagList;
/**
* 实际支付金额(分)
......
package cn.freemud.entities.dto;
import lombok.Data;
import java.util.Date;
/**
* @author yuanyuan.jing
*/
@Data
public class GetSvcInfoByMemberIdResponse {
private String memberId;
private String cardCode;
private Integer statusFlag;
}
package cn.freemud.entities.dto;
import lombok.Data;
import java.util.List;
/**
* @author yuanyuan.jing
*/
@Data
public class StatisticalPropertyRequest {
private String partnerId;
private String memberId;
/**
* 储值卡状态 0可用1转赠中2已转赠3已移除
*/
private List<Integer> statusFlagList;
}
package cn.freemud.entities.dto.pay;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
/**
* @author yuanyuan.jing
*/
@Data
@AllArgsConstructor
public class SvcCardDetailRequest {
private String partnerId;
private List<String> cardCodes;
}
package cn.freemud.entities.dto.pay;
import lombok.Data;
import java.util.List;
/**
* @author yuanyuan.jing
*/
@Data
public class SvcCardDetailsResponse {
/**
* 卡号
*/
private String cardCode;
/**
* 卡状态 0|作废 1|待激活 2|有效 3|冻结 4|挂失 5|失效 6|转赠中 7|已过期
*/
private Integer cardState;
}
......@@ -31,9 +31,7 @@ import cn.freemud.entities.dto.calculate.ActivityCalculationDiscountRequestDto;
import cn.freemud.entities.dto.calculate.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.openplatform.WeixinProductRequestDto;
import cn.freemud.entities.dto.openplatform.WeixinProductResponseDto;
import cn.freemud.entities.dto.pay.CardSimpleInfo;
import cn.freemud.entities.dto.pay.SVCCardAmountRequest;
import cn.freemud.entities.dto.pay.SVCCardAmountResponse;
import cn.freemud.entities.dto.pay.*;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.GetUserScoreUseDetailRequest;
......@@ -65,9 +63,7 @@ import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalPropertyRequest;
import com.freemud.application.sdk.api.membercenter.request.StatisticalScoreRequest;
import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberIdResponse;
import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse;
import com.freemud.application.sdk.api.membercenter.response.StatisticalScoreResponse;
import com.freemud.application.sdk.api.membercenter.service.MemberCenterService;
......@@ -139,6 +135,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
@Autowired
private CustomerApplicationClient customerApplicationClient;
@Autowired
private CustomerPropertyClient customerPropertyClient;
@Autowired
private AssortmentCustomerInfoManager customerInfoManager;
@Autowired
private SvcAppClient svcAppClient;
......@@ -1247,6 +1245,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String partnerId = request.getPartnerId();
String memberId = request.getUserId();
List<Integer> statusFlagList = request.getStatusFlagList();
responseData.setUserId(memberId);
List<GetMemberInfoRequestDto.OrderItemRequest> orderItemList = request.getOrderItemList();
if (CollectionUtils.isEmpty(orderItemList)) {
......@@ -1315,11 +1314,18 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
StatisticalPropertyRequest getMemberCardRequest = new StatisticalPropertyRequest();
getMemberCardRequest.setPartnerId(partnerId);
getMemberCardRequest.setMemberId(memberId);
com.freemud.application.sdk.api.base.BaseResponse<List<GetSvcInfoByMemberIdResponse>> svcInfoByMemberId = memberPropertyService.getSvcInfoByMemberId(getMemberCardRequest, LogThreadLocal.getTrackingNo());
getMemberCardRequest.setStatusFlagList(statusFlagList);
com.freemud.application.sdk.api.base.BaseResponse<List<GetSvcInfoByMemberIdResponse>> svcInfoByMemberId = customerPropertyClient.getMemberCards(getMemberCardRequest);
if (svcInfoByMemberId != null && CollectionUtils.isNotEmpty(svcInfoByMemberId.getData())) {
List<GetSvcInfoByMemberIdResponse> memberCardResponses = svcInfoByMemberId.getData();
// 查询储值卡的余额
List<String> cardCodes = memberCardResponses.stream().map(GetSvcInfoByMemberIdResponse::getCardCode).collect(Collectors.toList());
if (statusFlagList!=null&&statusFlagList.size()>0&&statusFlagList.contains(0)){
//从SVC查询出有效的储值卡,状态2
SvcCardDetailRequest req= new SvcCardDetailRequest(partnerId,cardCodes);
BaseResponse<List<SvcCardDetailsResponse>> details = svcAppClient.details(req);
cardCodes=details.getResult().stream().filter(item->item.getCardState().equals(2)).map(SvcCardDetailsResponse::getCardCode).collect(toList());
}
SVCCardAmountRequest svcCardAmountRequest = new SVCCardAmountRequest();
svcCardAmountRequest.setCardCodes(cardCodes);
svcCardAmountRequest.setPartnerId(partnerId);
......
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.GetSvcInfoByMemberIdResponse;
import cn.freemud.entities.dto.StatisticalPropertyRequest;
import com.freemud.application.sdk.api.base.BaseResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* @author yuanyuan.jing
*/
@FeignClient(name = "customer-property-service", url = "${member.property.baseUrl:}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface CustomerPropertyClient {
@PostMapping(value = "/propertyservice/card/getMemberCards")
BaseResponse<List<GetSvcInfoByMemberIdResponse>> getMemberCards(@RequestBody StatisticalPropertyRequest statisticalPropertyRequest);
}
......@@ -6,10 +6,14 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.ResponseCodeKeyConstant;
import cn.freemud.entities.dto.pay.SVCCardAmountRequest;
import cn.freemud.entities.dto.pay.SVCCardAmountResponse;
import cn.freemud.entities.dto.pay.SvcCardDetailRequest;
import cn.freemud.entities.dto.pay.SvcCardDetailsResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@FeignClient(name="fm-svc-app", url = "${saas.svc.app.feign.url:}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface SvcAppClient {
......@@ -20,4 +24,7 @@ public interface SvcAppClient {
@IgnoreFeignLogAnnotation(logMessage = "batchQueryCardAmount",excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},statusCodeFieldName= ResponseCodeKeyConstant.STATUS_CODE,messageFieldName=ResponseCodeKeyConstant.MSG)
BaseResponse<SVCCardAmountResponse> batchQueryCardAmount(SVCCardAmountRequest svcComPayRequestDto);
@PostMapping(value = "/svc/card/details")
BaseResponse<List<SvcCardDetailsResponse>> details(SvcCardDetailRequest svcCardDetailRequest);
}
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