| @@ -0,0 +1,200 @@ | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_0` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_1` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_2` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_3` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_4` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_5` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_6` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_7` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_8` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_9` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_10` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_11` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_12` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_13` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_14` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_15` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_16` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_17` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_18` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_19` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_20` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_21` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_22` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_23` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_24` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_25` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_26` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_27` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_28` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_29` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_30` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_31` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_32` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_33` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_34` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_35` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_36` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_37` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_38` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_39` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_40` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_41` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_42` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_43` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_44` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_45` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_46` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_47` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_48` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_49` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_50` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_51` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_52` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_53` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_54` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_55` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_56` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_57` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_58` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_59` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_60` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_61` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_62` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_63` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_64` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_65` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_66` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_67` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_68` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_69` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_70` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_71` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_72` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_73` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_74` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_75` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_76` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_77` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_78` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_79` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_80` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_81` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_82` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_83` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_84` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_85` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_86` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_87` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_88` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_89` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_90` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_91` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_92` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_93` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_94` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_95` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_96` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_97` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_98` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| -- ALTER TABLE `mallink`.`wx_pay_order_99` | |||||
| -- ADD COLUMN `store_id` varchar(50) COMMENT '收款账户 (抖音分账用)' AFTER `rate_amount`; | |||||
| @@ -210,7 +210,7 @@ public class CouponOrderExpiringSchedule { | |||||
| wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | ||||
| wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); | wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); | ||||
| if (wxPayOrder != null && wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) { | |||||
| if (wxPayOrder != null) { | |||||
| WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); | WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); | ||||
| wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); | wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); | ||||
| wxSharingOrderDto.setMerchantId(0L); | wxSharingOrderDto.setMerchantId(0L); | ||||
| @@ -228,9 +228,7 @@ public class CouponOrderExpiringSchedule { | |||||
| // 未设置通道费差 | // 未设置通道费差 | ||||
| wxSharingOrderDto.setShareAmount(wxPayOrder.getChildOrderShare(co.getOrderId()).getShareAmount()); | wxSharingOrderDto.setShareAmount(wxPayOrder.getChildOrderShare(co.getOrderId()).getShareAmount()); | ||||
| } | } | ||||
| wxProfitSharingOrderService.finishSharingOrder(wxSharingOrderDto,wxPayOrder.getPayVendor()); | |||||
| }else if (wxPayOrder != null){ | |||||
| wxProfitSharingOrderService.finishDouyinSharingOrder(wxPayOrder); | |||||
| wxProfitSharingOrderService.finishSharingOrder(wxSharingOrderDto,wxPayOrder.getPayVendor(),wxPayOrder.getShare()); | |||||
| } | } | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| @@ -91,25 +91,7 @@ public class SharingOrderRedoSchedule { | |||||
| }); | }); | ||||
| } | } | ||||
| wxProfitSharingOrder.setType(EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getCode()); | |||||
| wxProfitSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_APPLY_FAILED.getCode()); | |||||
| list = wxProfitSharingOrderMapper.findList(wxProfitSharingOrder); | |||||
| if (null != list) { | |||||
| list.stream().forEach(sharingOrder->{ | |||||
| try { | |||||
| ResultData result = wxProfitSharingOrderService.redoDouyinSharingOrder(sharingOrder); | |||||
| if (result.code != ResultData.SUCCESS) { | |||||
| logger.error("分账重试失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getMessage() | |||||
| + " ID:" +sharingOrder.getId() | |||||
| + " RES:" + result.message); | |||||
| } | |||||
| } catch (Exception e){ | |||||
| logger.error("分账重试失败:" + EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getMessage() | |||||
| + " ID:" +sharingOrder.getId() | |||||
| + " MSG:" + e.getMessage()); | |||||
| } | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -63,6 +63,8 @@ public class WxPayOrder extends TenantEntity { | |||||
| private Integer shareAmount; | private Integer shareAmount; | ||||
| @io.swagger.annotations.ApiModelProperty(value="通道费差(购买时刻的通道费差,分账完结时使用)",name="rateAmount") | @io.swagger.annotations.ApiModelProperty(value="通道费差(购买时刻的通道费差,分账完结时使用)",name="rateAmount") | ||||
| private Integer rateAmount; | private Integer rateAmount; | ||||
| // @io.swagger.annotations.ApiModelProperty(value="收款账户 (抖音分账用)",name="storeId") | |||||
| // private String storeId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="子订单分账金额json",name="childOrderShare") | @io.swagger.annotations.ApiModelProperty(value="子订单分账金额json",name="childOrderShare") | ||||
| private String childOrderShare; | private String childOrderShare; | ||||
| @@ -24,7 +24,7 @@ public class DouYinCreatePreOrder { | |||||
| private String thirdpartyId;//第三方平台服务商 id,非服务商模式留空 【非必填】 | private String thirdpartyId;//第三方平台服务商 id,非服务商模式留空 【非必填】 | ||||
| private Integer disableMsg;//是否屏蔽担保支付的推送消息,1-屏蔽 0-非屏蔽,接入 POI 必传 【非必填】 | private Integer disableMsg;//是否屏蔽担保支付的推送消息,1-屏蔽 0-非屏蔽,接入 POI 必传 【非必填】 | ||||
| private String msgPage;//担保支付消息跳转页 【非必填】 | private String msgPage;//担保支付消息跳转页 【非必填】 | ||||
| private String storeUid;//多门店模式下,门店 uid 【非必填】 | |||||
| private String storeId;//收款门店商户编号。多门店模式下,为门店进件时拿到的商户编号 | |||||
| public Map toRequestMap() { | public Map toRequestMap() { | ||||
| Map map = new HashMap(); | Map map = new HashMap(); | ||||
| @@ -50,8 +50,8 @@ public class DouYinCreatePreOrder { | |||||
| if(StringUtils.isNotBlank(msgPage)){ | if(StringUtils.isNotBlank(msgPage)){ | ||||
| map.put("msg_page", msgPage); | map.put("msg_page", msgPage); | ||||
| } | } | ||||
| if(StringUtils.isNotBlank(storeUid)){ | |||||
| map.put("store_uid", storeUid); | |||||
| if(StringUtils.isNotBlank(storeId)){ | |||||
| map.put("store_id", storeId); | |||||
| } | } | ||||
| map.put("sign", DouYinPayHelper.getSign(map)); | map.put("sign", DouYinPayHelper.getSign(map)); | ||||
| @@ -21,13 +21,12 @@ public interface WxProfitSharingOrderService { | |||||
| /** | /** | ||||
| * 创建分账订单 | * 创建分账订单 | ||||
| */ | */ | ||||
| ResultData createSharingOrder(WxSharingOrderDto wxSharingOrderDto,Integer payway); | |||||
| ResultData createSharingOrder(WxSharingOrderDto wxSharingOrderDto,Integer payway,Integer share); | |||||
| /** | /** | ||||
| * 分账重试 | * 分账重试 | ||||
| */ | */ | ||||
| ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder); | ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder); | ||||
| ResultData redoDouyinSharingOrder(WxProfitSharingOrder sharingOrder); | |||||
| /** | /** | ||||
| * 查询分账订单 | * 查询分账订单 | ||||
| @@ -37,8 +36,7 @@ public interface WxProfitSharingOrderService { | |||||
| /** | /** | ||||
| * 结束分账订单 | * 结束分账订单 | ||||
| */ | */ | ||||
| ResultData finishSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payway); | |||||
| ResultData finishDouyinSharingOrder(WxPayOrder wxPayOrder); | |||||
| ResultData finishSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payway,Integer share); | |||||
| PageInfo<WxProfitSharingOrderVo> listAsPage(WxProfitSharingOrderQueryVo order, Integer pageNum, Integer pageSize); | PageInfo<WxProfitSharingOrderVo> listAsPage(WxProfitSharingOrderQueryVo order, Integer pageNum, Integer pageSize); | ||||
| @@ -279,7 +279,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| // } | // } | ||||
| // } | // } | ||||
| // } else { | // } else { | ||||
| // 有价储值卡消费时,如果未启用分账,金额也记入补贴表,可能会导致查询错误, TODO | |||||
| // 有价储值卡消费时,如果未启用分账,金额也记入补贴表,可能会导致查询错误, | |||||
| if (cardInfo.getSaleAmount() > 0) { | if (cardInfo.getSaleAmount() > 0) { | ||||
| if (payment > 0) { | if (payment > 0) { | ||||
| try { | try { | ||||
| @@ -450,13 +450,13 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| cardInfo1.setUpdateDate(new Date()); | cardInfo1.setUpdateDate(new Date()); | ||||
| wxCardInfoMapper.updateById(cardInfo1); | wxCardInfoMapper.updateById(cardInfo1); | ||||
| // 分账完结 | |||||
| WxSharingOrderDto shareOrder = new WxSharingOrderDto(); | |||||
| shareOrder.setCUserId(couponOrder.getOwnerId()); | |||||
| shareOrder.updateTenantInfo(wxCardInfo); | |||||
| shareOrder.setMerchantId(0L); // 卡完结,默认给0 | |||||
| shareOrder.setTransactionId(cardInfo.getTransactionId()); | |||||
| cardShareFinished(cardInfo, shareOrder,couponOrder.getPayVendor()); | |||||
| // 卡不分账完结 | |||||
| // WxSharingOrderDto shareOrder = new WxSharingOrderDto(); | |||||
| // shareOrder.setCUserId(couponOrder.getOwnerId()); | |||||
| // shareOrder.updateTenantInfo(wxCardInfo); | |||||
| // shareOrder.setMerchantId(0L); // 卡完结,默认给0 | |||||
| // shareOrder.setTransactionId(cardInfo.getTransactionId()); | |||||
| // cardShareFinished(cardInfo, shareOrder,couponOrder.getPayVendor()); | |||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("微信分账: " + e.getMessage()); | logger.error("微信分账: " + e.getMessage()); | ||||
| throw new MallinkException(e.getErrorCode(), e.getMessage()); | throw new MallinkException(e.getErrorCode(), e.getMessage()); | ||||
| @@ -477,91 +477,91 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public void shareForCardPay(TenantEntity tenantEntity, Long cardId, Long orderId, Long cardSpendId,Integer payWay) { | public void shareForCardPay(TenantEntity tenantEntity, Long cardId, Long orderId, Long cardSpendId,Integer payWay) { | ||||
| // 微信已分账检查次数 | // 微信已分账检查次数 | ||||
| int psNum = 0; | |||||
| try { | |||||
| WxCardSpend cardSpendQ = new WxCardSpend(); | |||||
| cardSpendQ.updateTenantInfo(tenantEntity); | |||||
| cardSpendQ.setCardId(cardId); | |||||
| psNum = wxCardSpendMapper.selectCount(new QueryWrapper(cardSpendQ)); | |||||
| if (psNum > 20) { | |||||
| logger.error("微信分账已超过限制次数-20次"); | |||||
| throw new MallinkException(ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT); | |||||
| } | |||||
| } catch (MallinkException e) { | |||||
| logger.error(e.getMessage()); | |||||
| throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| } catch (Exception e) { | |||||
| logger.error(e.getMessage()); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL); | |||||
| } | |||||
| // 分账时间检查 | |||||
| WxCouponOrder couponOrder = wxCouponOrderMapper.selectById(cardId,tenantEntity.getTenantId()); | |||||
| if (couponOrder.getExpiredTime().before(new Date())) { | |||||
| throw new MallinkException(ErrorCode.PROFIT_SHARING_TIME_EXPIRED); | |||||
| } | |||||
| // 微信分账 | |||||
| try { | |||||
| WxCardSpend cardSpend = new WxCardSpend(); | |||||
| cardSpend.updateTenantInfo(tenantEntity); | |||||
| cardSpend.setId(cardSpendId); | |||||
| cardSpend.setCardId(cardId); | |||||
| cardSpend.setOrderId(orderId); | |||||
| cardSpend = wxCardSpendMapper.selectOne(new QueryWrapper(cardSpend)); | |||||
| if (cardSpend != null && cardSpend.getRealPayment() <= 0) { | |||||
| logger.error("微信分账金额为0, 无法再分"); | |||||
| return; | |||||
| } | |||||
| WxCardInfo cardInfo = wxCardInfoMapper.selectById(cardSpend.getCardId()); | |||||
| WxOrder wxOrder = wxOrderMapper.selectById(orderId,cardInfo.getTenantId()); | |||||
| WxMerchant merchant = wxMerchantMapper.selectById(cardSpend.getMerchantId()); | |||||
| if (cardSpend != null && cardInfo != null && merchant != null) { | |||||
| // 分账 | |||||
| WxSharingOrderDto shareOrder = new WxSharingOrderDto(); | |||||
| shareOrder.setCUserId(cardSpend.getOwnerId()); | |||||
| shareOrder.setMerchantId(cardSpend.getMerchantId()); | |||||
| shareOrder.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode()); | |||||
| shareOrder.setPayAmount(cardSpend.getPayment()); | |||||
| shareOrder.setOrderId(cardSpendId); | |||||
| shareOrder.setPayTimeStart(cardSpend.getCreateDate()); | |||||
| shareOrder.setPayTimeEnd(cardSpend.getUpdateDate()); | |||||
| shareOrder.updateTenantInfo(tenantEntity); | |||||
| shareOrder.setTransactionId(cardInfo.getTransactionId()); | |||||
| shareOrder.setShareAmount(cardSpend.getRealPayment()); | |||||
| ResultData resultData = profitSharingOrderService.createSharingOrder(shareOrder,payWay); | |||||
| if (resultData.code != Result.SUCCESS) { | |||||
| // 分账异常 | |||||
| logger.error(resultData.message); | |||||
| throw new MallinkException(resultData.code, resultData.message); | |||||
| } | |||||
| // 卡消费记录状态更新 | |||||
| { | |||||
| WxCardSpend updateRecord = new WxCardSpend(); | |||||
| updateRecord.setId(cardSpend.getId()); | |||||
| updateRecord.setPayStatus(EnumCardSpendStatus.PS_SHARED.getCode()); | |||||
| updateRecord.setUpdateDate(new Date()); | |||||
| wxCardSpendMapper.updateById(updateRecord); | |||||
| } | |||||
| if (cardSpend.getCardRemainAmount().equals(0) | |||||
| || psNum == 20) { | |||||
| // 卡余额为0,或者卡已分账20次,发起分账完结 | |||||
| if (cardSpend.getCardRemainRealAmount() > 0) { | |||||
| // 卡已被抵扣,但是分账还有余额 | |||||
| shareOrder.setMerchantId(0L); // 卡完结,填0 | |||||
| cardShareFinished(cardInfo, shareOrder,couponOrder.getPayVendor()); | |||||
| } | |||||
| } | |||||
| } else { | |||||
| logger.error("微信分账: 未找到payorder or merchant at orderid-" + orderId); | |||||
| } | |||||
| } catch (MallinkException e) { | |||||
| logger.error("微信分账: " + e.getMessage()); | |||||
| throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| } | |||||
| // int psNum = 0; | |||||
| // try { | |||||
| // WxCardSpend cardSpendQ = new WxCardSpend(); | |||||
| // cardSpendQ.updateTenantInfo(tenantEntity); | |||||
| // cardSpendQ.setCardId(cardId); | |||||
| // psNum = wxCardSpendMapper.selectCount(new QueryWrapper(cardSpendQ)); | |||||
| // if (psNum > 20) { | |||||
| // logger.error("微信分账已超过限制次数-20次"); | |||||
| // throw new MallinkException(ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT); | |||||
| // } | |||||
| // } catch (MallinkException e) { | |||||
| // logger.error(e.getMessage()); | |||||
| // throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| // } catch (Exception e) { | |||||
| // logger.error(e.getMessage()); | |||||
| // throw new MallinkException(ErrorCode.DB_FAIL); | |||||
| // } | |||||
| // // 分账时间检查 | |||||
| // WxCouponOrder couponOrder = wxCouponOrderMapper.selectById(cardId,tenantEntity.getTenantId()); | |||||
| // if (couponOrder.getExpiredTime().before(new Date())) { | |||||
| // throw new MallinkException(ErrorCode.PROFIT_SHARING_TIME_EXPIRED); | |||||
| // } | |||||
| // | |||||
| // // 微信分账 | |||||
| // try { | |||||
| // WxCardSpend cardSpend = new WxCardSpend(); | |||||
| // cardSpend.updateTenantInfo(tenantEntity); | |||||
| // cardSpend.setId(cardSpendId); | |||||
| // cardSpend.setCardId(cardId); | |||||
| // cardSpend.setOrderId(orderId); | |||||
| // cardSpend = wxCardSpendMapper.selectOne(new QueryWrapper(cardSpend)); | |||||
| // if (cardSpend != null && cardSpend.getRealPayment() <= 0) { | |||||
| // logger.error("微信分账金额为0, 无法再分"); | |||||
| // return; | |||||
| // } | |||||
| // WxCardInfo cardInfo = wxCardInfoMapper.selectById(cardSpend.getCardId()); | |||||
| // WxOrder wxOrder = wxOrderMapper.selectById(orderId,cardInfo.getTenantId()); | |||||
| // WxMerchant merchant = wxMerchantMapper.selectById(cardSpend.getMerchantId()); | |||||
| // | |||||
| // if (cardSpend != null && cardInfo != null && merchant != null) { | |||||
| // // 分账 | |||||
| // WxSharingOrderDto shareOrder = new WxSharingOrderDto(); | |||||
| // shareOrder.setCUserId(cardSpend.getOwnerId()); | |||||
| // shareOrder.setMerchantId(cardSpend.getMerchantId()); | |||||
| // shareOrder.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode()); | |||||
| // shareOrder.setPayAmount(cardSpend.getPayment()); | |||||
| // shareOrder.setOrderId(cardSpendId); | |||||
| // shareOrder.setPayTimeStart(cardSpend.getCreateDate()); | |||||
| // shareOrder.setPayTimeEnd(cardSpend.getUpdateDate()); | |||||
| // shareOrder.updateTenantInfo(tenantEntity); | |||||
| // shareOrder.setTransactionId(cardInfo.getTransactionId()); | |||||
| // shareOrder.setShareAmount(cardSpend.getRealPayment()); | |||||
| // ResultData resultData = profitSharingOrderService.createSharingOrder(shareOrder,payWay); | |||||
| // if (resultData.code != Result.SUCCESS) { | |||||
| // // 分账异常 | |||||
| // logger.error(resultData.message); | |||||
| // throw new MallinkException(resultData.code, resultData.message); | |||||
| // } | |||||
| // | |||||
| // // 卡消费记录状态更新 | |||||
| // { | |||||
| // WxCardSpend updateRecord = new WxCardSpend(); | |||||
| // updateRecord.setId(cardSpend.getId()); | |||||
| // updateRecord.setPayStatus(EnumCardSpendStatus.PS_SHARED.getCode()); | |||||
| // updateRecord.setUpdateDate(new Date()); | |||||
| // wxCardSpendMapper.updateById(updateRecord); | |||||
| // } | |||||
| // | |||||
| // | |||||
| // if (cardSpend.getCardRemainAmount().equals(0) | |||||
| // || psNum == 20) { | |||||
| // // 卡余额为0,或者卡已分账20次,发起分账完结 | |||||
| // if (cardSpend.getCardRemainRealAmount() > 0) { | |||||
| // // 卡已被抵扣,但是分账还有余额 | |||||
| // shareOrder.setMerchantId(0L); // 卡完结,填0 | |||||
| // cardShareFinished(cardInfo, shareOrder,couponOrder.getPayVendor()); | |||||
| // } | |||||
| // } | |||||
| // } else { | |||||
| // logger.error("微信分账: 未找到payorder or merchant at orderid-" + orderId); | |||||
| // } | |||||
| // } catch (MallinkException e) { | |||||
| // logger.error("微信分账: " + e.getMessage()); | |||||
| // throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| // } | |||||
| } | } | ||||
| @@ -572,53 +572,53 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| * @param shareOrder | * @param shareOrder | ||||
| */ | */ | ||||
| private void cardShareFinished(WxCardInfo cardInfo, WxSharingOrderDto shareOrder,Integer payWay) { | private void cardShareFinished(WxCardInfo cardInfo, WxSharingOrderDto shareOrder,Integer payWay) { | ||||
| Date curDate = new Date(); | |||||
| // card spend 添加一条 记录] | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| WxCardSpend cardSpend = new WxCardSpend(); | |||||
| cardSpend.updateTenantInfo(cardInfo); | |||||
| cardSpend.setId(idWorker.nextId()); | |||||
| cardSpend.setCardId(cardInfo.getId()); | |||||
| cardSpend.setOrderId(null); | |||||
| cardSpend.setDeductionAmount(0); | |||||
| cardSpend.setPayment(cardInfo.getRemainingShareFeeAmount()); | |||||
| cardSpend.setRealPayment(cardInfo.getRemainingShareFeeAmount()); | |||||
| cardSpend.setCardBeforeAmount(cardInfo.getRemainingAmount()); | |||||
| cardSpend.setCardRemainAmount(0); | |||||
| cardSpend.setCardBeforeRealAmount(cardInfo.getRemainingShareFeeAmount()); | |||||
| cardSpend.setCardRemainRealAmount(0); | |||||
| cardSpend.setCreateDate(curDate); | |||||
| cardSpend.setUpdateDate(curDate); | |||||
| try { | |||||
| wxCardSpendMapper.insert(cardSpend); | |||||
| } catch (Exception e) { | |||||
| logger.error("card spend insert error"); | |||||
| return; | |||||
| } | |||||
| // card info 更新 分账 余额 | |||||
| WxCardInfo cardInfo1 = new WxCardInfo(); | |||||
| cardInfo1.setId(cardInfo.getId()); | |||||
| cardInfo1.setRemainingShareFeeAmount(0); | |||||
| cardInfo1.setUpdateDate(curDate); | |||||
| try { | |||||
| wxCardInfoMapper.updateById(cardInfo1); | |||||
| } catch (Exception e) { | |||||
| logger.error("card info remaining error"); | |||||
| return; | |||||
| } | |||||
| // 分账完结 | |||||
| shareOrder.setOrderId(cardSpend.getId()); | |||||
| shareOrder.setPayAmount(0); | |||||
| shareOrder.setOrderId(cardSpend.getId()); | |||||
| if (cardInfo.getRateAmount() != null) { | |||||
| // 分账实际金额 = 分账实际剩余金额 + 通道费差 | |||||
| shareOrder.setShareAmount(cardInfo.getRemainingShareFeeAmount() + cardInfo.getRateAmount()); | |||||
| } else { | |||||
| shareOrder.setShareAmount(cardInfo.getRemainingShareFeeAmount()); | |||||
| } | |||||
| shareOrder.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI_FINISH.getCode()); | |||||
| profitSharingOrderService.finishSharingOrder(shareOrder,payWay); | |||||
| // Date curDate = new Date(); | |||||
| // // card spend 添加一条 记录] | |||||
| // final IdWorker idWorker = IdWorker.get(); | |||||
| // WxCardSpend cardSpend = new WxCardSpend(); | |||||
| // cardSpend.updateTenantInfo(cardInfo); | |||||
| // cardSpend.setId(idWorker.nextId()); | |||||
| // cardSpend.setCardId(cardInfo.getId()); | |||||
| // cardSpend.setOrderId(null); | |||||
| // cardSpend.setDeductionAmount(0); | |||||
| // cardSpend.setPayment(cardInfo.getRemainingShareFeeAmount()); | |||||
| // cardSpend.setRealPayment(cardInfo.getRemainingShareFeeAmount()); | |||||
| // cardSpend.setCardBeforeAmount(cardInfo.getRemainingAmount()); | |||||
| // cardSpend.setCardRemainAmount(0); | |||||
| // cardSpend.setCardBeforeRealAmount(cardInfo.getRemainingShareFeeAmount()); | |||||
| // cardSpend.setCardRemainRealAmount(0); | |||||
| // cardSpend.setCreateDate(curDate); | |||||
| // cardSpend.setUpdateDate(curDate); | |||||
| // try { | |||||
| // wxCardSpendMapper.insert(cardSpend); | |||||
| // } catch (Exception e) { | |||||
| // logger.error("card spend insert error"); | |||||
| // return; | |||||
| // } | |||||
| // // card info 更新 分账 余额 | |||||
| // WxCardInfo cardInfo1 = new WxCardInfo(); | |||||
| // cardInfo1.setId(cardInfo.getId()); | |||||
| // cardInfo1.setRemainingShareFeeAmount(0); | |||||
| // cardInfo1.setUpdateDate(curDate); | |||||
| // try { | |||||
| // wxCardInfoMapper.updateById(cardInfo1); | |||||
| // } catch (Exception e) { | |||||
| // logger.error("card info remaining error"); | |||||
| // return; | |||||
| // } | |||||
| // | |||||
| // // 分账完结 | |||||
| // shareOrder.setOrderId(cardSpend.getId()); | |||||
| // shareOrder.setPayAmount(0); | |||||
| // shareOrder.setOrderId(cardSpend.getId()); | |||||
| // if (cardInfo.getRateAmount() != null) { | |||||
| // // 分账实际金额 = 分账实际剩余金额 + 通道费差 | |||||
| // shareOrder.setShareAmount(cardInfo.getRemainingShareFeeAmount() + cardInfo.getRateAmount()); | |||||
| // } else { | |||||
| // shareOrder.setShareAmount(cardInfo.getRemainingShareFeeAmount()); | |||||
| // } | |||||
| // shareOrder.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI_FINISH.getCode()); | |||||
| // profitSharingOrderService.finishSharingOrder(shareOrder,payWay); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -890,27 +890,27 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| } | } | ||||
| } | } | ||||
| // 9. 分账 | |||||
| try { | |||||
| shareForCardPay(record, record.getCardId(), record.getOrderId(), record.getId(),payWay); | |||||
| } catch (MallinkException e) { | |||||
| logger.error(e.getMessage()); | |||||
| if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode() || | |||||
| ErrorCode.PROFIT_SHARING_TIME_EXPIRED.getCode() == e.getErrorCode()) { | |||||
| // 分账已到20次限制,后面只记录,无法分账 | |||||
| // 分账已过期,后面只记录,无法分账 | |||||
| logger.error("分账已到20次限制,后面只记录,无法分账"); | |||||
| /* | |||||
| try { | |||||
| creteMerchantSubsidy(record, curDate, idWorker, coupon, payment); | |||||
| } catch (Exception ex) { | |||||
| logger.error("分账已到20次限制,记录到结算表失败"); | |||||
| } | |||||
| */ | |||||
| } else { | |||||
| throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| } | |||||
| } | |||||
| // 9. 卡不分账 | |||||
| // try { | |||||
| // shareForCardPay(record, record.getCardId(), record.getOrderId(), record.getId(),payWay); | |||||
| // } catch (MallinkException e) { | |||||
| // logger.error(e.getMessage()); | |||||
| // if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode() || | |||||
| // ErrorCode.PROFIT_SHARING_TIME_EXPIRED.getCode() == e.getErrorCode()) { | |||||
| // // 分账已到20次限制,后面只记录,无法分账 | |||||
| // // 分账已过期,后面只记录,无法分账 | |||||
| // logger.error("分账已到20次限制,后面只记录,无法分账"); | |||||
| // /* | |||||
| // try { | |||||
| // creteMerchantSubsidy(record, curDate, idWorker, coupon, payment); | |||||
| // } catch (Exception ex) { | |||||
| // logger.error("分账已到20次限制,记录到结算表失败"); | |||||
| // } | |||||
| // */ | |||||
| // } else { | |||||
| // throw new MallinkException(e.getErrorCode(), e.getMessage()); | |||||
| // } | |||||
| // } | |||||
| // 成长值 | // 成长值 | ||||
| try { | try { | ||||
| @@ -1557,50 +1557,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Override | @Override | ||||
| public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant) { | public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant) { | ||||
| WxPayAccount wxPayAccountQuery = new WxPayAccount(); | |||||
| wxPayAccountQuery.updateTenantInfo(couponOrder); | |||||
| WxPayAccount wxPayAccount = wxPayAccountMapper.selectOne(new QueryWrapper<>(wxPayAccountQuery)); | |||||
| if (wxPayAccount != null && wxPayAccount.getShare().equals(EnumPayShare.NO.getCode())) { | |||||
| try { | |||||
| // 核销记账,并且往账户里面记帐 | |||||
| if (couponOrder.getCouponPrice() > 0) { | |||||
| recordAfterVerified(couponOrder, merchant.getId()); | |||||
| //TODO (系统设置不分账抖音也需要分账)抖音先记账, 定时去处理分账业务 | |||||
| WxPayOrder wxPayOrder = new WxPayOrder(); | |||||
| // Long orderId = couponOrder.getOrderId(); | |||||
| // if (!EnumComposeOrder.isSingle(couponOrder.getComposeOrderType())) { | |||||
| // orderId = couponOrder.getComposeOrderId(); | |||||
| // } | |||||
| wxPayOrder.updateTenantInfo(couponOrder); | |||||
| wxPayOrder.setOrderId(couponOrder.getComposeOrderId()); | |||||
| wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | |||||
| wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); | |||||
| wxProfitSharingOrderService.finishDouyinSharingOrder(wxPayOrder); | |||||
| } | |||||
| } catch (Exception e) { | |||||
| logger.error("核销记账失败"+e.getMessage(),e); | |||||
| } | |||||
| } else { | |||||
| //如果是组合的,则为多次 | |||||
| if (EnumComposeOrder.isSingle(couponOrder.getComposeOrderType())) { | |||||
| try { | |||||
| // 核销分账 | |||||
| shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),false); | |||||
| } catch (Exception e) { | |||||
| logger.error("核销记账失败"+e.getMessage(),e); | |||||
| } | |||||
| }else { | |||||
| try { | |||||
| // 核销分账 | |||||
| shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),true); | |||||
| } catch (Exception e) { | |||||
| logger.error("核销记账失败"+e.getMessage(),e); | |||||
| } | |||||
| } | |||||
| } | |||||
| //如果是组合的,则为多次 | |||||
| if (EnumComposeOrder.isSingle(couponOrder.getComposeOrderType())) { | |||||
| try { | |||||
| // 核销分账 | |||||
| shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),false); | |||||
| } catch (Exception e) { | |||||
| logger.error("核销记账失败"+e.getMessage(),e); | |||||
| } | |||||
| }else { | |||||
| try { | |||||
| // 核销分账 | |||||
| shareAfterVerify(couponOrder, merchant.getId(),couponOrder.getPayVendor(),true); | |||||
| } catch (Exception e) { | |||||
| logger.error("核销记账失败"+e.getMessage(),e); | |||||
| } | |||||
| } | |||||
| try { | try { | ||||
| // 核销补贴 | // 核销补贴 | ||||
| @@ -1687,6 +1659,11 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| public void shareAfterVerify(WxCouponOrder couponOrder, Long merchantId,Integer payWay,boolean mulityShare) { | public void shareAfterVerify(WxCouponOrder couponOrder, Long merchantId,Integer payWay,boolean mulityShare) { | ||||
| // 微信分账 | // 微信分账 | ||||
| try { | try { | ||||
| //如果是抖音支付 只能单次分账 | |||||
| if(EnumPayWay.PAY_WAY_TT.getCode().equals(payWay) && mulityShare){ | |||||
| logger.error("抖音支付 只能单次分账: "); | |||||
| return; | |||||
| } | |||||
| WxPayOrder wxPayOrder = new WxPayOrder(); | WxPayOrder wxPayOrder = new WxPayOrder(); | ||||
| // Long orderId = couponOrder.getOrderId(); | // Long orderId = couponOrder.getOrderId(); | ||||
| // | // | ||||
| @@ -1698,25 +1675,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| wxPayOrder.setOrderId(couponOrder.getComposeOrderId()); | wxPayOrder.setOrderId(couponOrder.getComposeOrderId()); | ||||
| wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | ||||
| wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); | wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); | ||||
| if (wxPayOrder != null && wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) { | |||||
| WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); | |||||
| wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); | |||||
| wxSharingOrderDto.setMerchantId(merchantId); | |||||
| if (mulityShare) { | |||||
| wxSharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode()); | |||||
| }else { | |||||
| wxSharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()); | |||||
| } | |||||
| wxSharingOrderDto.setPayAmount(wxPayOrder.getPayAmount()); | |||||
| wxSharingOrderDto.setRateAmount(wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getRateAmount()); | |||||
| wxSharingOrderDto.setOrderId(wxPayOrder.getId()); | |||||
| wxSharingOrderDto.setPayTimeStart(wxPayOrder.getPayTimeStart()); | |||||
| wxSharingOrderDto.setPayTimeEnd(wxPayOrder.getPayTimeEnd()); | |||||
| wxSharingOrderDto.updateTenantInfo(wxPayOrder); | |||||
| wxSharingOrderDto.setTransactionId(wxPayOrder.getTransactionId()); | |||||
| wxSharingOrderDto.setShareAmount(wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getShareAmount()); | |||||
| wxProfitSharingOrderService.createSharingOrder(wxSharingOrderDto,payWay); | |||||
| }else if(wxPayOrder != null){ | |||||
| if(wxPayOrder != null && EnumPayShare.NO.getCode().equals(wxPayOrder.getShare())){ | |||||
| try { | try { | ||||
| // 订单购买时未分账 核销记账,并且往账户里面记帐 | // 订单购买时未分账 核销记账,并且往账户里面记帐 | ||||
| if (couponOrder.getCouponPrice() > 0) { | if (couponOrder.getCouponPrice() > 0) { | ||||
| @@ -1725,7 +1684,25 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("核销记账失败"+e.getMessage(),e); | logger.error("核销记账失败"+e.getMessage(),e); | ||||
| } | } | ||||
| } | |||||
| }else if(wxPayOrder != null){ | |||||
| WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); | |||||
| wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); | |||||
| wxSharingOrderDto.setMerchantId(merchantId); | |||||
| if (mulityShare) { | |||||
| wxSharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode()); | |||||
| }else { | |||||
| wxSharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()); | |||||
| } | |||||
| wxSharingOrderDto.setPayAmount(wxPayOrder.getPayAmount()); | |||||
| wxSharingOrderDto.setRateAmount(wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getRateAmount()); | |||||
| wxSharingOrderDto.setOrderId(wxPayOrder.getId()); | |||||
| wxSharingOrderDto.setPayTimeStart(wxPayOrder.getPayTimeStart()); | |||||
| wxSharingOrderDto.setPayTimeEnd(wxPayOrder.getPayTimeEnd()); | |||||
| wxSharingOrderDto.updateTenantInfo(wxPayOrder); | |||||
| wxSharingOrderDto.setTransactionId(wxPayOrder.getTransactionId()); | |||||
| wxSharingOrderDto.setShareAmount(wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getShareAmount()); | |||||
| wxProfitSharingOrderService.createSharingOrder(wxSharingOrderDto,payWay,wxPayOrder.getShare()); | |||||
| } | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("微信分账: " + e.getMessage()); | logger.error("微信分账: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -2326,8 +2326,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| wxOrder = wxOrderMapper.selectOne(new QueryWrapper(wxOrder)); | wxOrder = wxOrderMapper.selectOne(new QueryWrapper(wxOrder)); | ||||
| WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(wxOrder.getProductId()); | WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(wxOrder.getProductId()); | ||||
| if (wxPayOrder != null && wxMerchantBUser != null && | |||||
| wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) { | |||||
| if (wxPayOrder != null && wxMerchantBUser != null) { | |||||
| WxSharingOrderDto sharingOrder = new WxSharingOrderDto(); | WxSharingOrderDto sharingOrder = new WxSharingOrderDto(); | ||||
| sharingOrder.setCUserId(wxPayOrder.getCUserId()); | sharingOrder.setCUserId(wxPayOrder.getCUserId()); | ||||
| sharingOrder.setMerchantId(wxMerchantBUser.getMerchantId()); | sharingOrder.setMerchantId(wxMerchantBUser.getMerchantId()); | ||||
| @@ -2340,7 +2339,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| sharingOrder.updateTenantInfo(wxPayOrder); | sharingOrder.updateTenantInfo(wxPayOrder); | ||||
| sharingOrder.setTransactionId(wxPayOrder.getTransactionId()); | sharingOrder.setTransactionId(wxPayOrder.getTransactionId()); | ||||
| sharingOrder.setShareAmount(wxPayOrder.getChildOrderShare(orderId).getShareAmount()); | sharingOrder.setShareAmount(wxPayOrder.getChildOrderShare(orderId).getShareAmount()); | ||||
| ResultData resultData = wxProfitSharingOrderService.createSharingOrder(sharingOrder,payWay.getCode()); | |||||
| wxProfitSharingOrderService.createSharingOrder(sharingOrder,payWay.getCode(),wxPayOrder.getShare()); | |||||
| } else { | } else { | ||||
| logger.error("微信分账: 未找到payorder or merchant at orderid-" + orderId); | logger.error("微信分账: 未找到payorder or merchant at orderid-" + orderId); | ||||
| } | } | ||||
| @@ -133,8 +133,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| WxAppinfo appinfo; | WxAppinfo appinfo; | ||||
| Integer payWay; | Integer payWay; | ||||
| if (wxProfitSharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()) | if (wxProfitSharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()) | ||||
| || wxProfitSharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()) | |||||
| || wxProfitSharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getCode())){ | |||||
| || wxProfitSharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode())){ | |||||
| WxPayOrder wxPayOrder = wxPayOrderMapper.selectById(wxProfitSharingOrder.getOrderId(),wxProfitSharingOrder.getTenantId()); | WxPayOrder wxPayOrder = wxPayOrderMapper.selectById(wxProfitSharingOrder.getOrderId(),wxProfitSharingOrder.getTenantId()); | ||||
| if (wxPayOrder == null) | if (wxPayOrder == null) | ||||
| throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(),"wxProfitSharingOrder["+wxProfitSharingOrder.getId()+"] 没有payOrder信息."); | throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(),"wxProfitSharingOrder["+wxProfitSharingOrder.getId()+"] 没有payOrder信息."); | ||||
| @@ -226,41 +225,18 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| @Override | @Override | ||||
| @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) | @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) | ||||
| public ResultData redoDouyinSharingOrder(WxProfitSharingOrder sharingOrder) { | |||||
| if (!sharingOrder.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getCode())) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| } | |||||
| WxProfitShareAppInoDto dto = getAppinfo(sharingOrder); | |||||
| WxAppinfo appInfo = dto.getAppinfo(); | |||||
| WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); | |||||
| public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay,Integer share) { | |||||
| final IdWorker idworker = IdWorker.get(); | |||||
| PayShareResult shareResult = payServiceFactory.getPayShareAdapterService(dto.getPayWay()) | |||||
| .noReciverShare(appInfo, payAccount,sharingOrder,sharingOrder.getTransactionId(),sharingOrder.getPayAmount()); | |||||
| if (!shareResult.isSuccess()) { | |||||
| sharingOrder.setSharingStatus(shareResult.getCode()); | |||||
| sharingOrder.setErrorMsg("REDO:"+shareResult.getMsg()); | |||||
| sharingOrder.setUpdateTime(new Date()); | |||||
| wxProfitSharingOrderMapper.updateById(sharingOrder); | |||||
| return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),sharingOrder.getErrorMsg()); | |||||
| if ((EnumPayWay.PAY_WAY_WECHAT.getCode().equals(payWay) | |||||
| || EnumPayWay.PAY_WAY_WECHAT_MA.getCode().equals(payWay) | |||||
| || EnumPayWay.PAY_WAY_WECHAT_WAP.getCode().equals(payWay)) | |||||
| && EnumPayShare.NO.getCode().equals(share)){ | |||||
| logger.info("微信支付不分账模式下无需分账"); | |||||
| return new ResultData(); | |||||
| } | } | ||||
| sharingOrder.setSharingOrderNo(shareResult.getShareOrderNo()); | |||||
| sharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); | |||||
| sharingOrder.setErrorMsg("REDO:重试分账成功"); | |||||
| sharingOrder.setUpdateTime(new Date()); | |||||
| wxProfitSharingOrderMapper.updateById(sharingOrder); | |||||
| return new ResultData(shareResult.getData()); | |||||
| } | |||||
| @Override | |||||
| @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) | |||||
| public ResultData createSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay) { | |||||
| final IdWorker idworker = IdWorker.get(); | |||||
| if (!sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()) && | if (!sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode()) && | ||||
| !sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode())){ | !sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode())){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | ||||
| @@ -289,7 +265,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| // 分账完结 | // 分账完结 | ||||
| sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); | sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); | ||||
| } | } | ||||
| return finishSharingOrder(sharingOrderDto,payWay); | |||||
| return finishSharingOrder(sharingOrderDto,payWay,share); | |||||
| } | } | ||||
| //计算分账账户合法性 | //计算分账账户合法性 | ||||
| if (psReceiverList.size() > 1 && | if (psReceiverList.size() > 1 && | ||||
| @@ -491,12 +467,19 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| // 分账完结 | // 分账完结 | ||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public ResultData finishSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay) { | |||||
| public ResultData finishSharingOrder(WxSharingOrderDto sharingOrderDto,Integer payWay,Integer share) { | |||||
| final IdWorker idworker = IdWorker.get(); | final IdWorker idworker = IdWorker.get(); | ||||
| if ((EnumPayWay.PAY_WAY_WECHAT.getCode().equals(payWay) | |||||
| || EnumPayWay.PAY_WAY_WECHAT_MA.getCode().equals(payWay) | |||||
| || EnumPayWay.PAY_WAY_WECHAT_WAP.getCode().equals(payWay)) | |||||
| && EnumPayShare.NO.getCode().equals(share)){ | |||||
| logger.info("微信支付不分账模式下无需分账"); | |||||
| return new ResultData(); | |||||
| } | |||||
| if (!sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()) | if (!sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()) | ||||
| && | |||||
| !sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI_FINISH.getCode())){ | |||||
| && !sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI_FINISH.getCode())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | ||||
| } | } | ||||
| @@ -539,52 +522,6 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| return new ResultData(shareResult.getData()); | return new ResultData(shareResult.getData()); | ||||
| } | } | ||||
| @Override | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||||
| public ResultData finishDouyinSharingOrder(WxPayOrder wxPayOrder) { | |||||
| if(wxPayOrder == null || !EnumPayWay.PAY_WAY_TT.getCode().equals(wxPayOrder.getPayVendor())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| } | |||||
| WxAppinfo appInfo = getAppinfo(wxPayOrder.getTenantId(),wxPayOrder.getPayVendor()); | |||||
| WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); | |||||
| //分账检查是否已创建分账订单 | |||||
| WxProfitSharingOrder record = new WxProfitSharingOrder(); | |||||
| //创建分账订单 | |||||
| Date currentDate = new Date(); | |||||
| final IdWorker idworker = IdWorker.get(); | |||||
| record.setId(idworker.nextId()); | |||||
| record.updateTenantInfo(payAccount); | |||||
| record.setTransactionId(wxPayOrder.getTransactionId()); | |||||
| record.setPayAmount(wxPayOrder.getPayAmount()); | |||||
| record.setMerchantId(0l); | |||||
| record.setOrderId(wxPayOrder.getOrderId()); | |||||
| record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode()); | |||||
| record.setCreateTime(currentDate); | |||||
| record.setUpdateTime(currentDate); | |||||
| record.setPayTimeStart(wxPayOrder.getPayTimeStart()); | |||||
| record.setPayTimeEnd(wxPayOrder.getPayTimeEnd()); | |||||
| record.setType(EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getCode()); | |||||
| wxProfitSharingOrderMapper.insert(record); | |||||
| // //分账提交 | |||||
| // PayShareResult shareResult = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor()).noReciverShare(appInfo,payAccount,record,wxPayOrder.getPayOrderNo(),wxPayOrder.getShareAmount()); | |||||
| // if (!shareResult.isSuccess()) { | |||||
| // record.setSharingStatus(shareResult.getCode()); | |||||
| // record.setErrorMsg(shareResult.getMsg()); | |||||
| // record.setUpdateTime(new Date()); | |||||
| // wxProfitSharingOrderMapper.updateById(record); | |||||
| // return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),record.getErrorMsg()); | |||||
| // } | |||||
| // | |||||
| // record.setSharingOrderNo(shareResult.getShareOrderNo()); | |||||
| // record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); | |||||
| // record.setUpdateTime(new Date()); | |||||
| // wxProfitSharingOrderMapper.updateById(record); | |||||
| return new ResultData(); | |||||
| } | |||||
| @Override | @Override | ||||
| public PageInfo<WxProfitSharingOrderVo> listAsPage(WxProfitSharingOrderQueryVo order, Integer pageIndex, Integer pageSize) { | public PageInfo<WxProfitSharingOrderVo> listAsPage(WxProfitSharingOrderQueryVo order, Integer pageIndex, Integer pageSize) { | ||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxProfitSharingOrderMapper.findOrderList(order)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxProfitSharingOrderMapper.findOrderList(order)); | ||||
| @@ -186,9 +186,8 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| logger.error("已经核销过的券: couponOrder-" + couponOrderId); | logger.error("已经核销过的券: couponOrder-" + couponOrderId); | ||||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_USED); | throw new MallinkException(ErrorCode.COUPON_ORDER_IS_USED); | ||||
| } | } | ||||
| //TODO 查询订单状态是否是支付成功的状态,支付成功的状态才能退款。 | |||||
| // 查找支付订单 | |||||
| // 查询订单状态是否是支付成功的状态,支付成功的状态才能退款。 | |||||
| WxPayOrder payOrderQ = new WxPayOrder(); | WxPayOrder payOrderQ = new WxPayOrder(); | ||||
| payOrderQ.updateTenantInfo(wxCouponOrder); | payOrderQ.updateTenantInfo(wxCouponOrder); | ||||
| payOrderQ.setCUserId(wxOrder.getCUserId()); | payOrderQ.setCUserId(wxOrder.getCUserId()); | ||||
| @@ -43,7 +43,7 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen | |||||
| preOrder.setValidTime(15*60); | preOrder.setValidTime(15*60); | ||||
| // preOrder.setNotifyUrl();//回调地址 | // preOrder.setNotifyUrl();//回调地址 | ||||
| // preOrder.setThirdpartyId();//第三方服务商ID | // preOrder.setThirdpartyId();//第三方服务商ID | ||||
| // preOrder.setStoreUid(order.getStoreUid()); | |||||
| // preOrder.setStoreId(record.getStoreId()); | |||||
| CreatePreOrderResult preOrderResult = DouYinPayHelper.createPreOrder(preOrder); | CreatePreOrderResult preOrderResult = DouYinPayHelper.createPreOrder(preOrder); | ||||
| if(preOrderResult.isSuccess()){ | if(preOrderResult.isSuccess()){ | ||||
| @@ -1,6 +1,8 @@ | |||||
| package com.iformall.service.pay.service.share.douyin; | package com.iformall.service.pay.service.share.douyin; | ||||
| import com.alibaba.fastjson.JSON; | |||||
| import com.alibaba.fastjson.JSONArray; | import com.alibaba.fastjson.JSONArray; | ||||
| import com.alibaba.fastjson.JSONObject; | |||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.douyin.pay.DouYinPayHelper; | import com.iformall.douyin.pay.DouYinPayHelper; | ||||
| @@ -17,6 +19,9 @@ import com.iformall.service.pay.service.share.entity.ShareNotifyAdapterResult; | |||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.util.ArrayList; | |||||
| import java.util.HashMap; | |||||
| import java.util.List; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| @Slf4j | @Slf4j | ||||
| @@ -60,33 +65,31 @@ public class TtPayShareService extends PayShareBaseAdapterService{ | |||||
| @Override | @Override | ||||
| public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,String transcationId,JSONArray receivers,EnumProfitSharingOrderType shareType ) throws MallinkException { | public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,String transcationId,JSONArray receivers,EnumProfitSharingOrderType shareType ) throws MallinkException { | ||||
| // TODO: 2021/11/27 需要处理添加分账帐号 | |||||
| throw new MallinkException(ErrorCode.PROFIT_SHARING_REQUEST_FAILED); | |||||
| // Settle settle = new Settle(); | |||||
| // settle.setAppId(appInfo.getAppId()); | |||||
| // settle.setSalt(payAccount.getApiKey()); | |||||
| // settle.setOutSettleNo(record.getId().toString()); | |||||
| // settle.setOutOrderNo(transcationId); | |||||
| // settle.setSettleDesc("自主完结分账"); | |||||
| //// if(order.getSettlementAmount() != null && order.getSettlementAmount().intValue() > 0){ | |||||
| //// List list = new ArrayList<>(); | |||||
| //// Map<String,Object> settleParams = new HashMap<>(); | |||||
| //// settleParams.put("merchant_uid",merchantUid); | |||||
| //// settleParams.put("amount",order.getPayment()-order.getSettlementAmount()); | |||||
| //// list.add(settleParams); | |||||
| //// settle.setSettleParams(JSON.toJSONString(list)); | |||||
| //// } | |||||
| // | |||||
| // settle.setSettleParams(receivers.toJSONString()); | |||||
| // SettleResult settleResult = DouYinPayHelper.settle(settle); | |||||
| // | |||||
| // if (settleResult.isSuccess()) { | |||||
| // return new PayShareResult(true, null,"success", settleResult,settleResult.getSettleNo()); | |||||
| // }else{ | |||||
| // return new PayShareResult(false, EnumProfitSharingOrderStatus.PROFIT_SHARING_REQ_FAILED.getCode(),settleResult.getMsg(), null,null); | |||||
| // } | |||||
| Settle settle = new Settle(); | |||||
| settle.setAppId(appInfo.getAppId()); | |||||
| settle.setSalt(payAccount.getApiKey()); | |||||
| settle.setOutSettleNo(record.getId().toString()); | |||||
| settle.setOutOrderNo(transcationId); | |||||
| settle.setSettleDesc("自主完结分账"); | |||||
| List list = new ArrayList<>(); | |||||
| for (Object o: receivers) { | |||||
| JSONObject jo = (JSONObject) o; | |||||
| Map<String,Object> settleParams = new HashMap<>(); | |||||
| settleParams.put("merchant_uid",jo.getString("account")); | |||||
| settleParams.put("amount",jo.getInteger("amount")); | |||||
| list.add(settleParams); | |||||
| } | |||||
| settle.setSettleParams(JSON.toJSONString(list)); | |||||
| SettleResult settleResult = DouYinPayHelper.settle(settle); | |||||
| if (settleResult.isSuccess()) { | |||||
| return new PayShareResult(true, null,"success", settleResult,settleResult.getSettleNo()); | |||||
| }else{ | |||||
| return new PayShareResult(false, EnumProfitSharingOrderStatus.PROFIT_SHARING_REQ_FAILED.getCode(),settleResult.getMsg(), null,null); | |||||
| } | |||||
| } | } | ||||