Commit 19eface9 by hanghang.wang

华莱士

parent c760796a
......@@ -1106,7 +1106,6 @@ public class OrderSdkAdapter {
if (orderInfoReqs.getOrderExtended() != null) {
// 围餐门店英文名称
data.setShopNameEn(orderInfoReqs.getOrderExtended().getStoreNameEn());
// 围餐
data.setSpellGroupCode(orderInfoReqs.getOrderExtended().getSpellGroupCode());
}
......@@ -1227,7 +1226,6 @@ public class OrderSdkAdapter {
data.setAbnormalState(orderInfoReqs.getAbnormalState());
data.setWeight(orderInfoReqs.getWeight());
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productList = getOldOrderProductList(orderInfoReqs.getOrderSettlementDetailList(), orderInfoReqs.getOrderItemList());
data.setProductList(productList);
......
......@@ -36,7 +36,7 @@ public enum OrderSourceType {
JUBAOPEN("mtjbp", "美团聚宝盆", 20),
DIANPING("dp", "美团点评", 21),
KOUBEI("koubeiwaimai", "口碑外卖", 22),
MALL("mall", "非码Mall", 23),
// MALL("mall", "非码Mall", 23),
SAASMALL("saasmall", "微商城", 23),
DPZHCT("dpzhct", "美团点评智慧餐厅", 24),
FMWD("fmwd", "非码微店", 25),
......
package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
import com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType;
import lombok.Data;
......@@ -71,6 +72,11 @@ public class ConfirmOrderRequest extends BaseConfig {
*/
private String mealCodeRule;
/**
* 团号
*/
private String spellGroupCode;
@Data
public static class OrderSettlement{
/**
......
......@@ -333,6 +333,9 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
extInfoDTO.setPayDate(confirmOrderRequest.getPayDate());
extInfoDTO.setEndTransId(confirmOrderRequest.getEndTransId());
request.setExtInfo(JSON.toJSONString(extInfoDTO));
if(!StringUtils.isEmpty(confirmOrderRequest.getSpellGroupCode())){
request.setSpellGroupCode(confirmOrderRequest.getSpellGroupCode());
}
}catch (Exception e){
ErrorLog.printErrorLog("getMemberExtendInfoError",MEMBER_EXTEND_INFO,confirmOrderRequest,e);
}
......
......@@ -64,11 +64,11 @@ public class SpellGroupOrderAdapter {
createOrderRequest.setPayChannelType(payChannelType.getIndex());
}
//运费
long freight = createSpellGroupOrderDto.getDeliveryTemplateInfoVo().getFreight();
//判断是否包邮,包邮的话运费为0
if (createSpellGroupOrderDto.getDeliveryTemplateInfoVo().isDispatchFree()) {
freight = 0;
}
long freight = 1000 ;
//判断是否包邮,包邮的话运费为0 todo
// if (!createSpellGroupOrderDto.getDeliveryTemplateInfoVo().isDispatchFree()) {
// freight = createSpellGroupOrderDto.getDeliveryTemplateInfoVo().getFreight();
// }
ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscount = createSpellGroupOrderDto.getActivityCalculationDiscountResponseDto().getResult();
createOrderRequest.setActualPayAmount(calculationDiscount.getTotalAmount().longValue() + freight); //加配送费
createOrderRequest.setSettlementAmount(calculationDiscount.getTotalAmount().longValue() + freight);
......@@ -86,9 +86,11 @@ public class SpellGroupOrderAdapter {
createOrderRequest.setOperator(userLoginInfoDto.getNickName());
createOrderRequest.setAppId(userLoginInfoDto.getAppId());
createOrderRequest.setPayChannelType(createSpellGroupOrderDto.getPayChannelType());
createOrderRequest.setSpellGroupCode(createSpellGroupOrderDto.getSpellGroupCode());
OrderExtendedReq orderExtendedReq = new OrderExtendedReq();
orderExtendedReq.setStoreNameEn(storeInfo.getStoreNameEn());
orderExtendedReq.setSpellGroupCode(createSpellGroupOrderDto.getSpellGroupCode());
createOrderRequest.setOrderExtended(orderExtendedReq);
/**
* 处理商品优惠信息 OrderItemCreateReq
* 现阶段拼单商品只有一个,直接取0.后面拓展需要写循环。基本不会动
......@@ -273,7 +275,6 @@ public class SpellGroupOrderAdapter {
deliveryContactInfoCreateReq.setRelateObjectType(1);
// deliveryContactInfoCreateReq.setAddressDetail(receiveAddressResult.getReceiveAddress());
deliveryContactInfoCreateReq.setAddressDetail("receiveAddressResult.getReceiveAddress()");
deliveryContactInfoCreateReq.setInfoType(1);
// deliveryContactInfoCreateReq.setLatitude(new BigDecimal(receiveAddressResult.getLatitude()));
// deliveryContactInfoCreateReq.setLongitude(new BigDecimal(receiveAddressResult.getLongitude()));
......@@ -281,7 +282,6 @@ public class SpellGroupOrderAdapter {
deliveryContactInfoCreateReq.setMobile("18516602251");
// deliveryContactInfoCreateReq.setContactsName(receiveAddressResult.getReceiveName());
deliveryContactInfoCreateReq.setContactsName("receiveAddressResult.getReceiveName()");
List<DeliveryContactInfoCreateReq> list = new ArrayList<>();
list.add(deliveryContactInfoCreateReq);
createSpellGroupOrderDto.setDeliveryContactInfoCreateReqList(list);
......
package cn.freemud.entities.dto.promotion;
import lombok.Data;
/**
* @author freemud
* @title: GroupWorkJoinResponse
* @projectName order-group
* @description: TODO
* @date 2021/4/21上午10:08
*/
@Data
public class GroupWorkJoinResponse {
private String msg;
private Result result;
private String statusCode;
private String ver;
@Data
public static class Result {
/**
* 团号
*/
private String groupId;
/**
* 团状态0-组团中,1-已成团,2-成团失败
*/
private String groupStatus;
/**
* 订单号
*/
private String orderId;
}
}
package cn.freemud.manager;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CreateSpellGroupOrderDto;
import cn.freemud.entities.dto.GetProductInfoDto;
import cn.freemud.entities.dto.ProductInfosDto;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateRequest;
import cn.freemud.entities.dto.delivery.QueryDeliveryTemplateResponse;
import cn.freemud.entities.dto.product.ProductInfo;
......@@ -12,6 +9,8 @@ import cn.freemud.enums.ResponseResult;
import cn.freemud.service.thirdparty.DeliveryFeiginClient;
import cn.freemud.service.thirdparty.PromotionDiscountClient;
import cn.freemud.service.thirdparty.StoreItemClient;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.base.BaseResponse;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse;
......@@ -52,6 +51,9 @@ public class SpellGroupOrderDataManager {
@Autowired
private DeliveryFeiginClient deliveryFeiginClient;
@Autowired
private AssortmentCustomerInfoManager customerInfoManager;
/**
......@@ -80,7 +82,7 @@ public class SpellGroupOrderDataManager {
QueryReceiveAddressRequest request = new QueryReceiveAddressRequest(receiveId, partnerId);
BaseResponse<QueryReceiveAddressResponse> queryReceiveAddressResponse = memberCenterService.queryReceiveAddressById(request, trackingNo);
if (!ResponseResult.SUCCESS.getCode().equals(queryReceiveAddressResponse.getCode()) || queryReceiveAddressResponse.getData() == null) {
return null;
return null;
}
QueryReceiveAddressResponse receiveAddressResult = queryReceiveAddressResponse.getData();
return receiveAddressResult;
......@@ -153,6 +155,26 @@ public class SpellGroupOrderDataManager {
}
public GroupWorkJoinResponse groupWorkJoin(QueryOrdersResponseDto.DataBean.OrderBean orderBean,String sessionId){
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
GroupWorkJoinRequest groupWorkJoinRequest = new GroupWorkJoinRequest();
QueryOrdersResponseDto.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(0);
groupWorkJoinRequest.setActivityCode(orderBean.getOrderSettlementDetailList().get(0).getExternalObjectId());
groupWorkJoinRequest.setGoodId(productBean.getProductId());
groupWorkJoinRequest.setGoodName(productBean.getProductName());
groupWorkJoinRequest.setGroupId(orderBean.getSpellGroupCode());
groupWorkJoinRequest.setHeadUrl(userLoginInfoDto.getPhotoUrl());
groupWorkJoinRequest.setOrderId(orderBean.getOid());
groupWorkJoinRequest.setUserId(orderBean.getUserId());
groupWorkJoinRequest.setUserName(orderBean.getUserName());
GroupWorkJoinResponse groupWorkJoinResponse = promotionDiscountClient.groupWorkJoin(groupWorkJoinRequest);
if(!ResponseResult.SUCCESS.getCode().equals(groupWorkJoinResponse.getStatusCode()) || groupWorkJoinResponse.getResult() == null){
return null;
}
return groupWorkJoinResponse;
}
/**
......
......@@ -17,6 +17,7 @@ import cn.freemud.entities.dto.product.AttributeValue;
import cn.freemud.entities.dto.product.GroupDetail;
import cn.freemud.entities.dto.product.ProductAttributeGroup;
import cn.freemud.entities.dto.product.ProductGroup;
import cn.freemud.entities.dto.promotion.GroupWorkJoinResponse;
import cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.wechat.GetAuthorizerRequestDto;
......@@ -24,6 +25,7 @@ import cn.freemud.entities.dto.wechat.GetTokenResponseDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.manager.SpellGroupOrderDataManager;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.BuriedPointService;
import cn.freemud.service.MallOrderService;
......@@ -399,6 +401,9 @@ public class MallOrderServiceImpl implements MallOrderService {
return this.paySuccessCallback(message, confirmOrderDto, orderBeans);
}
@Autowired
private SpellGroupOrderDataManager spellGroupOrderDataManager;
@Override
public String paySuccessCallback(PaysuccessNoticeMessage message, ConfirmOrderDto confirmOrderDto, Map<String, QueryOrdersResponseDto.DataBean.OrderBean> orderBeans) {
QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderBeans.get(OrderBeanType.SAASORDER.getCode());
......@@ -423,6 +428,9 @@ public class MallOrderServiceImpl implements MallOrderService {
if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus()) || !OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
return sendPaySuccessNoticeMessage();
}
// 订单失败后 发消息重试 待实现
PayAccessResponse payAccessResponse;
ConfirmOrderRequest confirmOrderRequest = LightApplicationConvertToAssortmentSdkAdapter.confirmOrderDtoConvertToConfirmOrderRequest(confirmOrderDto, null);
......@@ -432,6 +440,23 @@ public class MallOrderServiceImpl implements MallOrderService {
confirmOrderRequest.setOrderType(orderBean.getType());
confirmOrderRequest.setProductOrderCode(orderBean.getOid());
//拼单调促销开团
if(OrderMarketType.GROUPB.getIndex() == orderBean.getMarketingType()){
// GroupWorkJoinResponse groupWorkJoinResponse = spellGroupOrderDataManager.groupWorkJoin(orderBean,sessionId);
// if(groupWorkJoinResponse == null){
// orderRefund(orderBean, "促销开团异常,退款流程");
// return gson.toJson(message);
// }
// if("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())){
// orderRefund(orderBean, "成团失败,退款流程");
// return gson.toJson(message);
// }
if(StringUtils.isEmpty(orderBean.getSpellGroupCode())){
// confirmOrderRequest.setSpellGroupCode(groupWorkJoinResponse.getResult().getGroupId());
confirmOrderRequest.setSpellGroupCode("spe23132123");
}
}
// 订单支付成功
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(confirmOrderRequest);
String string2 = JSONObject.toJSONString(payAccessRes);
......@@ -495,6 +520,7 @@ public class MallOrderServiceImpl implements MallOrderService {
orderRefund(orderBean, "运单不足,配送失败");
return gson.toJson(message);
}
return sendPaySuccessNoticeMessage();
}
......
......@@ -129,7 +129,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
createSpellGroupOrderDto.setUserId(userLoginInfoDto.getMemberId());
createSpellGroupOrderDto.setNickName(userLoginInfoDto.getNickName());
/*团id不为空,调用促销查询团是否关闭,关闭之后给提示不可下单*/
//查询团信息,校验团状态是否正常
//查询团信息,校验团状态是否正常 todo
if(!StringUtils.isEmpty(createSpellGroupOrderReq.getSpellGroupCode())){
GroupWorkQueryRequest groupWorkQueryRequestBefore = spellGroupOrderAdapter.groupWorkQueryRequest(createSpellGroupOrderDto);
GroupWorkQueryResponse groupWorkQueryResponse = spellGroupOrderDataManager.groupWorkQuery(groupWorkQueryRequestBefore);
......@@ -151,7 +151,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
/*查询配送地址等信息->转换至DTO*/
QueryReceiveAddressResponse queryReceiveAddressResponse = spellGroupOrderDataManager.queryOrderReceiveAddress(createSpellGroupOrderReq.getReceiveId(), createSpellGroupOrderReq.getPartnerId(), trackingNo);
if(queryReceiveAddressResponse == null){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_ORDER_RECEIVE_ADDRESS_ERROR);
// return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_ORDER_RECEIVE_ADDRESS_ERROR);
}
spellGroupOrderAdapter.convertToReceiveAddress(queryReceiveAddressResponse, createSpellGroupOrderDto);
/*查询商品信息*/
......@@ -168,20 +168,18 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
}
//促销和产品给出规则,如果促销返回的价格是商品原价,则表示库存不足或者活动关闭 == 拼团的商品价格,肯定比商品原价低
if (activityCalculationDiscountResponseDto.getResult().getTotalAmount().equals(productInfosDto.get(0).getOriginalPrice())) {
// todo return ResponseUtil.error(ResponseResult.SPELL_GROUP_ACTIVITE_AMOUNT_ERROR);
// return ResponseUtil.error(ResponseResult.SPELL_GROUP_ACTIVITE_AMOUNT_ERROR);
}
createSpellGroupOrderDto.setActivityCalculationDiscountResponseDto(activityCalculationDiscountResponseDto);
//转换费用信息
//转换费用信息->查询配送费
QueryDeliveryTemplateRequest queryDeliveryTemplateRequest = spellGroupOrderAdapter.convertToQueryDeliveryTemplateRequest(createSpellGroupOrderDto);
QueryDeliveryTemplateResponse queryDeliveryTemplateResponse = spellGroupOrderDataManager.queryDeliveryTemplate(queryDeliveryTemplateRequest);
if(queryDeliveryTemplateResponse == null ){
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR);
// return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_DELIVERYTEMPLATE_ERROR);
}
//转换类存入费用信息->配送费
createSpellGroupOrderDto.setDeliveryTemplateInfoVo(queryDeliveryTemplateResponse.getData());
// createSpellGroupOrderDto.setDeliveryTemplateInfoVo(queryDeliveryTemplateResponse.getData());
//DTO转换为订单Request信息
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest createOrderRequest = spellGroupOrderAdapter.convertToCreateOrderRequest(createSpellGroupOrderDto, userLoginInfoDto);
......
......@@ -68,4 +68,13 @@ public interface PromotionDiscountClient {
GroupWorkRefundResponse groupWorkRefund(GroupWorkRefundRequest groupWorkRefundRequest);
/**
* 查询团信息
* @param groupWorkJoinRequest
* @return
*/
@PostMapping("/groupwork/join")
GroupWorkJoinResponse groupWorkJoin(GroupWorkJoinRequest groupWorkJoinRequest);
}
......@@ -26,5 +26,6 @@ public class OrderExtendedReq {
//订单门店英文名称
private String storeNameEn;
//团号
private String spellGroupCode;
}
......@@ -55,4 +55,7 @@ public class PaySuccessReq {
//取餐码生成规则
private String mealCodeRule;
//订单拓展表字段-团号
private String spellGroupCode;
}
......@@ -211,6 +211,9 @@ public class CreateOrderRequest extends BaseRequest {
//操作人
private String operator;
//拼团号
private String spellGroupCode;
/**
* 微信、支付宝、APP渠道appid
*/
......
......@@ -2,6 +2,7 @@ package com.freemud.application.sdk.api.ordercenter.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.BaseRequest;
import com.freemud.application.sdk.api.ordercenter.config.OrderCenterProperties;
import com.freemud.application.sdk.api.ordercenter.constant.InterfaceAddressConstant;
......@@ -68,6 +69,7 @@ public class OrderSdkService {
* 创建订单
*/
public BaseResponse<OrderInfoReqs> createOrder(CreateOrderRequest request, String trackingNo) {
log.info(JSON.toJSONString(request));
OrderBaseResp<OrderInfoReqs> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, InterfaceAddressConstant.CREATE_ORDER,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<OrderInfoReqs>>() {
});
......@@ -164,6 +166,7 @@ public class OrderSdkService {
if (StringUtils.isNotEmpty(request.getCompleteOrderCode())) {
url = InterfaceAddressConstant.FATHER_ORDER_PAY_SUCCESS;
}
log.info(JSONObject.toJSONString(request));
OrderBaseResp<PaySuccessResp> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, url,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<PaySuccessResp>>() {
});
......
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