Commit a3e37daf by zhiheng.zhang

华莱士升级

parent ca98850b
...@@ -64,11 +64,4 @@ public class DeliveryController { ...@@ -64,11 +64,4 @@ public class DeliveryController {
public BaseResponse queryDeliveryAmount(@Valid @LogParams @RequestBody WeixinDeliveryAddressDto request) { public BaseResponse queryDeliveryAmount(@Valid @LogParams @RequestBody WeixinDeliveryAddressDto request) {
return deliveryService.queryDeliveryAmount(request); return deliveryService.queryDeliveryAmount(request);
} }
@ApiAnnotation(logMessage = "获取微商城快递配送费")
@ApiOperation(value = "queryMallOrderDeliveryAmount", notes = "获取微商城快递配送费", produces = "application/json")
@PostMapping("/delivery/queryMallOrderDeliveryAmount")
public BaseResponse queryMallOrderDeliveryAmount(@Valid @LogParams @RequestBody WeixinDeliveryAddressDto request) {
return deliveryService.queryMallOrderDeliveryAmount(request);
}
} }
...@@ -31,9 +31,4 @@ public interface ThirdDeliveryService { ...@@ -31,9 +31,4 @@ public interface ThirdDeliveryService {
*/ */
BaseResponse<DeliveryAmountVo> queryDeliveryAmount(WeixinDeliveryAddressDto request); BaseResponse<DeliveryAmountVo> queryDeliveryAmount(WeixinDeliveryAddressDto request);
/**
* 获取微商城快递配送费
*/
BaseResponse<DeliveryAmountVo> queryMallOrderDeliveryAmount(WeixinDeliveryAddressDto request);
} }
...@@ -538,14 +538,15 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -538,14 +538,15 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
* 通知生态发送调用消息 * 通知生态发送调用消息
*/ */
public void sendException(String orderId,String unusualReason,String unusualTime,String desc) { public void sendException(String orderId,String unusualReason,String unusualTime,String desc) {
try{ try {
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest(); BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(orderId); baseQueryOrderRequest.setOrderId(orderId);
baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo()); baseQueryOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
QueryOrderByIdResponse response = orderCenterSdkService.queryOrderById(baseQueryOrderRequest); QueryOrderByIdResponse response = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData(); QueryOrdersResponse.DataBean.OrderBean orderBean = response.getData();
SubscribeMessageRequest request = new SubscribeMessageRequest(); SubscribeMessageRequest request = new SubscribeMessageRequest();
OrderExtInfoDto extInfoDto = JSONObject.parseObject(orderBean.getExtInfo(), new TypeReference<OrderExtInfoDto>() {}); OrderExtInfoDto extInfoDto = JSONObject.parseObject(orderBean.getExtInfo(), new TypeReference<OrderExtInfoDto>() {
});
request.setMiniAppId(extInfoDto.getAppid()); request.setMiniAppId(extInfoDto.getAppid());
SendMessageRequest sendMessageRequest = new SendMessageRequest(); SendMessageRequest sendMessageRequest = new SendMessageRequest();
sendMessageRequest.setMessageType("UNUSUAL_ORDER"); sendMessageRequest.setMessageType("UNUSUAL_ORDER");
...@@ -557,35 +558,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService { ...@@ -557,35 +558,10 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
sendMessageRequest.setOrderStatus(desc); sendMessageRequest.setOrderStatus(desc);
sendMessageRequest.setUtcTime(unusualTime); sendMessageRequest.setUtcTime(unusualTime);
SendMessageResponse sendMessageResponse = ecologyAdminApplicationClient.sendTemplateMessage(sendMessageRequest); SendMessageResponse sendMessageResponse = ecologyAdminApplicationClient.sendTemplateMessage(sendMessageRequest);
log.info("调用生态返回参数,订单编号:{},返回信息:{}",orderId,JSONObject.toJSONString(sendMessageResponse)); log.info("调用生态返回参数,订单编号:{},返回信息:{}", orderId, JSONObject.toJSONString(sendMessageResponse));
}catch (Exception e){ } catch (Exception e) {
log.error("调用生态返回参数失败,订单编号:{},失败原因:{}",orderId,e.getMessage()); log.error("调用生态返回参数失败,订单编号:{},失败原因:{}", orderId, e.getMessage());
}
}
/**
* 获取微商城快递费
* @param request
* @return
*/
@Override
public BaseResponse<DeliveryAmountVo> queryMallOrderDeliveryAmount(WeixinDeliveryAddressDto request) {
QueryDeliveryAmountRequestDto requestDto = new QueryDeliveryAmountRequestDto();
requestDto.setPartnerId(request.getPartnerId());
requestDto.setProvince(request.getProvinceName());
QueryDeliveryAmountResponseDto responseDto = deliveryFeiginClient.queryDeliveryAmount(requestDto);
if(responseDto == null || SUCCESS_RESPONSE_CODE != responseDto.getCode() || CollectionUtils.isEmpty(responseDto.getData())) {
return ResponseUtil.error(ResponseResult.DELIVERY_INFO_NOT_DELIVERY);
} }
DeliveryAmountVo deliveryAmountVo = new DeliveryAmountVo();
QueryDeliveryAmountResponseDto.QueryDeliveryAmountResult amountResult = responseDto.getData().get(0);
deliveryAmountVo.setId(amountResult.getId());
deliveryAmountVo.setPartnerId(amountResult.getPartnerId());
deliveryAmountVo.setProvinceName(amountResult.getSendProvince());
deliveryAmountVo.setDeliveryAmount(amountResult.getDeliveryAmount().intValue());
return ResponseUtil.success(deliveryAmountVo);
} }
} }
...@@ -31,7 +31,4 @@ public interface DeliveryFeiginClient { ...@@ -31,7 +31,4 @@ public interface DeliveryFeiginClient {
@PostMapping("/delivery/getThirdDeliveryFlag") @PostMapping("/delivery/getThirdDeliveryFlag")
DeliveryBaseResponse<GetDeliveryFlagResponseDto> getThirdDeliveryFlag(@RequestBody GetDeliveryFlagRequest getDeliveryFlagRequest); DeliveryBaseResponse<GetDeliveryFlagResponseDto> getThirdDeliveryFlag(@RequestBody GetDeliveryFlagRequest getDeliveryFlagRequest);
@PostMapping("/delivery/queryDeliveryTemplate")
QueryDeliveryTemplateResponseDto queryDeliveryTemplate(@RequestBody QueryDeliveryAmountRequestDto request);
} }
package cn.freemud.entities.vo;
import lombok.Data;
import java.util.List;
/**
* 查询省份对应配送费价格响应对象
* @version V1.0
* @author: zhiheng.zhang
* @date:
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* All rights Reserved, Designed By www.freemud.cn
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/
@Data
public class QueryDeliveryTemplateRequestVo {
private String partnerId;
private String province;
public QueryDeliveryTemplateRequestVo(String partnerId,String province){
this.partnerId = partnerId;
this.province = province;
}
}
package cn.freemud.entities.dto.delivery; package cn.freemud.entities.vo;
import lombok.Data; import lombok.Data;
...@@ -15,7 +15,7 @@ import java.util.List; ...@@ -15,7 +15,7 @@ import java.util.List;
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的 * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目的
*/ */
@Data @Data
public class QueryDeliveryTemplateResponseDto { public class QueryDeliveryTemplateResponseVo {
private Integer code; private Integer code;
...@@ -26,31 +26,44 @@ public class QueryDeliveryTemplateResponseDto { ...@@ -26,31 +26,44 @@ public class QueryDeliveryTemplateResponseDto {
@Data @Data
public static class DispatchCost { public static class DispatchCost {
private Long addCost; /**
* 增加的运费
*/
private Integer addCost;
/**
* 首个配送件数 对应的运费金额
*/
private Integer firstCost;
/** /**
* 商户ID * 首个配送件数
*/ */
private Long firstCost; private Integer firstStandard;
/** /**
* 配送费 单位:分 * 最小包邮金额
*/ */
private firstStandard deliveryAmount; private Integer hasAmountForDeliveryFree;
/** /**
* 收件人省份编码 * 0: 无最小金额包邮配置 1:存在最金额配置
*/ */
private String provinceCode; private Integer hasMinAmount;
/** /**
* 收件人省份 * 0: 无最小件数包邮配置 1:存在最小件数配置
*/ */
private String sendProvince; private Integer hasMinCount;
/** /**
* 状态 1启用 2禁用 * 最小包邮件数
*/ */
private Integer status; private Integer minCountForDeliveryFree;
} }
/**
* 是否包邮 -> true:是; false:否
*/
private boolean isDispatchFree;
} }
...@@ -105,7 +105,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -105,7 +105,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/ */
private String receiveId; private String receiveId;
/** /**
* 会员卡信息 * 会员卡信息x
*/ */
private BuyMemberCard buyMemberCard; private BuyMemberCard buyMemberCard;
...@@ -218,4 +218,9 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo { ...@@ -218,4 +218,9 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
*/ */
private int buyType = 0; private int buyType = 0;
/**
* 使用户省份
*/
private String province;
} }
...@@ -101,6 +101,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -101,6 +101,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
private ActivityAdapter activityAdapter; private ActivityAdapter activityAdapter;
@Autowired @Autowired
private CouponAdapter couponAdapter; private CouponAdapter couponAdapter;
@Autowired
private DeliveryFeiginClient deliveryFeiginClient;
/** /**
* 从微信卡券向购物车中添加商品 * 从微信卡券向购物车中添加商品
*/ */
...@@ -353,7 +355,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -353,7 +355,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes()); buildCoupons(coupons,shoppingCartInfoRequestVo.getCouponCodes());
Long deliveryAmount = calculateDeliveryAmount(partnerId, userLoginInfoDto.getWxAppid()); Long deliveryAmount = calculateDeliveryAmount(partnerId, shoppingCartInfoRequestVo,cartGoodsList);
ActivityQueryDto activityQueryDto = activityAdapter.getActivityQueryDto(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType()); ActivityQueryDto activityQueryDto = activityAdapter.getActivityQueryDto(partnerId, storeId, userId, appId, shoppingCartInfoRequestVo.getOrderType());
...@@ -881,36 +883,29 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -881,36 +883,29 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
return oldCoupons; return oldCoupons;
} }
public Long calculateDeliveryAmount(String partnerId) { public Long calculateDeliveryAmount(String partnerId,ShoppingCartInfoRequestVo shoppingCartInfoRequestVo,List<CartGoods> cartGoodsList) {
Long deliveryAmount = 0L; Long deliveryAmount = 0L;
// 如果订单的收获地址为空,且订单是外卖单,返回运费 //区code 为空则运费为0
// 主要是为了兼容coco不传收获地址,需要获取固定运费的情况 if (StringUtils.isBlank(shoppingCartInfoRequestVo.getProvince())) {
if (StringUtils.isBlank(receiveId) && !Objects.equals(orderType, CreateOrderType.TAKE_OUT.getCode())) {
return deliveryAmount; return deliveryAmount;
} }
log.info("获取配送配逻辑 tackingNo:{},storeDeliveryUseOld:{},receiveId:{},partnerId:{},storeId:{}", LogThreadLocal.getTrackingNo(), storeDeliveryUseOld, receiveId, partnerId, storeId); log.info("获取配送配逻辑 tackingNo:{},partnerId:{},province", LogThreadLocal.getTrackingNo(), shoppingCartInfoRequestVo.getPartnerId(),shoppingCartInfoRequestVo.getProvince());
if (storeDeliveryUseOld) { return getDeliveryAmount(shoppingCartInfoRequestVo.getPartnerId(),shoppingCartInfoRequestVo.getProvince(),cartGoodsList);
deliveryAmount = Long.parseLong(getDeliveryAmount(receiveId, partnerId, storeId).toString());
shoppingCartGoodsResponseVo.setDeliveryFeeZeroReason(0);
} else {
deliveryAmount = getNewDeliveryAmount(receiveId, partnerId, storeId, shoppingCartGoodsResponseVo,orderType);
}
return deliveryAmount;
} }
/** /**
* 储值卡支付查询配送费 * 查询配送费
* *
* @return * @return
*/ */
private Integer getDeliveryAmount(String receiveId, String partnerId, String storeId) { private Integer getDeliveryAmount( String partnerId, String province) {
String trackingNo = LogThreadLocal.getTrackingNo(); String trackingNo = LogThreadLocal.getTrackingNo();
Integer amount = 0; Integer amount = 0;
if (StringUtils.isBlank(receiveId)) { QueryDeliveryTemplateRequestVo requestVo = new QueryDeliveryTemplateRequestVo(partnerId, province);
return amount; QueryDeliveryTemplateResponseVo responseVo = deliveryFeiginClient.queryDeliveryTemplate(requestVo);
}
QueryReceiveAddressRequest queryReceive = new QueryReceiveAddressRequest(receiveId, partnerId);
//查询会员后货地址经纬度 //查询会员后货地址经纬度
com.freemud.application.sdk.api.base.BaseResponse<QueryReceiveAddressResponse> queryReceiveAddressResponse = memberCenterService.queryReceiveAddressById(queryReceive, trackingNo); com.freemud.application.sdk.api.base.BaseResponse<QueryReceiveAddressResponse> queryReceiveAddressResponse = memberCenterService.queryReceiveAddressById(queryReceive, trackingNo);
if (!ResponseResult.SUCCESS.getCode().equals(queryReceiveAddressResponse.getCode()) || queryReceiveAddressResponse.getData() == null) { if (!ResponseResult.SUCCESS.getCode().equals(queryReceiveAddressResponse.getCode()) || queryReceiveAddressResponse.getData() == null) {
......
package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.QueryDeliveryTemplateRequestVo;
import cn.freemud.entities.vo.QueryDeliveryTemplateResponseVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "DELIVERYCENTER", url = "${delivery.center.baseUrl}")
public interface DeliveryFeiginClient {
@PostMapping("/delivery/queryDeliveryTemplate")
QueryDeliveryTemplateResponseVo queryDeliveryTemplate(@RequestBody QueryDeliveryTemplateRequestVo queryDeliveryTemplateRequestVo);
}
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