|
|
@@ -51,41 +51,22 @@ public class MidjourneyController {
|
|
|
|
|
|
public MidjourneyUser getUser(){
|
|
|
String userToken = request.getHeader("user-token");
|
|
|
- MidjourneyUser midjourneyUser = (MidjourneyUser) redisService.get(RedisService.key.MIDJOURNEY_USER.getName() + userToken);
|
|
|
+
|
|
|
+ MidjourneyUser midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class)
|
|
|
+ .eq(MidjourneyUser::getUserToken, userToken).last("limit 1"));
|
|
|
if (midjourneyUser == null){
|
|
|
- midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class)
|
|
|
- .eq(MidjourneyUser::getUserToken, userToken).last("limit 1"));
|
|
|
- if (midjourneyUser == null){
|
|
|
- throw new BusinessRuntimeException("账号不存在,请重新登录");
|
|
|
- }
|
|
|
- redisService.set(RedisService.key.MIDJOURNEY_USER.getName() + userToken, midjourneyUser, RedisService.key.MIDJOURNEY_USER.getTimeout());
|
|
|
- Object fastNum = redisService.get(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId());
|
|
|
- if (fastNum == null){
|
|
|
- redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjFastNum(), RedisService.key.MIDJOURNEY_FAST_LIMIT.getTimeout());
|
|
|
- }
|
|
|
- Object relaxNum = redisService.get(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId());
|
|
|
- if (relaxNum == null){
|
|
|
- if (midjourneyUser.getMjRelaxNum() != null){
|
|
|
- redisService.set(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjRelaxNum(), RedisService.key.MIDJOURNEY_RELAX_LIMIT.getTimeout());
|
|
|
- }
|
|
|
- }
|
|
|
- }else {
|
|
|
- Object fastNum = redisService.get(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId());
|
|
|
- if (fastNum == null){
|
|
|
- redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjFastNum(), RedisService.key.MIDJOURNEY_FAST_LIMIT.getTimeout());
|
|
|
- }else {
|
|
|
- midjourneyUser.setMjFastNum(Integer.parseInt(fastNum.toString()));
|
|
|
- }
|
|
|
- Object relaxNum = redisService.get(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId());
|
|
|
- if (relaxNum == null){
|
|
|
- if (midjourneyUser.getMjRelaxNum() != null){
|
|
|
- redisService.set(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId(), midjourneyUser.getMjRelaxNum(), RedisService.key.MIDJOURNEY_RELAX_LIMIT.getTimeout());
|
|
|
- }
|
|
|
- }else {
|
|
|
- midjourneyUser.setMjRelaxNum(Integer.parseInt(relaxNum.toString()));
|
|
|
- }
|
|
|
+ throw new BusinessRuntimeException("账号不存在,请重新登录");
|
|
|
+ }
|
|
|
+ if(!redisService.hasKey(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId())){
|
|
|
+ redisService.set(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + midjourneyUser.getId(),midjourneyUser.getMjFastNum());
|
|
|
}
|
|
|
+
|
|
|
+ if(!redisService.hasKey(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId())){
|
|
|
+ redisService.set(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId(),midjourneyUser.getMjRelaxNum());
|
|
|
+ }
|
|
|
+
|
|
|
return midjourneyUser;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -98,18 +79,35 @@ public class MidjourneyController {
|
|
|
throw BusinessRuntimeException.getInstance("账号已过期");
|
|
|
}
|
|
|
if (user.getMode() == 1){
|
|
|
+
|
|
|
num = redisService.decr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + user.getId(), 1L);
|
|
|
+
|
|
|
if (num < 0) {
|
|
|
user.setMode(2);
|
|
|
+ midjourneyUserMapper.update(null, Wrappers.lambdaUpdate(MidjourneyUser.class).eq(MidjourneyUser::getId, user.getId()).set(MidjourneyUser::getMode, user.getMode()));
|
|
|
redisService.incr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + user.getId(), 1L);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ int i = midjourneyUserMapper.decFastNum(user.getId(), 1, user.getMjFastNum());
|
|
|
+ if (i == 0) {
|
|
|
+ redisService.incr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + user.getId(), 1L);
|
|
|
+ throw BusinessRuntimeException.getInstance("网络异常,请稍后再试");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (user.getMode() == 2){
|
|
|
Object relax = redisService.get(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + user.getId());
|
|
|
+
|
|
|
if (relax != null){
|
|
|
num = redisService.decr(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + user.getId(), 1L);
|
|
|
if (num < 0){
|
|
|
redisService.incr(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + user.getId(), 1L);
|
|
|
+ }else {
|
|
|
+ int i = midjourneyUserMapper.decRelaxNum(user.getId(), 1, user.getMjRelaxNum());
|
|
|
+ if (i == 0) {
|
|
|
+ redisService.incr(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + user.getId(), 1L);
|
|
|
+ throw BusinessRuntimeException.getInstance("网络异常,请稍后再试");
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
num = null;
|
|
|
@@ -124,32 +122,34 @@ public class MidjourneyController {
|
|
|
public void recoverUserLimit(Long id,Integer mode,Long num){
|
|
|
if (mode == 1){
|
|
|
redisService.incr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + id, 1L);
|
|
|
+ midjourneyUserMapper.incrFastNum(id, 1);
|
|
|
}
|
|
|
if (mode == 2){
|
|
|
if (num != null){
|
|
|
redisService.incr(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + id, 1L);
|
|
|
+ midjourneyUserMapper.incrRelaxNum(id, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 同步数据库
|
|
|
- */
|
|
|
- public void syncUser(Long id,Integer mode,Long num){
|
|
|
- log.info("同步次数 id:{},mode:{},num:{}",id,mode,num);
|
|
|
- if (num == null){
|
|
|
- return;
|
|
|
- }
|
|
|
- LambdaUpdateWrapper<MidjourneyUser> wrapper = Wrappers.lambdaUpdate(MidjourneyUser.class)
|
|
|
- .eq(MidjourneyUser::getId, id);
|
|
|
- if (mode == 1){
|
|
|
- wrapper.set(MidjourneyUser::getMjFastNum, num);
|
|
|
- }
|
|
|
- if (mode == 2){
|
|
|
- wrapper.set(MidjourneyUser::getMjRelaxNum, num);
|
|
|
- }
|
|
|
- midjourneyUserMapper.update(null, wrapper);
|
|
|
- }
|
|
|
+ ///**
|
|
|
+ // * 同步数据库
|
|
|
+ // */
|
|
|
+ //public void syncUser(Long id,Integer mode,Long num){
|
|
|
+ // log.info("同步次数 id:{},mode:{},num:{}",id,mode,num);
|
|
|
+ // if (num == null){
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // LambdaUpdateWrapper<MidjourneyUser> wrapper = Wrappers.lambdaUpdate(MidjourneyUser.class)
|
|
|
+ // .eq(MidjourneyUser::getId, id);
|
|
|
+ // if (mode == 1){
|
|
|
+ // wrapper.set(MidjourneyUser::getMjFastNum, num);
|
|
|
+ // }
|
|
|
+ // if (mode == 2){
|
|
|
+ // wrapper.set(MidjourneyUser::getMjRelaxNum, num);
|
|
|
+ // }
|
|
|
+ // midjourneyUserMapper.update(null, wrapper);
|
|
|
+ //}
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -181,7 +181,7 @@ public class MidjourneyController {
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
throw BusinessRuntimeException.getInstance(e.getMessage());
|
|
|
}
|
|
|
- syncUser(user.getId(), user.getMode(), num);
|
|
|
+ //syncUser(user.getId(), user.getMode(), num);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(conversation);
|
|
|
}
|
|
|
|
|
|
@@ -204,7 +204,7 @@ public class MidjourneyController {
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
throw BusinessRuntimeException.getInstance(e.getMessage());
|
|
|
}
|
|
|
- syncUser(user.getId(), user.getMode(), num);
|
|
|
+ //syncUser(user.getId(), user.getMode(), num);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(conversation);
|
|
|
}
|
|
|
|
|
|
@@ -227,7 +227,7 @@ public class MidjourneyController {
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
throw BusinessRuntimeException.getInstance(e.getMessage());
|
|
|
}
|
|
|
- syncUser(user.getId(), user.getMode(), num);
|
|
|
+ //syncUser(user.getId(), user.getMode(), num);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(conversation);
|
|
|
}
|
|
|
|
|
|
@@ -250,7 +250,7 @@ public class MidjourneyController {
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
throw BusinessRuntimeException.getInstance(e.getMessage());
|
|
|
}
|
|
|
- syncUser(user.getId(), user.getMode(), num);
|
|
|
+ //syncUser(user.getId(), user.getMode(), num);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(conversation);
|
|
|
}
|
|
|
|
|
|
@@ -273,7 +273,7 @@ public class MidjourneyController {
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
throw BusinessRuntimeException.getInstance(e.getMessage());
|
|
|
}
|
|
|
- syncUser(user.getId(), user.getMode(), num);
|
|
|
+ //syncUser(user.getId(), user.getMode(), num);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(conversation);
|
|
|
}
|
|
|
|
|
|
@@ -347,7 +347,7 @@ public class MidjourneyController {
|
|
|
}
|
|
|
midjourneyUser.setMode(mode);
|
|
|
midjourneyUserMapper.updateById(midjourneyUser);
|
|
|
- redisService.del(RedisService.key.MIDJOURNEY_USER.getName() + midjourneyUser.getUserToken());
|
|
|
+ //redisService.del(RedisService.key.MIDJOURNEY_USER.getName() + midjourneyUser.getUserToken());
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
}
|
|
|
|