浏览代码

api文件添加响应参数

wuweihao 5 年之前
父节点
当前提交
afb0876585

+ 71 - 0
museum_common/src/main/java/com/museum/common/util/Test123.java

@@ -1,9 +1,16 @@
 package com.museum.common.util;
 
+import cn.hutool.core.codec.Base64;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.crypto.asymmetric.SignAlgorithm;
+import cn.hutool.crypto.digest.HMac;
+import com.google.common.util.concurrent.RateLimiter;
 import org.junit.Test;
 
+import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Created by owen on 2020/5/8 0008 14:36
@@ -22,4 +29,68 @@ public class Test123 {
         System.out.println(map);
 
     }
+
+
+    @Test
+    public void base64(){
+        String encode = Base64.encode(new File("F:\\work\\上海历史博物馆\\原型\\原型逻辑说明.png"));
+        System.out.println(encode);
+    }
+
+    @Test
+    public void md5(){
+        String url = "www.baidu.com123";
+//        SignAlgorithm.
+//        SecureUtil.sign();
+
+
+
+
+    }
+
+
+    public static void main(String[] args) {
+        //1秒产生1个令牌
+        final RateLimiter rateLimiter = RateLimiter.create(1);
+        for (int i = 0; i < 10; i++) {
+            //该方法会阻塞线程,直到令牌桶中能取到令牌为止才继续向下执行。
+            double waitTime= rateLimiter.acquire();
+            System.out.println("任务执行" + i + "等待时间" + waitTime);
+        }
+        System.out.println("执行结束");
+    }
+
+
+    /**
+     * 令牌桶测试
+     */
+    @Test
+    public void testRateLimiter1 (){
+        //1秒产生1个令牌
+        final RateLimiter rateLimiter = RateLimiter.create(1);
+        for (int i = 0; i < 10; i++) {
+            //该方法会阻塞线程,直到令牌桶中能取到令牌为止才继续向下执行。
+            double waitTime= rateLimiter.acquire();
+            System.out.println("任务执行" + i + "等待时间" + waitTime);
+        }
+        System.out.println("执行结束");
+    }
+
+
+    @Test
+    public void testRateLimiter2 (){
+        final RateLimiter rateLimiter = RateLimiter.create(1);
+
+        for (int i = 0; i < 10; i++) {
+            long timeOut = (long) 0.5;
+            boolean isValid = rateLimiter.tryAcquire(timeOut, TimeUnit.SECONDS);
+            System.out.println("任务" + i + "执行是否有效:" + isValid);
+            if (!isValid) {
+                continue;
+            }
+            System.out.println("任务" + i + "在执行");
+        }
+        System.out.println("结束");
+    }
+
 }

+ 1 - 4
museum_dao/src/main/java/com/museum/dao/PartMapper.java

@@ -15,10 +15,7 @@ import java.util.List;
 public interface PartMapper extends IBaseMapper<PartEntity, Long> {
 
     @SelectProvider(type = PartProvider.class, method = "findByNav")
-    List<PartEntity> findByNav(NavRequest param);
-
-//    @SelectProvider(type = MessageProvider.class, method = "findBySearchKey")
-//    List<MessageEntity> findBySearchKey(PageRequest param);
+    List<PartEntity> findByNav(NavRequest param, Integer display);
 
 
 }

+ 5 - 5
museum_dao/src/main/java/com/museum/dao/Provide/PartProvider.java

