Kaynağa Gözat

修复当使用渠道积分支付时商家的总应收信息为0的bug;
修复当商家赠送积分,商场赠送积分,两者只有赠送记录,而商家、商场信息的积分成本没有累计的bug
修复用户无需支付的情况下,商场商家赠送积分后商场会员、商家会员所得积分价值没有累加的bug

LIDEXI 4 yıl önce
ebeveyn
işleme
e68311b265

+ 9 - 0
src/main/java/org/springblade/modules/payment/paystrategy/loginuser/impl/ChannelEnoughStrategy.java

@@ -201,6 +201,15 @@ public class ChannelEnoughStrategy implements IPayStrategy {
 				shop.setTotalPointValue(shop.getTotalPointValue() != null ?
 					shop.getTotalPointValue().add(shopPointDetail.getPointValue()):shopPointDetail.getPointValue());
 				shopService.updateById(shop);
+
+				shopMember.setPointValue(shopMember.getPointValue() != null ?
+					shopMember.getPointValue().add(shopPointDetail.getPointValue()):shopPointDetail.getPointValue());
+				shopMember.setPointTotal(shopMember.getPayTotal() != null ?
+					shopMember.getPointTotal().add(shopPointDetail.getPoint()) : shopPointDetail.getPoint());
+				shopMember.setPayTotal(shopMember.getPayTotal() != null ?
+					shopMember.getPayTotal().add(billRecord.getPrice()) : billRecord.getPrice());
+
+				memberService.updateById(shopMember);
 				//新增用户的余额(积分价值)
 				loginUser.setPointValue(loginUser.getPointValue().add(shopPointDetail.getPointValue()));
 				loginUser.setPoint(loginUser.getPoint().add(shopPointDetail.getPoint()));

+ 16 - 0
src/main/java/org/springblade/modules/payment/paystrategy/loginuser/impl/ChannelNoEnoughRareEnoughStrategy.java

@@ -194,6 +194,13 @@ public class ChannelNoEnoughRareEnoughStrategy implements IPayStrategy {
 			channelUserPoint.setUsablePoint(channelUserPoint.getUsablePoint().add(mallSendPoint.getPoint()));
 			channelUserPoint.setTotalPoint(channelUserPoint.getTotalPoint().add(mallSendPoint.getPoint()));
 			channelUserPointService.updateById(channelUserPoint);
+
+			//增加商场会员的积分与积分价值
+			mallMember.setPointTotal(mallMember.getPointTotal() != null?
+				mallMember.getPointTotal().add(mallSendPoint.getPoint()):mallSendPoint.getPoint());
+			mallMember.setPointValue(mallMember.getPointValue() != null?
+				mallMember.getPointValue().add(mallSendPoint.getPointValue()):mallSendPoint.getPointValue());
+			memberService.updateById(mallMember);
 			//	增加該用戶的渠道总积分价值
 			loginUser.setChannelPointValue(loginUser.getChannelPointValue().add(mallSendPoint.getPointValue()));
 			loginUserService.updateById(loginUser);
@@ -208,6 +215,15 @@ public class ChannelNoEnoughRareEnoughStrategy implements IPayStrategy {
 			shop.setTotalPointValue(shop.getTotalPointValue() != null ?
 				shop.getTotalPointValue().add(shopPointDetail.getPointValue()):shopPointDetail.getPointValue());
 			shopService.updateById(shop);
+
+			shopMember.setPointValue(shopMember.getPointValue() != null ?
+				shopMember.getPointValue().add(shopPointDetail.getPointValue()):shopPointDetail.getPointValue());
+			shopMember.setPointTotal(shopMember.getPayTotal() != null ?
+				shopMember.getPointTotal().add(shopPointDetail.getPoint()) : shopPointDetail.getPoint());
+			shopMember.setPayTotal(shopMember.getPayTotal() != null ?
+				shopMember.getPayTotal().add(billRecord.getPrice()) : billRecord.getPrice());
+
+			memberService.updateById(shopMember);
 			//新增用户的余额(积分价值)
 			loginUser.setPointValue(loginUser.getPointValue().add(shopPointDetail.getPointValue()));
 			loginUser.setPoint(loginUser.getPoint().add(shopPointDetail.getPoint()));

+ 16 - 0
src/main/java/org/springblade/modules/payment/paystrategy/loginuser/impl/ChannelZeroRareEnoughStrategy.java

@@ -171,6 +171,13 @@ public class ChannelZeroRareEnoughStrategy implements IPayStrategy {
 			channelUserPoint.setUsablePoint(channelUserPoint.getUsablePoint().add(mallSendPoint.getPoint()));
 			channelUserPoint.setTotalPoint(channelUserPoint.getTotalPoint().add(mallSendPoint.getPoint()));
 			channelUserPointService.updateById(channelUserPoint);
+
+			//增加商场会员的积分与积分价值
+			mallMember.setPointTotal(mallMember.getPointTotal() != null?
+				mallMember.getPointTotal().add(mallSendPoint.getPoint()):mallSendPoint.getPoint());
+			mallMember.setPointValue(mallMember.getPointValue() != null?
+				mallMember.getPointValue().add(mallSendPoint.getPointValue()):mallSendPoint.getPointValue());
+			memberService.updateById(mallMember);
 			//	增加該用戶的渠道总积分价值
 			loginUser.setChannelPointValue(loginUser.getChannelPointValue().add(mallSendPoint.getPointValue()));
 			loginUserService.updateById(loginUser);
@@ -180,6 +187,15 @@ public class ChannelZeroRareEnoughStrategy implements IPayStrategy {
 			PointDetail shopPointDetail = PayUtil.addShopPointValue(mall,shop,loginUser,billRecord,pointDetailService);
 			shop.setTotalPointValue(shop.getTotalPointValue() != null?shop.getTotalPointValue().add(shopPointDetail.getPointValue()): shopPointDetail.getPointValue());
 			shopService.updateById(shop);
+
+			shopMember.setPointValue(shopMember.getPointValue() != null ?
+				shopMember.getPointValue().add(shopPointDetail.getPointValue()):shopPointDetail.getPointValue());
+			shopMember.setPointTotal(shopMember.getPayTotal() != null ?
+				shopMember.getPointTotal().add(shopPointDetail.getPoint()) : shopPointDetail.getPoint());
+			shopMember.setPayTotal(shopMember.getPayTotal() != null ?
+				shopMember.getPayTotal().add(billRecord.getPrice()) : billRecord.getPrice());
+
+			memberService.updateById(shopMember);
 			//新增用户的余额(积分价值)
 			loginUser.setPointValue(loginUser.getPointValue().add(shopPointDetail.getPointValue()));
 			loginUser.setPoint(loginUser.getPoint().add(shopPointDetail.getPoint()));