Commit ea6d959d by ping.wu

更新订单信息调整

parent 74834840
...@@ -84,7 +84,7 @@ public class CreateOrderVo { ...@@ -84,7 +84,7 @@ public class CreateOrderVo {
private String mobile; private String mobile;
/** /**
* 渠道 1 saas 2 img 爱马哥 默认saas 3. iwc i围餐 * 渠道 1 saas 2 支付宝 3. iwc i围餐 5 头条
*/ */
private String channel; private String channel;
/** /**
......
package cn.freemud.enums;
public enum ChannelEnum {
TYPE_1("1", "微信小程序"),
TYPE_2("2", "支付宝小程序"),
TYPE_3("3", "围餐小程序"),
TYPE_4("4", ""),
TYPE_5("5", "抖音小程序"),
;
private String code;
private String desc;
ChannelEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.user.StatislScoreResponse; ...@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.user.StatislScoreResponse;
import cn.freemud.entities.dto.user.StatisticalScoreRequestVo; import cn.freemud.entities.dto.user.StatisticalScoreRequestVo;
import cn.freemud.entities.dto.user.UseScoreRequest; import cn.freemud.entities.dto.user.UseScoreRequest;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.ChannelEnum;
import cn.freemud.enums.OrderBeanType; import cn.freemud.enums.OrderBeanType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.integralproduct.IntegralProductStatusEnum; import cn.freemud.enums.integralproduct.IntegralProductStatusEnum;
...@@ -38,6 +39,7 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp ...@@ -38,6 +39,7 @@ import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformIapp
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
...@@ -47,6 +49,7 @@ import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType; ...@@ -47,6 +49,7 @@ import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.request.OrderAffirmReq; import com.freemud.application.sdk.api.ordercenter.request.OrderAffirmReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderUserConditionsReq; import com.freemud.application.sdk.api.ordercenter.request.OrderUserConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.PaySuccessReq; import com.freemud.application.sdk.api.ordercenter.request.PaySuccessReq;
import com.freemud.application.sdk.api.ordercenter.request.UpdateOrderReq;
import com.freemud.application.sdk.api.ordercenter.request.create.*; import com.freemud.application.sdk.api.ordercenter.request.create.*;
import com.freemud.application.sdk.api.ordercenter.response.QueryOrderForUserResp; import com.freemud.application.sdk.api.ordercenter.response.QueryOrderForUserResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.DeliveryContactInfoResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.DeliveryContactInfoResp;
...@@ -110,6 +113,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService { ...@@ -110,6 +113,7 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
String memberId = userLoginInfoDto.getMemberId(); String memberId = userLoginInfoDto.getMemberId();
String openId = userLoginInfoDto.getOpenId(); String openId = userLoginInfoDto.getOpenId();
String appId = userLoginInfoDto.getAppId(); String appId = userLoginInfoDto.getAppId();
String channel = createOrderVo.getChannel();
String skuId = ""; String skuId = "";
if (CollectionUtils.isNotEmpty(createOrderVo.getProducts())) { if (CollectionUtils.isNotEmpty(createOrderVo.getProducts())) {
skuId = createOrderVo.getProducts().get(0).getSkuId(); skuId = createOrderVo.getProducts().get(0).getSkuId();
...@@ -209,6 +213,10 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService { ...@@ -209,6 +213,10 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
createOrderResponseVo.setOrderStr(payOrder.getAliPayOrder()); createOrderResponseVo.setOrderStr(payOrder.getAliPayOrder());
} }
} }
BaseResponse baseResponse1 = updateOrder(orderCode,points, cashPrice,partnerId,storeId,createOrderResponseVo.getFmId(),channel);
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse1.getCode())) {
return ResponseUtil.error(createOrderResponseDto.getCode(), "更新订单异常");
}
//扣减积分商品商品库存 //扣减积分商品商品库存
UpdatePointsMallStocksRequest updatePointsMallStocksRequest = new UpdatePointsMallStocksRequest(); UpdatePointsMallStocksRequest updatePointsMallStocksRequest = new UpdatePointsMallStocksRequest();
...@@ -249,15 +257,63 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService { ...@@ -249,15 +257,63 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
} }
} }
if(exchangeType == 1){ if(exchangeType == 1){
BaseResponse baseResponse = orderPaySuccess(createOrderResponseDto.getResult()); BaseResponse response1 = orderPaySuccess(createOrderResponseDto.getResult());
if(!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, baseResponse.getCode())){ if(!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR, response1.getCode())){
return baseResponse; return response1;
} }
createOrderResponseVo.setOid(orderCode); createOrderResponseVo.setOid(orderCode);
} }
return ResponseUtil.success(createOrderResponseVo); return ResponseUtil.success(createOrderResponseVo);
} }
private BaseResponse updateOrder(String orderCode,Integer integralPrice,Integer cashPrice,String partnerId,
String shopId,String fmId,String channel) {
BaseResponse response = new BaseResponse();
if(integralPrice > 0 || cashPrice > 0){
List<PayItem> orderPayItemList = new ArrayList<>();
if(integralPrice > 0){
PayItem payItem = new PayItem();
payItem.setPartnerId(partnerId);
payItem.setStoreId(shopId);
payItem.setPayChannelType(PayChannelType.POINTS.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.POINTS.getName());
payItem.setPayAmount(new BigDecimal(integralPrice));
orderPayItemList.add(payItem);
}
if(cashPrice > 0){
PayItem payItem = new PayItem();
payItem.setPartnerId(partnerId);
payItem.setStoreId(shopId);
if(ChannelEnum.TYPE_1.getCode().equals(channel)){
payItem.setPayChannelType(PayChannelType.WECHAT.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.WECHAT.getName());
}else if(ChannelEnum.TYPE_5.getCode().equals(channel)){
payItem.setPayChannelType(PayChannelType.TIKTOKPAY.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.TIKTOKPAY.getName());
}else {
payItem.setPayChannelType(PayChannelType.ALIPAY.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.ALIPAY.getName());
}
payItem.setPayAmount(new BigDecimal(integralPrice));
payItem.setFmTradeNo(fmId);
orderPayItemList.add(payItem);
}
UpdateOrderReq request = new UpdateOrderReq();
request.setOrderCode(orderCode);
// request.setExtInfo(orderEdit.getExtInfo());
request.setOrderPayItem(orderPayItemList);
// request.setPayChannel(orderEdit.getPayChannel());
// request.setPayChannelName(orderEdit.getPayChannelName());
// request.setPayChannelType(orderEdit.getPayChannelType());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.editOrder(request, LogThreadLocal.getTrackingNo());
if(baseResponse != null){
response.setCode(baseResponse.getCode());
response.setMessage(baseResponse.getMessage());
}
}
return response;
}
@Override @Override
public String paySuccessCallback(PaysuccessNoticeMessage message,Map<String, OrderBeanV1> orderBeans) { public String paySuccessCallback(PaysuccessNoticeMessage message,Map<String, OrderBeanV1> orderBeans) {
...@@ -597,29 +653,6 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService { ...@@ -597,29 +653,6 @@ public class PointsMallOrderServiceImpl implements PointsMallOrderService {
request.setOperator(userLoginInfoDto.getNickName()); request.setOperator(userLoginInfoDto.getNickName());
request.setAppId(userLoginInfoDto.getWxAppId()); request.setAppId(userLoginInfoDto.getWxAppId());
request.setPayChannel(channel); request.setPayChannel(channel);
if(integralPrice > 0 || cashPrice > 0){
List<OrderPayItemCreateReq> orderPayItemList = new ArrayList<>();
if(integralPrice > 0){
OrderPayItemCreateReq payItem = new OrderPayItemCreateReq();
payItem.setPartnerId(partnerId);
payItem.setStoreId(shopId);
payItem.setPayChannelType(PayChannelType.POINTS.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.POINTS.getName());
payItem.setPayAmount(new BigDecimal(integralPrice));
orderPayItemList.add(payItem);
}
if(cashPrice > 0){
OrderPayItemCreateReq payItem = new OrderPayItemCreateReq();
payItem.setPartnerId(partnerId);
payItem.setStoreId(shopId);
payItem.setPayChannelType(PayChannelType.WECHAT.getIndex().intValue());
payItem.setPayChannelName(PayChannelType.WECHAT.getName());
payItem.setPayAmount(new BigDecimal(integralPrice));
orderPayItemList.add(payItem);
}
request.setOrderPayItemCreateReqList(orderPayItemList);
}
return request; return request;
} }
......
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