@@ -11,7 +11,7 @@ import org.apache.commons.lang3.StringUtils;
 @Log4j2
 public class PartProvider {
 
-    public String findByNav(NavRequest param){
+    public String findByNav(NavRequest param, Integer display){
         StringBuffer sql = new StringBuffer("" +
                 "SELECT * FROM tb_part where rec_status = 'A' ");
 
@@ -28,10 +28,9 @@ public class PartProvider {
             sql.append(" and block =").append(block);
         }
 
-//        String modelType = param.getModelType();
-//        if(StringUtils.isNotBlank(modelType)){
-//            sql.append(" and model_type ='").append(modelType).append("'");
-//        }
+        if (display != null) {
+            sql.append("and display = ").append(display);
+        }
 
         String zone = param.getZone();
         if(StringUtils.isNotBlank(zone)){
@@ -49,4 +48,5 @@ public class PartProvider {
         log.info("sql: {}", sql.toString());
         return sql.toString();
     }
+
 }

+ 4 - 5
museum_dao/src/main/java/com/museum/dao/Provide/RoamProvider.java

@@ -11,7 +11,7 @@ import org.apache.commons.lang3.StringUtils;
 @Log4j2
 public class RoamProvider {
 
-    public String findByNav(NavRequest param){
+    public String findByNav(NavRequest param, Integer display){
         StringBuffer sql = new StringBuffer("" +
                 "SELECT * FROM tb_roam where rec_status = 'A' ");
 
@@ -27,10 +27,9 @@ public class RoamProvider {
             sql.append(" and block =").append(block);
         }
 
-//        String modelType = param.getModelType();
-//        if(modelType != null){
-//            sql.append(" and model_type =").append(modelType);
-//        }
+        if(display != null){
+            sql.append(" and display =").append(display);
+        }
 
         String zone = param.getZone();
         if(StringUtils.isNotBlank(zone)){

+ 1 - 1
museum_dao/src/main/java/com/museum/dao/RoamMapper.java

@@ -15,7 +15,7 @@ import java.util.List;
 public interface RoamMapper extends IBaseMapper<RoamEntity, Long> {
 
     @SelectProvider(type = RoamProvider.class, method = "findByNav")
-    List<RoamEntity> findByNav(NavRequest param);
+    List<RoamEntity> findByNav(NavRequest param, Integer display);
 
 
 

+ 1 - 1
museum_domain/src/main/java/com/museum/domain/entity/PartEntity.java

@@ -37,7 +37,7 @@ public class PartEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "程序显示, 0:显示,1:不显示")
     private Integer display;
 
-    @ApiModelProperty(value = "图标,base64")
+    @ApiModelProperty(value = "场景ico")
     private String ico;
 
     @ApiModelProperty(value = "材质")

+ 3 - 0
museum_domain/src/main/java/com/museum/domain/entity/RoamEntity.java

@@ -30,6 +30,9 @@ public class RoamEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "场景rul")
     private String webSite;
 
+    @ApiModelProperty(value = "场景ico")
+    private String ico;
+
     @ApiModelProperty(value = "程序显示, 0:显示,1:不显示")
     private Integer display;
 

+ 1 - 1
museum_domain/src/main/java/com/museum/domain/request/PartRequest.java

@@ -48,7 +48,7 @@ public class PartRequest  {
     @ApiModelProperty(value = "程序显示, 0:显示,1:不显示", name = "display", required = true)
     private Integer display;
 
-    @ApiModelProperty(value = "图标,以base64传输", name = "ico")
+    @ApiModelProperty(value = "场景ico")
     private String ico;
 
     @ApiModelProperty(value = "材料", name = "material")

+ 2 - 1
museum_service/src/main/java/com/museum/service/PartService.java

@@ -12,7 +12,8 @@ import java.util.List;
  */
 public interface PartService extends IBaseService<PartEntity, Long> {
 
-    List<PartEntity> findByNav(NavRequest param);
+
+    List<PartEntity> findByNav(NavRequest param, Integer display);
 
 
 }

+ 1 - 1
museum_service/src/main/java/com/museum/service/RoamService.java

@@ -12,7 +12,7 @@ import java.util.List;
  */
 public interface RoamService extends IBaseService<RoamEntity, Long> {
 
-    List<RoamEntity> findByNav(NavRequest param);
+    List<RoamEntity> findByNav(NavRequest param, Integer display);
 
 
 

+ 2 - 4
museum_service/src/main/java/com/museum/service/impl/PartServiceImpl.java

@@ -26,11 +26,9 @@ public class PartServiceImpl extends IBaseServiceImpl<PartEntity, Long> implemen
     }
 
     @Override
-    public List<PartEntity> findByNav(NavRequest param) {
-        return entityMapper.findByNav(param);
+    public List<PartEntity> findByNav(NavRequest param, Integer display) {
+        return entityMapper.findByNav(param, display);
     }
 
 
-
-
 }

+ 2 - 2
museum_service/src/main/java/com/museum/service/impl/RoamServiceImpl.java

@@ -26,8 +26,8 @@ public class RoamServiceImpl extends IBaseServiceImpl<RoamEntity, Long> implemen
     }
 
     @Override
-    public List<RoamEntity> findByNav(NavRequest param) {
-        return entityMapper.findByNav(param);
+    public List<RoamEntity> findByNav(NavRequest param, Integer display) {
+        return entityMapper.findByNav(param, display);
     }
 
 

+ 6 - 0
museum_web/src/main/java/com/museum/web/controller/BaseController.java

@@ -61,6 +61,12 @@ public class BaseController {
         return request.getHeader("token");
     }
 
+    /** 获取header appType 区分移动端还是后端,web:移动端*/
+    String getAppType(){
+        return request.getHeader("appType");
+    }
+
+
     /**
      * 设置请求分页数据
      */

+ 8 - 0
museum_web/src/main/java/com/museum/web/controller/ExceptionController.java

@@ -108,6 +108,14 @@ public class ExceptionController {
         return Result.failure(60004, "路径不存在,请检查路径是否正确");
     }
 
+    /**
+     * 防止表单重复提交
+     * 需要结合数据库某个字段设置唯一字段使用
+     *
+     * 例如userName
+     *
+     * 也可以结合redis使用
+     */
     @ExceptionHandler(DuplicateKeyException.class)
     public Result handleDuplicateKeyException(DuplicateKeyException e) {
         log.error(e.getMessage(), e);

+ 5 - 1
museum_web/src/main/java/com/museum/web/controller/PartController.java

@@ -48,7 +48,11 @@ public class PartController extends BaseController {
     @PostMapping("list")
     public Result<PartEntity> list(@Valid @RequestBody NavRequest param) {
         startPage(param);
-        PageInfo<PartEntity> page = new PageInfo<>(partService.findByNav(param));
+        String appType = getAppType();
+        log.info("appType: {}", appType);
+        // 区分移动端,还是后端
+        Integer display = "web".equals(appType) ? 0 : null;
+        PageInfo<PartEntity> page = new PageInfo<>(partService.findByNav(param, display));
         return Result.success(page);
     }
 

+ 5 - 1
museum_web/src/main/java/com/museum/web/controller/RoamController.java

@@ -40,7 +40,11 @@ public class RoamController extends BaseController {
     @PostMapping("list")
     public Result<RoamEntity> list(@Valid @RequestBody NavRequest param) {
         startPage(param);
-        PageInfo<RoamEntity> page = new PageInfo<>(roamService.findByNav(param));
+        String appType = getAppType();
+        log.info("appType: {}", appType);
+        // 区分移动端,还是后端
+        Integer display = "web".equals(appType) ? 0 : null;
+        PageInfo<RoamEntity> page = new PageInfo<>(roamService.findByNav(param, display));
         return Result.success(page);
     }