From c542c56572ea8936301a6bdc736e23b846c8c006 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 04 一月 2025 18:01:58 +0800
Subject: [PATCH] 修改保级功能bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java           |    8 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java          |  110 +++++++++++++++++++++++++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java        |    1 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java              |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java      |    1 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/TaskUtil.java                            |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java  |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/VerifiableShopVo.java                          |    5 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java                    |   24 +++++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java                         |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java         |    4 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java       |    1 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java |    5 +
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java                        |    6 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java             |    9 ++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserService.java                   |    6 +
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java            |    7 +
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java                         |    4 
 18 files changed, 191 insertions(+), 8 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
index d7281f4..1f771d1 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
@@ -104,6 +104,11 @@
 			public void vipUpgrade(Long appUserId) {
 				R.fail("检查会员等级变更失败:" + cause.getMessage());
 			}
+			
+			@Override
+			public void demotionDetection() {
+				R.fail("用户降级检测失败:" + cause.getMessage());
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
index 5e554a6..3197363 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -90,4 +90,11 @@
 	 */
 	@PostMapping("/app-user/vipUpgrade")
 	void vipUpgrade(@RequestParam("appUserId") Long appUserId);
+	
+	
+	/**
+	 * 用户降级检测
+	 */
+	@PostMapping("/app-user/demotionDetection")
+	void demotionDetection();
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
index 527f3c2..687f9cd 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
@@ -227,6 +227,10 @@
     @ApiModelProperty(value = "可用积分")
     @TableField("available_point")
     private Integer availablePoint;
+    
+    @ApiModelProperty(value = "可用总积分数")
+    @TableField("total_available_point")
+    private Integer totalAvailablePoint;
 
     @ApiModelProperty(value = "可转增积分")
     @TableField("transferable_point")
@@ -307,7 +311,7 @@
     @TableField(exist = false)
     private Set<Integer> shopIds;
 
-    @ApiModelProperty(value = "降级预警")
+    @ApiModelProperty(value = "降级预警(0=否,1=是)")
     @TableField("is_danger")
     private Integer isDanger;
 
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/VerifiableShopVo.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/VerifiableShopVo.java
index 0952e7e..bd98d97 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/VerifiableShopVo.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/VerifiableShopVo.java
@@ -17,4 +17,9 @@
 	private String name;
 	@ApiModelProperty("距离")
 	private Long distance;
+	@ApiModelProperty("地址")
+	private String address;
+	@ApiModelProperty("图片")
+	private String homePicture;
+	
 }
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
index 2939f35..9fbcae4 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
@@ -40,9 +40,9 @@
     @TableField("shop_id")
     private Integer shopId;
 
-    @ApiModelProperty(value = "变动类型(1=门店业绩,2=门店返佣,3=下级门店返佣,4=门店服务返佣)")
+    @ApiModelProperty(value = "变动类型(1=门店业绩,2=门店返佣,3=下级门店返佣)")
     @TableField("type")
-    @Excel(name = "变动类型", readConverterExp = "1=门店业绩,2=门店返佣,3=下级门店返佣,4=门店服务返佣")
+    @Excel(name = "变动类型", readConverterExp = "1=门店服务返佣,2=门店返佣,3=下级门店返佣")
     private Integer type;
 
     @ApiModelProperty(value = "历史余额")
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
index daa2396..af03a28 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -751,5 +751,14 @@
     public void vipUpgrade(@RequestParam("appUserId") Long appUserId){
         appUserService.vipUpgrade(appUserId);
     }
+    
+    
+    /**
+     * 用户降级检测
+     */
+    @PostMapping("/demotionDetection")
+    public void demotionDetection(){
+        appUserService.demotionDetection();
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
index 2ded011..dd3dc73 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
@@ -71,6 +71,7 @@
 				appUser.setTotalPoint(appUser.getTotalPoint() + everySharePoint);
 				appUser.setLavePoint(appUser.getLavePoint() + everySharePoint);
 				appUser.setAvailablePoint(appUser.getAvailablePoint() + everySharePoint1);
+				appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + everySharePoint1);
 				if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){
 					appUser.setTransferablePoint(appUser.getTransferablePoint() + everySharePoint1);
 				}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
index 2b2891c..1c0c429 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
@@ -79,6 +79,7 @@
                 appUser.setTotalPoint(appUser.getTotalPoint() + signPoint);
                 appUser.setLavePoint(appUser.getLavePoint() + signPoint);
                 appUser.setAvailablePoint(appUser.getAvailablePoint() + signPoint1);
