Commit e147c47a by ping.wu

积分商品

parent 4348cad9
......@@ -90,6 +90,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
private OfflineCouponSdkService offlineCouponSdkService;
@Autowired
private MQService mqService;
@Autowired
private CustomerPropertyClient customerPropertyClient;
@Value("${version.upgrade.weekDay:}")
......@@ -285,17 +287,17 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
}
}
// 扣减积分,扣减失败冲正积分返回错误
if (totalScore != null) {
UserScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true);
BaseResponse userScoreResponse = memberScoreService.useScore(userScoreRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, userScoreResponse.getCode())) {
if (totalScore != null && totalScore != 0) {
UseScoreRequest userScoreRequest = convent2UseScoreRequest(orderBean, totalScore,true);
CustomerPropertyBaseResponse baseResponse = customerPropertyClient.useScore(userScoreRequest);
if (!Objects.equals("100", baseResponse.getCode())) {
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
return BaseOrderResponse.getErrorBaseOrderResponse(baseResponse.getCode(), "积分不足");
}
}
......@@ -564,4 +566,30 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return false;
}
/**
* 积分扣减或冲正,调会员基础服务
*
* @param orderBean 订单
* @param isReduce 是否扣减:true扣减;false冲正
* @return
*/
public UseScoreRequest convent2UseScoreRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, Long totalScore,boolean isReduce) {
UseScoreRequest userScoreRequest = new UseScoreRequest();
userScoreRequest.setMemberId(orderBean.getUserId());
userScoreRequest.setPartnerId(orderBean.getCompanyId());
userScoreRequest.setChangeScore(totalScore);
userScoreRequest.setOperationType(12);
userScoreRequest.setOperationName("积分兑换");
userScoreRequest.setChangeType(2);
userScoreRequest.setOrderId(orderBean.getOid());
userScoreRequest.setOrgCode("");
userScoreRequest.setOrgType(isReduce ? 1 : 2);
userScoreRequest.setIdempotencyBussinessId(LogThreadLocal.getTrackingNo());
userScoreRequest.setIdempotencyBussinessType("5");
userScoreRequest.setAppId(orderBean.getAppId());
return userScoreRequest;
}
}
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