zwhui hai 1 ano
pai
achega
deb48870f2

+ 2 - 0
midjourney/src/main/java/com/yhlxj/dao/model/dto/SubmitImagineDTO.java

@@ -31,4 +31,6 @@ public class SubmitImagineDTO {
      */
     private String botType = "MID_JOURNEY";
     private Integer mode;
+
+    private Long queueId;
 }

+ 14 - 1
midjourney/src/main/java/com/yhlxj/redis/RedisService.java

@@ -589,6 +589,19 @@ public class RedisService {
         }
     }
 
+    /**
+     * 移除list中的值
+     */
+    public Boolean lRemoveLeft(String key) {
+        try {
+            redisTemplate.opsForList().leftPop(key);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
     public boolean setNx(String key, Object value, Long time) {
         if (time > 0) {
             return redisTemplate.opsForValue().setIfAbsent(key, value, time, TimeUnit.SECONDS);
@@ -800,7 +813,7 @@ public class RedisService {
         MIDJOURNEY_USER_AGAIN("midjourney:user:again","midjourney用户重试次数", 30L),
         MIDJOURNEY_RELEASE_LIMIT("midjourney:release:limit:","midjourney解除限制次数", 30L),
         MIDJOURNEY_QUEUE_LIMIT("midjourney:queue:limit:","midjourney慢速队列", 60 * 60 * 48L),
-        MIDJOURNEY_QUEUE_DETAIL_LIMIT("midjourney:queue:detail:limit:","midjourney慢速队列详情", 60 * 60 * 48L),
+        MIDJOURNEY_QUEUE_DETAIL_LIMIT("midjourney:queue:detail:limit:","midjourney慢速队列详情", 30L),
         ;
 
         private String name;

+ 3 - 0
midjourney/src/main/java/com/yhlxj/web/mirror/MidjourneyController.java

@@ -228,6 +228,9 @@ public class MidjourneyController {
         log.info("提交Imagine任务,提示:{}",submitImagineDTO.getPrompt());
         MidjourneyUser user = getUser();
         Integer mode = submitImagineDTO.getMode();
+        if (submitImagineDTO.getQueueId() != null){
+            redisService.lRemoveLeft(RedisService.key.MIDJOURNEY_QUEUE_DETAIL_LIMIT.getName() + user.getId());
+        }
         Map<String, Object> checkResult = checkUserLimit(user, mode);
         Long num = (Long) checkResult.get("num");
         Boolean upgrade = (Boolean) checkResult.get("upgrade");