+                appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + signPoint1);
                 if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){
                     appUser.setTransferablePoint(appUser.getTransferablePoint() + signPoint1);
                 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserService.java
index 5ccc375..c7817fe 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserService.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserService.java
@@ -89,4 +89,10 @@
 	 * @param appUserId
 	 */
 	void vipUpgrade(Long appUserId);
+	
+	
+	/**
+	 * 降级检测
+	 */
+	void demotionDetection();
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
index c0480f9..9d47a7a 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -330,6 +330,7 @@
 				}
 				appUser.setLavePoint(regisPoint);
 				appUser.setAvailablePoint(regisPoint1);
+				appUser.setTotalAvailablePoint(regisPoint1);
 				if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
 					appUser.setTransferablePoint(regisPoint1);
 				}
@@ -379,6 +380,7 @@
 				}
 				appUser2.setLavePoint(appUser2.getLavePoint() + newPoint);
 				appUser2.setAvailablePoint(appUser2.getAvailablePoint() + newPoint1);
+				appUser2.setTotalAvailablePoint(appUser2.getTotalAvailablePoint() + newPoint1);
 				if(null != pointSetting && 1 == pointSetting.getGetNewPointGift()){
 					appUser2.setTransferablePoint(appUser2.getTransferablePoint() + newPoint1);
 				}
@@ -402,6 +404,7 @@
 					AppUser appUser3 = this.getById(appUser2.getInviteUserId());
 					appUser3.setLavePoint(appUser3.getLavePoint() + newPoint);
 					appUser3.setAvailablePoint(appUser3.getAvailablePoint() + newPoint1);
+					appUser3.setTotalAvailablePoint(appUser3.getTotalAvailablePoint() + newPoint1);
 					if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
 						appUser3.setTransferablePoint(appUser3.getTransferablePoint() + newPoint1);
 					}
@@ -755,6 +758,7 @@
 					appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint);
 					appUser.setLavePoint(appUser.getLavePoint() + hourPoint);
 					appUser.setAvailablePoint(appUser.getAvailablePoint() + hourPoint1);
+					appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + hourPoint1);
 					if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){
 						appUser.setTransferablePoint(appUser.getTransferablePoint() + hourPoint1);
 					}
@@ -796,4 +800,110 @@
 
 		return appUserMapper.getAppuserPage1(new Page<>(pageNum, pageSize), appUser,objectId,userIds);
 	}
+	
+	
+	/**
+	 * 降级检测
+	 */
+	@Override
+	public void demotionDetection() {
+		//代理
+		List<AppUser> appUserList = new ArrayList<>();
+		VipSetting vipSetting = vipSettingClient.getVipSetting(5).getData();
+		List<AppUser> list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 5).eq(AppUser::getStatus, 1).eq(AppUser::getDelFlag, 0).eq(AppUser::getIsDanger, 0));
+		for (AppUser appUser : list) {
+			//消费积分
+			List<UserPoint> list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 1).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepBuyDay() + " DAY) >= create_time"));
+			int sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepBuyPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//返佣积分
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 2).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShareDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepSharePoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//门店业绩
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 8).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShopDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepShopPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+			}
+		}
+		if(appUserList.size() > 0){
+			this.updateBatchById(appUserList);
+		}
+		
+		//总代
+		appUserList = new ArrayList<>();
+		vipSetting = vipSettingClient.getVipSetting(6).getData();
+		list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 6).eq(AppUser::getStatus, 1).eq(AppUser::getDelFlag, 0).eq(AppUser::getIsDanger, 0));
+		for (AppUser appUser : list) {
+			//消费积分
+			List<UserPoint> list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 1).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepBuyDay() + " DAY) >= create_time"));
+			int sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepBuyPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//返佣积分
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 2).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShareDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepSharePoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//门店业绩
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 8).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShopDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepShopPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+			}
+		}
+		if(appUserList.size() > 0){
+			this.updateBatchById(appUserList);
+		}
+		
+		//合伙人
+		appUserList = new ArrayList<>();
+		vipSetting = vipSettingClient.getVipSetting(7).getData();
+		list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 7).eq(AppUser::getStatus, 1).eq(AppUser::getDelFlag, 0).eq(AppUser::getIsDanger, 0));
+		for (AppUser appUser : list) {
+			//消费积分
+			List<UserPoint> list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 1).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepBuyDay() + " DAY) >= create_time"));
+			int sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepBuyPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//返佣积分
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 2).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShareDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepSharePoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+				continue;
+			}
+			//门店业绩
+			list1 = userPointService.list(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUser.getId()).eq(UserPoint::getType, 8).last(" and SUBDATE(now(), INTERVAL " + vipSetting.getKeepShopDay() + " DAY) >= create_time"));
+			sum = list1.stream().mapToInt(UserPoint::getVariablePoint).sum();
+			if(sum < vipSetting.getKeepShopPoint()){
+				appUser.setIsDanger(1);
+				appUserList.add(appUser);
+			}
+		}
+		if(appUserList.size() > 0){
+			this.updateBatchById(appUserList);
+		}
+	}
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java
index c3d6242..3c4860c 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java
@@ -39,7 +39,6 @@
 	/**
 	 * 获取支付页面的优惠券列表数据
 	 * @param userId
-	 * @param orderMoney
 	 * @return
 	 */
 	@Override
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/TaskUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/TaskUtil.java
index dfa513e..80ab125 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/TaskUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/TaskUtil.java
@@ -30,6 +30,8 @@
     public void sendVipCoupon(){
         //解绑推广人
         appUserService.unbindThePromoter();
+        //降级检测
+        appUserService.demotionDetection();
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
index e4014b3..3926014 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -162,6 +162,7 @@
                     inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point);
                     inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point);
                     inviteUser.setAvailablePoint(inviteUser.getAvailablePoint() + earnPoint1);
