Parcourir la source

fix 变更会员时长

zoujiajian il y a 10 mois
Parent
commit
2ceb79d13e

+ 5 - 6
netflix-service/src/main/java/com/cyksj/service/vip/impl/CmsVipUserServiceImpl.java

@@ -92,15 +92,14 @@ public class CmsVipUserServiceImpl implements CmsVipUserService {
 		Long userId = openVipReq.getUserId();
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		VipUser vipUser = vipUserMapper.selectOne(Wrappers.lambdaQuery(VipUser.class)
+				.gt(VipUser::getExpiryTime, DateTime.now())
 				.in(VipUser::getUserId, userIdList).last("limit 1"));
 		if (vipUser == null) {
-			throw BusinessRuntimeException.getInstance("用户不是会员");
+			throw BusinessRuntimeException.getInstance("用户不是会员或已过期");
 		}
-		DateTime now = DateTime.now();
 		Integer days = openVipReq.getDays();
-		vipUser.setUserId(userId);
-		vipUser.setStartTime(now);
-		vipUser.setExpiryTime(DateUtil.offsetDay(now, days));
+		vipUser.setUserId(vipUser.getUserId());
+		vipUser.setExpiryTime(DateUtil.offsetDay(vipUser.getExpiryTime(), days));
 		vipUserMapper.updateById(vipUser);
 
 		//同步时间
@@ -111,7 +110,7 @@ public class CmsVipUserServiceImpl implements CmsVipUserService {
 
 		//操作记录
 		VipUserOperateLog vipUserOperateLog = new VipUserOperateLog();
-		vipUserOperateLog.setUserId(userId);
+		vipUserOperateLog.setUserId(vipUser.getUserId());
 
 		CmsUser cmsUser = cmsUserMapper.selectById(openVipReq.getAdminId());
 		vipUserOperateLog.setOperator(cmsUser != null ? cmsUser.getNickname() : StrUtil.EMPTY);