zwhui пре 2 година
родитељ
комит
4f93504eaf

+ 1 - 1
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -828,7 +828,7 @@ public class RedisService {
         MIDJOURNEY_FAST_LIMIT("midjourney:fast:limit:", "midjourney fast次数", 60 * 60 * 48L),
         MIDJOURNEY_RELAX_LIMIT("midjourney:relax:limit:", "midjourney relax次数", 60 * 60 * 48L),
         MIDJOURNEY_EXPIRE_TIME("midjourney:expire:time:", "midjourney expire time", 60 * 60 * 48L),
-        MIDJOURNEY_USER("midjourney:user:", "midjourney user", 60 * 60 * 48L),
+        MIDJOURNEY_USER("midjourney:user:", "midjourney user", 60 * 60 * 2L),
 
         ;
 

+ 32 - 12
netflix-web/src/main/java/com/cyksj/web/controller/mirror/MidjourneyController.java

@@ -49,16 +49,21 @@ public class MidjourneyController {
         if (midjourneyUser == null){
             midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class)
                     .eq(MidjourneyUser::getUserToken, userToken).last("limit 1"));
-        }
-        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());
+            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());
+            midjourneyUser.setMjFastNum(Integer.parseInt(fastNum.toString()));
+            Object relaxNum = redisService.get(RedisService.key.MIDJOURNEY_RELAX_LIMIT.getName() + midjourneyUser.getId());
+            midjourneyUser.setMjRelaxNum(Integer.parseInt(relaxNum.toString()));
         }
         return midjourneyUser;
     }
@@ -97,12 +102,21 @@ public class MidjourneyController {
        }else {
            midjourneyUserMapper.update(null, Wrappers.lambdaUpdate(MidjourneyUser.class)
                    .eq(MidjourneyUser::getId, user.getId()).set(MidjourneyUser::getMode, user.getMode())
-                   .set(fastNum != null,MidjourneyUser::getMjFastNum, user.getMjFastNum())
-                   .set(relaxNum != null,MidjourneyUser::getMjRelaxNum, user.getMjRelaxNum()));
+                   .set(fastNum != null,MidjourneyUser::getMjFastNum, fastNum)
+                   .set(relaxNum != null,MidjourneyUser::getMjRelaxNum, relaxNum));
        }
     }
 
 
+    /**
+     * 查询用户信息
+     */
+    @GetMapping("/whoami")
+    public Result<MidjourneyUser> queryUser(){
+        MidjourneyUser user = getUser();
+        return GatewayResponse.SUCCESS.newBuilder().toResult(user);
+    }
+
 
     /**
      * 提交Imagine任务
@@ -211,7 +225,13 @@ public class MidjourneyController {
     @PutMapping("/put/midjourney/user/{mode}")
     public Result<String> putMidjourneyUserMode(@PathVariable Integer mode, Long userId) {
         log.info("修改midjourney账号模式 userId:{},mode:{}", userId, mode);
-        midjourneyUserMapper.update(null,Wrappers.lambdaUpdate(MidjourneyUser.class).set(MidjourneyUser::getMode, mode).eq(MidjourneyUser::getId, userId));
+        MidjourneyUser midjourneyUser = midjourneyUserMapper.selectById(userId);
+        if (midjourneyUser == null) {
+            throw BusinessRuntimeException.getInstance("参数错误");
+        }
+        midjourneyUser.setMode(mode);
+        midjourneyUserMapper.updateById(midjourneyUser);
+        redisService.del(RedisService.key.MIDJOURNEY_USER.getName() + midjourneyUser.getUserToken());
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 }