+                    inviteUser.setTotalAvailablePoint(inviteUser.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                         inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1);
                     }
@@ -217,6 +218,7 @@
                     superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zbsj_point);
                     superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zbsj_point);
                     superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1);
+                    superiorLeader.setTotalAvailablePoint(superiorLeader.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                         superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1);
                     }
@@ -276,6 +278,7 @@
                     }
                     shopAppUser.setLavePoint(shopAppUser.getLavePoint() + hxmd_point);
                     shopAppUser.setAvailablePoint(shopAppUser.getAvailablePoint() + earnPoint1);
+                    shopAppUser.setTotalAvailablePoint(shopAppUser.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getShopPointGift()){
                         shopAppUser.setTransferablePoint(shopAppUser.getTransferablePoint() + earnPoint1);
                     }
@@ -321,7 +324,7 @@
                 if(!shop.getLavePoint().equals(shopLavePoint)){
                     ShopPoint shopPoint = new ShopPoint();
                     shopPoint.setShopId(shop.getId());
-                    shopPoint.setType(4);
+                    shopPoint.setType(1);
                     shopPoint.setHistoricalPoint(shopLavePoint);
                     shopPoint.setVariablePoint(hxmd_point);
                     shopPoint.setBalance(shop.getLavePoint());
@@ -348,6 +351,7 @@
                         }
                         technicianAppUser.setLavePoint(technicianAppUser.getLavePoint() + js_point);
                         technicianAppUser.setAvailablePoint(technicianAppUser.getAvailablePoint() + earnPoint1);
+                        technicianAppUser.setTotalAvailablePoint(technicianAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){
                             technicianAppUser.setTransferablePoint(technicianAppUser.getTransferablePoint() + earnPoint1);
                         }
@@ -397,6 +401,7 @@
                         }
                         bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + bdmd_point);
                         bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1);
+                        bdShopAppUser.setTotalAvailablePoint(bdShopAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                             bdShopAppUser.setTransferablePoint(bdShopAppUser.getTransferablePoint() + earnPoint1);
                         }
@@ -480,6 +485,7 @@
                         }
                         sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point);
                         sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1);
+                        sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                             sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1);
                         }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
index cbca3c0..3c5614f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -937,6 +937,7 @@
 				appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
 				appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 				appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1);
+				appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1);
 				if(null != pointSetting && 1 == pointSetting.getBuyPointGift()){
 					appUser.setTransferablePoint(appUser.getTransferablePoint() + earnPoint1);
 				}
@@ -1009,6 +1010,7 @@
 			appUser.setShopPoint(appUser.getShopPoint() + earnPoint);
 			appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
 			appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1);
+			appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1);
 			if(null != pointSetting && 1 == pointSetting.getBuyPointGift()){
 				appUser.setTransferablePoint(appUser.getTransferablePoint() + earnPoint1);
 			}
@@ -1141,6 +1143,7 @@
 			appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
 			appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 			appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1);
+			appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1);
 			
 			UserPoint userPoint = new UserPoint();
 			userPoint.setType(1);
