Просмотр исходного кода

// 分账

release_toaliyun_real
xhxu 3 лет назад
Родитель
Сommit
b715e924eb
12 измененных файлов: 662 добавлений и 186 удалений
  1. +400
    -0
      mallinkAdmin/src/main/resources/db/migration/V2022090500002__addsharingorder.sql
  2. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingOrder.java
  3. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxProfitSharingOrderVo.java
  4. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxProfitSharingOrderService.java
  5. +195
    -156
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java
  6. +3
    -1
      mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeChildOrderShare.java
  7. +7
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/PayShareAdapterService.java
  8. +17
    -19
      mallinkService/src/main/java/com/iformall/service/pay/service/share/douyin/TtPayShareService.java
  9. +6
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/sft/WxPayShareSFTService.java
  10. +6
    -1
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v2/WxPayShareService.java
  11. +8
    -3
      mallinkService/src/main/java/com/iformall/service/pay/service/share/wx/v3/WxPayShareV3Service.java
  12. +12
    -3
      mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml

+ 400
- 0
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`;

+ 6
- 0
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")


+ 1
- 0
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;


+ 1
- 1
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);

/**
* 分账完结重试


+ 195
- 156
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<WxProfitSharingResult> resultList = new ArrayList<WxProfitSharingResult>();
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<PayShareQueryResultReceivers> receivers = payShareQueryResult.getReceivers();
if (receivers != null) {
WxProfitSharingResult result = new WxProfitSharingResult();
result.setSharingOrderId(sharingOrder.getId());
result.updateTenantInfo(sharingOrder);
List <WxProfitSharingResult> 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<WxProfitSharingResult> 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<PayShareQueryResultReceivers> receivers = payShareQueryResult.getReceivers();
//
// if (receivers != null) {
// WxProfitSharingResult result = new WxProfitSharingResult();
// result.setSharingOrderId(sharingOrder.getId());
// result.updateTenantInfo(sharingOrder);
// List <WxProfitSharingResult> 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<WxProfitSharingResult> 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());
}



+ 3
- 1
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;//收款商户


+ 7
- 1
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


+ 17
- 19
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())){


+ 6
- 1
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;


+ 6
- 1
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;


+ 8
- 3
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;
}


+ 12
- 3
mallinkService/src/main/resources/mapper/WxProfitSharingOrderMapper.xml Просмотреть файл

@@ -11,6 +11,8 @@
<result column="pay_merchant_mch_id" jdbcType="VARCHAR" property="payMerchantMchId" />
<result column="order_id" jdbcType="BIGINT" property="orderId" />
<result column="pay_vendor" jdbcType="INTEGER" property="payVendor"/>
<result column="pay_version" jdbcType="INTEGER" property="payVersion"/>
<result column="mch_type" jdbcType="INTEGER" property="mchType"/>
<result column="pay_amount" jdbcType="INTEGER" property="payAmount" />
<result column="single_order_amount" jdbcType="INTEGER" property="singleOrderAmount" />
<result column="single_order_id" jdbcType="BIGINT" property="singleOrderId" />
@@ -19,6 +21,7 @@
<result column="transaction_id" jdbcType="VARCHAR" property="transactionId" />
<result column="sharing_order_no" jdbcType="VARCHAR" property="sharingOrderNo" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="point_deduction" jdbcType="VARCHAR" property="pointDeduction" />
<result column="receivers" jdbcType="VARCHAR" property="receivers" />
<result column="error_msg" jdbcType="VARCHAR" property="errorMsg" />
<result column="sharing_status" jdbcType="INTEGER" property="sharingStatus" />
@@ -27,8 +30,8 @@
</resultMap>
<sql id="allColumns">
`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`
</sql>

<sql id="dynamicWhereConditions">
@@ -69,7 +72,12 @@

<if test=" null != payVendor ">
and `pay_vendor` = #{payVendor}

</if>
<if test=" null != payVersion ">
and `pay_version` = #{payVersion}
</if>
<if test=" null != mchType ">
and `mch_type` = #{mchType}
</if>

<if test=" null != type ">
@@ -157,6 +165,7 @@
<result column="transaction_id" jdbcType="VARCHAR" property="transactionId" />
<result column="sharing_order_no" jdbcType="VARCHAR" property="sharingOrderNo" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="point_deduction" jdbcType="VARCHAR" property="pointDeduction" />
<result column="receivers" jdbcType="VARCHAR" property="receivers" />
<result column="error_msg" jdbcType="VARCHAR" property="errorMsg" />
<result column="sharing_status" jdbcType="INTEGER" property="sharingStatus" />


Загрузка…
Отмена
Сохранить