Commit ac3bc32a by 周晓航

【订C,储值金支付方式,调支付扣款增加传入:“手机号,会员ID”字段】

https://www.tapd.cn/43862731/prong/stories/view/1143862731001051921
parent c3a9cdde
...@@ -61,15 +61,15 @@ public class CombPayRequest { ...@@ -61,15 +61,15 @@ public class CombPayRequest {
/** /**
* 商家POS机编号(可以使用固定值,扫码付必传) * 商家POS机编号(可以使用固定值,扫码付必传)
*/ */
private String station_id = "1";; private String station_id = "1";
private String appId; private String appId;
private String payCode; private String payCode;
private String payTimeOutTime; private String payTimeOutTime;
private String ebCode; private String ebCode;
private String cardCode; private String cardCode;
private Boolean disable_service_goods_tag = false; private Boolean disable_service_goods_tag = false;
private String request_source ="V1"; private String request_source = "V1";
private String ver ="10"; private String ver = "10";
private String storeName; private String storeName;
private Long merchantDiscount; private Long merchantDiscount;
...@@ -87,4 +87,19 @@ public class CombPayRequest { ...@@ -87,4 +87,19 @@ public class CombPayRequest {
* 支付类型编码 TWX:微信 TZFB:支付宝 * 支付类型编码 TWX:微信 TZFB:支付宝
*/ */
private String payTypeCode; private String payTypeCode;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
} }
...@@ -61,14 +61,15 @@ public class MultiPayRequest { ...@@ -61,14 +61,15 @@ public class MultiPayRequest {
/** /**
* 商家POS机编号(可以使用固定值,扫码付必传) * 商家POS机编号(可以使用固定值,扫码付必传)
*/ */
private String station_id = "1";; private String station_id = "1";
;
private String appId; private String appId;
private String payCode; private String payCode;
private String payTimeOutTime; private String payTimeOutTime;
private String ebCode; private String ebCode;
private Boolean disable_service_goods_tag = false; private Boolean disable_service_goods_tag = false;
private String request_source ="V1"; private String request_source = "V1";
private String ver ="10"; private String ver = "10";
private String storeName; private String storeName;
private Long merchantDiscount; private Long merchantDiscount;
...@@ -89,4 +90,20 @@ public class MultiPayRequest { ...@@ -89,4 +90,20 @@ public class MultiPayRequest {
* 支付类型编码 TWX:微信 TZFB:支付宝 * 支付类型编码 TWX:微信 TZFB:支付宝
*/ */
private String payTypeCode; private String payTypeCode;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
} }
...@@ -43,10 +43,7 @@ import cn.freemud.interceptor.ServiceException; ...@@ -43,10 +43,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request; import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto; import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.utils.AppLogUtil; import cn.freemud.utils.*;
import cn.freemud.utils.BarcodeUtil;
import cn.freemud.utils.QrCodeUtil;
import cn.freemud.utils.WebUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -244,7 +241,7 @@ public class OrderAdapter { ...@@ -244,7 +241,7 @@ public class OrderAdapter {
.build(); .build();
if (mcCafePartnerId.equals(createOrderDto.getCompanyId())) { if (mcCafePartnerId.equals(createOrderDto.getCompanyId())) {
//购买月享卡2.0并且不当单使用时,过滤掉无意义的0元优惠 //购买月享卡2.0并且不当单使用时,过滤掉无意义的0元优惠
if(activityDiscountsDto.getDiscountAmount() == 0 && ActivityTypeEnum.TYPE_38.getCode().equals(activityDiscountsDto.getActivityType()) if (activityDiscountsDto.getDiscountAmount() == 0 && ActivityTypeEnum.TYPE_38.getCode().equals(activityDiscountsDto.getActivityType())
&& activityDiscountsDto.getExtendType() == 12 //12=月享卡2.0 && activityDiscountsDto.getExtendType() == 12 //12=月享卡2.0
&& (shoppingCartGoodsDto.getMonthCardDiscount() == null || shoppingCartGoodsDto.getMonthCardDiscount().getDiscountAmount() == 0)) { && (shoppingCartGoodsDto.getMonthCardDiscount() == null || shoppingCartGoodsDto.getMonthCardDiscount().getDiscountAmount() == 0)) {
continue; continue;
...@@ -517,14 +514,14 @@ public class OrderAdapter { ...@@ -517,14 +514,14 @@ public class OrderAdapter {
// fisherman -> 爱马哥 orderType落库的类型处理 // fisherman -> 爱马哥 orderType落库的类型处理
if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())) { if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())) {
// orderType = OrderTypeV1.TAKE_OUT.getCode(); // orderType = OrderTypeV1.TAKE_OUT.getCode();
newOrderType = getNewOrderType(OrderTypeV1.TAKE_OUT,createOrderVo.getExpectTime(),createOrderVo.getBizType()); newOrderType = getNewOrderType(OrderTypeV1.TAKE_OUT, createOrderVo.getExpectTime(), createOrderVo.getBizType());
receiveAddress = (userDeliveryInfoDto != null ? userDeliveryInfoDto.getReceiveOfficeName() + "," + userDeliveryInfoDto.getReceiveAddress() : ""); receiveAddress = (userDeliveryInfoDto != null ? userDeliveryInfoDto.getReceiveOfficeName() + "," + userDeliveryInfoDto.getReceiveAddress() : "");
} else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.COLLECT_GOODS.getCode())) { } else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.COLLECT_GOODS.getCode())) {
if (Objects.equals(createOrderVo.getReachStoreType(), OrderTypeV1.EAT_IN.getCode())) { if (Objects.equals(createOrderVo.getReachStoreType(), OrderTypeV1.EAT_IN.getCode())) {
// orderType = OrderTypeV1.EAT_IN.getCode(); // orderType = OrderTypeV1.EAT_IN.getCode();
newOrderType = getNewOrderType(OrderTypeV1.EAT_IN,createOrderVo.getExpectTime(),createOrderVo.getBizType()); newOrderType = getNewOrderType(OrderTypeV1.EAT_IN, createOrderVo.getExpectTime(), createOrderVo.getBizType());
} else { } else {
newOrderType = getNewOrderType(OrderTypeV1.COLLECT_GOODS,createOrderVo.getExpectTime(),createOrderVo.getBizType()); newOrderType = getNewOrderType(OrderTypeV1.COLLECT_GOODS, createOrderVo.getExpectTime(), createOrderVo.getBizType());
// orderType = OrderTypeV1.COLLECT_GOODS.getCode(); // orderType = OrderTypeV1.COLLECT_GOODS.getCode();
} }
} else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.SAASMALL.getCode())) { } else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.SAASMALL.getCode())) {
...@@ -591,10 +588,11 @@ public class OrderAdapter { ...@@ -591,10 +588,11 @@ public class OrderAdapter {
/** /**
* 提取公共方法 * 提取公共方法
*
* @param shoppingCartStocks * @param shoppingCartStocks
* @return * @return
*/ */
private List<SubtractStockVO> getStocks(List<SubtractStockVO> shoppingCartStocks){ private List<SubtractStockVO> getStocks(List<SubtractStockVO> shoppingCartStocks) {
List<SubtractStockVO> stocks = new ArrayList<>(); List<SubtractStockVO> stocks = new ArrayList<>();
if (CollectionUtils.isNotEmpty(shoppingCartStocks)) { if (CollectionUtils.isNotEmpty(shoppingCartStocks)) {
for (SubtractStockVO stockVO : shoppingCartStocks) { for (SubtractStockVO stockVO : shoppingCartStocks) {
...@@ -645,21 +643,21 @@ public class OrderAdapter { ...@@ -645,21 +643,21 @@ public class OrderAdapter {
if (OrderChannelType.IWC.getCode().equals(channelType)) { if (OrderChannelType.IWC.getCode().equals(channelType)) {
//未定,暂无 //未定,暂无
} else if (OrderChannelType.SAASMALL.getCode().equals(channelType)) { } else if (OrderChannelType.SAASMALL.getCode().equals(channelType)) {
orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(),OrderClientType.ALIPAY.getIndex()); orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex());
bizTypes.add(BizTypeEnum.MALL.getBizType()); bizTypes.add(BizTypeEnum.MALL.getBizType());
//新版查微商城订单marketingType 不传 //新版查微商城订单marketingType 不传
if(queryOrderDto.getMarketingType() == null || Objects.equals(1,queryOrderDto.getMarketingType())){ if (queryOrderDto.getMarketingType() == null || Objects.equals(1, queryOrderDto.getMarketingType())) {
queryOrdersDto.setMarketingType(MarketTypeEnum.ORDER.getIndex()); queryOrdersDto.setMarketingType(MarketTypeEnum.ORDER.getIndex());
} }
//微商城拼团 //微商城拼团
if(Objects.equals(MarketTypeEnum.GROUPB.getIndex(),queryOrderDto.getMarketingType())){ if (Objects.equals(MarketTypeEnum.GROUPB.getIndex(), queryOrderDto.getMarketingType())) {
queryOrdersDto.setMarketingType(MarketTypeEnum.GROUPB.getIndex()); queryOrdersDto.setMarketingType(MarketTypeEnum.GROUPB.getIndex());
} }
} else if (OrderChannelType.APP.getCode().equals(channelType)) { } else if (OrderChannelType.APP.getCode().equals(channelType)) {
orderClients.add(OrderClientType.APP.getIndex()); orderClients.add(OrderClientType.APP.getIndex());
bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType()); bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType());
} else if (OrderChannelType.CASHIER.getCode().equals(channelType)) { } else if (OrderChannelType.CASHIER.getCode().equals(channelType)) {
orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(),OrderClientType.ALIPAY.getIndex()); orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex());
bizTypes.add(BizTypeEnum.ORDINARY.getBizType()); bizTypes.add(BizTypeEnum.ORDINARY.getBizType());
queryOrdersDto.setMarketingType(MarketTypeEnum.CASHIER.getIndex()); queryOrdersDto.setMarketingType(MarketTypeEnum.CASHIER.getIndex());
} else if (OrderChannelType.TIKTOK.getCode().equals(channelType)) {//抖音目前只有卖券,点餐业务已废弃 } else if (OrderChannelType.TIKTOK.getCode().equals(channelType)) {//抖音目前只有卖券,点餐业务已废弃
...@@ -669,7 +667,7 @@ public class OrderAdapter { ...@@ -669,7 +667,7 @@ public class OrderAdapter {
orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex(), OrderClientType.APP.getIndex(), OrderClientType.ASSISTANT.getIndex()); orderClients = Arrays.asList(OrderClientType.SAAS.getIndex(), OrderClientType.ALIPAY.getIndex(), OrderClientType.APP.getIndex(), OrderClientType.ASSISTANT.getIndex());
bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType(), BizTypeEnum.ADVANCE_ORDER.getBizType()); bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType(), BizTypeEnum.ADVANCE_ORDER.getBizType());
queryOrdersDto.setMarketingTypes(Arrays.asList(MarketTypeEnum.ORDER.getIndex(), MarketTypeEnum.COLLAGE.getIndex(), queryOrdersDto.setMarketingTypes(Arrays.asList(MarketTypeEnum.ORDER.getIndex(), MarketTypeEnum.COLLAGE.getIndex(),
MarketTypeEnum.WE_CHAT_LIVE_SELL.getIndex(),MarketTypeEnum.CASHIER.getIndex(),MarketTypeEnum.TIKTOK_MARKET_ORDER.getIndex())); MarketTypeEnum.WE_CHAT_LIVE_SELL.getIndex(), MarketTypeEnum.CASHIER.getIndex(), MarketTypeEnum.TIKTOK_MARKET_ORDER.getIndex()));
} }
List<Integer> payStatus = Arrays.asList(PayStatus.HAVE_PAID.getCode(), PayStatus.HAVE_REFUND.getCode(), PayStatus.COMPLETE.getCode()); List<Integer> payStatus = Arrays.asList(PayStatus.HAVE_PAID.getCode(), PayStatus.HAVE_REFUND.getCode(), PayStatus.COMPLETE.getCode());
queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray()); queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray());
...@@ -1772,7 +1770,7 @@ public class OrderAdapter { ...@@ -1772,7 +1770,7 @@ public class OrderAdapter {
return this.checkAdvanceOrder(orderBean.getGmtExpect()); return this.checkAdvanceOrder(orderBean.getGmtExpect());
} }
boolean isMarketType2Tiktok = orderBean.getBizType().compareTo(BizTypeEnum.ORDINARY.getBizType()) == 0 boolean isMarketType2Tiktok = orderBean.getBizType().compareTo(BizTypeEnum.ORDINARY.getBizType()) == 0
&& orderBean.getMarketingType().compareTo(MarketTypeEnum.TIKTOK_MARKET_ORDER.getIndex().byteValue()) == 0 ; && orderBean.getMarketingType().compareTo(MarketTypeEnum.TIKTOK_MARKET_ORDER.getIndex().byteValue()) == 0;
if (isMarketType2Tiktok) { if (isMarketType2Tiktok) {
return false; return false;
} }
...@@ -1780,15 +1778,15 @@ public class OrderAdapter { ...@@ -1780,15 +1778,15 @@ public class OrderAdapter {
// fisherman 虚拟券商品是否可退款配置校验 // fisherman 虚拟券商品是否可退款配置校验
if (orderBean.getBizType().compareTo(BizTypeEnum.SALE_COUPON.getBizType()) == 0) { if (orderBean.getBizType().compareTo(BizTypeEnum.SALE_COUPON.getBizType()) == 0) {
return this.checkRefundButtionBizTypeIs6(orderBean.getCompanyId(), orderBean.getBizType(), return this.checkRefundButtionBizTypeIs6(orderBean.getCompanyId(), orderBean.getBizType(),
orderBean.getStatus(),wxAppId, new Date(orderBean.getGmtCreate()), orderBean.getOrderType()); orderBean.getStatus(), wxAppId, new Date(orderBean.getGmtCreate()), orderBean.getOrderType());
} }
// 加价购选择虚拟商品券包,订单完成前可申请退款,完成之后不能申请退款 --> 这里的 bizType应该是 = 1的 // 加价购选择虚拟商品券包,订单完成前可申请退款,完成之后不能申请退款 --> 这里的 bizType应该是 = 1的
if (OrderStatusV1.COMPLETE.equals(status) && CollectionUtils.isNotEmpty(orderBean.getProductList())) { if (OrderStatusV1.COMPLETE.equals(status) && CollectionUtils.isNotEmpty(orderBean.getProductList())) {
for (ProductBeanV1 productBeanV1 : orderBean.getProductList()){ for (ProductBeanV1 productBeanV1 : orderBean.getProductList()) {
if(StringUtils.isNotEmpty(productBeanV1.getExtInfo())){ if (StringUtils.isNotEmpty(productBeanV1.getExtInfo())) {
OrderProductAddInfoDto extInfo = JSONObject.parseObject(productBeanV1.getExtInfo(), OrderProductAddInfoDto.class); OrderProductAddInfoDto extInfo = JSONObject.parseObject(productBeanV1.getExtInfo(), OrderProductAddInfoDto.class);
if(CollectionUtils.isNotEmpty(extInfo.getProductBindingCoupons())){ if (CollectionUtils.isNotEmpty(extInfo.getProductBindingCoupons())) {
return false; return false;
} }
} }
...@@ -1799,7 +1797,7 @@ public class OrderAdapter { ...@@ -1799,7 +1797,7 @@ public class OrderAdapter {
// 查询小程序配置的退款设置 // 查询小程序配置的退款设置
String redisKey = MessageFormat.format(OrderRedisKeyConstant.ORDER_REFUND_CONFIG, orderBean.getCompanyId(), wxAppId); String redisKey = MessageFormat.format(OrderRedisKeyConstant.ORDER_REFUND_CONFIG, orderBean.getCompanyId(), wxAppId);
String hashKey; String hashKey;
if (MarketTypeEnum.CASHIER.getIndex().byteValue()==orderBean.getMarketingType()) { if (MarketTypeEnum.CASHIER.getIndex().byteValue() == orderBean.getMarketingType()) {
//收银单,使用收银单的退款配置 //收银单,使用收银单的退款配置
hashKey = OrderRedisKeyConstant.HashKeyForOrderRefundConfig.CASHIER; hashKey = OrderRedisKeyConstant.HashKeyForOrderRefundConfig.CASHIER;
} else { } else {
...@@ -1813,34 +1811,52 @@ public class OrderAdapter { ...@@ -1813,34 +1811,52 @@ public class OrderAdapter {
} }
OrderRefundConfigEntity config = JSON.parseObject(configStr, OrderRefundConfigEntity.class); OrderRefundConfigEntity config = JSON.parseObject(configStr, OrderRefundConfigEntity.class);
String orderRefund = null; String orderRefund = null;
if (MarketTypeEnum.CASHIER.getIndex().byteValue()==orderBean.getMarketingType()) { if (MarketTypeEnum.CASHIER.getIndex().byteValue() == orderBean.getMarketingType()) {
//收银单,使用收银单的退款配置 收银单只有完成的订单,直接判断是否可以退款就行 //收银单,使用收银单的退款配置 收银单只有完成的订单,直接判断是否可以退款就行
orderRefund = config.getCashierOrderRefund(); orderRefund = config.getCashierOrderRefund();
} else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) { } else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
//外卖单,使用外卖单的退款配置 //外卖单,使用外卖单的退款配置
switch (status) { switch (status) {
// 未接单 // 未接单
case TAKE_ORDER: orderRefund = config.getDeliveryTakeOrderRefund(); break; case TAKE_ORDER:
orderRefund = config.getDeliveryTakeOrderRefund();
break;
//已接单 //已接单
case RECEIPT: orderRefund = config.getDeliveryReceiptOrderRefund(); break; case RECEIPT:
orderRefund = config.getDeliveryReceiptOrderRefund();
break;
//制作完成 //制作完成
case COMPLETE_MAKE: orderRefund = config.getDeliveryCompleteMakeOrderRefund(); break; case COMPLETE_MAKE:
orderRefund = config.getDeliveryCompleteMakeOrderRefund();
break;
// 订单完成 // 订单完成
case COMPLETE: orderRefund = config.getDeliveryOrderRefund(); break; case COMPLETE:
default: break; orderRefund = config.getDeliveryOrderRefund();
break;
default:
break;
} }
} else { } else {
//其他,使用堂食的退款配置(必须先判断收银单,因为收银单的类型也是堂食,只是orderClient不一样 //其他,使用堂食的退款配置(必须先判断收银单,因为收银单的类型也是堂食,只是orderClient不一样
switch (status) { switch (status) {
// 未接单 // 未接单
case TAKE_ORDER: orderRefund = config.getTakeOrderRefund(); break; case TAKE_ORDER:
orderRefund = config.getTakeOrderRefund();
break;
//已接单 //已接单
case RECEIPT: orderRefund = config.getReceiptOrderRefund(); break; case RECEIPT:
orderRefund = config.getReceiptOrderRefund();
break;
//制作完成 //制作完成
case COMPLETE_MAKE: orderRefund = config.getCompleteMakeOrderRefund(); break; case COMPLETE_MAKE:
orderRefund = config.getCompleteMakeOrderRefund();
break;
// 订单完成 // 订单完成
case COMPLETE: orderRefund = config.getOrderRefund(); break; case COMPLETE:
default: break; orderRefund = config.getOrderRefund();
break;
default:
break;
} }
} }
canRefund = ALLOW_REFUND.equals(orderRefund); canRefund = ALLOW_REFUND.equals(orderRefund);
...@@ -1903,6 +1919,7 @@ public class OrderAdapter { ...@@ -1903,6 +1919,7 @@ public class OrderAdapter {
/** /**
* 预约时间 * 预约时间
*
* @param gmtExpect * @param gmtExpect
* @return true 可退 false不可操作 * @return true 可退 false不可操作
*/ */
...@@ -1934,16 +1951,16 @@ public class OrderAdapter { ...@@ -1934,16 +1951,16 @@ public class OrderAdapter {
accountVo.setType(type); accountVo.setType(type);
if (type.compareTo(OrderSettlementType.PRODUCT_COUPON.getIndex()) == 0 if (type.compareTo(OrderSettlementType.PRODUCT_COUPON.getIndex()) == 0
|| type.compareTo(OrderSettlementType.CASH_COUPON.getIndex()) == 0 || type.compareTo(OrderSettlementType.CASH_COUPON.getIndex()) == 0
|| type.compareTo(OrderSettlementType.DISCOUNT_COUPON.getIndex()) == 0 ){ || type.compareTo(OrderSettlementType.DISCOUNT_COUPON.getIndex()) == 0) {
// fisherman ->修改成券名称 // fisherman ->修改成券名称
accountVo.setTypeName(StringUtils.isEmpty(orderSettlement.getNote()) ? "优惠券" : orderSettlement.getNote()); accountVo.setTypeName(StringUtils.isEmpty(orderSettlement.getNote()) ? "优惠券" : orderSettlement.getNote());
} else if (type.compareTo(OrderSettlementType.FULL_REDUCTION.getIndex())==0) { } else if (type.compareTo(OrderSettlementType.FULL_REDUCTION.getIndex()) == 0) {
accountVo.setTypeName("满减"); accountVo.setTypeName("满减");
} else if (type.compareTo(OrderSettlementType.POINTS.getIndex())==0) { } else if (type.compareTo(OrderSettlementType.POINTS.getIndex()) == 0) {
accountVo.setTypeName("积分抵扣"); accountVo.setTypeName("积分抵扣");
} else if (type.compareTo(OrderSettlementType.FREIGHT_COUPON.getIndex())==0) { } else if (type.compareTo(OrderSettlementType.FREIGHT_COUPON.getIndex()) == 0) {
accountVo.setTypeName("配送券"); accountVo.setTypeName("配送券");
}else { } else {
accountVo.setTypeName("参与活动"); accountVo.setTypeName("参与活动");
} }
int value = orderSettlement.getSettlementAmount().intValue(); int value = orderSettlement.getSettlementAmount().intValue();
...@@ -2485,18 +2502,19 @@ public class OrderAdapter { ...@@ -2485,18 +2502,19 @@ public class OrderAdapter {
} }
public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) { public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
return this.conventCommonOrderProductDemo(cartGoodsDetailDto,null,0); return this.conventCommonOrderProductDemo(cartGoodsDetailDto, null, 0);
} }
/** /**
* 公共转换提取 * 公共转换提取
*
* @param cartGoodsDetailDto * @param cartGoodsDetailDto
* @param productType * @param productType
* @param flag 0.平台普通订单 1.麦咖啡 * @param flag 0.平台普通订单 1.麦咖啡
* @return * @return
*/ */
private CreateOrderProductRequest conventCommonOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType, int flag){ private CreateOrderProductRequest conventCommonOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType, int flag) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest(); CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(StringUtils.isNotBlank(cartGoodsDetailDto.getSpuId()) ? cartGoodsDetailDto.getSpuId() : cartGoodsDetailDto.getSkuId()); createOrderProductDemoDto.setProductId(StringUtils.isNotBlank(cartGoodsDetailDto.getSpuId()) ? cartGoodsDetailDto.getSpuId() : cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName()); createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
...@@ -2542,7 +2560,7 @@ public class OrderAdapter { ...@@ -2542,7 +2560,7 @@ public class OrderAdapter {
createOrderProductDemoDto.getSpecialAttrs().add(new OrderSpecialExtraAttrRequest(o.getAttributeId(), o.getAttributeName(), o.getAttributeForeignName(), o.getSpecialCode())); createOrderProductDemoDto.getSpecialAttrs().add(new OrderSpecialExtraAttrRequest(o.getAttributeId(), o.getAttributeName(), o.getAttributeForeignName(), o.getSpecialCode()));
}); });
} }
}else { } else {
createOrderProductDemoDto.setProductForeignName(cartGoodsDetailDto.getSpuForeignName()); createOrderProductDemoDto.setProductForeignName(cartGoodsDetailDto.getSpuForeignName());
createOrderProductDemoDto.setOriginalProductType(cartGoodsDetailDto.getOriginalProductType()); createOrderProductDemoDto.setOriginalProductType(cartGoodsDetailDto.getOriginalProductType());
createOrderProductDemoDto.setSpecificationForeignName(cartGoodsDetailDto.getSkuForeignName()); createOrderProductDemoDto.setSpecificationForeignName(cartGoodsDetailDto.getSkuForeignName());
...@@ -2562,7 +2580,7 @@ public class OrderAdapter { ...@@ -2562,7 +2580,7 @@ public class OrderAdapter {
} }
public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType) { public CreateOrderProductRequest convent2MCCafeOrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto, Integer productType) {
return this.conventCommonOrderProductDemo(cartGoodsDetailDto,productType,1); return this.conventCommonOrderProductDemo(cartGoodsDetailDto, productType, 1);
} }
public CreateOrderProductRequest getMcCafeWithOrderVirtualProduct(ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo createOrderVo) { public CreateOrderProductRequest getMcCafeWithOrderVirtualProduct(ShoppingCartGoodsDto shoppingCartGoodsDto, CreateOrderVo createOrderVo) {
...@@ -2712,7 +2730,6 @@ public class OrderAdapter { ...@@ -2712,7 +2730,6 @@ public class OrderAdapter {
} }
public UnifiedOrderRequest convent2UnifiedOrderRequest(OrderBeanV1 orderBean, PaymentRequest paymentRequest, Long amount, Integer cardAmount, String transId) { public UnifiedOrderRequest convent2UnifiedOrderRequest(OrderBeanV1 orderBean, PaymentRequest paymentRequest, Long amount, Integer cardAmount, String transId) {
return convent2UnifiedOrderRequest(new UnifiedOrderCom(orderBean, paymentRequest, amount, cardAmount, transId, null)); return convent2UnifiedOrderRequest(new UnifiedOrderCom(orderBean, paymentRequest, amount, cardAmount, transId, null));
} }
...@@ -2722,10 +2739,10 @@ public class OrderAdapter { ...@@ -2722,10 +2739,10 @@ public class OrderAdapter {
*/ */
public UnifiedOrderRequest convent2UnifiedOrderRequest(UnifiedOrderCom com) { public UnifiedOrderRequest convent2UnifiedOrderRequest(UnifiedOrderCom com) {
OrderBeanV1 orderBean = com.getOrderBean(); OrderBeanV1 orderBean = com.getOrderBean();
PaymentRequest paymentRequest =com.getPaymentRequest(); PaymentRequest paymentRequest = com.getPaymentRequest();
Long amount = com.getAmount(); Long amount = com.getAmount();
Integer cardAmount = com.getCardAmount(); Integer cardAmount = com.getCardAmount();
String transId =com.getTransId(); String transId = com.getTransId();
String partnerPayOvertime = com.getPartnerPayOvertime(); String partnerPayOvertime = com.getPartnerPayOvertime();
...@@ -3352,16 +3369,16 @@ public class OrderAdapter { ...@@ -3352,16 +3369,16 @@ public class OrderAdapter {
return requestDto; return requestDto;
} }
public CreatePrepayRequestDto convertToCreatePrepayRequestDto(CreateOrderBONew createOrderBO,CreateOrderOperateDto createOrderOperateDto) { public CreatePrepayRequestDto convertToCreatePrepayRequestDto(CreateOrderBONew createOrderBO, CreateOrderOperateDto createOrderOperateDto) {
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBO.getUserLoginInfoDto(); AssortmentCustomerInfoVo userLoginInfoDto = createOrderBO.getUserLoginInfoDto();
CreateOrderVo createOrderVo =createOrderBO.getCreateOrderVo(); CreateOrderVo createOrderVo = createOrderBO.getCreateOrderVo();
OrderExtInfoDto orderExtInfoDTO = createOrderBO.getExtInfo(); OrderExtInfoDto orderExtInfoDTO = createOrderBO.getExtInfo();
CreatePrepayRequestDto requestDto = new CreatePrepayRequestDto(); CreatePrepayRequestDto requestDto = new CreatePrepayRequestDto();
requestDto.setPartnerId(createOrderVo.getPartnerId()); requestDto.setPartnerId(createOrderVo.getPartnerId());
requestDto.setWxAppId(userLoginInfoDto.getWxAppId()); requestDto.setWxAppId(userLoginInfoDto.getWxAppId());
requestDto.setOpenId( userLoginInfoDto.getOpenId()); requestDto.setOpenId(userLoginInfoDto.getOpenId());
requestDto.setFaceCode(createOrderVo.getFaceCode()); requestDto.setFaceCode(createOrderVo.getFaceCode());
requestDto.setCardCode(createOrderVo.getCardCode()); requestDto.setCardCode(createOrderVo.getCardCode());
requestDto.setCardCodes(createOrderVo.getCardCodes()); requestDto.setCardCodes(createOrderVo.getCardCodes());
...@@ -3426,6 +3443,9 @@ public class OrderAdapter { ...@@ -3426,6 +3443,9 @@ public class OrderAdapter {
, String channel , String channel
, Integer totalAmount) { , Integer totalAmount) {
CombPayRequest orderPayDto = new CombPayRequest(); CombPayRequest orderPayDto = new CombPayRequest();
orderPayDto.setOrderId(orderBean.getOid());
orderPayDto.setMobile(orderBean.getPhone());
orderPayDto.setMemberId(orderBean.getUserId());
orderPayDto.setEbCode(paymentRequest.getPayCode()); orderPayDto.setEbCode(paymentRequest.getPayCode());
orderPayDto.setPartner_id(orderBean.getCompanyId()); orderPayDto.setPartner_id(orderBean.getCompanyId());
orderPayDto.setBody(paymentRequest.getPrincipalName()); orderPayDto.setBody(paymentRequest.getPrincipalName());
...@@ -3749,7 +3769,7 @@ public class OrderAdapter { ...@@ -3749,7 +3769,7 @@ public class OrderAdapter {
payTurnoffRefund = assortmentOpenPlatformPartnerConfig.getPartnerValue(); payTurnoffRefund = assortmentOpenPlatformPartnerConfig.getPartnerValue();
} }
} catch (Exception e) { } catch (Exception e) {
AppLogUtil.errorLog("getPayTurnoffRefund",null,null, e); AppLogUtil.errorLog("getPayTurnoffRefund", null, null, e);
} }
return payTurnoffRefund; return payTurnoffRefund;
} }
...@@ -3908,6 +3928,7 @@ public class OrderAdapter { ...@@ -3908,6 +3928,7 @@ public class OrderAdapter {
/** /**
* 设置创建订单的 extInfo字段 * 设置创建订单的 extInfo字段
*
* @return * @return
*/ */
public OrderExtInfoDto setOrderExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto, public OrderExtInfoDto setOrderExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto,
...@@ -3975,17 +3996,18 @@ public class OrderAdapter { ...@@ -3975,17 +3996,18 @@ public class OrderAdapter {
/** /**
* 查询订单商品详情中是否有称重菜未称重 * 查询订单商品详情中是否有称重菜未称重
*
* @return * @return
*/ */
public boolean queryExistWeightNoNum(OrderBeanV1 orderBean){ public boolean queryExistWeightNoNum(OrderBeanV1 orderBean) {
for(ProductBeanV1 productBean : orderBean.getProductList()){ for (ProductBeanV1 productBean : orderBean.getProductList()) {
if(ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBean.getProductType()) && (productBean.getWeight() == null || new BigDecimal("0.00").compareTo(productBean.getWeight()) >= 0)){ if (ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBean.getProductType()) && (productBean.getWeight() == null || new BigDecimal("0.00").compareTo(productBean.getWeight()) >= 0)) {
return false; return false;
} }
if(ProductTypeEnum.SETMEAL_PRODUCT.getCode().equals(productBean.getProductType()) || ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode().equals(productBean.getProductType())){ if (ProductTypeEnum.SETMEAL_PRODUCT.getCode().equals(productBean.getProductType()) || ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode().equals(productBean.getProductType())) {
if(CollectionUtils.isNotEmpty(productBean.getComboProduct())){ if (CollectionUtils.isNotEmpty(productBean.getComboProduct())) {
for(ProductBeanV1 productBeanSon : productBean.getComboProduct()){ for (ProductBeanV1 productBeanSon : productBean.getComboProduct()) {
if(ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBeanSon.getProductType()) && (productBeanSon.getWeight() == null || new BigDecimal("0.00").compareTo(productBeanSon.getWeight()) >= 0)){ if (ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBeanSon.getProductType()) && (productBeanSon.getWeight() == null || new BigDecimal("0.00").compareTo(productBeanSon.getWeight()) >= 0)) {
return false; return false;
} }
} }
...@@ -4048,7 +4070,7 @@ public class OrderAdapter { ...@@ -4048,7 +4070,7 @@ public class OrderAdapter {
return type; return type;
} }
public List<SvcPayItem> convertSvcPayItem(UnifiedPayResponseDto codePayResponse,String cardCode){ public List<SvcPayItem> convertSvcPayItem(UnifiedPayResponseDto codePayResponse, String cardCode) {
List<SvcPayItem> payItems = new ArrayList<>(); List<SvcPayItem> payItems = new ArrayList<>();
SvcPayItem payItem = new SvcPayItem(); SvcPayItem payItem = new SvcPayItem();
payItem.setCardCode(cardCode); payItem.setCardCode(cardCode);
...@@ -4065,57 +4087,10 @@ public class OrderAdapter { ...@@ -4065,57 +4087,10 @@ public class OrderAdapter {
, String clientCode , String clientCode
, String channel , String channel
, Integer totalAmount) { , Integer totalAmount) {
CombPayRequest combPayRequest = this.convent2CombPayOrderRequest(null, orderBean, paymentRequest, partnerPayOvertime, clientCode, channel, totalAmount);
MultiPayRequest orderPayDto = new MultiPayRequest(); MultiPayRequest orderPayDto = new MultiPayRequest();
orderPayDto.setEbCode(paymentRequest.getPayCode()); BeanUtil.convertBean(combPayRequest, orderPayDto);
orderPayDto.setPartner_id(orderBean.getCompanyId());
orderPayDto.setBody(paymentRequest.getPrincipalName());
orderPayDto.setNotify_url(paymentRequest.getReverseNotifyiDcUrl());
orderPayDto.setStore_id(orderBean.getShopId());
orderPayDto.setOpen_id(paymentRequest.getOpenId());
String businessDate = com.freemud.application.sdk.api.util.DateUtil.convert2String(new Date(), "yyyyMMdd");
orderPayDto.setBusiness_date(businessDate);
orderPayDto.setAmount(totalAmount.longValue());
orderPayDto.setVip_amount(0L);
orderPayDto.setAppId(paymentRequest.getWxAppId());
orderPayDto.setPayCode(paymentRequest.getPayCode());
orderPayDto.setVer("V1");
orderPayDto.setStoreName(orderBean.getShopName());
orderPayDto.setPayTimeOutTime(StringUtils.defaultIfBlank(partnerPayOvertime, "30"));
List<ProductVO> productVOS = new ArrayList<ProductVO>();
if (CollectionUtils.isNotEmpty(orderBean.getProductList())) {
for (ProductBeanV1 product : orderBean.getProductList()) {
ProductVO productBean = new ProductVO();
productBean.setId(product.getProductId());
productBean.setQuantity(product.getNumber());
productBean.setSeq(product.getSequence());
productBean.setSalesType("NORMAL");
productBean.setPrice(product.getPrice());
productBean.setName(product.getProductName());
productVOS.add(productBean);
}
}
orderPayDto.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount());
orderPayDto.setProducts(productVOS);
List<PayPlatformVO> platforms = new ArrayList<>();
PayPlatformVO payPlatformVO = new PayPlatformVO();
payPlatformVO.setClientCode(PayChannelType.SVC.getEbcode());
payPlatformVO.setEbcode(PayChannelType.SVC.getEbcode());
payPlatformVO.setAmount(0L);
platforms.add(payPlatformVO);
String ebcode = PayChannelType.getByIndex(Byte.parseByte(channel)).getEbcode();
payPlatformVO = new PayPlatformVO();
payPlatformVO.setAmount(0L);
payPlatformVO.setClientCode(clientCode);
payPlatformVO.setEbcode(ebcode);
platforms.add(payPlatformVO);
orderPayDto.setPlatforms(platforms);
orderPayDto.setOut_order_no(orderBean.getOid());
orderPayDto.setCardItems(cardCodes);//多卡支付 orderPayDto.setCardItems(cardCodes);//多卡支付
orderPayDto.setApplicationType(getPayApplicationType(orderBean.getOrderClient()));
orderPayDto.setSubAppid(orderBean.getAppId());
orderPayDto.setPayTypeCode(convertPayTypeCode(orderBean.getOrderClient()));
return orderPayDto; return orderPayDto;
} }
......
...@@ -44,4 +44,20 @@ public class FacePayRequestDto { ...@@ -44,4 +44,20 @@ public class FacePayRequestDto {
private List<PayProductDto> products; private List<PayProductDto> products;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
} }
...@@ -515,6 +515,9 @@ public class PayServiceImpl { ...@@ -515,6 +515,9 @@ public class PayServiceImpl {
request.setOperatorId("2"); request.setOperatorId("2");
request.setVer("2"); request.setVer("2");
request.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount()); request.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount());
request.setOrderId(orderBean.getOid());
request.setMobile(orderBean.getPhone());
request.setMemberId(orderBean.getUserId());
com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> responseBase = paymentNewClient.codePay(request); com.freemud.application.sdk.api.base.BaseResponse<UnifiedPayResponseDto> responseBase = paymentNewClient.codePay(request);
if (responseBase == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode()) || responseBase.getData() == null) { if (responseBase == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode()) || responseBase.getData() == null) {
// 需要把2种特殊情况抛给用户 // 需要把2种特殊情况抛给用户
...@@ -797,6 +800,9 @@ public class PayServiceImpl { ...@@ -797,6 +800,9 @@ public class PayServiceImpl {
request.setVer("2"); request.setVer("2");
request.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount()); request.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount());
request.setApplicationType(orderAdapter.getPayApplicationType(orderBean.getOrderClient())); request.setApplicationType(orderAdapter.getPayApplicationType(orderBean.getOrderClient()));
request.setOrderId(orderBean.getOid());
request.setMobile(orderBean.getPhone());
request.setMemberId(orderBean.getUserId());
SVCCardAmountRequestDto svcRequest = new SVCCardAmountRequestDto(); SVCCardAmountRequestDto svcRequest = new SVCCardAmountRequestDto();
svcRequest.setPartnerId(partnerId); svcRequest.setPartnerId(partnerId);
svcRequest.setCardCodes(Arrays.asList(cardCode)); svcRequest.setCardCodes(Arrays.asList(cardCode));
......
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