From b715e924eba0801b58611b8385a629e540e2687e Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 5 Sep 2022 19:47:19 +0800 Subject: [PATCH] =?UTF-8?q?//=20=E5=88=86=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V2022090500002__addsharingorder.sql | 400 ++++++++++++++++++ .../domain/po/WxProfitSharingOrder.java | 6 + .../domain/vo/WxProfitSharingOrderVo.java | 1 + .../service/WxProfitSharingOrderService.java | 2 +- .../impl/WxProfitSharingOrderServiceImpl.java | 351 ++++++++------- .../entity/WxComposeChildOrderShare.java | 4 +- .../service/share/PayShareAdapterService.java | 8 +- .../share/douyin/TtPayShareService.java | 36 +- .../share/wx/sft/WxPayShareSFTService.java | 7 +- .../share/wx/v2/WxPayShareService.java | 7 +- .../share/wx/v3/WxPayShareV3Service.java | 11 +- .../mapper/WxProfitSharingOrderMapper.xml | 15 +- 12 files changed, 662 insertions(+), 186 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V2022090500002__addsharingorder.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V2022090500002__addsharingorder.sql b/mallinkAdmin/src/main/resources/db/migration/V2022090500002__addsharingorder.sql new file mode 100644 index 000000000..135339adb --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V2022090500002__addsharingorder.sql @@ -0,0 +1,400 @@ +ALTER TABLE `mallink`.`wx_profit_sharing_order_0` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_1` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_2` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_3` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_4` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_5` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_6` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_7` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_8` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_9` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_10` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_11` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_12` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_13` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_14` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_15` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_16` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_17` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_18` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_19` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_20` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_21` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_22` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_23` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_24` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_25` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_26` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_27` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_28` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_29` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_30` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_31` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_32` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_33` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_34` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_35` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_36` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_37` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_38` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_39` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_40` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_41` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_42` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_43` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_44` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_45` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_46` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_47` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_48` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_49` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_50` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_51` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_52` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_53` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_54` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_55` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_56` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_57` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_58` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_59` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_60` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_61` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_62` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_63` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_64` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_65` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_66` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_67` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_68` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_69` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_70` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_71` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_72` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_73` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_74` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_75` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_76` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_77` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_78` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_79` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_80` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_81` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_82` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_83` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_84` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_85` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_86` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_87` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_88` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_89` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_90` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_91` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_92` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_93` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_94` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_95` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_96` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_97` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_98` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; +ALTER TABLE `mallink`.`wx_profit_sharing_order_99` +ADD COLUMN `pay_version` smallint(3) AFTER `pay_vendor`, +ADD COLUMN `mchType` smallint(3) AFTER `pay_version`, +ADD COLUMN `point_deduction` json COMMENT '各种扣点费用' AFTER `type`; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingOrder.java index d085f9037..9cff2cb2d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingOrder.java @@ -26,6 +26,10 @@ public class WxProfitSharingOrder extends TenantEntity { private Long orderId; @io.swagger.annotations.ApiModelProperty(value="支付渠道: (抖音分账用)",name="payVendor") private Integer payVendor; + @io.swagger.annotations.ApiModelProperty(value="支付渠道版本EnumPayVersion ",name="payVersion") + private Integer payVersion; + @io.swagger.annotations.ApiModelProperty(value="EnumPayMchType 0:总分1:直连",name="mchType") + private Integer mchType; @io.swagger.annotations.ApiModelProperty(value="分账总金额(分)",name="payAmount") private Integer payAmount; @io.swagger.annotations.ApiModelProperty(value="订单ID",name="singleOrderId") @@ -42,6 +46,8 @@ public class WxProfitSharingOrder extends TenantEntity { private String sharingOrderNo; @io.swagger.annotations.ApiModelProperty(value="分账类型(0单次,1多次,2完结)",name="type") private Integer type; + @io.swagger.annotations.ApiModelProperty(value="各种扣点费用",name="pointDeduction") + private String pointDeduction; @io.swagger.annotations.ApiModelProperty(value="分账接收者参数",name="receivers") private String receivers; @io.swagger.annotations.ApiModelProperty(value="分账申请失败原因",name="errorMsg") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxProfitSharingOrderVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxProfitSharingOrderVo.java index ae005450e..8593671db 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxProfitSharingOrderVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxProfitSharingOrderVo.java @@ -48,6 +48,7 @@ public class WxProfitSharingOrderVo extends TenantEntity { @Excel(name="分账类型",width = 20,replace = { "单次分账_0", "多次分账_1", "完结分账(多次)_2", "完结分账(单次)_3"},orderNum = "6") private Integer type; + private String pointDeduction; private String receivers; private String errorMsg; diff --git a/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java index 57acf2a0d..71332f7cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java @@ -26,7 +26,7 @@ public interface WxProfitSharingOrderService { /** * 分账重试 */ - ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder,WxPayOrder payOrder); + ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder); /** * 分账完结重试 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index 6e5d2345f..c8e198fcc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -140,98 +140,66 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ @Override @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) - public ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder,WxPayOrder wxPayOrder) { + public ResultData redoSharingOrder(WxProfitSharingOrder sharingOrder) { if(!EnumProfitSharingOrderStatus.shareStatus().contains(sharingOrder.getSharingStatus())){ return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"分账状态不允许"); } - if (wxPayOrder == null) { - throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(),"wxProfitSharingOrder["+sharingOrder.getId()+"] 没有payOrder信息."); + PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(sharingOrder.getPayVendor(),sharingOrder.getPayVersion()); + Date currentDate = new Date(); + PayShareResult shareResult = null; + + //获取达人佣金 + int cpsCommission = payShareAdapterService.getCPSCommission(sharingOrder,sharingOrder.getSingleOrderId()); + + if(cpsCommission < 0){ + return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"未获取到达人佣金"); } - EnumPayWay enumPayWay = EnumPayWay.getEnum(wxPayOrder.getPayVendor()); + WxComposeChildOrderShare wxComposeChildOrderShare = JSONObject.parseObject(sharingOrder.getPointDeduction(), WxComposeChildOrderShare.class); + wxComposeChildOrderShare.setCpsCommission(cpsCommission); + //添加分账账号: 系统抽点,销售提成,商场扣点,平台(微信,抖音)抽佣 + int systemAmount = wxComposeChildOrderShare.getSystemAmount();//系统抽点 + int sellerAmount = 0;//销售抽点 + int mallAmount = wxComposeChildOrderShare.getRateAmount();//商场抽点 + int commissionAmount = wxComposeChildOrderShare.getCommissionAmount();//平台(微信,抖音)抽佣 + int realRateAmount = wxComposeChildOrderShare.getRealRateAmount();//支付通道费用 + + int shareAmount = wxComposeChildOrderShare.getShareAmount() - cpsCommission;//分给商户的钱 + + JSONArray receivers = new JSONArray();//分账参数json + if(systemAmount > 0){ + //todo 查询系统抽点到账帐号 jsonArray.add() + } + if(sellerAmount > 0){ + //todo 查询销售抽点到账帐号 jsonArray.add() + } + if(mallAmount > 0){ + //todo 查询商场抽点到账帐号 jsonArray.add() + //需要判断当前订单收款帐号非商场抽点到账帐号 + } + WxProfitSharingReceiver receiver = payShareAdapterService.getReceiver(sharingOrder,sharingOrder.getMerchantId(),null,sharingOrder.getMchType()); + if(EnumPayMchType.TOTAL.getCode().equals(sharingOrder.getMchType())){ + JSONObject jo = new JSONObject(); + jo.put("type",payShareAdapterService.getShareAccount(receiver.getReceiverType()).getMessage()); + jo.put("account",receiver.getReceiverAccount()); + jo.put("amount", receiver.getSharingAmount()); + jo.put("merchantId",receiver.getMerchantId()); + jo.put("description",receiver.getId().toString()); //为重试做准备 + receivers.add(jo); + } + + EnumPayWay enumPayWay = EnumPayWay.getEnum(sharingOrder.getPayVendor()); EnumAppPlat enumPlat = enumPayWay.getPlat(); WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(sharingOrder, enumPlat); WxPayAccount payAccount = wxPayAccountMapper.selectById(cAppInfo.getPayId()); - PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor(),wxPayOrder.getPayVersion()); - PayShareResult shareResult = null; - JSONArray jsonArray = null; - JSONArray recordJsonArray = null; - - if(StringUtils.isNotBlank(sharingOrder.getReceivers())){ - jsonArray = JSONArray.parseArray(sharingOrder.getReceivers()); - recordJsonArray = JSONArray.parseArray(sharingOrder.getReceivers()); - } - - //添加分账账号: 系统抽点,销售提成,商场扣点,平台(微信,抖音)抽佣 - int systemAmount = 0;//系统抽点 - int sellerAmount = 0;//销售抽点 - int mallAmount = 0;//商场抽点 - int commissionAmount = 0;//平台(微信,抖音)抽佣 - int realRateAmount = 0;//支付通道费用 - - wxPayOrder.getCommissionAmount(); - Long singleOrderId = sharingOrder.getSingleOrderId(); - if (null != singleOrderId) { - WxComposeChildOrderShare share = wxPayOrder.getChildOrderShare(singleOrderId); - share.getCommissionAmount(); - share.getSystemAmount(); - share.getShareAmount(); - - } - - //直连模式 - if (EnumPayMchType.DIRECT.getCode() == wxPayOrder.getMchType()) { - //当前商户的收款账号,为了加上收款记录 - WxProfitSharingReceiver receiver = payShareAdapterService.getReceiver(sharingOrder, sharingOrder.getMerchantId(), wxPayOrder.getTtPayWay(), wxPayOrder.getMchType()); - if (null == receiver) { - return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),"当前商户未配置收款账号"); - } - StringBuffer sb = new StringBuffer("{").append("\"description\":").append(receiver.getId()).append(",\"amount\":").append(mallAmount).append("}"); - - //TODO ########################### 给用户看到的只有商场包干抽点(实际包括系统抽点,销售抽点,商场抽点) - //要获取商管商户 - - - - if (null == recordJsonArray) { - recordJsonArray = JSONArray.parseArray("["+sb.toString()+"]"); - }else { - recordJsonArray.add(JSON.parseObject(sb.toString())); - } - } - - List resultList = new ArrayList(); - if(jsonArray == null || jsonArray.isEmpty()){ + if(receivers.isEmpty()){ shareResult = payShareAdapterService.noReciverShare(cAppInfo, payAccount, sharingOrder); }else{ - if (null != recordJsonArray && recordJsonArray.size() > 0 ) { - final IdWorker idworker = IdWorker.get(); - Date currentDate = new Date(); - try { - recordJsonArray.stream().forEach(obj -> { - JSONObject receiver =(JSONObject) obj; - WxProfitSharingResult result = new WxProfitSharingResult(); - result.setId(idworker.nextId()); - result.updateTenantInfo(sharingOrder); - result.setMerchantId(sharingOrder.getMerchantId()); - result.setSharingOrderId(sharingOrder.getId()); - result.setSharingReceiverId(Long.valueOf(receiver.getString("description"))); - result.setPayAmount(receiver.getInteger("amount")); - result.setCreateTime(currentDate); - result.setUpdateTime(currentDate); - result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode()); - resultList.add(result); - }); - }catch (Exception e) { - logger.error("分账详细信息为null",e); - return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); - } - } - shareResult = payShareAdapterService.haveReciversShare(cAppInfo, payAccount, sharingOrder, jsonArray, wxPayOrder.getMchType()); + shareResult = payShareAdapterService.haveReciversShare(cAppInfo, payAccount, sharingOrder, receivers); } if (null == shareResult) { @@ -245,21 +213,48 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ if (!shareResult.isSuccess()) { updSharingOrder.setSharingStatus(shareResult.getCode()); updSharingOrder.setErrorMsg(shareResult.getMsg()); - updSharingOrder.setUpdateTime(new Date()); + updSharingOrder.setUpdateTime(currentDate); wxProfitSharingOrderMapper.updateById(updSharingOrder); return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),updSharingOrder.getErrorMsg()); } + updSharingOrder.setPointDeduction(JSON.toJSONString(wxComposeChildOrderShare)); + updSharingOrder.setReceivers(JSON.toJSONString(receivers)); updSharingOrder.setSharingOrderNo(shareResult.getShareOrderNo()); updSharingOrder.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); - updSharingOrder.setErrorMsg(shareResult.getMsg()); - updSharingOrder.setUpdateTime(new Date()); + updSharingOrder.setErrorMsg(""); + updSharingOrder.setUpdateTime(currentDate); wxProfitSharingOrderMapper.updateById(updSharingOrder); - if (resultList.size() > 0 ) { - for (WxProfitSharingResult result:resultList) { - wxProfitSharingResultMapper.insert(result); - } + if(EnumPayMchType.DIRECT.getCode().equals(sharingOrder.getMchType())){ + //如果是直连 把分给商户的钱记录下来 + JSONObject jo = new JSONObject(); + jo.put("type",payShareAdapterService.getShareAccount(receiver.getReceiverType()).getMessage()); + jo.put("account",receiver.getReceiverAccount()); + jo.put("amount", receiver.getSharingAmount()); + jo.put("merchantId",receiver.getMerchantId()); + jo.put("description",receiver.getId().toString()); //为重试做准备 + receivers.add(jo); + } + try{ + final IdWorker idworker = IdWorker.get(); + receivers.stream().forEach(obj -> { + JSONObject o =(JSONObject) obj; + WxProfitSharingResult result = new WxProfitSharingResult(); + result.setId(idworker.nextId()); + result.updateTenantInfo(sharingOrder); + result.setMerchantId(Long.valueOf(o.getString("merchantId"))); + result.setSharingOrderId(sharingOrder.getId()); + result.setSharingReceiverId(Long.valueOf(o.getString("description"))); + result.setPayAmount(o.getInteger("amount")); + result.setCreateTime(currentDate); + result.setUpdateTime(currentDate); + result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode()); + wxProfitSharingResultMapper.insert(result); + }); + }catch(Exception e){ + logger.info("记账失败"+sharingOrder.getId()); } + return new ResultData(shareResult.getData()); } @@ -269,11 +264,55 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ PayShareAdapterService payShareAdapterService = payServiceFactory.getPayShareAdapterService(payOrder.getPayVendor(),payOrder.getPayVersion()); //创建分账订单 - WxProfitSharingOrder record = payShareAdapterService.createSharingOrder(sharingOrderDto,payOrder); - //处理各种抽点 -// handleSharingOrder(record,payOrder); + WxComposeChildOrderShare childOrderShare = null; + if(sharingOrderDto.getSingleOrderId() != null){ + childOrderShare = payOrder.getChildOrderShare(sharingOrderDto.getSingleOrderId()); + }else{ + childOrderShare = payOrder.getSingleChildOrderShare(); + } +// WxProfitSharingOrder record = payShareAdapterService.createSharingOrder(sharingOrderDto,payOrder); + WxProfitSharingOrder record = new WxProfitSharingOrder(); + record.updateTenantInfo(payOrder); + record.setOrderId(payOrder.getId()); + record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); + record = wxProfitSharingOrderMapper.selectOne(new QueryWrapper(record)); + if (record == null) { + //创建分账订单 + Date currentDate = new Date(); + record = new WxProfitSharingOrder(); + final IdWorker idworker = IdWorker.get(); + record.setId(idworker.nextId()); + record.updateTenantInfo(payOrder); + record.setTransactionId(payOrder.getTransactionId()); + record.setOrderId(payOrder.getId()); + record.setPayVendor(payOrder.getPayVendor()); + record.setPayVersion(payOrder.getPayVersion()); + record.setMchType(payOrder.getMchType()); + record.setSingleOrderId(sharingOrderDto.getSingleOrderId()); + record.setSingleOrderAmount(childOrderShare.getRealPayMent()); + record.setPayAmount(payOrder.getPayAmount()); + record.setMerchantId(sharingOrderDto.getMerchantId()); + //直连模式, + if (payOrder.getMchType() == EnumPayMchType.DIRECT.getCode()) { + if (null == childOrderShare.getMerchantId()) { + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户查询为空"); + } + if (StringUtils.isBlank(childOrderShare.getMerchantUid())) { + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"直连模式当前订单的收款商户特约商户号进件信息查询为空"); + } + record.setPayMerchantId(childOrderShare.getMerchantId()); + record.setPayMerchantMchId(childOrderShare.getMerchantUid()); + } + record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_READY.getCode()); + record.setPointDeduction(JSON.toJSONString(childOrderShare)); + record.setCreateTime(currentDate); + record.setUpdateTime(currentDate); + record.setType(sharingOrderDto.getType()); + wxProfitSharingOrderMapper.insert(record); + } + //实际调用分账 - ResultData resultData = redoSharingOrder(record,payOrder); + ResultData resultData = redoSharingOrder(record); return resultData; } @@ -307,73 +346,73 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ sharingOrderUpd.setUpdateTime(new Date()); wxProfitSharingOrderMapper.updateById(sharingOrderUpd); - if(EnumPayWay.PAY_WAY_TT.equals(enumPayWay)){ - return new ResultData(payShareQueryResult.getData()); - } - - List receivers = payShareQueryResult.getReceivers(); - - if (receivers != null) { - WxProfitSharingResult result = new WxProfitSharingResult(); - result.setSharingOrderId(sharingOrder.getId()); - result.updateTenantInfo(sharingOrder); - List wxProfitSharingResultList = wxProfitSharingResultMapper.findList(result); - for(int j = 0; j < receivers.size() ; j++) { - PayShareQueryResultReceivers res = receivers.get(j); - JSONObject des = new JSONObject(); - des.put("type", res.getType()); - des.put("account", res.getAccount()); - des.put("description", res.getDescription()); - des.put("amount", res.getAmount()); - - int i = 0; - for (i = 0; i < wxProfitSharingResultList.size(); i++) { - WxProfitSharingResult wxProfitSharingResult = wxProfitSharingResultList.get(i); - WxProfitSharingReceiver wxProfitSharingReceiver = wxProfitSharingReceiverMapper.selectById(wxProfitSharingResult.getSharingReceiverId()); - if (wxProfitSharingReceiver == null) continue; - - if (res.getType().equals(EnumProfitSharingReceiverType.getEnum(wxProfitSharingReceiver.getReceiverType()).getMessage()) - && res.getAccount().equals(wxProfitSharingReceiver.getReceiverAccount())) { - wxProfitSharingResult.setFinishTime(res.getFinish_time()); - wxProfitSharingResult.setUpdateTime(new Date()); - wxProfitSharingResult.setSharingStatus(resultStatusMap.getIntValue(res.getResult())); - wxProfitSharingResult.setFailedReason(res.getFail_reason()); - wxProfitSharingResult.setDescription(des.toJSONString()); - wxProfitSharingResultMapper.updateById(wxProfitSharingResult); - break; - } - } - if (i == wxProfitSharingResultList.size()) { - - WxProfitSharingResult wxProfitSharingResult = new WxProfitSharingResult(); - - wxProfitSharingResult.updateTenantInfo(sharingOrder); - wxProfitSharingResult.setMerchantId(sharingOrder.getMerchantId()); - wxProfitSharingResult.setSharingOrderId(sharingOrder.getId()); - wxProfitSharingResult.setSharingReceiverId(0L); //剩余钱分给特约商户,没有相应的接受者 - - List list = wxProfitSharingResultMapper.findList(wxProfitSharingResult); - if (list.size() > 0) { - wxProfitSharingResult = list.get(0); - } - - wxProfitSharingResult.setPayAmount(Integer.valueOf(res.getAmount())); - wxProfitSharingResult.setFinishTime(res.getFinish_time()); - wxProfitSharingResult.setSharingStatus(resultStatusMap.getIntValue(res.getResult())); - wxProfitSharingResult.setFailedReason(res.getFail_reason()); - wxProfitSharingResult.setDescription(des.toJSONString()); - if (wxProfitSharingResult.getId() != null) { - wxProfitSharingResult.setUpdateTime(new Date()); - wxProfitSharingResultMapper.updateById(wxProfitSharingResult); - } else { - wxProfitSharingResult.setCreateTime(new Date()); - wxProfitSharingResult.setUpdateTime(new Date()); - wxProfitSharingResult.setId(IdWorker.get().nextId()); - wxProfitSharingResultMapper.insert(wxProfitSharingResult); - } - } - } - } +// if(EnumPayWay.PAY_WAY_TT.equals(enumPayWay)){ +// return new ResultData(payShareQueryResult.getData()); +// } +// +// List receivers = payShareQueryResult.getReceivers(); +// +// if (receivers != null) { +// WxProfitSharingResult result = new WxProfitSharingResult(); +// result.setSharingOrderId(sharingOrder.getId()); +// result.updateTenantInfo(sharingOrder); +// List wxProfitSharingResultList = wxProfitSharingResultMapper.findList(result); +// for(int j = 0; j < receivers.size() ; j++) { +// PayShareQueryResultReceivers res = receivers.get(j); +// JSONObject des = new JSONObject(); +// des.put("type", res.getType()); +// des.put("account", res.getAccount()); +// des.put("description", res.getDescription()); +// des.put("amount", res.getAmount()); +// +// int i = 0; +// for (i = 0; i < wxProfitSharingResultList.size(); i++) { +// WxProfitSharingResult wxProfitSharingResult = wxProfitSharingResultList.get(i); +// WxProfitSharingReceiver wxProfitSharingReceiver = wxProfitSharingReceiverMapper.selectById(wxProfitSharingResult.getSharingReceiverId()); +// if (wxProfitSharingReceiver == null) continue; +// +// if (res.getType().equals(EnumProfitSharingReceiverType.getEnum(wxProfitSharingReceiver.getReceiverType()).getMessage()) +// && res.getAccount().equals(wxProfitSharingReceiver.getReceiverAccount())) { +// wxProfitSharingResult.setFinishTime(res.getFinish_time()); +// wxProfitSharingResult.setUpdateTime(new Date()); +// wxProfitSharingResult.setSharingStatus(resultStatusMap.getIntValue(res.getResult())); +// wxProfitSharingResult.setFailedReason(res.getFail_reason()); +// wxProfitSharingResult.setDescription(des.toJSONString()); +// wxProfitSharingResultMapper.updateById(wxProfitSharingResult); +// break; +// } +// } +// if (i == wxProfitSharingResultList.size()) { +// +// WxProfitSharingResult wxProfitSharingResult = new WxProfitSharingResult(); +// +// wxProfitSharingResult.updateTenantInfo(sharingOrder); +// wxProfitSharingResult.setMerchantId(sharingOrder.getMerchantId()); +// wxProfitSharingResult.setSharingOrderId(sharingOrder.getId()); +// wxProfitSharingResult.setSharingReceiverId(0L); //剩余钱分给特约商户,没有相应的接受者 +// +// List list = wxProfitSharingResultMapper.findList(wxProfitSharingResult); +// if (list.size() > 0) { +// wxProfitSharingResult = list.get(0); +// } +// +// wxProfitSharingResult.setPayAmount(Integer.valueOf(res.getAmount())); +// wxProfitSharingResult.setFinishTime(res.getFinish_time()); +// wxProfitSharingResult.setSharingStatus(resultStatusMap.getIntValue(res.getResult())); +// wxProfitSharingResult.setFailedReason(res.getFail_reason()); +// wxProfitSharingResult.setDescription(des.toJSONString()); +// if (wxProfitSharingResult.getId() != null) { +// wxProfitSharingResult.setUpdateTime(new Date()); +// wxProfitSharingResultMapper.updateById(wxProfitSharingResult); +// } else { +// wxProfitSharingResult.setCreateTime(new Date()); +// wxProfitSharingResult.setUpdateTime(new Date()); +// wxProfitSharingResult.setId(IdWorker.get().nextId()); +// wxProfitSharingResultMapper.insert(wxProfitSharingResult); +// } +// } +// } +// } return new ResultData(payShareQueryResult.getData()); } diff --git a/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java b/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java index 4640144c3..f7bc5a3bb 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java +++ b/mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java @@ -53,8 +53,10 @@ public class WxComposeChildOrderShare { private Integer realRateAmount;//平台手续费(微信,抖音) private Integer commissionAmount = 0;//平台佣金(微信,抖音) - + private Integer systemAmount = 0;//系统扣点费 + + private Integer cpsCommission;//达人佣金 private Long merchantId;//收款商户 private String merchantUid;//收款商户 diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java index 13f02da8c..137670625 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java @@ -83,7 +83,7 @@ public interface PayShareAdapterService { * @return * @throws MallinkException */ - public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers,Integer mchType ) throws MallinkException; + public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers) throws MallinkException; /** * 分账结果查询 @@ -127,6 +127,12 @@ public interface PayShareAdapterService { */ public ShareAccountResult deleteShareAccount(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingReceiver receiver); + /** + * 获取达人佣金 + * @return + */ + int getCPSCommission(TenantEntity tenantEntity, Long orderId); + /** * 获取官方佣金率 * @param o diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java index 039541c0e..d9d82f3ec 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java @@ -153,28 +153,12 @@ public class TtPayShareService extends PayShareBaseAdapterService{ } @Override - public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers,Integer mchType) throws MallinkException { - -// //判断佣金是否已经出来了,没出来返回错误 -// WxOrder order = wxOrderMapper.selectById(record.getSingleOrderId(), appInfo.getTenantId()); -// if(EnumOrderCpsStatus.ORDER_DEF_CPS.getCode().equals(order.getCpsStatus())){ -// //如果没有查询到佣金 -// return new PayShareResult(false, EnumProfitSharingOrderStatus.PROFIT_SHARING_APPLY_FAILED.getCode(),"订单未同步cps", null,null); -// } -// -// //TODO 购物车逻辑待处理。抖音只能所有订单都核销了才能核销 -// -// //TODO 总分要算佣金。 -// if(EnumPayMchType.TOTAL.getCode().equals(mchType)){ -// } - - - + public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers) throws MallinkException { - - if(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode().equals(record.getSharingStatus())){ + if(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode().equals(record.getSharingStatus())){ return new PayShareResult(false, EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode(),"分账准备中", null,null); } + String before3dayStr = DateUtils.getTimeBefore(2, new Date()); Date before3day = DateUtils.stringToDate(before3dayStr); if(before3day.before(record.getCreateTime())){ @@ -283,6 +267,20 @@ public class TtPayShareService extends PayShareBaseAdapterService{ throw new MallinkException(ErrorCode.PROFIT_SHARING_QUERY_UNKNOWN_TYPE); } + @Override + public int getCPSCommission(TenantEntity tenantEntity, Long orderId) { + WxOrder order = wxOrderMapper.selectById(orderId, tenantEntity.getTenantId()); + if(EnumOrderCpsStatus.ORDER_IS_CPS.getCode().equals(order.getCpsStatus())){ + OrderCps orderCps = orderCpsMapper.selectById(orderId, tenantEntity.getTenantId()); + if(orderCps != null){ + return orderCps.getCommissionAmount(); + } + }else{ + return -1;//还未查询到达人佣金 + } + return 0; + } + @Override public int getOfficialCommission(WxOrder o, WxPayAccount payAccount) { if(!EnumOrderType.COUPON.getCode().equals(o.getType())){ diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java index 3fb139dc2..3886b07e4 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java @@ -90,7 +90,7 @@ public class WxPayShareSFTService extends PayShareBaseAdapterService{ } @Override - public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers,Integer mchType) throws MallinkException { + public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers) throws MallinkException { return null; } @@ -145,6 +145,11 @@ public class WxPayShareSFTService extends PayShareBaseAdapterService{ } + @Override + public int getCPSCommission(TenantEntity tenantEntity, Long orderId) { + return 0; + } + @Override public int getOfficialCommission(WxOrder o, WxPayAccount payAccount) { return 0; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java index 2b9295262..91d62f71c 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java @@ -119,7 +119,7 @@ public class WxPayShareService extends PayShareBaseAdapterService{ } @Override - public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers,Integer mchType) throws MallinkException { + public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers) throws MallinkException { //分账提交 WxProfitSharingP psCmd = new WxProfitSharingP(); psCmd.setMch_id(payAccount.getMchId()); @@ -334,6 +334,11 @@ public class WxPayShareService extends PayShareBaseAdapterService{ return super._deleteShareAccount(appInfo, payAccount, receiver,wxProfitSharingReceiverMapper); } + @Override + public int getCPSCommission(TenantEntity tenantEntity, Long orderId) { + return 0; + } + @Override public int getOfficialCommission(WxOrder o, WxPayAccount payAccount) { return 0; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java index 16f9c61ec..21997bba5 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java @@ -191,10 +191,10 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ } @Override - public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers,Integer mchType ) throws MallinkException { + public PayShareResult haveReciversShare(WxAppinfo appInfo,WxPayAccount payAccount,WxProfitSharingOrder record,JSONArray receivers) throws MallinkException { V3PayShareReq req = new V3PayShareReq(); //直连模式 - if (EnumPayMchType.DIRECT.getCode().equals(mchType)) { + if (EnumPayMchType.DIRECT.getCode().equals(record.getMchType())) { req.setSub_mchid(record.getPayMerchantMchId()); //总分 }else { @@ -361,7 +361,12 @@ public class WxPayShareV3Service extends PayShareBaseAdapterService{ } } - @Override + @Override + public int getCPSCommission(TenantEntity tenantEntity, Long orderId) { + return 0; + } + + @Override public int getOfficialCommission(WxOrder o, WxPayAccount payAccount) { return 0; } diff --git a/mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml index 3d0392658..41fa5d997 100644 --- a/mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml @@ -11,6 +11,8 @@ + + @@ -19,6 +21,7 @@ + @@ -27,8 +30,8 @@ - `id`,`tenant_id`,`parent_tenant_id`,`out_settle_no`,`merchant_id`,`pay_merchant_id`,`pay_merchant_mch_id`,`order_id`,`pay_vendor`,`pay_amount`, - `single_order_amount`,`single_order_id`,`pay_time_end`,`pay_time_start`,`transaction_id`,`sharing_order_no`,`type`,`receivers`,`error_msg`,`sharing_status`,`update_time`,`create_time` + `id`,`tenant_id`,`parent_tenant_id`,`out_settle_no`,`merchant_id`,`pay_merchant_id`,`pay_merchant_mch_id`,`order_id`,`pay_vendor`,`pay_version`,`mch_type`,`pay_amount`, + `single_order_amount`,`single_order_id`,`pay_time_end`,`pay_time_start`,`transaction_id`,`sharing_order_no`,`type`,`point_deduction`,`receivers`,`error_msg`,`sharing_status`,`update_time`,`create_time` @@ -69,7 +72,12 @@ and `pay_vendor` = #{payVendor} - + + + and `pay_version` = #{payVersion} + + + and `mch_type` = #{mchType} @@ -157,6 +165,7 @@ +