From f2f9e0ac221b0567eb0926dd8c8bc8a21259d312 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 14:53:10 +0800 Subject: [PATCH 1/3] =?UTF-8?q?##=20=E5=88=86=E7=BA=A2=E5=A5=96=E8=A1=94?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index a91956c8..6579826f 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -645,19 +645,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 - if (null != secondRangeTableName) { - // 秒结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); - } else { - // 日结处理 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); - targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); - } + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { @@ -771,6 +764,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } break; } + + // 校验大小区会员数据 + List cuMemberRangeExtList = null; + // 校验累计小部门会员数据 + List cuMemberRetailRangeExtList = null; // 计算分红奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 @@ -780,13 +778,14 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 先验证累计业绩 if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) { // 再验证小区,计算小区业绩(拉取直推会员数据) - List cuMemberRangeExtList; - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + if (null == cuMemberRangeExtList) { + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember()); + } } // 本人月消费业绩(默认为大区) BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv(); @@ -808,14 +807,15 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 小区业绩 >= 小区考核业绩 if (bdAwards.getPlaceDeptNum() > 0) { // 验证是否有多个区满足业绩 - List cuMemberRetailRangeExtList; - // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 - if (secondRangeTableName != null) { - // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = cuMemberRangeExtList; - } else { - // 昨日结算表,查询订单会员直推数据 - cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + if (null == cuMemberRetailRangeExtList) { + // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以 + if (null != secondRangeTableName) { + // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = cuMemberRangeExtList; + } else { + // 昨日结算表,查询订单会员直推数据 + cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck()); + } } int enoughNum = 0; From 3eae83f56b9b3db993518fcc47a4d924d9bd441c Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 4 Jul 2025 15:26:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?##=20=E6=96=B0=E9=9B=B6=E5=94=AE=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E6=94=AF=E4=BB=98=E9=85=8D=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bd-third/src/main/resources/bootstrap.yml | 18 +++++++++--------- .../src/main/resources/jd/merchantCert011.pfx | Bin 0 -> 3042 bytes .../src/main/resources/jd/npp_11_API2_pro.cer | Bin 0 -> 1018 bytes 3 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 bd-third/src/main/resources/jd/merchantCert011.pfx create mode 100644 bd-third/src/main/resources/jd/npp_11_API2_pro.cer diff --git a/bd-third/src/main/resources/bootstrap.yml b/bd-third/src/main/resources/bootstrap.yml index 19fe0053..f8d868e6 100644 --- a/bd-third/src/main/resources/bootstrap.yml +++ b/bd-third/src/main/resources/bootstrap.yml @@ -126,30 +126,30 @@ delivery: jd: bank: ## 二级商户号 - merchantNo: 153428607005 + merchantNo: 153428607011 ## 签名密钥 - signKey: 3d2647236d1c70e25b5acf6b9d903136439e29a06c50a412dc0c7bc3de2ef523 + signKey: edad31b00269a3c843268f4ff4dab5f079106a328795495922c11f50faf9d0c6 ## 证书加密密码 - priCertPwd: bd147258369 + priCertPwd: bf147258369 ## 私钥文件名 - priCert: jd/merchantCert005.pfx + priCert: jd/merchantCert011.pfx ## 公钥文件名 pubCert: jd/npp_11_API2_pro.cer ## 生产环境api接口域名 apiDomain: http://wapi.jd.com ## 页面回调地址 # pageBackUrl: https://t-app.beida666.com/prod-api/pay/jd/sync-notify - pageBackUrl: http://t-app.beida666.com/#/pages/pay/success + pageBackUrl: http://t-app.beida777.com/#/pages/pay/success ## 支付回调地址 - notifyUrl: https://t-app.beida666.com/prod-api/pay/jd/trade-notify + notifyUrl: https://t-app.beida777.com/prod-api/pay/jd/trade-notify # notifyUrl: https://b747-218-57-66-5.ngrok-free.app/pay/jd/trade-notify ## 退款回调地下 - refundNotifyUrl: https://t-app.beida666.com/prod-api/pay/jd-refund/trade-notify + refundNotifyUrl: https://t-app.beida777.com/prod-api/pay/jd-refund/trade-notify # refundNotifyUrl: https://b747-218-57-66-5.ngrok-free.app/pay/jd-refund/trade-notify separateAccounts: - - account: 153428607007 + - account: 153428607011 proportion: 0.5 - - account: 153428607005 + - account: 153428607013 proportion: 0.5 wechat-alipay: ## 二级商户号 diff --git a/bd-third/src/main/resources/jd/merchantCert011.pfx b/bd-third/src/main/resources/jd/merchantCert011.pfx new file mode 100644 index 0000000000000000000000000000000000000000..76e35682e9c8c1682d5a25a776f2f8b3ae2f3e8f GIT binary patch literal 3042 zcmcImc~}$I7N1Fmu!N-SDj3WYLBIktAt4EBDuy7N6j2coga8R(*%|_Zh>);V7NG*7 z1~m#=P(ct#-2ep_5Y(cASQHBqP~6x=W$ncFS>N})f8HPOyWhRv`Tfp4%bhuM?!aPv zF9yWIV*Fv8s(HF&`Ue823`)iLEJ%#cKDy3JDSZN5QpQG~`4*$26x*CX) zilI4J3{Am{accjjQRhTR<(c{ZA4axS-@{;(e}lwO_s>o@OzNv$iR?3it5``&O?lUy z+@x&Xxzm-w)wvblK3puU7YJze-l_OpZp^+(|ir z1Kr4@t^xlF*~QSdF1(BGs4~FPWxK*Gcs+f*>XzQwOgd4A9v#DDb*6rWxOHz()OLc@7wh% zG*5Dj0~TL4@*$;;WtNM1)vPtFZx-&qaxMRaX+5VEhtn~xvY(VBH(8Dyjh7`~aV>nG zmD=Xr$KqcNAXUo4Z7xPo7~1r>yBwb(_->21Y~ov9nvhF-BUqhbPWlCQ_`%PZ#L?Xh>zS5a&l_>3ytO=)#Njm$8_VjY2KG<73`|t z>*@38HtE;+&e?kZPm4JZ=*3NCt~w*Um2bHIv)vJ9C&%$s$NaK%8gkm}IyI&p1y6#{ zowK>*Vi;DT(aIx4SADfNt+qpuVfrjgYxcE<_CTb0O_f!fH9(6yO-mTNwZEzA;g|=( z|J}18{U9D@w7;T%^(Twr_E4hA6^i?4e$MSf$&H_cJ>k^h*RNZuf9)Ai?=iv08f<@% z>!7DaxlXnTZng0H6nq|D)RbbNjQmj)<{djEDolg><|rd8Fi^je=>UPC?r=`r_Bio8>k0J+bkYM?ss&taZ}~ zMve{Lg*mq#tSDXM08azsHK)zz|zw$vG$_{H9s{yv%WNdJzMxP2#Fs`QBk zyxP1aiwc|rJHOvLwJ~H$T~DKjAUOsZ9V22-HE_~jEnU`D7=BK)InHC*CZ^6p6O5#?2Sa1Rn-GQ~gv`bZ81P4JN008io ze@Gp~+0YT-0(`&*U6}w3(11X|0+khmhDuZbK^cXl&@w(tFc5%RP|?9h2N&R>IvzlW zeQ~NQa3BPV>6#$oZs-QA2SQO}0T2m9qmvH^0Wz==T@_3O5R4)=D#rs+C>M!h0qQIY z2>EP92HZdIi$zfo>Ry1hc+r>46&Hh&0PX$}D7^!n{I9z|7FDuP()LU5SJhJ(n4<qGgH@;eukP7)u;Bs% zg$C1MDom#!)^u+a+I$6JQ97axYyOpk+71C3O(2RJ5s#?DYJZ&x>uhh2aACi{Qtn?5{02aIHH;Vpfxc6u`x<#kQKr_bB5IC} zxJhkU3rsc?5p8`vR;6=YBAqXcrL{yocC-1BTGdPPa4pM?LZAW97~t{!!qgUaC0 z!@51g^s7-1E8D_cs#6>>Ha(IFZg_1-Mq_IIMTdzEPYA(j?zum`=$~wrIfqLVp0PV5 zOoAWnx?RWeO>|4$z&ggQcwz0uD+N39NV@z|Q%(9{04x!MT=a?fey%=}HiUrz z7>~Xg(l-!<#XwasPXR2U?XVB*E%lOmrf&)n3ZrbTta!13T+2|QASPN-W0rvtR#7nl zVWELmpSeIm*mrEZ)pQQWnhCFEGMLsJ2Rf6*!K)qZ*le_T=!gSsZAV{=zzE%r!(>pHY`e8I z4wY$bZ^K}6*oYmPJ-kGboDsAT)=SoTw{Hp{kBBf9&X7A@2HeLkTh=j$>=KXaRgJ< zgPPoo37Un0rGME$y~3MMZGKDgZ(EmSr}nPv3g(mM@_6^H%Z4RTeBl>F?8kHn#d9Yve9=FWI4={V`A&>~Jycg)4eiq-C2nwi87Z0;HEOiKt4 zA*IF&vdwPdhP};a2U&Hu*Ow~aPW0nyzBP<`R2$iIs>|8{`_qzOpUa&^KtNvp;YfE; ztop=0*OsS)Ckn1mknHY)55@Jdvp%|s9f4ja3<8yMR{I>#GQtX(cP<(wb&rro=HwlRL>iGkv8`%kUs;$r{+ literal 0 HcmV?d00001 diff --git a/bd-third/src/main/resources/jd/npp_11_API2_pro.cer b/bd-third/src/main/resources/jd/npp_11_API2_pro.cer new file mode 100644 index 0000000000000000000000000000000000000000..51bca055decc358c13e9f9778429bba0fb9f0aaf GIT binary patch literal 1018 zcmXqLV*X~(#B^@~GZP~dlL%{>^}38p0SBMi$ZDUnx*4$Iv)V}mUN%mxHjlRNyo`*j ztPBQmh7ty1Y|No7%sl+ziFxUfnRyDK#i>OK&W?ui2C^U-ZXPk1OmJ#)X;EfLrE_Xt zNotXyh=CAD0T&N9RDoV{ey$<60Vhb5O_<5q&p=L`*U;3!+{nPd!qmjTAPUGeGcY%_ zgmMkS40#Q>A-1rTq!yPLiW`VR%;YNvI;S!-uPQOKA~P}1P|838?sQH@F>a7*hpZH^ zl>!EQAWh6X?0x|Ojsc!V290x(eagtnz}(o)V9?mk)Y!-{|B8m-$3&j`=vf<+9iz;< zwtvvdcD;D8vQJ7#xspA_K-lNjHOZ(4caaO63V(*}w_c&6z_^-`l5V z&fi$sHQ{vB>dd{zCvgBq!|7#SIu&fU%sZ}q*){@8f)&e;K+9aCpZKN1$*=v*kRv+UbP zuc_J*2Mt5CmgVhA-0s_ZS8TD)&49_w&F%&rvpkG!vj6{dOOo`H`oaIb)zj(Z^zGZ{ zFedwkFZx#9b=K!s=eddI4X=3a9jX>Gs;){mS|6>Yy)azdQoM{%an~b3R(S Date: Fri, 4 Jul 2025 18:29:00 +0800 Subject: [PATCH 3/3] =?UTF-8?q?##=20=E7=A7=92=E7=BB=93=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=A4=9A=E9=80=812=E7=BA=A7=E5=A4=84=E7=90=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleRangeHandle.java | 15 ++++++++++++++- .../bonus/detail/mapper/CuMemberGradeMapper.java | 9 +++++++++ .../detail/service/ICuMemberGradeService.java | 9 +++++++++ .../service/impl/CuMemberGradeServiceImpl.java | 7 +++++-- .../mapper/bonus/detail/CuMemberGradeMapper.xml | 12 ++++++++++++ 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 6579826f..783e7d45 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -622,7 +622,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算团队极差奖衔 + * 计算团队等级、奖衔 -- 秒结、日结 */ public List calculateRetailRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, @@ -744,6 +744,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } } } + + if (null != secondRangeTableName) { + if (targetMemberRangeExt.getPkMember().equals(saOrderExt.getPkMember())) { + // new 兼容购买等级多送2级的问题,秒结处理V4 V5方式不一样,会出现秒结等级和实际等级不匹配 + CuMemberRetailRangeExt memberRetailLevel = iCuMemberGradeService.getMemberLevel(saOrderExt.getPkMember(), saOrderExt.getPkId()); + if (null != memberRetailLevel) { + if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) { + targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade()); + } + } + } + } + // 计算当月奖衔 while (true) { // 当月奖衔值 + 5,获取下一个奖衔值 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java index ca523fdb..dcf20b69 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberGradeMapper.java @@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper { */ void updateCuMemberGradeLevel(@Param("rangeTableName") String rangeTableName, @Param("pkOrder") Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(@Param("pkMember") Long pkMember, @Param("pkOrder") Long pkOrder); + /** * 删除等级 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java index 79968315..42165197 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuMemberGradeService.java @@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService { */ void updateCuMemberGrade(String rangeTableName, Long pkOrder); + /** + * 查询订单升级记录 + * + * @param pkMember + * @param pkOrder + * @return + */ + CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder); + /** * 插入会员等级升级记录 */ diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java index e1370a2c..34cfd152 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberGradeServiceImpl.java @@ -7,7 +7,6 @@ import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; import com.hzs.common.domain.member.detail.CuMemberGrade; import com.hzs.common.domain.member.detail.CuMemberLevel; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -42,7 +41,11 @@ public class CuMemberGradeServiceImpl extends ServiceImpl cuMemberGradeList) { saveBatch(cuMemberGradeList); } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml index a10f74e5..5fce0844 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberGradeMapper.xml @@ -85,6 +85,18 @@ a.pk_grade = b.pk_grade + + + update cu_member_grade