@@ -1203,6 +1206,7 @@
 		appUser.setShopPoint(appUser.getShopPoint() + earnPoint);
 		appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
 		appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1);
+		appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1);
 		appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 		appUser.setLastShopTime(LocalDateTime.now());
 		appUserClient.editAppUserById(appUser);
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index 92fda6a..d1bac18 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -12,9 +12,13 @@
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.vo.VerifiableShopVo;
+import com.ruoyi.other.api.domain.Goods;
+import com.ruoyi.other.api.domain.GoodsShop;
 import com.ruoyi.other.api.domain.Shop;
 import com.ruoyi.other.api.domain.ShopScore;
 import com.ruoyi.other.mapper.ShopMapper;
+import com.ruoyi.other.service.GoodsService;
+import com.ruoyi.other.service.GoodsShopService;
 import com.ruoyi.other.service.ShopScoreService;
 import com.ruoyi.other.service.ShopService;
 import com.ruoyi.other.util.GeodesyUtil;
@@ -69,6 +73,10 @@
     private UserShopClient userShopClient;
     @Resource
     private AppUserShopClient appUserShopClient;
+    @Resource
+    private GoodsService goodsService;
+    @Resource
+    private GoodsShopService goodsShopService;
 
 
 
@@ -466,15 +474,27 @@
     @ResponseBody
     @GetMapping("/getVerifiableShop")
     @ApiOperation(value = "获取可核销门店列表", tags = {"购物车-小程序"})
-    public R<List<VerifiableShopVo>> getVerifiableShop(String longitude, String latitude){
+    public R<List<VerifiableShopVo>> getVerifiableShop(String longitude, String latitude, Integer goodsId){
         String city = TencentMapUtil.inverseGeographicalAnalysis(longitude, latitude, false);
         city = city.substring(0, 4) + "00";
-        List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getCityCode, city));
+        LambdaQueryWrapper<Shop> wrapper = new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getCityCode, city);
+        if(null != goodsId){
+            Goods goods = goodsService.getById(goodsId);
+            if(1 == goods.getType() && 1 == goods.getAppointStore()){
+                List<Integer> collect = goodsShopService.list(new LambdaQueryWrapper<GoodsShop>().eq(GoodsShop::getGoodsId, goods)).stream().map(GoodsShop::getShopId).collect(Collectors.toList());
+                if(collect.size() > 0){
+                    wrapper.in(Shop::getId, collect);
+                }
+            }
+        }
+        List<Shop> list = shopService.list(wrapper);
         List<VerifiableShopVo> verifiableShopVoList = new ArrayList<>();
         for (Shop shop : list) {
             VerifiableShopVo vo = new VerifiableShopVo();
             vo.setId(shop.getId());
             vo.setName(shop.getName());
+            vo.setAddress(shop.getAddress());
+            vo.setHomePicture(shop.getHomePicture());
             Double wgs84 = GeodesyUtil.getDistance(longitude + "," + latitude, shop.getLongitude() + "," + shop.getLatitude()).get("WGS84");
             vo.setDistance(wgs84.longValue());
             verifiableShopVoList.add(vo);
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
index 73b3308..8811191 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
@@ -207,6 +207,8 @@
     @ApiOperation(value = "设置", tags = {"后台-会员等级设置"})
     public R<Void> managelevelset(@RequestBody SetDto setDto) {
         vipSettingService.updateBatchById(setDto.getVipSettingList());
+        //会员降级检测
+        appUserClient.demotionDetection();
         return R.ok();
     }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
index eca535e..0387817 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
@@ -65,6 +65,8 @@
         Integer goodsId = seckillActivityDetailVO.getGoodsId();
 
         Goods goods = goodsService.getById(goodsId);
+        seckillActivityDetailVO.setGoodsName(goods.getName());
+        seckillActivityDetailVO.setGoodsType(goods.getType());
         List<Shop> shops;
         if(goods.getAppointStore() == 1){
             List<Integer> shopIdList = goodsShopMapper.selectList(new LambdaQueryWrapper<GoodsShop>()
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java
index f9cd82f..5ff9b25 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/SeckillActivityVO.java
@@ -24,7 +24,7 @@
     private String introduction;
 
     @ApiModelProperty(value = "商品类型")
-    private String goodsType;
+    private Integer goodsType;
 
     @ApiModelProperty(value = "商品分类名称")
     private String goodsCategoryName;

--
Gitblit v1.7.1