xiongzhu 3 лет назад
Родитель
Сommit
7b7c6aaf51

+ 1 - 0
src/main/java/com/izouma/nineth/domain/AppVersion.java

@@ -19,4 +19,5 @@ public class AppVersion extends BaseEntity {
     private boolean review;
     private String  downloadUrl;
     private int     versionNum;
+    private String  channel;
 }

+ 4 - 0
src/main/java/com/izouma/nineth/repo/AppVersionRepo.java

@@ -18,4 +18,8 @@ public interface AppVersionRepo extends JpaRepository<AppVersion, Long>, JpaSpec
     Optional<AppVersion> findByPlatformAndVersionAndDelFalse(String platform, String version);
 
     Optional<AppVersion> findFirstByPlatformAndReviewFalseAndDelFalseOrderByVersionNumDesc(String platform);
+
+    @Query(value = "select * from raex.app_version a where a.platform = ?1 and a.channel = ?2 and a.review = false and a.del = false " +
+            "order by a.version_num desc",nativeQuery = true)
+    Optional<AppVersion> findLatest(String platform, String channel);
 }

+ 0 - 28
src/main/java/com/izouma/nineth/service/WithdrawApplyScheduleService.java

@@ -1,43 +1,15 @@
 package com.izouma.nineth.service;
 
-import com.alibaba.fastjson.JSONObject;
 import com.izouma.nineth.annotations.RedisLock;
-import com.izouma.nineth.config.Constants;
-import com.izouma.nineth.domain.WithdrawApply;
-import com.izouma.nineth.dto.PageQuery;
-import com.izouma.nineth.dto.UserBankCard;
-import com.izouma.nineth.enums.BalanceType;
-import com.izouma.nineth.enums.WithdrawStatus;
-import com.izouma.nineth.exception.BusinessException;
-import com.izouma.nineth.repo.BalanceRecordRepo;
-import com.izouma.nineth.repo.UserBalanceRepo;
-import com.izouma.nineth.repo.UserBankCardRepo;
-import com.izouma.nineth.repo.WithdrawApplyRepo;
 import com.izouma.nineth.utils.DateTimeUtils;
-import com.izouma.nineth.utils.JpaUtils;
-import com.izouma.nineth.utils.SnowflakeIdWorker;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.redisson.api.RLock;
-import org.redisson.api.RedissonClient;
-import org.springframework.core.env.Environment;
-import org.springframework.data.domain.Page;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.Arrays;
-import java.util.Optional;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.TimeUnit;
-import java.util.regex.Pattern;
 
 @Service
 @AllArgsConstructor

+ 5 - 2
src/main/java/com/izouma/nineth/service/WithdrawApplyService.java

@@ -18,12 +18,10 @@ import com.izouma.nineth.utils.SnowflakeIdWorker;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.springframework.core.env.Environment;
 import org.springframework.data.domain.Page;
 import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -168,6 +166,11 @@ public class WithdrawApplyService {
     }
 
     @Async
+    @RedisLock(value = "'approveAll'", expire = 1, unit = TimeUnit.HOURS)
+    public void approveAllAsync() throws ExecutionException, InterruptedException {
+        approveAll();
+    }
+
     @RedisLock(value = "'approveAll'", expire = 1, unit = TimeUnit.HOURS)
     public void approveAll() throws ExecutionException, InterruptedException {
         new ForkJoinPool(5).submit(() -> {

+ 5 - 3
src/main/java/com/izouma/nineth/web/AppVersionController.java

@@ -9,6 +9,7 @@ import com.izouma.nineth.service.CacheService;
 import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.data.domain.Page;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -93,10 +94,11 @@ public class AppVersionController extends BaseController {
     }
 
     @GetMapping("/checkUpdate")
-    @Cacheable(value = "checkUpdate", key = "#platform+'@'+#version")
-    public Map<String, Object> checkUpdate(@RequestParam String platform, @RequestParam String version) {
+    @Cacheable(value = "checkUpdate", key = "#platform+'@'+#version+'@'+#channel")
+    public Map<String, Object> checkUpdate(@RequestParam String platform, @RequestParam String version,
+                                           @RequestParam(required = false, defaultValue = "default") String channel) {
         Map<String, Object> map = new HashMap<>();
-        AppVersion appVersion = appVersionRepo.findFirstByPlatformAndReviewFalseAndDelFalseOrderByVersionNumDesc(platform)
+        AppVersion appVersion = appVersionRepo.findLatest(platform, channel)
                 .orElseThrow(new BusinessException("版本不存在"));
         map.put("version", appVersion);
 

+ 1 - 5
src/main/java/com/izouma/nineth/web/WithdrawApplyController.java

@@ -1,25 +1,21 @@
 package com.izouma.nineth.web;
 
 import com.izouma.nineth.domain.WithdrawApply;
-import com.izouma.nineth.repo.UserBalanceRepo;
 import com.izouma.nineth.service.WithdrawApplyService;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.WithdrawApplyRepo;
-import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.SecurityUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
@@ -64,7 +60,7 @@ public class WithdrawApplyController extends BaseController {
     @PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/approveAll")
     public void approveAll() throws ExecutionException, InterruptedException {
-        withdrawApplyService.approveAll();
+        withdrawApplyService.approveAllAsync();
     }
 
     @PreAuthorize("hasRole('ADMIN')")

+ 3 - 0
src/main/vue/src/views/AppVersionEdit.vue

@@ -31,6 +31,9 @@
                     <el-form-item prop="review" label="review">
                         <el-switch v-model="formData.review"></el-switch>
                     </el-form-item>
+                    <el-form-item prop="channel" label="channel">
+                        <el-input v-model="formData.channel"></el-input>
+                    </el-form-item>
                     <el-form-item prop="downloadUrl" label="downloadUrl">
                         <el-input v-model="formData.downloadUrl"></el-input>
                     </el-form-item>

+ 1 - 0
src/main/vue/src/views/AppVersionList.vue

@@ -56,6 +56,7 @@
                     <el-tag :type="row.review ? 'success' : 'info'">{{ row.review ? '是' : '否' }}</el-tag>
                 </template>
             </el-table-column>
+            <el-table-column prop="channel" label="channel"></el-table-column>
             <el-table-column prop="downloadUrl" label="downloadUrl"> </el-table-column>
             <el-table-column label="操作" align="center" fixed="right" width="150">
                 <template slot-scope="{ row }">