Commit 3db8db0d by zhiheng.zhang

Merge branch 'feature/20210414-华莱士需求-张志恒'

parents 622411a9 c6e35a53
......@@ -249,7 +249,7 @@ public class OrderSdkAdapter {
deliveryContactInfoCreateReq.setRelateObjectType(1);
//联系方式类型 1:取件 2:收件
deliveryContactInfoCreateReq.setInfoType(1);
deliveryContactInfoCreateReq.setContactsName(requestVO.getUserName());
deliveryContactInfoCreateReq.setContactsName(requestVO.getContactsName());
deliveryContactInfoCreateReq.setMobile(requestVO.getPhone());
deliveryContactInfoCreateReq.setLatitude(StringUtils.isBlank(requestVO.getLatitude()) ? null : new BigDecimal(requestVO.getLatitude()));
deliveryContactInfoCreateReq.setLongitude(StringUtils.isBlank(requestVO.getLongitude()) ? null : new BigDecimal(requestVO.getLongitude()));
......
......@@ -42,6 +42,10 @@ public class BaseCreateOrderRequest extends BaseConfig {
*/
private String userName;
/**
* 收货名姓名
*/
private String contactsName;
/**
* 三方单号
*/
private String thirdOrderCode;
......
......@@ -363,6 +363,11 @@ public interface OrderCenterSdkService {
BaseOrderResponse mallOrderRefundComplete(BaseQueryOrderRequest baseQueryOrderRequest);
/**
* 商城订单同意并退款完成 POS
*/
BaseOrderResponse adultApproveWithRefundComplete(BaseQueryOrderRequest baseQueryOrderRequest);
/**
* 商城订单同意并退货完成 POS
*/
BaseOrderResponse mallOrderRefundReturn(BaseQueryOrderRequest baseQueryOrderRequest);
......
......@@ -2055,6 +2055,21 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
@Override
public BaseOrderResponse adultApproveWithRefundComplete(BaseQueryOrderRequest baseQueryOrderRequest) {
AfterSalesOperateReq request = new AfterSalesOperateReq();
request.setOrderCode(baseQueryOrderRequest.getOrderId());
request.setPartnerId(baseQueryOrderRequest.getPartnerId());
request.setOrderClient(OrderClientType.SAASMALL.getIndex());
request.setAfterSalesCode(baseQueryOrderRequest.getAfterSalesCode());
request.setAfterSerialNo(baseQueryOrderRequest.getRefundSerialNo());
request.setAdultRemark(baseQueryOrderRequest.getReason());
request.setOperator(baseQueryOrderRequest.getOperator());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.adultApproveWithRefundComplete(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
@Override
public BaseOrderResponse mallOrderRefundReturn(BaseQueryOrderRequest baseQueryOrderRequest) {
AfterSalesExpressOperateReq request = new AfterSalesExpressOperateReq();
request.setOrderCode(baseQueryOrderRequest.getOrderId());
......
......@@ -675,7 +675,7 @@ public class OrderAdapter {
orderType = OrderType.MALL.getCode();
receiveAddress = (userDeliveryInfoDto != null ? userDeliveryInfoDto.getReceiveProvince()+userDeliveryInfoDto.getReceiveCity()+userDeliveryInfoDto.getReceiveRegion()+ userDeliveryInfoDto.getReceiveAddress() : "");
createOrderVo.setMobile(userDeliveryInfoDto.getReceiveMobile());
createOrderVo.setUserName(userDeliveryInfoDto.getReceiveUserName());
createOrderVo.setContactsName(userDeliveryInfoDto.getReceiveUserName());
} else {
throw new ServiceException(ResponseResult.PARAMETER_MISSING, "非法的订单类型");
}
......@@ -1482,11 +1482,16 @@ public class OrderAdapter {
//拼团信息
responseVo.setSpellGroupCode(ordersBean.getSpellGroupCode());
if(null != ordersBean.getAfterSalesOrderResp() && StringUtils.isNotEmpty(ordersBean.getAfterSalesOrderResp().getExtInfo())){
AfterOrderExtInfoDto afterOrderExtInfoDto = JSONObject.parseObject(ordersBean.getAfterSalesOrderResp().getExtInfo(),AfterOrderExtInfoDto.class);
if(null !=afterOrderExtInfoDto) {
responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode());
if(null != ordersBean.getAfterSalesOrderResp()){
if(StringUtils.isNotEmpty(ordersBean.getAfterSalesOrderResp().getExtInfo())) {
AfterOrderExtInfoDto afterOrderExtInfoDto = JSONObject.parseObject(ordersBean.getAfterSalesOrderResp().getExtInfo(), AfterOrderExtInfoDto.class);
if (null != afterOrderExtInfoDto) {
responseVo.setRefundMode(afterOrderExtInfoDto.getRefundMode());
}
}
// responseVo.setRefundButtonDisable(AfterSalesStatus.CANCEL.getIndex() == ordersBean.getAfterSalesOrderResp().getAfterSalesStatus() ? false : true);
//有售后单不显示按钮
responseVo.setRefundButtonDisable(false);
}
responseVo.setExpressChannelCode(ordersBean.getExpressChannelCode());
responseVo.setExpressChannelName(ordersBean.getExpressChannelName());
......
......@@ -447,4 +447,9 @@ public class CreateOrderVo {
* 使用户省份code 100010 这是微信选择地址传过来的,用户查询配送费用的, 并不是北京市这种给是
*/
private String province;
/**
* 收货名姓名
*/
private String contactsName;
}
......@@ -630,5 +630,10 @@ public class QueryOrderResponseVo {
*/
private Byte refundMode;
/**
* 是否展示申请退款按钮
*/
private boolean refundButtonDisable;
}
......@@ -117,8 +117,6 @@ public class MallOrderServiceImpl implements MallOrderService {
@Autowired
private OrderAdapter orderAdapter;
@Autowired
private OrderAdapter mallOrderAdapter;
@Autowired
private ItemServiceImpl itemService;
@Autowired
private ShoppingCartClient shoppingCartClient;
......@@ -271,7 +269,7 @@ public class MallOrderServiceImpl implements MallOrderService {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
//创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = mallOrderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto);
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto);
//查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息
......@@ -284,6 +282,7 @@ public class MallOrderServiceImpl implements MallOrderService {
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
createOrderRequest.setMqMessageRequest(mqMessageRequest);
createOrderRequest.getBaseCreateOrderRequest().setUserName(userLoginInfoDto.getNickName());
createOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
return orderCenterSdkService.createOrderFlow(createOrderRequest);
});
......
......@@ -9,6 +9,7 @@ import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCodeReq;
import com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
......@@ -58,9 +59,12 @@ public class MallOrderHandle {
public BaseResponse refundAgree(OrderManagerRequest request, PayRefundResponse refundResponse, QueryOrdersResponse.DataBean.OrderBean orderBean) {
BaseQueryOrderRequest refundAgreeRequest = orderSdkAdapter.getRefundAgreeRequest(refundResponse.getRefundId(), request.getReason(), request.getOperator(), orderBean);
BaseOrderResponse baseOrderResponse = null;
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) {
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus()) && RefundModeEnum.REFUND_ALL.getIndex() == orderBean.getRefundList().get(0).getRefundMode()) {
baseOrderResponse = orderCenterSdkService.mallOrderRefundComplete(refundAgreeRequest);
} else {
}else if(PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus()) && RefundModeEnum.UN_REFUND_GOODS.getIndex() == orderBean.getRefundList().get(0).getRefundMode()){
baseOrderResponse = orderCenterSdkService.adultApproveWithRefundComplete(refundAgreeRequest);
}
else {
baseOrderResponse = orderCenterSdkService.mallOrderRefundReturn(refundAgreeRequest);
}
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
......
......@@ -15,12 +15,16 @@ import cn.freemud.management.service.OrderBaseService;
import cn.freemud.management.service.OrderManagerService;
import cn.freemud.management.service.handle.*;
import cn.freemud.management.util.ResponseUtil;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.constant.ResponseConstant;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesStatus;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto;
import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import com.freemud.sdk.api.assortment.order.enums.PayRefundStatus;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.netflix.discovery.converters.Auto;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -64,7 +68,16 @@ public class MallOrderMangerServiceImpl implements OrderManagerService {
public BaseResponse<OrderManagerResponse> orderAgreeRefund(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//取消配送单
// deliveryHandle.cancelDelivery(orderBean,request);
if(Objects.nonNull(orderBean.getAfterSalesOrderResp()) && Objects.equals(AfterSalesStatus.PENDING.getIndex(), orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
boolean flag = false;
Byte refundMode = RefundModeEnum.REFUND_ALL.getIndex();
if(null != orderBean.getAfterSalesOrderResp() && StringUtils.isNotEmpty(orderBean.getAfterSalesOrderResp().getExtInfo())){
AfterOrderExtInfoDto afterOrderExtInfoDto = JSONObject.parseObject(orderBean.getAfterSalesOrderResp().getExtInfo(),AfterOrderExtInfoDto.class);
if(null !=afterOrderExtInfoDto) {
refundMode = afterOrderExtInfoDto.getRefundMode();
}
}
if(Objects.equals(RefundModeEnum.REFUND_ALL.getIndex(),refundMode) && Objects.nonNull(orderBean.getAfterSalesOrderResp()) && Objects.equals(AfterSalesStatus.PENDING.getIndex(), orderBean.getAfterSalesOrderResp().getAfterSalesStatus())){
// 修改售后单状态为退货中
mallOrderHandle.mallOrderAgreeApply(request, orderBean);
}else {
......
......@@ -72,15 +72,15 @@ public class CalculationSharingCartService {
, Integer flag
, String userId
, String storeId) {
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}
/**
* 用促销价格初始化购物车行记录成交价
*/
calculationCommonService.initShoppingCart(discountResult, cartGoodsList, shoppingCartGoodsResponseVo, couponPromotionVO != null ? couponPromotionVO.getCouponCode() : null);
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}
/**
* 可用券及券折扣
*/
......
......@@ -77,8 +77,10 @@ public class CalculationSharingEquallyService {
, ShoppingCartGoodsDto shoppingCartGoodsDto
, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) {
calculationCommonService.initShoppingCart(discountResult, cartGoodsList, shoppingCartGoodsResponseVo, couponPromotionVO != null ? couponPromotionVO.getCouponCode() : null);
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}
/**
* 商品券\换购券
*/
......@@ -139,9 +141,7 @@ public class CalculationSharingEquallyService {
scoreSharingService.equally(shoppingCartGoodsResponseVo, shoppingCartGoodsDto);
calculationCommonService.getNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsDto);
if (BusinessTypeEnum.SAAS_MALL.getCode().equals(menuType) && null != shoppingCartInfoRequestVo && OrderChannelType.SAASMALL.getCode().equalsIgnoreCase(shoppingCartInfoRequestVo.getChannelType())) {
deliverySharingService.mallDeliveryResponse(shoppingCartGoodsResponseVo, deliveryAmount,discountResult);
}else if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
if(BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)){
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
}
......
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