Commit be1957ef by 周晓航

Merge branch 'feature/zxh/【【华莱士】储值对账功能优化】-20220913'

parents c2af959b 842951d0
......@@ -61,15 +61,15 @@ public class CombPayRequest {
/**
* 商家POS机编号(可以使用固定值,扫码付必传)
*/
private String station_id = "1";;
private String station_id = "1";
private String appId;
private String payCode;
private String payTimeOutTime;
private String ebCode;
private String cardCode;
private Boolean disable_service_goods_tag = false;
private String request_source ="V1";
private String ver ="10";
private String request_source = "V1";
private String ver = "10";
private String storeName;
private Long merchantDiscount;
......@@ -87,4 +87,19 @@ public class CombPayRequest {
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
private String payTypeCode;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
}
......@@ -61,14 +61,15 @@ public class MultiPayRequest {
/**
* 商家POS机编号(可以使用固定值,扫码付必传)
*/
private String station_id = "1";;
private String station_id = "1";
;
private String appId;
private String payCode;
private String payTimeOutTime;
private String ebCode;
private Boolean disable_service_goods_tag = false;
private String request_source ="V1";
private String ver ="10";
private String request_source = "V1";
private String ver = "10";
private String storeName;
private Long merchantDiscount;
......@@ -89,4 +90,20 @@ public class MultiPayRequest {
* 支付类型编码 TWX:微信 TZFB:支付宝
*/
private String payTypeCode;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
}
......@@ -43,10 +43,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.request.pay.PayRefundRequestDto;
import cn.freemud.redis.RedisCache;
import cn.freemud.utils.AppLogUtil;
import cn.freemud.utils.BarcodeUtil;
import cn.freemud.utils.QrCodeUtil;
import cn.freemud.utils.WebUtil;
import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -244,7 +241,7 @@ public class OrderAdapter {
.build();
if (mcCafePartnerId.equals(createOrderDto.getCompanyId())) {
//购买月享卡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
&& (shoppingCartGoodsDto.getMonthCardDiscount() == null || shoppingCartGoodsDto.getMonthCardDiscount().getDiscountAmount() == 0)) {
continue;
......@@ -517,14 +514,14 @@ public class OrderAdapter {
// fisherman -> 爱马哥 orderType落库的类型处理
if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.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() : "");
} else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.COLLECT_GOODS.getCode())) {
if (Objects.equals(createOrderVo.getReachStoreType(), 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 {
newOrderType = getNewOrderType(OrderTypeV1.COLLECT_GOODS,createOrderVo.getExpectTime(),createOrderVo.getBizType());
newOrderType = getNewOrderType(OrderTypeV1.COLLECT_GOODS, createOrderVo.getExpectTime(), createOrderVo.getBizType());
// orderType = OrderTypeV1.COLLECT_GOODS.getCode();
}
} else if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.SAASMALL.getCode())) {
......@@ -591,10 +588,11 @@ public class OrderAdapter {
/**
* 提取公共方法
*
* @param shoppingCartStocks
* @return
*/
private List<SubtractStockVO> getStocks(List<SubtractStockVO> shoppingCartStocks){
private List<SubtractStockVO> getStocks(List<SubtractStockVO> shoppingCartStocks) {
List<SubtractStockVO> stocks = new ArrayList<>();
if (CollectionUtils.isNotEmpty(shoppingCartStocks)) {
for (SubtractStockVO stockVO : shoppingCartStocks) {
......@@ -645,21 +643,21 @@ public class OrderAdapter {
if (OrderChannelType.IWC.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());
//新版查微商城订单marketingType 不传
if(queryOrderDto.getMarketingType() == null || Objects.equals(1,queryOrderDto.getMarketingType())){
if (queryOrderDto.getMarketingType() == null || Objects.equals(1, queryOrderDto.getMarketingType())) {
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());
}
} else if (OrderChannelType.APP.getCode().equals(channelType)) {
orderClients.add(OrderClientType.APP.getIndex());
bizTypes = Arrays.asList(BizTypeEnum.ORDINARY.getBizType(), BizTypeEnum.SALE_COUPON.getBizType());
} 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());
queryOrdersDto.setMarketingType(MarketTypeEnum.CASHIER.getIndex());
} else if (OrderChannelType.TIKTOK.getCode().equals(channelType)) {//抖音目前只有卖券,点餐业务已废弃
......@@ -669,7 +667,7 @@ public class OrderAdapter {
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());
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());
queryOrdersDto.setPayStatus((Integer[]) payStatus.toArray());
......@@ -1772,7 +1770,7 @@ public class OrderAdapter {
return this.checkAdvanceOrder(orderBean.getGmtExpect());
}
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) {
return false;
}
......@@ -1780,15 +1778,15 @@ public class OrderAdapter {
// fisherman 虚拟券商品是否可退款配置校验
if (orderBean.getBizType().compareTo(BizTypeEnum.SALE_COUPON.getBizType()) == 0) {
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的
if (OrderStatusV1.COMPLETE.equals(status) && CollectionUtils.isNotEmpty(orderBean.getProductList())) {
for (ProductBeanV1 productBeanV1 : orderBean.getProductList()){
if(StringUtils.isNotEmpty(productBeanV1.getExtInfo())){
for (ProductBeanV1 productBeanV1 : orderBean.getProductList()) {
if (StringUtils.isNotEmpty(productBeanV1.getExtInfo())) {
OrderProductAddInfoDto extInfo = JSONObject.parseObject(productBeanV1.getExtInfo(), OrderProductAddInfoDto.class);
if(CollectionUtils.isNotEmpty(extInfo.getProductBindingCoupons())){
if (CollectionUtils.isNotEmpty(extInfo.getProductBindingCoupons())) {
return false;
}
}
......@@ -1799,7 +1797,7 @@ public class OrderAdapter {
// 查询小程序配置的退款设置
String redisKey = MessageFormat.format(OrderRedisKeyConstant.ORDER_REFUND_CONFIG, orderBean.getCompanyId(), wxAppId);
String hashKey;
if (MarketTypeEnum.CASHIER.getIndex().byteValue()==orderBean.getMarketingType()) {
if (MarketTypeEnum.CASHIER.getIndex().byteValue() == orderBean.getMarketingType()) {
//收银单,使用收银单的退款配置
hashKey = OrderRedisKeyConstant.HashKeyForOrderRefundConfig.CASHIER;
} else {
......@@ -1813,34 +1811,52 @@ public class OrderAdapter {
}
OrderRefundConfigEntity config = JSON.parseObject(configStr, OrderRefundConfigEntity.class);
String orderRefund = null;
if (MarketTypeEnum.CASHIER.getIndex().byteValue()==orderBean.getMarketingType()) {
if (MarketTypeEnum.CASHIER.getIndex().byteValue() == orderBean.getMarketingType()) {
//收银单,使用收银单的退款配置 收银单只有完成的订单,直接判断是否可以退款就行
orderRefund = config.getCashierOrderRefund();
} else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
//外卖单,使用外卖单的退款配置
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;
default: break;
case COMPLETE:
orderRefund = config.getDeliveryOrderRefund();
break;
default:
break;
}
} else {
//其他,使用堂食的退款配置(必须先判断收银单,因为收银单的类型也是堂食,只是orderClient不一样
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;
default: break;
case COMPLETE:
orderRefund = config.getOrderRefund();
break;
default:
break;
}
}
canRefund = ALLOW_REFUND.equals(orderRefund);
......@@ -1903,6 +1919,7 @@ public class OrderAdapter {
/**
* 预约时间
*
* @param gmtExpect
* @return true 可退 false不可操作
*/
......@@ -1934,16 +1951,16 @@ public class OrderAdapter {
accountVo.setType(type);
if (type.compareTo(OrderSettlementType.PRODUCT_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 ->修改成券名称
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("满减");
} else if (type.compareTo(OrderSettlementType.POINTS.getIndex())==0) {
} else if (type.compareTo(OrderSettlementType.POINTS.getIndex()) == 0) {
accountVo.setTypeName("积分抵扣");
} else if (type.compareTo(OrderSettlementType.FREIGHT_COUPON.getIndex())==0) {
} else if (type.compareTo(OrderSettlementType.FREIGHT_COUPON.getIndex()) == 0) {
accountVo.setTypeName("配送券");
}else {
} else {
accountVo.setTypeName("参与活动");
}
int value = orderSettlement.getSettlementAmount().intValue();
......@@ -2485,18 +2502,19 @@ public class OrderAdapter {
}
public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
return this.conventCommonOrderProductDemo(cartGoodsDetailDto,null,0);
return this.conventCommonOrderProductDemo(cartGoodsDetailDto, null, 0);
}
/**
* 公共转换提取
*
* @param cartGoodsDetailDto
* @param productType
* @param flag 0.平台普通订单 1.麦咖啡
* @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();
createOrderProductDemoDto.setProductId(StringUtils.isNotBlank(cartGoodsDetailDto.getSpuId()) ? cartGoodsDetailDto.getSpuId() : cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
......@@ -2542,7 +2560,7 @@ public class OrderAdapter {
createOrderProductDemoDto.getSpecialAttrs().add(new OrderSpecialExtraAttrRequest(o.getAttributeId(), o.getAttributeName(), o.getAttributeForeignName(), o.getSpecialCode()));
});
}
}else {
} else {
createOrderProductDemoDto.setProductForeignName(cartGoodsDetailDto.getSpuForeignName());
createOrderProductDemoDto.setOriginalProductType(cartGoodsDetailDto.getOriginalProductType());
createOrderProductDemoDto.setSpecificationForeignName(cartGoodsDetailDto.getSkuForeignName());
......@@ -2562,7 +2580,7 @@ public class OrderAdapter {
}
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) {
......@@ -2712,7 +2730,6 @@ public class OrderAdapter {
}
public UnifiedOrderRequest convent2UnifiedOrderRequest(OrderBeanV1 orderBean, PaymentRequest paymentRequest, Long amount, Integer cardAmount, String transId) {
return convent2UnifiedOrderRequest(new UnifiedOrderCom(orderBean, paymentRequest, amount, cardAmount, transId, null));
}
......@@ -2722,10 +2739,10 @@ public class OrderAdapter {
*/
public UnifiedOrderRequest convent2UnifiedOrderRequest(UnifiedOrderCom com) {
OrderBeanV1 orderBean = com.getOrderBean();
PaymentRequest paymentRequest =com.getPaymentRequest();
PaymentRequest paymentRequest = com.getPaymentRequest();
Long amount = com.getAmount();
Integer cardAmount = com.getCardAmount();
String transId =com.getTransId();
String transId = com.getTransId();
String partnerPayOvertime = com.getPartnerPayOvertime();
......@@ -3352,16 +3369,16 @@ public class OrderAdapter {
return requestDto;
}
public CreatePrepayRequestDto convertToCreatePrepayRequestDto(CreateOrderBONew createOrderBO,CreateOrderOperateDto createOrderOperateDto) {
public CreatePrepayRequestDto convertToCreatePrepayRequestDto(CreateOrderBONew createOrderBO, CreateOrderOperateDto createOrderOperateDto) {
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBO.getUserLoginInfoDto();
CreateOrderVo createOrderVo =createOrderBO.getCreateOrderVo();
CreateOrderVo createOrderVo = createOrderBO.getCreateOrderVo();
OrderExtInfoDto orderExtInfoDTO = createOrderBO.getExtInfo();
CreatePrepayRequestDto requestDto = new CreatePrepayRequestDto();
requestDto.setPartnerId(createOrderVo.getPartnerId());
requestDto.setWxAppId(userLoginInfoDto.getWxAppId());
requestDto.setOpenId( userLoginInfoDto.getOpenId());
requestDto.setOpenId(userLoginInfoDto.getOpenId());
requestDto.setFaceCode(createOrderVo.getFaceCode());
requestDto.setCardCode(createOrderVo.getCardCode());
requestDto.setCardCodes(createOrderVo.getCardCodes());
......@@ -3426,6 +3443,9 @@ public class OrderAdapter {
, String channel
, Integer totalAmount) {
CombPayRequest orderPayDto = new CombPayRequest();
orderPayDto.setOrderId(orderBean.getOid());
orderPayDto.setMobile(orderBean.getPhone());
orderPayDto.setMemberId(orderBean.getUserId());
orderPayDto.setEbCode(paymentRequest.getPayCode());
orderPayDto.setPartner_id(orderBean.getCompanyId());
orderPayDto.setBody(paymentRequest.getPrincipalName());
......@@ -3749,7 +3769,7 @@ public class OrderAdapter {
payTurnoffRefund = assortmentOpenPlatformPartnerConfig.getPartnerValue();
}
} catch (Exception e) {
AppLogUtil.errorLog("getPayTurnoffRefund",null,null, e);
AppLogUtil.errorLog("getPayTurnoffRefund", null, null, e);
}
return payTurnoffRefund;
}
......@@ -3908,6 +3928,7 @@ public class OrderAdapter {
/**
* 设置创建订单的 extInfo字段
*
* @return
*/
public OrderExtInfoDto setOrderExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto,
......@@ -3975,17 +3996,18 @@ public class OrderAdapter {
/**
* 查询订单商品详情中是否有称重菜未称重
*
* @return
*/
public boolean queryExistWeightNoNum(OrderBeanV1 orderBean){
for(ProductBeanV1 productBean : orderBean.getProductList()){
if(ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBean.getProductType()) && (productBean.getWeight() == null || new BigDecimal("0.00").compareTo(productBean.getWeight()) >= 0)){
public boolean queryExistWeightNoNum(OrderBeanV1 orderBean) {
for (ProductBeanV1 productBean : orderBean.getProductList()) {
if (ProductTypeEnum.WEIGHT_PRODUCT.getCode().equals(productBean.getProductType()) && (productBean.getWeight() == null || new BigDecimal("0.00").compareTo(productBean.getWeight()) >= 0)) {
return false;
}
if(ProductTypeEnum.SETMEAL_PRODUCT.getCode().equals(productBean.getProductType()) || ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode().equals(productBean.getProductType())){
if(CollectionUtils.isNotEmpty(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.SETMEAL_PRODUCT.getCode().equals(productBean.getProductType()) || ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode().equals(productBean.getProductType())) {
if (CollectionUtils.isNotEmpty(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)) {
return false;
}
}
......@@ -4048,7 +4070,7 @@ public class OrderAdapter {
return type;
}
public List<SvcPayItem> convertSvcPayItem(UnifiedPayResponseDto codePayResponse,String cardCode){
public List<SvcPayItem> convertSvcPayItem(UnifiedPayResponseDto codePayResponse, String cardCode) {
List<SvcPayItem> payItems = new ArrayList<>();
SvcPayItem payItem = new SvcPayItem();
payItem.setCardCode(cardCode);
......@@ -4065,57 +4087,10 @@ public class OrderAdapter {
, String clientCode
, String channel
, Integer totalAmount) {
CombPayRequest combPayRequest = this.convent2CombPayOrderRequest(null, orderBean, paymentRequest, partnerPayOvertime, clientCode, channel, totalAmount);
MultiPayRequest orderPayDto = new MultiPayRequest();
orderPayDto.setEbCode(paymentRequest.getPayCode());
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());
BeanUtil.convertBean(combPayRequest, orderPayDto);
orderPayDto.setCardItems(cardCodes);//多卡支付
orderPayDto.setApplicationType(getPayApplicationType(orderBean.getOrderClient()));
orderPayDto.setSubAppid(orderBean.getAppId());
orderPayDto.setPayTypeCode(convertPayTypeCode(orderBean.getOrderClient()));
return orderPayDto;
}
......
......@@ -44,4 +44,20 @@ public class FacePayRequestDto {
private List<PayProductDto> products;
/**
* 订单号
*/
private String orderId;
/**
* 手机号
*/
private String mobile;
/**
* 会员编号
*/
private String memberId;
}
package cn.freemud.interceptor;
import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.beans.factory.annotation.Value;
......@@ -52,7 +51,7 @@ public class FeignInterceptor implements RequestInterceptor {
map.put(key, value);
}
}
AppLogUtil.printLog("clientIp for feign client info:" + JSON.toJSONString(map), "", "");
// AppLogUtil.printLog("clientIp for feign client info:" + JSON.toJSONString(map), "", "");
return map;
}
......
......@@ -515,6 +515,9 @@ public class PayServiceImpl {
request.setOperatorId("2");
request.setVer("2");
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);
if (responseBase == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(responseBase.getCode()) || responseBase.getData() == null) {
// 需要把2种特殊情况抛给用户
......@@ -797,6 +800,9 @@ public class PayServiceImpl {
request.setVer("2");
request.setMerchantDiscount(orderBean.getOriginalAmount().longValue() - orderBean.getAmount());
request.setApplicationType(orderAdapter.getPayApplicationType(orderBean.getOrderClient()));
request.setOrderId(orderBean.getOid());
request.setMobile(orderBean.getPhone());
request.setMemberId(orderBean.getUserId());
SVCCardAmountRequestDto svcRequest = new SVCCardAmountRequestDto();
svcRequest.setPartnerId(partnerId);
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