xiongzhu пре 3 година
родитељ
комит
40283ec74b
73 измењених фајлова са 906 додато и 269 уклоњено
  1. 52 3
      pom.xml
  2. 0 3
      src/main/java/com/izouma/awesomeAdmin/Application.java
  3. 86 0
      src/main/java/com/izouma/awesomeAdmin/config/CacheConfig.java
  4. 24 0
      src/main/java/com/izouma/awesomeAdmin/config/EmbededRedis.java
  5. 32 0
      src/main/java/com/izouma/awesomeAdmin/config/PageDeserializer.java
  6. 200 0
      src/main/java/com/izouma/awesomeAdmin/config/PageJacksonModule.java
  7. 38 0
      src/main/java/com/izouma/awesomeAdmin/config/SortJacksonModule.java
  8. 84 0
      src/main/java/com/izouma/awesomeAdmin/config/SortJsonComponent.java
  9. 6 5
      src/main/java/com/izouma/awesomeAdmin/config/WebMvcConfig.java
  10. 0 3
      src/main/java/com/izouma/awesomeAdmin/domain/User.java
  11. 32 0
      src/main/java/com/izouma/awesomeAdmin/dto/PageWrapper.java
  12. 2 0
      src/main/java/com/izouma/awesomeAdmin/repo/SysConfigRepo.java
  13. 3 3
      src/main/java/com/izouma/awesomeAdmin/security/WebSecurityConfig.java
  14. 10 3
      src/main/java/com/izouma/awesomeAdmin/service/SaleBatchService.java
  15. 0 4
      src/main/java/com/izouma/awesomeAdmin/service/SysConfigService.java
  16. 1 1
      src/main/java/com/izouma/awesomeAdmin/service/storage/LocalStorageService.java
  17. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/AddressController.java
  18. 1 1
      src/main/java/com/izouma/awesomeAdmin/web/AuthorityController.java
  19. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/BannerController.java
  20. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/CategoryController.java
  21. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/CommissionRecordController.java
  22. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/DelegationController.java
  23. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/DemoProductController.java
  24. 1 1
      src/main/java/com/izouma/awesomeAdmin/web/GenCodeController.java
  25. 1 1
      src/main/java/com/izouma/awesomeAdmin/web/MenuController.java
  26. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/ProductController.java
  27. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/SaleBatchController.java
  28. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/SubAccountController.java
  29. 8 7
      src/main/java/com/izouma/awesomeAdmin/web/SysConfigController.java
  30. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/UserCollectionController.java
  31. 3 3
      src/main/java/com/izouma/awesomeAdmin/web/UserController.java
  32. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/UserMoneyRecordController.java
  33. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/WithdrawApplyController.java
  34. 2 2
      src/main/java/com/izouma/awesomeAdmin/web/WorkOrderController.java
  35. 1 0
      src/main/paintingmarket/package.json
  36. 1 1
      src/main/paintingmarket/src/plugins/http.js
  37. 1 1
      src/main/paintingmarket/src/views/AddressList.vue
  38. 2 2
      src/main/paintingmarket/src/views/Detail.vue
  39. 2 2
      src/main/paintingmarket/src/views/Home.vue
  40. 2 2
      src/main/paintingmarket/src/views/List.vue
  41. 1 1
      src/main/paintingmarket/src/views/User.vue
  42. 1 1
      src/main/paintingmarket/src/views/distribution/CommissionRecord.vue
  43. 1 1
      src/main/paintingmarket/src/views/order/OrderDetail.vue
  44. 1 1
      src/main/paintingmarket/src/views/order/Submit.vue
  45. 33 0
      src/main/paintingmarket/yarn.lock
  46. 101 91
      src/main/resources/application.yaml
  47. 1 28
      src/main/resources/logback-spring.xml
  48. 2 2
      src/main/resources/templates/ControllerTemplate.ftl
  49. 1 0
      src/main/vue/package.json
  50. 1 1
      src/main/vue/src/mixins/pageableTable.js
  51. 1 1
      src/main/vue/src/views/DemoProductEdit.vue
  52. 1 1
      src/main/vue/src/views/Menus.vue
  53. 1 1
      src/main/vue/src/views/OrderList.vue
  54. 12 8
      src/main/vue/src/views/ProductEdit.vue
  55. 8 4
      src/main/vue/src/views/ProductList.vue
  56. 1 1
      src/main/vue/src/views/SubPlatform.vue
  57. 1 1
      src/main/vue/src/views/UserEdit.vue
  58. 8 4
      src/main/vue/src/views/UserList.vue
  59. 33 0
      src/main/vue/yarn.lock
  60. 5 4
      src/test/java/com/izouma/awesomeAdmin/ApplicationTests.java
  61. 6 1
      src/test/java/com/izouma/awesomeAdmin/CacheTest.java
  62. 1 1
      src/test/java/com/izouma/awesomeAdmin/CommonTest.java
  63. 5 4
      src/test/java/com/izouma/awesomeAdmin/GenCodeTest.java
  64. 7 3
      src/test/java/com/izouma/awesomeAdmin/repo/CommissionRecordRepoTest.java
  65. 7 4
      src/test/java/com/izouma/awesomeAdmin/repo/OrderRepoTest.java
  66. 6 6
      src/test/java/com/izouma/awesomeAdmin/repo/SmsRecordRepoTest.java
  67. 5 9
      src/test/java/com/izouma/awesomeAdmin/repo/UserRepoTest.java
  68. 7 2
      src/test/java/com/izouma/awesomeAdmin/service/AlipayTest.java
  69. 7 4
      src/test/java/com/izouma/awesomeAdmin/service/CommissionServiceTest.java
  70. 7 4
      src/test/java/com/izouma/awesomeAdmin/service/ProductServiceTest.java
  71. 7 4
      src/test/java/com/izouma/awesomeAdmin/service/UserServiceTest.java
  72. 7 2
      src/test/java/com/izouma/awesomeAdmin/service/sms/SmsServiceTest.java
  73. 1 2
      src/test/java/com/izouma/awesomeAdmin/utils/LogisticsUtilsTest.java

+ 52 - 3
pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.1.8.RELEASE</version>
+        <version>2.6.5</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.izouma</groupId>
@@ -71,6 +71,17 @@
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
 
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-cache</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
@@ -88,6 +99,11 @@
             <optional>true</optional>
         </dependency>
 
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
@@ -225,12 +241,12 @@
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
-            <version>2.9.1</version>
+            <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.9.1</version>
+            <version>3.0.0</version>
         </dependency>
 
         <dependency>
@@ -280,6 +296,39 @@
             <version>4.9.13.ALL</version>
         </dependency>
 
+
+        <dependency>
+            <groupId>javax.cache</groupId>
+            <artifactId>cache-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.github.kstyrc</groupId>
+            <artifactId>embedded-redis</artifactId>
+            <version>0.6</version>
+        </dependency>
+
+
+
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-envers</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-hibernate5</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-hibernate4</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-jsr310</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 0 - 3
src/main/java/com/izouma/awesomeAdmin/Application.java

@@ -1,9 +1,7 @@
 package com.izouma.awesomeAdmin;
 
-import com.izouma.awesomeAdmin.security.JwtConfig;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -19,5 +17,4 @@ public class Application {
     public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
     }
-
 }

+ 86 - 0
src/main/java/com/izouma/awesomeAdmin/config/CacheConfig.java

@@ -0,0 +1,86 @@
+package com.izouma.awesomeAdmin.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
+import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@Configuration
+@AutoConfigureAfter({RedisAutoConfiguration.class, CacheAutoConfiguration.class})
+public class CacheConfig {
+
+    public Jackson2JsonRedisSerializer<?> jackson2JsonRedisSerializer() {
+
+        //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
+        Jackson2JsonRedisSerializer<?> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
+
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+        mapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,
+                ObjectMapper.DefaultTyping.NON_FINAL,
+                JsonTypeInfo.As.WRAPPER_ARRAY);
+        mapper.registerModule(new Hibernate5Module()
+                .enable(Hibernate5Module.Feature.FORCE_LAZY_LOADING));
+        mapper.registerModule(new JavaTimeModule());
+        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+        SimpleModule simpleModule = new SimpleModule();
+        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
+        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
+        mapper.registerModule(simpleModule);
+
+        serializer.setObjectMapper(mapper);
+        return serializer;
+    }
+
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
+
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
+        template.setConnectionFactory(redisConnectionFactory);
+
+        template.setValueSerializer(jackson2JsonRedisSerializer());
+        //使用StringRedisSerializer来序列化和反序列化redis的key值
+        template.setKeySerializer(new StringRedisSerializer());
+        template.setHashKeySerializer(new StringRedisSerializer());
+        template.setHashValueSerializer(jackson2JsonRedisSerializer());
+        template.afterPropertiesSet();
+        return template;
+    }
+
+    @Bean
+    public RedisCacheManager redisCacheManager(RedisConnectionFactory redisConnectionFactory) {
+        Jackson2JsonRedisSerializer<?> serializer = jackson2JsonRedisSerializer();
+        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
+                .entryTtl(Duration.ofMinutes(30))
+                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(serializer));
+        Map<String, RedisCacheConfiguration> redisCacheConfigurationMap = new HashMap<>();
+        return RedisCacheManager.builder(redisConnectionFactory)
+                .cacheDefaults(redisCacheConfiguration)
+                .withInitialCacheConfigurations(redisCacheConfigurationMap)
+                .build();
+    }
+
+}

+ 24 - 0
src/main/java/com/izouma/awesomeAdmin/config/EmbededRedis.java

@@ -0,0 +1,24 @@
+package com.izouma.awesomeAdmin.config;
+
+import org.springframework.stereotype.Component;
+import redis.embedded.RedisServer;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import java.io.IOException;
+
+@Component
+public class EmbededRedis {
+    private RedisServer redisServer;
+
+    @PostConstruct
+    public void startRedis() throws IOException {
+        redisServer = new RedisServer(6379);
+        redisServer.start();
+    }
+
+    @PreDestroy
+    public void stopRedis() {
+        redisServer.stop();
+    }
+}

+ 32 - 0
src/main/java/com/izouma/awesomeAdmin/config/PageDeserializer.java

@@ -0,0 +1,32 @@
+package com.izouma.awesomeAdmin.config;
+
+import com.fasterxml.jackson.core.JacksonException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+
+import java.io.IOException;
+import java.util.List;
+
+public class PageDeserializer extends StdDeserializer<PageImpl> {
+
+    public PageDeserializer() {
+        super(PageImpl.class);
+    }
+
+    @Override
+    public PageImpl deserialize(JsonParser p, DeserializationContext ctx) throws IOException, JacksonException {
+        int number = ctx.readValue(p, int.class);
+        int numberOfElements = ctx.readValue(p, int.class);
+        long totalElements = ctx.readValue(p, long.class);
+        long totalPages = ctx.readValue(p, long.class);
+        int size = ctx.readValue(p, int.class);
+        List content = ctx.readValue(p, List.class);
+        new PageImpl<>(content, PageRequest.of(number, size), totalElements);
+        return null;
+    }
+
+
+}

+ 200 - 0
src/main/java/com/izouma/awesomeAdmin/config/PageJacksonModule.java

@@ -0,0 +1,200 @@
+package com.izouma.awesomeAdmin.config;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.function.Function;
+
+import com.fasterxml.jackson.annotation.JsonAlias;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.Module;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+
+/**
+ * This Jackson module provides support to deserialize Spring {@link Page} objects.
+ *
+ * @author Pascal Büttiker
+ * @author Olga Maciaszek-Sharma
+ * @author Pedro Mendes
+ * @author Nikita Konev
+ */
+public class PageJacksonModule extends Module {
+
+    @Override
+    public String getModuleName() {
+        return "PageJacksonModule";
+    }
+
+    @Override
+    public Version version() {
+        return new Version(0, 1, 0, "", null, null);
+    }
+
+    @Override
+    public void setupModule(SetupContext context) {
+        context.setMixInAnnotations(Page.class, PageMixIn.class);
+    }
+
+    @JsonDeserialize(as = SimplePageImpl.class)
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    private interface PageMixIn {
+
+    }
+
+    static class SimplePageImpl<T> implements Page<T> {
+
+        private final Page<T> delegate;
+
+        SimplePageImpl(@JsonProperty("content") List<T> content, @JsonProperty("number") int number,
+                       @JsonProperty("size") int size, @JsonProperty("totalElements") @JsonAlias({ "total-elements",
+                "total_elements", "totalelements", "TotalElements" }) long totalElements,
+                       @JsonProperty("sort") Sort sort) {
+            if (size > 0) {
+                PageRequest pageRequest;
+                if (sort != null) {
+                    pageRequest = PageRequest.of(number, size, sort);
+                }
+                else {
+                    pageRequest = PageRequest.of(number, size);
+                }
+                delegate = new PageImpl<>(content, pageRequest, totalElements);
+            }
+            else {
+                delegate = new PageImpl<>(content);
+            }
+        }
+
+        @JsonProperty
+        @Override
+        public int getTotalPages() {
+            return delegate.getTotalPages();
+        }
+
+        @JsonProperty
+        @Override
+        public long getTotalElements() {
+            return delegate.getTotalElements();
+        }
+
+        @JsonProperty
+        @Override
+        public int getNumber() {
+            return delegate.getNumber();
+        }
+
+        @JsonProperty
+        @Override
+        public int getSize() {
+            return delegate.getSize();
+        }
+
+        @JsonProperty
+        @Override
+        public int getNumberOfElements() {
+            return delegate.getNumberOfElements();
+        }
+
+        @JsonProperty
+        @Override
+        public List<T> getContent() {
+            return delegate.getContent();
+        }
+
+        @JsonProperty
+        @Override
+        public boolean hasContent() {
+            return delegate.hasContent();
+        }
+
+        @JsonIgnore
+        @Override
+        public Sort getSort() {
+            return delegate.getSort();
+        }
+
+        @JsonProperty
+        @Override
+        public boolean isFirst() {
+            return delegate.isFirst();
+        }
+
+        @JsonProperty
+        @Override
+        public boolean isLast() {
+            return delegate.isLast();
+        }
+
+        @JsonIgnore
+        @Override
+        public boolean hasNext() {
+            return delegate.hasNext();
+        }
+
+        @JsonIgnore
+        @Override
+        public boolean hasPrevious() {
+            return delegate.hasPrevious();
+        }
+
+        @JsonIgnore
+        @Override
+        public Pageable nextPageable() {
+            return delegate.nextPageable();
+        }
+
+        @JsonIgnore
+        @Override
+        public Pageable previousPageable() {
+            return delegate.previousPageable();
+        }
+
+        @JsonIgnore
+        @Override
+        public <S> Page<S> map(Function<? super T, ? extends S> converter) {
+            return delegate.map(converter);
+        }
+
+        @JsonIgnore
+        @Override
+        public Iterator<T> iterator() {
+            return delegate.iterator();
+        }
+
+        @JsonIgnore
+        @Override
+        public Pageable getPageable() {
+            return delegate.getPageable();
+        }
+
+        @JsonIgnore
+        @Override
+        public boolean isEmpty() {
+            return delegate.isEmpty();
+        }
+
+        @Override
+        public int hashCode() {
+            return delegate.hashCode();
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            return delegate.equals(obj);
+        }
+
+        @Override
+        public String toString() {
+            return delegate.toString();
+        }
+
+    }
+
+}

+ 38 - 0
src/main/java/com/izouma/awesomeAdmin/config/SortJacksonModule.java

@@ -0,0 +1,38 @@
+package com.izouma.awesomeAdmin.config;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.Module;
+import com.fasterxml.jackson.databind.module.SimpleDeserializers;
+import com.fasterxml.jackson.databind.module.SimpleSerializers;
+import org.springframework.data.domain.Sort;
+
+/**
+ * This Jackson module provides support for serializing and deserializing for Spring
+ * {@link Sort} object.
+ *
+ * @author Can Bezmen
+ */
+public class SortJacksonModule extends Module {
+
+    @Override
+    public String getModuleName() {
+        return "SortModule";
+    }
+
+    @Override
+    public Version version() {
+        return new Version(0, 1, 0, "", null, null);
+    }
+
+    @Override
+    public void setupModule(SetupContext context) {
+        SimpleSerializers serializers = new SimpleSerializers();
+        serializers.addSerializer(Sort.class, new SortJsonComponent.SortSerializer());
+        context.addSerializers(serializers);
+
+        SimpleDeserializers deserializers = new SimpleDeserializers();
+        deserializers.addDeserializer(Sort.class, new SortJsonComponent.SortDeserializer());
+        context.addDeserializers(deserializers);
+    }
+
+}

+ 84 - 0
src/main/java/com/izouma/awesomeAdmin/config/SortJsonComponent.java

@@ -0,0 +1,84 @@
+package com.izouma.awesomeAdmin.config;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.TreeNode;
+import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import org.springframework.data.domain.Sort;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This class provides provides support for serializing and deserializing for Spring
+ * {@link Sort} object.
+ *
+ * @author Can Bezmen
+ */
+public class SortJsonComponent {
+
+    public static class SortSerializer extends JsonSerializer<Sort> {
+
+        @Override
+        public void serialize(Sort value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+            gen.writeStartArray();
+            value.iterator().forEachRemaining(v -> {
+                try {
+                    gen.writeObject(v);
+                } catch (IOException e) {
+                    throw new RuntimeException("Couldn't serialize object " + v);
+                }
+            });
+            gen.writeEndArray();
+        }
+
+        public void serializeWithType(Sort value, JsonGenerator gen, SerializerProvider serializers,
+                                      TypeSerializer typeSer) throws IOException {
+            gen.writeStartArray();
+            value.iterator().forEachRemaining(v -> {
+                try {
+                    gen.writeObject(v);
+                } catch (IOException e) {
+                    throw new RuntimeException("Couldn't serialize object " + v);
+                }
+            });
+            gen.writeEndArray();
+        }
+
+        @Override
+        public Class<Sort> handledType() {
+            return Sort.class;
+        }
+
+    }
+
+    public static class SortDeserializer extends JsonDeserializer<Sort> {
+
+        @Override
+        public Sort deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
+                throws IOException {
+            TreeNode treeNode = jsonParser.getCodec().readTree(jsonParser);
+            if (treeNode.isArray()) {
+                ArrayNode arrayNode = (ArrayNode) treeNode;
+                List<Sort.Order> orders = new ArrayList<>();
+                for (JsonNode jsonNode : arrayNode) {
+                    Sort.Order order = new Sort.Order(Sort.Direction.valueOf(jsonNode.get("direction").textValue()),
+                            jsonNode.get("property").textValue());
+                    orders.add(order);
+                }
+                return Sort.by(orders);
+            }
+            return null;
+        }
+
+        @Override
+        public Class<Sort> handledType() {
+            return Sort.class;
+        }
+
+    }
+
+}

+ 6 - 5
src/main/java/com/izouma/awesomeAdmin/config/WebMvcConfig.java

@@ -30,11 +30,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
     public Docket createApi() {
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(new ApiInfoBuilder()
-                                 .title("接口文档")
-                                 .version("1.0.0")
-                                 .termsOfServiceUrl("#")
-                                 .description("接口文档")
-                                 .build())
+                        .title("接口文档")
+                        .version("1.0.0")
+                        .termsOfServiceUrl("#")
+                        .description("接口文档")
+                        .build())
                 .select()
                 .apis(RequestHandlerSelectors.basePackage("com.izouma.awesomeAdmin.web"))
                 .paths(PathSelectors.any())
@@ -67,6 +67,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
     public void addCorsMappings(CorsRegistry registry) {
         registry.addMapping("/**")
                 .allowedHeaders("*")
+                .allowedOriginPatterns("*")
                 .allowCredentials(true)
                 .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH")
                 .exposedHeaders("Content-Disposition");

+ 0 - 3
src/main/java/com/izouma/awesomeAdmin/domain/User.java

@@ -20,9 +20,7 @@ import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.math.BigDecimal;
-import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 
 @Data
@@ -34,7 +32,6 @@ import java.util.Set;
 @ApiModel(value = "用户", description = "用户")
 public class User extends BaseEntity implements Serializable {
 
-    @Pattern(regexp = Constants.Regex.USERNAME)
     @Size(min = 1, max = 50)
     @Column(nullable = false, unique = true)
     @Searchable

+ 32 - 0
src/main/java/com/izouma/awesomeAdmin/dto/PageWrapper.java

@@ -0,0 +1,32 @@
+package com.izouma.awesomeAdmin.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class PageWrapper<T> {
+    private List<T> content;
+
+    private int page;
+
+    private int size;
+
+    private long total;
+
+    public Page<T> toPage() {
+        return new PageImpl<>(content, PageRequest.of(page, size), total);
+    }
+
+    public static <T> PageWrapper<T> of(Page<T> page) {
+        return new PageWrapper<>(page.getContent(), page.getPageable().getPageNumber(),
+                page.getPageable().getPageSize(), page.getTotalElements());
+    }
+}

+ 2 - 0
src/main/java/com/izouma/awesomeAdmin/repo/SysConfigRepo.java

@@ -1,11 +1,13 @@
 package com.izouma.awesomeAdmin.repo;
 
 import com.izouma.awesomeAdmin.domain.SysConfig;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 
 import java.util.Optional;
 
 public interface SysConfigRepo extends JpaRepository<SysConfig, String>, JpaSpecificationExecutor<SysConfig> {
+    @Cacheable(value = "sysConfig", key = "#name")
     Optional<SysConfig> findByName(String name);
 }

+ 3 - 3
src/main/java/com/izouma/awesomeAdmin/security/WebSecurityConfig.java

@@ -28,15 +28,15 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
     private JwtUserDetailsService       jwtUserDetailsService;
     private JwtAuthorizationTokenFilter authenticationTokenFilter;
 
-    @Autowired
-    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
+    @Override
+    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
         auth.userDetailsService(jwtUserDetailsService)
                 .passwordEncoder(passwordEncoderBean());
     }
 
     @Bean
     public PasswordEncoder passwordEncoderBean() {
-        return new BCryptPasswordEncoder();
+        return new BCryptPasswordEncoder(4);
     }
 
     @Bean

+ 10 - 3
src/main/java/com/izouma/awesomeAdmin/service/SaleBatchService.java

@@ -5,11 +5,10 @@ import com.izouma.awesomeAdmin.exception.BusinessException;
 import com.izouma.awesomeAdmin.repo.SaleBatchRepo;
 import com.izouma.awesomeAdmin.utils.ObjUtils;
 import com.izouma.awesomeAdmin.utils.Translator;
-import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.scheduling.TaskScheduler;
 import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.scheduling.support.CronTrigger;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -18,8 +17,8 @@ import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
 import java.util.*;
-import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledFuture;
+import java.util.stream.Collectors;
 
 @Service
 @Slf4j
@@ -70,4 +69,12 @@ public class SaleBatchService {
             }
         }
     }
+
+    @Cacheable("currentBatch")
+    public List<SaleBatch> currentBatch() {
+        return saleBatchRepo.findAllByEnabledTrue().stream().filter(saleBatch -> {
+            LocalTime nowTime = LocalDateTime.now().toLocalTime();
+            return saleBatch.getDelegateStart().isBefore(nowTime) && saleBatch.getDelegateEnd().isAfter(nowTime);
+        }).sorted(Comparator.comparing(SaleBatch::getDelegateStart)).collect(Collectors.toList());
+    }
 }

+ 0 - 4
src/main/java/com/izouma/awesomeAdmin/service/SysConfigService.java

@@ -5,7 +5,6 @@ import com.izouma.awesomeAdmin.exception.BusinessException;
 import com.izouma.awesomeAdmin.repo.SysConfigRepo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import springfox.documentation.annotations.Cacheable;
 
 import java.math.BigDecimal;
 import java.time.LocalTime;
@@ -16,13 +15,11 @@ import java.time.format.DateTimeFormatter;
 public class SysConfigService {
     private SysConfigRepo sysConfigRepo;
 
-    @Cacheable("SysConfigServiceGetBigDecimal")
     public BigDecimal getBigDecimal(String name) {
         return sysConfigRepo.findByName(name).map(sysConfig -> new BigDecimal(sysConfig.getValue()))
                 .orElse(BigDecimal.ZERO);
     }
 
-    @Cacheable("SysConfigServiceGetTime")
     public LocalTime getTime(String name) {
         String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
                 .orElseThrow(new BusinessException("配置不存在"));
@@ -30,7 +27,6 @@ public class SysConfigService {
         return LocalTime.from(dateTimeFormatter.parse(str));
     }
 
-    @Cacheable("SysConfigServiceGetBoolean")
     public boolean getBoolean(String name) {
         String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
                 .orElseThrow(new BusinessException("配置不存在"));

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/service/storage/LocalStorageService.java

@@ -52,7 +52,7 @@ public class LocalStorageService implements StorageService {
         if (Files.notExists(uploadPath, LinkOption.values())) {
             Files.createDirectories(uploadPath);
         }
-        FileUtils.copyToFile(inputStream, new File(Paths.get(localPath, path).toString()));
+        FileUtils.copyInputStreamToFile(inputStream, new File(Paths.get(localPath, path).toString()));
         try {
             inputStream.close();
         } catch (IOException e) {

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/AddressController.java

@@ -46,8 +46,8 @@ public class AddressController extends BaseController {
 
 
 //    @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<Address> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<Address> all(@RequestBody PageQuery pageQuery) {
         return addressRepo.findAll(toSpecification(pageQuery, Address.class), toPageRequest(pageQuery));
     }
 

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/AuthorityController.java

@@ -16,7 +16,7 @@ public class AuthorityController extends BaseController {
     private AuthorityRepo authorityRepo;
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
+    @PostMapping("/all")
     public List<Authority> all() {
         return authorityRepo.findAll();
     }

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/BannerController.java

@@ -40,8 +40,8 @@ public class BannerController extends BaseController {
     }
 
 
-    @GetMapping("/all")
-    public Page<Banner> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<Banner> all(@RequestBody PageQuery pageQuery) {
         return bannerRepo.findAll(toSpecification(pageQuery,Banner.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/CategoryController.java

@@ -40,8 +40,8 @@ public class CategoryController extends BaseController {
     }
 
 
-    @GetMapping("/all")
-    public Page<Category> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<Category> all(@RequestBody PageQuery pageQuery) {
         return categoryRepo.findAll(toSpecification(pageQuery,Category.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/CommissionRecordController.java

@@ -41,8 +41,8 @@ public class CommissionRecordController extends BaseController {
 
 
 //    @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<CommissionRecord> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<CommissionRecord> all(@RequestBody PageQuery pageQuery) {
         return commissionRecordRepo.findAll(toSpecification(pageQuery,CommissionRecord.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/DelegationController.java

@@ -40,8 +40,8 @@ public class DelegationController extends BaseController {
     }
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<Delegation> all(PageQuery pageQuery, @RequestParam(required = false) LocalDateTime start,
+    @PostMapping("/all")
+    public Page<Delegation> all(@RequestBody PageQuery pageQuery, @RequestParam(required = false) LocalDateTime start,
                                 @RequestParam(required = false) LocalDateTime end) {
         Specification<Delegation> specification = toSpecification(pageQuery, Delegation.class);
         if (start != null) {

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/DemoProductController.java

@@ -42,8 +42,8 @@ public class DemoProductController extends BaseController {
 
 
 //    @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<DemoProduct> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<DemoProduct> all(@RequestBody PageQuery pageQuery) {
         return demoProductRepo.findAll(toSpecification(pageQuery, DemoProduct.class), toPageRequest(pageQuery));
     }
 

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/GenCodeController.java

@@ -27,7 +27,7 @@ public class GenCodeController {
     @Autowired
     private GenCodeService genCodeService;
 
-    @GetMapping("/all")
+    @PostMapping("/all")
     public List<GenCode> all(GenCode record) throws IOException {
 
         BufferedReader reader = null;

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/MenuController.java

@@ -26,7 +26,7 @@ public class MenuController extends BaseController {
     }
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
+    @PostMapping("/all")
     public List<Menu> all() {
         List<Menu> menuList = menuRepo.findByRootTrue();
         menuList.forEach(this::sortMenu);

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/ProductController.java

@@ -50,8 +50,8 @@ public class ProductController extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<Product> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<Product> all(@RequestBody PageQuery pageQuery) {
         return productRepo.findAll(toSpecification(pageQuery, Product.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/SaleBatchController.java

@@ -41,8 +41,8 @@ public class SaleBatchController extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<SaleBatch> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<SaleBatch> all(@RequestBody PageQuery pageQuery) {
         return saleBatchRepo.findAll(toSpecification(pageQuery, SaleBatch.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/SubAccountController.java

@@ -41,8 +41,8 @@ public class SubAccountController extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<SubAccount> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<SubAccount> all(@RequestBody PageQuery pageQuery) {
         return subAccountRepo.findAll(toSpecification(pageQuery,SubAccount.class), toPageRequest(pageQuery));
     }
 

+ 8 - 7
src/main/java/com/izouma/awesomeAdmin/web/SysConfigController.java

@@ -1,6 +1,7 @@
 package com.izouma.awesomeAdmin.web;
 
 import com.izouma.awesomeAdmin.domain.SysConfig;
+import com.izouma.awesomeAdmin.dto.PageWrapper;
 import com.izouma.awesomeAdmin.service.DelegationService;
 import com.izouma.awesomeAdmin.service.SysConfigService;
 import com.izouma.awesomeAdmin.dto.PageQuery;
@@ -12,6 +13,7 @@ import com.izouma.awesomeAdmin.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.data.domain.Page;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -24,20 +26,19 @@ import java.util.List;
 @RequestMapping("/sysConfig")
 @AllArgsConstructor
 public class SysConfigController extends BaseController {
-    private SysConfigService  sysConfigService;
-    private SysConfigRepo     sysConfigRepo;
+    private SysConfigRepo sysConfigRepo;
 
     @PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
-    @CacheEvict(value = {"SysConfigServiceGetBigDecimal", "SysConfigServiceGetTime"}, allEntries = true)
+    @CacheEvict(value = {"sysConfig"}, allEntries = true)
     public SysConfig save(@RequestBody SysConfig record) {
         return sysConfigRepo.saveAndFlush(record);
     }
 
-
-    @GetMapping("/all")
-    public Page<SysConfig> all(PageQuery pageQuery) {
-        return sysConfigRepo.findAll(toSpecification(pageQuery, SysConfig.class), toPageRequest(pageQuery));
+    @PostMapping("/all")
+    @Cacheable(value = "sysConfig", key = "'all'+#pageQuery.hashCode()")
+    public PageWrapper<SysConfig> all(@RequestBody PageQuery pageQuery) {
+        return PageWrapper.of(sysConfigRepo.findAll(toSpecification(pageQuery, SysConfig.class), toPageRequest(pageQuery)));
     }
 
     @GetMapping("/get/{id}")

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/UserCollectionController.java

@@ -45,8 +45,8 @@ public class UserCollectionController extends BaseController {
 
 
     //    @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<UserCollection> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<UserCollection> all(@RequestBody PageQuery pageQuery) {
         return userCollectionRepo.findAll(toSpecification(pageQuery, UserCollection.class), toPageRequest(pageQuery));
     }
 

+ 3 - 3
src/main/java/com/izouma/awesomeAdmin/web/UserController.java

@@ -97,8 +97,8 @@ public class UserController extends BaseController {
     }
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<User> all(PageQuery pageQuery, Boolean admin, boolean completeInfo) {
+    @PostMapping("/all")
+    public Page<User> all(@RequestBody PageQuery pageQuery, Boolean admin, boolean completeInfo) {
         Specification<User> specification = toSpecification(pageQuery, User.class);
         if (admin != null && admin) {
             if (admin) {
@@ -249,7 +249,7 @@ public class UserController extends BaseController {
     }
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/orderUser")
+    @PostMapping("/orderUser")
     public Page<OrderUser> orderUser(@RequestParam(defaultValue = "false") boolean today, @RequestParam(required = false) String search, Pageable pageable) {
         return userService.orderUser(today, search, pageable);
     }

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/UserMoneyRecordController.java

@@ -41,8 +41,8 @@ public class UserMoneyRecordController extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<UserMoneyRecord> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<UserMoneyRecord> all(@RequestBody PageQuery pageQuery) {
         return userMoneyRecordRepo.findAll(toSpecification(pageQuery,UserMoneyRecord.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/WithdrawApplyController.java

@@ -46,8 +46,8 @@ public class WithdrawApplyController extends BaseController {
 
 
 //    @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<WithdrawApply> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<WithdrawApply> all(@RequestBody PageQuery pageQuery) {
         return withdrawApplyRepo.findAll(toSpecification(pageQuery, WithdrawApply.class), toPageRequest(pageQuery));
     }
 

+ 2 - 2
src/main/java/com/izouma/awesomeAdmin/web/WorkOrderController.java

@@ -32,8 +32,8 @@ public class WorkOrderController extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<WorkOrder> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<WorkOrder> all(@RequestBody PageQuery pageQuery) {
         return workOrderRepo.findAll(toSpecification(pageQuery, WorkOrder.class), toPageRequest(pageQuery));
     }
 

+ 1 - 0
src/main/paintingmarket/package.json

@@ -8,6 +8,7 @@
         "lint": "vue-cli-service lint"
     },
     "dependencies": {
+        "@vue/compiler-dom": "^3.2.44",
         "axios": "^0.19.0",
         "core-js": "^3.4.3",
         "date-fns": "^2.8.1",

+ 1 - 1
src/main/paintingmarket/src/plugins/http.js

@@ -65,7 +65,7 @@ const http = {
         options = options || {};
         body = body || {};
         if (!(body instanceof FormData)) {
-            if (options.body !== 'json') {
+            if (options.body !== 'json' && !/\/all$/.test(url)) {
                 body = qs.stringify(body);
             }
         }

+ 1 - 1
src/main/paintingmarket/src/views/AddressList.vue

@@ -51,7 +51,7 @@ export default {
         getAddressList() {
             this.nothing = false;
             this.$http
-                .get('/address/all', {
+                .post('/address/all', {
                     size: 9999,
                     page: 0,
                     query: {

+ 2 - 2
src/main/paintingmarket/src/views/Detail.vue

@@ -592,7 +592,7 @@ export default {
             });
 
             this.$http
-                .get('/address/all', {
+                .post('/address/all', {
                     userId: this.userInfo.id
                 })
                 .then(res => {
@@ -602,7 +602,7 @@ export default {
                 });
 
             this.$http
-                .get('/userCollection/all', {
+                .post('/userCollection/all', {
                     query: {
                         userId: this.userInfo.id,
                         productId: this.$route.query.id

+ 2 - 2
src/main/paintingmarket/src/views/Home.vue

@@ -102,7 +102,7 @@ export default {
     },
     mounted() {
         this.$http
-            .get('/category/all', {
+            .post('/category/all', {
                 size: 4,
                 page: 0,
                 sort: 'createdAt,desc'
@@ -111,7 +111,7 @@ export default {
                 this.category = res.content;
             });
 
-        this.$http.get('/banner/all').then(res => {
+        this.$http.post('/banner/all').then(res => {
             this.banner = res.content;
         });
         this.$http.get('/sysConfig/get/notice').then(res => {

+ 2 - 2
src/main/paintingmarket/src/views/List.vue

@@ -98,7 +98,7 @@ export default {
     },
     created() {
         this.$http
-            .get('/category/all', {
+            .post('/category/all', {
                 size: 9999,
                 page: 0
             })
@@ -112,7 +112,7 @@ export default {
                 });
                 this.categorys = list;
             });
-        this.$http.get('/demoProduct/all').then(res => {
+        this.$http.post('/demoProduct/all').then(res => {
             res.content = res.content.map(item => {
                 return {
                     ...item,

+ 1 - 1
src/main/paintingmarket/src/views/User.vue

@@ -108,7 +108,7 @@ export default {
         ...mapState(['userInfo', 'isWeixin'])
     },
     mounted() {
-        this.$http.get('/address/all').then(res => {
+        this.$http.post('/address/all').then(res => {
             if (res.content.length > 0) {
                 this.hasAddress = true;
             }

+ 1 - 1
src/main/paintingmarket/src/views/distribution/CommissionRecord.vue

@@ -90,7 +90,7 @@ export default {
                 };
             }
             return this.$http
-                .get('/withdrawApply/all', data)
+                .post('/withdrawApply/all', data)
                 .then(res => {
                     if (res.first) {
                         this.list = [];

+ 1 - 1
src/main/paintingmarket/src/views/order/OrderDetail.vue

@@ -389,7 +389,7 @@ export default {
                 this.$http
                     .post('/payDelegation/balance', {
                         userId: this.userInfo.id,
-                        orderId: this.info.id,
+                        orderId: this.orderInfo.id,
                         riseRate: this.value / 100
                     })
                     .then(res => {

+ 1 - 1
src/main/paintingmarket/src/views/order/Submit.vue

@@ -132,7 +132,7 @@ export default {
                 this.artUserName = res.nickname;
             });
         this.$http
-            .get('/address/all', {
+            .post('/address/all', {
                 query: {
                     userId: this.userInfo.id
                 }

+ 33 - 0
src/main/paintingmarket/yarn.lock

@@ -286,6 +286,11 @@
   resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
   integrity sha1-eQh0CR0gAcm+bsQmwu7Ue8dnkIE=
 
+"@babel/parser@^7.16.4":
+  version "7.20.3"
+  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
+  integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
+
 "@babel/parser@^7.7.4", "@babel/parser@^7.7.7":
   version "7.7.7"
   resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.7.7.tgz?cache=0&sync_timestamp=1576716980389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937"
@@ -1132,6 +1137,24 @@
     semver "^6.1.0"
     strip-ansi "^6.0.0"
 
+"@vue/compiler-core@3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.44.tgz#9ce3044db28b4b3d5de20cf345ad952f9303e91f"
+  integrity sha512-TwzeVSnaklb8wIvMtwtkPkt9wnU+XD70xJ7N9+eIHtjKAG7OoZttm+14ZL6vWOL+2RcMtSZ+cYH+gvkUqsrmSQ==
+  dependencies:
+    "@babel/parser" "^7.16.4"
+    "@vue/shared" "3.2.44"
+    estree-walker "^2.0.2"
+    source-map "^0.6.1"
+
+"@vue/compiler-dom@^3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.44.tgz#0fac337a8a6b3cae586aa8cac62e418aa4c79a83"
+  integrity sha512-wPDR+gOn2Qi7SudPJ+gE62vuO/aKXIiIFALvHpztXmDdbAHGy3CDfmBgOGchTgTlSeDJHe9olEMkgOdmyXTjUg==
+  dependencies:
+    "@vue/compiler-core" "3.2.44"
+    "@vue/shared" "3.2.44"
+
 "@vue/component-compiler-utils@^3.0.2", "@vue/component-compiler-utils@^3.1.0":
   version "3.1.0"
   resolved "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.0.tgz?cache=0&sync_timestamp=1575823514995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.1.0.tgz#64cd394925f5af1f9c3228c66e954536f5311857"
@@ -1159,6 +1182,11 @@
   resolved "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.1.tgz#18723530d304f443021da2292d6ec9502826104a"
   integrity sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=
 
+"@vue/shared@3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.44.tgz#d180eae83de86a48a3a0b6aaded546683443ca57"
+  integrity sha512-mGZ44bnn0zpZ36nXtxbrBPno43yr96wjQE1dBEKS1Sieugt27HS4OGZVBRIgsdGzosB7vqZAvu0ttu1FDVdolA==
+
 "@vue/web-component-wrapper@^1.2.0":
   version "1.2.0"
   resolved "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1"
@@ -3392,6 +3420,11 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
   resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
   integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
 
+estree-walker@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
 esutils@^2.0.2:
   version "2.0.3"
   resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"

+ 101 - 91
src/main/resources/application.yaml

@@ -1,80 +1,90 @@
 server:
-    port: 8080
-    servlet:
-        context-path: /
-    compression:
-        enabled: true
-        mime-types: application/json,application/xml,text/html,text/xml,text/plain
+  port: 8080
+  servlet:
+    context-path: /
+  compression:
+    enabled: true
+    mime-types: application/json,application/xml,text/html,text/xml,text/plain
 spring:
-    profiles:
-        active: dev
-    datasource:
-        url: jdbc:mysql://rdsave1o67m1ido6gwp6public.mysql.rds.aliyuncs.com/art_2_test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
-        username: microball
-        password: 2wsx@WSX#EDC
-        hikari:
-            minimum-idle: 5
-            maximum-pool-size: 30
-            auto-commit: true
-            idle-timeout: 30000
-            max-lifetime: 1800000
-            connection-timeout: 30000
-            connection-test-query: SELECT 1
-    jpa:
-        database: MySQL
-        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-        hibernate:
-            ddl-auto: update
-        properties:
-            hibernate:
-                enable-lazy-load-no-trans: true
-#    redis:
-#        host: 127.0.0.1
-#        port: 6379
-#        lettuce:
-#            pool:
-#                max_active: 8
-#                max_idle: 8
-#                min_idle: 0
-    servlet:
-        multipart:
-            max-file-size: 100MB
-            max-request-size: 100MB
-    freemarker:
-        settings:
-            number_format: 0
+  profiles:
+    active: dev
+  datasource:
+    url: jdbc:mysql://rdsave1o67m1ido6gwp6public.mysql.rds.aliyuncs.com/art_2_test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
+    username: microball
+    password: 2wsx@WSX#EDC
+    hikari:
+      minimum-idle: 5
+      maximum-pool-size: 30
+      auto-commit: true
+      idle-timeout: 30000
+      max-lifetime: 1800000
+      connection-timeout: 30000
+      connection-test-query: SELECT 1
+  redis:
+    host: localhost
+  jpa:
+    database: MySQL
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    hibernate:
+      ddl-auto: update
+    properties:
+      hibernate:
+        enable-lazy-load-no-trans: true
+  #    redis:
+  #        host: 127.0.0.1
+  #        port: 6379
+  #        lettuce:
+  #            pool:
+  #                max_active: 8
+  #                max_idle: 8
+  #                min_idle: 0
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+  freemarker:
+    settings:
+      number_format: 0
+  cache:
+    type: redis
+  mvc:
+    format:
+      date: yyyy-MM-dd
+      datetime: yyyy-MM-dd HH:mm:ss
+    pathmatch:
+      matching-strategy: ant_path_matcher
 jwt:
-    secret: XvAD0kboD76Dpebm
-    header: Authorization
-    expiration: 2592000 #30days
+  secret: XvAD0kboD76Dpebm
+  header: Authorization
+  expiration: 2592000 #30days
 wx:
-    mp:
-        app_id: wxfe29bce613ecfa72
-        app_secret: 0e3007f342ae3ec3487901e558093316
-    pay:
-        appId: wxfe29bce613ecfa72
-        mchId: 1575703561
-        mchKey: 6tE6ljskO9paN8YigJnQGhKJC71i05Al
-        subAppId: #服务商模式下的子商户公众账号ID
-        subMchId: #服务商模式下的子商户号
-        keyPath: classpath:/cert/apiclient_cert.p12
+  mp:
+    app_id: wxfe29bce613ecfa72
+    app_secret: 0e3007f342ae3ec3487901e558093316
+  pay:
+    appId: wxfe29bce613ecfa72
+    mchId: 1575703561
+    mchKey: 6tE6ljskO9paN8YigJnQGhKJC71i05Al
+    subAppId: #服务商模式下的子商户公众账号ID
+    subMchId: #服务商模式下的子商户号
+    keyPath: classpath:/cert/apiclient_cert.p12
 storage:
-    provider: aliyun
-    local_path: /var/www/upload/
+  provider: aliyun
+  local_path: /var/www/upload/
 aliyun:
-    access-key-id: PXzJyah5rZfWHIIH
-    access-key-secret: e1MS6j0wypXJrw8CM0hObZu8qKbfah
-    oss-end-point: oss-cn-hangzhou.aliyuncs.com
-    oss-bucket-name: art-trade
-    oss-domain: https://art-trade.oss-cn-hangzhou.aliyuncs.com
-    sms-sign: 走马信息
-    sms-template: SMS_175485688
+  access-key-id: PXzJyah5rZfWHIIH
+  access-key-secret: e1MS6j0wypXJrw8CM0hObZu8qKbfah
+  oss-end-point: oss-cn-hangzhou.aliyuncs.com
+  oss-bucket-name: art-trade
+  oss-domain: https://art-trade.oss-cn-hangzhou.aliyuncs.com
+  sms-sign: 走马信息
+  sms-template: SMS_175485688
 alipay:
-    app-id: 2021001113615624
-    gateway: https://openapi.alipay.com/gateway.do
-    private-key: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDJMeb9J/kdEMFXzRS4zaV1m6GLA2wee9/cXnEuII+DTBvS/elGPxQjNfnGtCPITscoSa7t3XBJNHIhHD8dJLnNV3+XmekGrzWVJSGleX4z93X2+2kVeTcj+KPfZX3C3HaxXtU19c79HLbedpDUiap0Lq+W6nuIRJBwksBiY61OitIuyxZQFrxJWxfszeU2nTWgHSi0Zi0FAHVsBYcWyzbcjHIouiYGT8YYwZDE+W31UQHMWiJDuoeV7IX5F4sIropdYF28XlApBgmBW7ChKEznaw9/IG7mo+VjH5Ut9hQM7UMnVCSB9vI+yHfoHxp40CcsYdChz16KOsdZGPm8k+3dAgMBAAECggEABzLy6fIJNuIHmQWsjSRGnFuyPxAjST/zdaYndJgTqoYJpNYTB8FwDgZ7ZoHBmgQ/mhBw4u/+eZAX2VlyZK+Qumk8FoeaT/Pq/egzOQGM430iSnEahHsu3umhq3etNVDAKn6TMHgYLPRfEry5V/GJGNkmzUacnvadGHoXyi144QuEUZAY34UlA4c62guvvtgiOc42nLcu4OnauQeMgdPPB2E9dYyQM/xOmbDRSscSwKT4cyby0q2ymDW5AEUM8fxqE9rQvc9L2piQfbibSE191ITZCq05lEc91NDBuAQTUnEUHay9uUjSRB70ydjMqNZbwLk9G0TzOb5NoytJKKuofQKBgQDtsXgmcCiawzx80YSg+uSsfvSI234tMe9L9Zr4b94ukpPDRDZmWG8QQSyRHfgIcoSnGXd2RSIZVRJoT0dF02O34X2zGbgtf0SGjJiyLtApQ9oYWpjxDhYW9OVio97QiQKO3aES3o4GVRZboJjyauZ0ILi1q/6tVEgkOy5sMA1GdwKBgQDYsM5b4lR5AOhOxIw1p+uCehVBiJSjkQyd2UsO4kdwhjP6rbWqcMwDdgyKOzdghR78CU2o3o1f9l1QNYskrAc9cIsoVEMME7Z53Suvow7faFKtnXVza4OkSQu+FN3N4mm3JzfGMzv+QmzoVjKWWqgGVQXO0HkxvEbDtOeRz68/SwKBgQCGIrijOHgxnivsZHBsSCn0DlEBSpyR9LQOMbQar0a7EYzBjSUF7LIAgkccPcVTPw0NH5oC7FCp6xBQPS0Dgp+rjVzaTZFaW4/YPk+Nfk2Ke/f/9mCI6GIe4mTwnXmIRUlkRj4339BWUn4jhyXI5/rVXgHexAkc14s+pwczlopnUQKBgQC6drKsuL8t/QzqsxFgHqZ3eayO3wPhGLE9p72CCk+lUaarAQ4Bo9y64bt6u+g0Q3ldMnhEZ3ZKbIrxuZGJtgro4M6unouvecsdZKfyFKN4taHnykZGUu9N0JmtMPGI+Fs2AyZohLAMZIapC3uujEZoZIOB6z1PAg/22tYmUAwirwKBgQDPoyqtZ5gn5NBosCl000M+ExwihLBFGMD1jA9vumgQxLz27AdxwFNSCjdBBiPe9FbpF6v7bK/96Li2PG9x7KHoKkVXqTNG6qP9A5wy/izWicJybISryPToe0yMRtUZGLqZACMb44l0fS7URXX+qfyXte989adTvNAWQZ6lYDZkLw==
-    app-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTHm/Sf5HRDBV80UuM2ldZuhiwNsHnvf3F5xLiCPg0wb0v3pRj8UIzX5xrQjyE7HKEmu7d1wSTRyIRw/HSS5zVd/l5npBq81lSUhpXl+M/d19vtpFXk3I/ij32V9wtx2sV7VNfXO/Ry23naQ1ImqdC6vlup7iESQcJLAYmOtTorSLssWUBa8SVsX7M3lNp01oB0otGYtBQB1bAWHFss23IxyKLomBk/GGMGQxPlt9VEBzFoiQ7qHleyF+ReLCK6KXWBdvF5QKQYJgVuwoShM52sPfyBu5qPlYx+VLfYUDO1DJ1QkgfbyPsh36B8aeNAnLGHQoc9eijrHWRj5vJPt3QIDAQAB
-    ali-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhDIyIzI6sD/0XxeEKy/QSQrgIS6al87y7+32/J4H21QrTqQ2tA5FIhIGtUu36xXOsx0qW3LAq87OryxnwUqR7fAstqkpxsVTWeWx8iCCujlQkXZY2/g4q/hzcLk6h5CIzRqk3Y/Xtkt8ZgNAxbSMvF0r9+znMX41T3ciLKiViwnsUAzwlMpeyEoYg697TlR0XHPFMH1YMgM1nsWKMkxjBeOq0UfDnM4/8g5uHUCXXGyVNQOwsccicHgQsALumN6I7Mg25LH+/+erA9/sPMFtVC2eShDOR7udfI2hAvPfW7fQYenpxL5Ge8tNr/oy0YeKBY9jjQAFpEbWcXMYvZKQlQIDAQAB
+  app-id: 2021001113615624
+  gateway: https://openapi.alipay.com/gateway.do
+  private-key: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDJMeb9J/kdEMFXzRS4zaV1m6GLA2wee9/cXnEuII+DTBvS/elGPxQjNfnGtCPITscoSa7t3XBJNHIhHD8dJLnNV3+XmekGrzWVJSGleX4z93X2+2kVeTcj+KPfZX3C3HaxXtU19c79HLbedpDUiap0Lq+W6nuIRJBwksBiY61OitIuyxZQFrxJWxfszeU2nTWgHSi0Zi0FAHVsBYcWyzbcjHIouiYGT8YYwZDE+W31UQHMWiJDuoeV7IX5F4sIropdYF28XlApBgmBW7ChKEznaw9/IG7mo+VjH5Ut9hQM7UMnVCSB9vI+yHfoHxp40CcsYdChz16KOsdZGPm8k+3dAgMBAAECggEABzLy6fIJNuIHmQWsjSRGnFuyPxAjST/zdaYndJgTqoYJpNYTB8FwDgZ7ZoHBmgQ/mhBw4u/+eZAX2VlyZK+Qumk8FoeaT/Pq/egzOQGM430iSnEahHsu3umhq3etNVDAKn6TMHgYLPRfEry5V/GJGNkmzUacnvadGHoXyi144QuEUZAY34UlA4c62guvvtgiOc42nLcu4OnauQeMgdPPB2E9dYyQM/xOmbDRSscSwKT4cyby0q2ymDW5AEUM8fxqE9rQvc9L2piQfbibSE191ITZCq05lEc91NDBuAQTUnEUHay9uUjSRB70ydjMqNZbwLk9G0TzOb5NoytJKKuofQKBgQDtsXgmcCiawzx80YSg+uSsfvSI234tMe9L9Zr4b94ukpPDRDZmWG8QQSyRHfgIcoSnGXd2RSIZVRJoT0dF02O34X2zGbgtf0SGjJiyLtApQ9oYWpjxDhYW9OVio97QiQKO3aES3o4GVRZboJjyauZ0ILi1q/6tVEgkOy5sMA1GdwKBgQDYsM5b4lR5AOhOxIw1p+uCehVBiJSjkQyd2UsO4kdwhjP6rbWqcMwDdgyKOzdghR78CU2o3o1f9l1QNYskrAc9cIsoVEMME7Z53Suvow7faFKtnXVza4OkSQu+FN3N4mm3JzfGMzv+QmzoVjKWWqgGVQXO0HkxvEbDtOeRz68/SwKBgQCGIrijOHgxnivsZHBsSCn0DlEBSpyR9LQOMbQar0a7EYzBjSUF7LIAgkccPcVTPw0NH5oC7FCp6xBQPS0Dgp+rjVzaTZFaW4/YPk+Nfk2Ke/f/9mCI6GIe4mTwnXmIRUlkRj4339BWUn4jhyXI5/rVXgHexAkc14s+pwczlopnUQKBgQC6drKsuL8t/QzqsxFgHqZ3eayO3wPhGLE9p72CCk+lUaarAQ4Bo9y64bt6u+g0Q3ldMnhEZ3ZKbIrxuZGJtgro4M6unouvecsdZKfyFKN4taHnykZGUu9N0JmtMPGI+Fs2AyZohLAMZIapC3uujEZoZIOB6z1PAg/22tYmUAwirwKBgQDPoyqtZ5gn5NBosCl000M+ExwihLBFGMD1jA9vumgQxLz27AdxwFNSCjdBBiPe9FbpF6v7bK/96Li2PG9x7KHoKkVXqTNG6qP9A5wy/izWicJybISryPToe0yMRtUZGLqZACMb44l0fS7URXX+qfyXte989adTvNAWQZ6lYDZkLw==
+  app-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTHm/Sf5HRDBV80UuM2ldZuhiwNsHnvf3F5xLiCPg0wb0v3pRj8UIzX5xrQjyE7HKEmu7d1wSTRyIRw/HSS5zVd/l5npBq81lSUhpXl+M/d19vtpFXk3I/ij32V9wtx2sV7VNfXO/Ry23naQ1ImqdC6vlup7iESQcJLAYmOtTorSLssWUBa8SVsX7M3lNp01oB0otGYtBQB1bAWHFss23IxyKLomBk/GGMGQxPlt9VEBzFoiQ7qHleyF+ReLCK6KXWBdvF5QKQYJgVuwoShM52sPfyBu5qPlYx+VLfYUDO1DJ1QkgfbyPsh36B8aeNAnLGHQoc9eijrHWRj5vJPt3QIDAQAB
+  ali-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhDIyIzI6sD/0XxeEKy/QSQrgIS6al87y7+32/J4H21QrTqQ2tA5FIhIGtUu36xXOsx0qW3LAq87OryxnwUqR7fAstqkpxsVTWeWx8iCCujlQkXZY2/g4q/hzcLk6h5CIzRqk3Y/Xtkt8ZgNAxbSMvF0r9+znMX41T3ciLKiViwnsUAzwlMpeyEoYg697TlR0XHPFMH1YMgM1nsWKMkxjBeOq0UfDnM4/8g5uHUCXXGyVNQOwsccicHgQsALumN6I7Mg25LH+/+erA9/sPMFtVC2eShDOR7udfI2hAvPfW7fQYenpxL5Ge8tNr/oy0YeKBY9jjQAFpEbWcXMYvZKQlQIDAQAB
 #alipay:
 #    app-id: 2021001122683618
 #    gateway: https://openapi.alipay.com/gateway.do
@@ -82,33 +92,33 @@ alipay:
 #    app-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyYY/J3cB8dKekg3whE0HxZgbr5pE5rNixHxRUVz2QKohbKhikyifBIIJSWoB/joiUUQhxwSNBSuIji7s6MLGrCgB1jIuPgykRdv/NvfX2Xy/NQMaarSV/E2Kh1MX44fA2+h2/dswX2PNMLNJ7t6KkHbH83949WiqDBWEU2Orwo6cQpVw6YN1gjgweAKpteca/cWxN4RFXHNPNsv80Sfa5VtZfhxHQ9g9DKGHFqtpTXO9eCILBjqP/Yr7ITfUj9cJ/VxuIG8dGRwhQ3W7KWvvpCd3YzGcAFYCe03y9z/ddl8oEGbItRowVgBzBdpM4WhoJ6cYMI0zwbrQDJiIZljUQIDAQAB
 #    ali-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhDIyIzI6sD/0XxeEKy/QSQrgIS6al87y7+32/J4H21QrTqQ2tA5FIhIGtUu36xXOsx0qW3LAq87OryxnwUqR7fAstqkpxsVTWeWx8iCCujlQkXZY2/g4q/hzcLk6h5CIzRqk3Y/Xtkt8ZgNAxbSMvF0r9+znMX41T3ciLKiViwnsUAzwlMpeyEoYg697TlR0XHPFMH1YMgM1nsWKMkxjBeOq0UfDnM4/8g5uHUCXXGyVNQOwsccicHgQsALumN6I7Mg25LH+/+erA9/sPMFtVC2eShDOR7udfI2hAvPfW7fQYenpxL5Ge8tNr/oy0YeKBY9jjQAFpEbWcXMYvZKQlQIDAQAB
 alipay-isv:
-    app-id: 2021001117626221
-    gateway: https://openapi.alipay.com/gateway.do
-    private-key: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCAj2KM6pEEJJPg1f1dv3Z7SDm3OLvHuX+DKE4AF9y7mx9tURHidckTuGQ5jVObGxMYflGX4TBicanh/nD33IpAVF2zB6MeA7qQH16G8X81gQCX1mTUzNKFcOhnKt6Hf8RhQlhlo8O2qjwM+zCkisqUI1F2ZMz3c5PdF0jExIUASx7DL3CYMsuwYUbE2rSmNJIkdi6qDI/SUBrDoWb9zawYjtsL3FwE6pVTIUUMf5K09T1pO5xGHgI3oGmOhu4cHg7ABO7tNDb5WJEHiUf0zdYHMjp0fnlfHb0jRk8rgSmgaWWuMp3lFAxZcC8pRJXHv1jt6lL6X7T/Mv3tR1Dj9mqjAgMBAAECggEASKc/rZ1+eNXnEIA+oLVsUv2dSHNyg8vMSSYE9r6Fiyx+VTwknFOuYEursG6zGgvx/bydhfTIcEoGFObDlv/2zaYgEeY2A+ddjsd7l01xc55E5IpQD4b1Tl5hqLQscGz/YWuqIz6qg1evejKW6dZZ5+AR0JPk1c9md+MJx9G7zE7atf5Lmv9uQJ9D0gl4o18yg32trgiJXK/26qYVKSFhi+6h5I4oACaOvYX1yJNeoVNZcMTm/hcf9hMPLKWC+kn0WsmEjJQ8NbJg8Tcrb5xJFEh1ttCPk2Ystj866f+WUQngSTHz9s25JINwZcueXR41JVhAQ7Ju16rXm/47cTHiwQKBgQC1niuaUe5A8GA0Xxiypot+ZYFvDmQWPGJSP8chYYwgcgmskA8+2gs9LbS4gqH//3Bmuqi7HDV2RB9OAGEOCSguu9DcZ672ovpqEx9Ryz8W/jrHaFCO612pZvv8fwUnpNrT0ocqgZSPad9bIXmtdWoqxyi+1Uugfp+OA7McIn7CAwKBgQC1Nlfljg47jUfCBchZLk+L9G0OxC6ESnKNRJuWlwiiX/7siOt9BWRFFtd9SzpUrszyPwaBV7TfRihwTi+4eDqOI3llv5U2bRAQFCx+2UpXGictRNsdPCUaKuyfZwIj1VUJ9CaBDGir/35vnjt5sJoFpKmcTSZBQ4KxweChDpii4QKBgFhXVZI85A1GXyVaVGMhy5xxt2HTuC9ws8qaJzw/fK+TiM0dTa0e1nSttMhDEpW5JG1zwfsxn3elbyy71nnDTn5c8R0keeCSKghKwONCX6/JfcHdJcI/DlIGO+/3wQQlliOOthyg5yhTMUfcopkTEc85DMK2cZDhxq6HcinvRYUNAoGAaJwTh8BG9RftCdOeweTbJPcYkgKsu8/iayzlCLztzhbOqiusjgKzzLKP+ZOY+9PhGiNKFRbVomL060gngj1dyDowVY2QjNfPAwkyWpQDt16wqRBr0WesH3wSFz823ArGSbW5GJxaPJiEm9jjiq9pasKQ61saL2jSpN1AWJl9geECgYAoM2MYNZ4/IQtq9rPOhRNUo7pPEGP6jaNihxcSXq8fGUPi5l1F3oJhxTXQJFV2ztlxzMncYlQyZw6jeUqwwQ6O6A6E4nYIcugkwH+MXOPQI9MwBP7NheEsvrfWDvRbY3KGp5e7HhNk1U2lRqZSBKmyYOlpNFfaGaRdk9+gdMEL5w==
-    app-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgI9ijOqRBCST4NX9Xb92e0g5tzi7x7l/gyhOABfcu5sfbVER4nXJE7hkOY1TmxsTGH5Rl+EwYnGp4f5w99yKQFRdswejHgO6kB9ehvF/NYEAl9Zk1MzShXDoZyreh3/EYUJYZaPDtqo8DPswpIrKlCNRdmTM93OT3RdIxMSFAEsewy9wmDLLsGFGxNq0pjSSJHYuqgyP0lAaw6Fm/c2sGI7bC9xcBOqVUyFFDH+StPU9aTucRh4CN6BpjobuHB4OwATu7TQ2+ViRB4lH9M3WBzI6dH55Xx29I0ZPK4EpoGllrjKd5RQMWXAvKUSVx79Y7epS+l+0/zL97UdQ4/ZqowIDAQAB
-    ali-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhDIyIzI6sD/0XxeEKy/QSQrgIS6al87y7+32/J4H21QrTqQ2tA5FIhIGtUu36xXOsx0qW3LAq87OryxnwUqR7fAstqkpxsVTWeWx8iCCujlQkXZY2/g4q/hzcLk6h5CIzRqk3Y/Xtkt8ZgNAxbSMvF0r9+znMX41T3ciLKiViwnsUAzwlMpeyEoYg697TlR0XHPFMH1YMgM1nsWKMkxjBeOq0UfDnM4/8g5uHUCXXGyVNQOwsccicHgQsALumN6I7Mg25LH+/+erA9/sPMFtVC2eShDOR7udfI2hAvPfW7fQYenpxL5Ge8tNr/oy0YeKBY9jjQAFpEbWcXMYvZKQlQIDAQAB
+  app-id: 2021001117626221
+  gateway: https://openapi.alipay.com/gateway.do
+  private-key: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCAj2KM6pEEJJPg1f1dv3Z7SDm3OLvHuX+DKE4AF9y7mx9tURHidckTuGQ5jVObGxMYflGX4TBicanh/nD33IpAVF2zB6MeA7qQH16G8X81gQCX1mTUzNKFcOhnKt6Hf8RhQlhlo8O2qjwM+zCkisqUI1F2ZMz3c5PdF0jExIUASx7DL3CYMsuwYUbE2rSmNJIkdi6qDI/SUBrDoWb9zawYjtsL3FwE6pVTIUUMf5K09T1pO5xGHgI3oGmOhu4cHg7ABO7tNDb5WJEHiUf0zdYHMjp0fnlfHb0jRk8rgSmgaWWuMp3lFAxZcC8pRJXHv1jt6lL6X7T/Mv3tR1Dj9mqjAgMBAAECggEASKc/rZ1+eNXnEIA+oLVsUv2dSHNyg8vMSSYE9r6Fiyx+VTwknFOuYEursG6zGgvx/bydhfTIcEoGFObDlv/2zaYgEeY2A+ddjsd7l01xc55E5IpQD4b1Tl5hqLQscGz/YWuqIz6qg1evejKW6dZZ5+AR0JPk1c9md+MJx9G7zE7atf5Lmv9uQJ9D0gl4o18yg32trgiJXK/26qYVKSFhi+6h5I4oACaOvYX1yJNeoVNZcMTm/hcf9hMPLKWC+kn0WsmEjJQ8NbJg8Tcrb5xJFEh1ttCPk2Ystj866f+WUQngSTHz9s25JINwZcueXR41JVhAQ7Ju16rXm/47cTHiwQKBgQC1niuaUe5A8GA0Xxiypot+ZYFvDmQWPGJSP8chYYwgcgmskA8+2gs9LbS4gqH//3Bmuqi7HDV2RB9OAGEOCSguu9DcZ672ovpqEx9Ryz8W/jrHaFCO612pZvv8fwUnpNrT0ocqgZSPad9bIXmtdWoqxyi+1Uugfp+OA7McIn7CAwKBgQC1Nlfljg47jUfCBchZLk+L9G0OxC6ESnKNRJuWlwiiX/7siOt9BWRFFtd9SzpUrszyPwaBV7TfRihwTi+4eDqOI3llv5U2bRAQFCx+2UpXGictRNsdPCUaKuyfZwIj1VUJ9CaBDGir/35vnjt5sJoFpKmcTSZBQ4KxweChDpii4QKBgFhXVZI85A1GXyVaVGMhy5xxt2HTuC9ws8qaJzw/fK+TiM0dTa0e1nSttMhDEpW5JG1zwfsxn3elbyy71nnDTn5c8R0keeCSKghKwONCX6/JfcHdJcI/DlIGO+/3wQQlliOOthyg5yhTMUfcopkTEc85DMK2cZDhxq6HcinvRYUNAoGAaJwTh8BG9RftCdOeweTbJPcYkgKsu8/iayzlCLztzhbOqiusjgKzzLKP+ZOY+9PhGiNKFRbVomL060gngj1dyDowVY2QjNfPAwkyWpQDt16wqRBr0WesH3wSFz823ArGSbW5GJxaPJiEm9jjiq9pasKQ61saL2jSpN1AWJl9geECgYAoM2MYNZ4/IQtq9rPOhRNUo7pPEGP6jaNihxcSXq8fGUPi5l1F3oJhxTXQJFV2ztlxzMncYlQyZw6jeUqwwQ6O6A6E4nYIcugkwH+MXOPQI9MwBP7NheEsvrfWDvRbY3KGp5e7HhNk1U2lRqZSBKmyYOlpNFfaGaRdk9+gdMEL5w==
+  app-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgI9ijOqRBCST4NX9Xb92e0g5tzi7x7l/gyhOABfcu5sfbVER4nXJE7hkOY1TmxsTGH5Rl+EwYnGp4f5w99yKQFRdswejHgO6kB9ehvF/NYEAl9Zk1MzShXDoZyreh3/EYUJYZaPDtqo8DPswpIrKlCNRdmTM93OT3RdIxMSFAEsewy9wmDLLsGFGxNq0pjSSJHYuqgyP0lAaw6Fm/c2sGI7bC9xcBOqVUyFFDH+StPU9aTucRh4CN6BpjobuHB4OwATu7TQ2+ViRB4lH9M3WBzI6dH55Xx29I0ZPK4EpoGllrjKd5RQMWXAvKUSVx79Y7epS+l+0/zL97UdQ4/ZqowIDAQAB
+  ali-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhDIyIzI6sD/0XxeEKy/QSQrgIS6al87y7+32/J4H21QrTqQ2tA5FIhIGtUu36xXOsx0qW3LAq87OryxnwUqR7fAstqkpxsVTWeWx8iCCujlQkXZY2/g4q/hzcLk6h5CIzRqk3Y/Xtkt8ZgNAxbSMvF0r9+znMX41T3ciLKiViwnsUAzwlMpeyEoYg697TlR0XHPFMH1YMgM1nsWKMkxjBeOq0UfDnM4/8g5uHUCXXGyVNQOwsccicHgQsALumN6I7Mg25LH+/+erA9/sPMFtVC2eShDOR7udfI2hAvPfW7fQYenpxL5Ge8tNr/oy0YeKBY9jjQAFpEbWcXMYvZKQlQIDAQAB
 general:
-    host: http://test.izouma.com
-    alipay-notify-url: http://test.izouma.com/alipay/notify
-    wx-notify-url: http://test.izouma.com/wx/payNotify
-    wx-refund-notify-url: http://test.izouma.com/wx/refundNotify
+  host: http://test.izouma.com
+  alipay-notify-url: http://test.izouma.com/alipay/notify
+  wx-notify-url: http://test.izouma.com/wx/payNotify
+  wx-refund-notify-url: http://test.izouma.com/wx/refundNotify
 ---
 
 spring:
-    profiles: test
+  profiles: test
 general:
-    host: http://www.dqshpt.com
-    alipay-notify-url: http://www.dqshpt.com/alipay/notify
-    wx-notify-url: http://www.dqshpt.com/wx/payNotify
-    wx-refund-notify-url: http://www.dqshpt.com/wx/refundNotify
+  host: http://www.dqshpt.com
+  alipay-notify-url: http://www.dqshpt.com/alipay/notify
+  wx-notify-url: http://www.dqshpt.com/wx/payNotify
+  wx-refund-notify-url: http://www.dqshpt.com/wx/refundNotify
 ---
 
 spring:
-    profiles: prod
-    datasource:
-        url: jdbc:mysql://rdsave1o67m1ido6gwp6145.mysql.rds.aliyuncs.com/art_trade?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
+  profiles: prod
+  datasource:
+    url: jdbc:mysql://rdsave1o67m1ido6gwp6145.mysql.rds.aliyuncs.com/art_trade?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
 general:
-    host: http://www.dqshpt.com
-    alipay-notify-url: http://www.dqshpt.com/alipay/notify
-    wx-notify-url: http://www.dqshpt.com/wx/payNotify
-    wx-refund-notify-url: http://www.dqshpt.com/wx/refundNotify
+  host: http://www.dqshpt.com
+  alipay-notify-url: http://www.dqshpt.com/alipay/notify
+  wx-notify-url: http://www.dqshpt.com/wx/payNotify
+  wx-refund-notify-url: http://www.dqshpt.com/wx/refundNotify

+ 1 - 28
src/main/resources/logback-spring.xml

@@ -20,34 +20,7 @@
         <logger name="io.swagger.models.parameters.AbstractSerializableParameter" level="ERROR"/>
         <logger name="org.freemarker" level="DEBUG"/>
 
-        <!-- dingding log -->
-        <appender name="HTTP_INVOKE_LOGGER_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
-            <param name="append" value="true"/>
-            <param name="encoding" value="UTF-8"/>
-            <param name="threshold" value="INFO"/>
-            <encoder>
-                <pattern>${CONSOLE_LOG_PATTERN}</pattern>
-            </encoder>
-        </appender>
-
-        <!-- ding open sdk log -->
-        <appender name="DING_OPEN_CLIENT_SDK_LOGGER_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
-            <param name="append" value="true"/>
-            <param name="encoding" value="UTF-8"/>
-            <param name="threshold" value="INFO"/>
-            <encoder>
-                <pattern>${CONSOLE_LOG_PATTERN}</pattern>
-            </encoder>
-        </appender>
-        <logger name="HTTP_INVOKE_LOGGER" additivity="false">
-            <level value="WARN"/>
-            <appender-ref ref="HTTP_INVOKE_LOGGER_APPENDER"/>
-        </logger>
-        <logger name="DING_OPEN_CLIENT_SDK_LOGGER" additivity="false">
-            <level value="WARN"/>
-            <appender-ref ref="DING_OPEN_CLIENT_SDK_LOGGER_APPENDER"/>
-        </logger>
-        <!-- end of dingding log -->
+        <logger name="org.springframework.cache" level="TRACE"/>
     </springProfile>
 
     <springProfile name="test">

+ 2 - 2
src/main/resources/templates/ControllerTemplate.ftl

@@ -49,8 +49,8 @@ public class ${model.className}Controller extends BaseController {
 
 
     @PreAuthorize("hasRole('ADMIN')")
-    @GetMapping("/all")
-    public Page<${model.className}> all(PageQuery pageQuery) {
+    @PostMapping("/all")
+    public Page<${model.className}> all(@RequestBody PageQuery pageQuery) {
         return ${model.className?uncap_first}Repo.findAll(toSpecification(pageQuery,${model.className}.class), toPageRequest(pageQuery));
     }
 

+ 1 - 0
src/main/vue/package.json

@@ -38,6 +38,7 @@
     "@vue/cli-plugin-babel": "^3.11.0",
     "@vue/cli-plugin-eslint": "^4.1.0",
     "@vue/cli-service": "^3.11.0",
+    "@vue/compiler-dom": "^3.2.44",
     "@vue/eslint-config-prettier": "^5.0.0",
     "babel-eslint": "^10.0.3",
     "babel-plugin-transform-remove-strict-mode": "^0.0.2",

+ 1 - 1
src/main/vue/src/mixins/pageableTable.js

@@ -51,7 +51,7 @@ export default {
             }
             this.$store.commit('updateFetchingData', true);
             this.$http
-                .get(this.url, data)
+                .post(this.url, data, { body: 'json' })
                 .then(res => {
                     this.$store.commit('updateFetchingData', false);
                     this.tableData = res.content;

+ 1 - 1
src/main/vue/src/views/DemoProductEdit.vue

@@ -65,7 +65,7 @@ export default {
                 });
         }
         this.$http
-            .get('/category/all')
+            .post('/category/all', { size: 10000 }, { body: 'json' })
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {

+ 1 - 1
src/main/vue/src/views/Menus.vue

@@ -273,7 +273,7 @@ export default {
         },
         getData() {
             this.$http
-                .get('/menu/all')
+                .post('/menu/all', {}, { body: 'json' })
                 .then(res => {
                     this.menus = res;
                 })

+ 1 - 1
src/main/vue/src/views/OrderList.vue

@@ -382,7 +382,7 @@ export default {
                 this.searching = true;
 
                 this.$http
-                    .get('/user/all', { size: 20, search: query })
+                    .post('/user/all', { size: 20, search: query }, { body: 'json' })
                     .then(res => {
                         this.searching = false;
                         this.userOptions = res.content;

+ 12 - 8
src/main/vue/src/views/ProductEdit.vue

@@ -37,7 +37,7 @@
                     filterable
                     remote
                     placeholder="输入关键字搜索"
-                    :disabled="formData.id"
+                    :disabled="!!formData.id"
                     :remote-method="searchUser"
                     :loading="loading"
                 >
@@ -49,7 +49,7 @@
             <el-form-item prop="status" label="状态">
                 <el-select
                     v-model="formData.status"
-                    :disabled="formData.test"
+                    :disabled="!!formData.test"
                     clearable
                     filterable
                     placeholder="请选择"
@@ -125,7 +125,7 @@ export default {
                 });
         } else {
             this.$http
-                .get('/user/all')
+                .post('/user/all', {}, { body: 'json' })
                 .then(res => {
                     this.loading = false;
                     this.userOptions = res.content.map(i => {
@@ -141,7 +141,7 @@ export default {
                 });
         }
         this.$http
-            .get('/category/all')
+            .post('/category/all', {}, { body: 'json' })
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {
@@ -156,7 +156,7 @@ export default {
                 console.log(e);
                 this.$message.error(e.error);
             });
-        this.$http.get('/saleBatch/all').then(res => {
+        this.$http.post('/saleBatch/all', {}, { body: 'json' }).then(res => {
             this.batchOptions = res.content.map(i => {
                 return {
                     label: i.name,
@@ -281,9 +281,13 @@ export default {
             if (query !== '') {
                 this.loading = true;
                 this.$http
-                    .get('/user/all', {
-                        search: query
-                    })
+                    .post(
+                        '/user/all',
+                        {
+                            search: query
+                        },
+                        { body: 'json' }
+                    )
                     .then(res => {
                         this.loading = false;
                         this.userOptions = res.content.map(i => {

+ 8 - 4
src/main/vue/src/views/ProductList.vue

@@ -113,10 +113,14 @@ export default {
     mixins: [pageableTable],
     created() {
         this.$http
-            .get('/category/all', {
-                size: 9999,
-                page: 0
-            })
+            .post(
+                '/category/all',
+                {
+                    size: 9999,
+                    page: 0
+                },
+                { body: 'json' }
+            )
             .then(res => {
                 this.categoryList = res.content;
             });

+ 1 - 1
src/main/vue/src/views/SubPlatform.vue

@@ -149,7 +149,7 @@ export default {
                 });
         },
         getAccounts() {
-            this.$http.get('/subAccount/all', { size: 10000 }).then(res => {
+            this.$http.post('/subAccount/all', { size: 10000 }, { body: 'json' }).then(res => {
                 this.subAccounts = res.content;
                 if (!this.currentAccountId && res.content.length) {
                     this.currentAccountId = res.content[0].id;

+ 1 - 1
src/main/vue/src/views/UserEdit.vue

@@ -60,7 +60,7 @@ export default {
                 });
         }
         this.$http
-            .get('/authority/all')
+            .post('/authority/all', {}, { body: 'json' })
             .then(res => {
                 res.forEach(item => {
                     if (item.name == 'ROLE_USER') {

+ 8 - 4
src/main/vue/src/views/UserList.vue

@@ -300,10 +300,14 @@ export default {
         searchUser(query) {
             this.searching = true;
             this.$http
-                .get('/user/all', {
-                    search: query,
-                    size: 30
-                })
+                .post(
+                    '/user/all',
+                    {
+                        search: query,
+                        size: 30
+                    },
+                    { body: 'json' }
+                )
                 .then(res => {
                     this.searching = false;
                     this.userList = res.content;

+ 33 - 0
src/main/vue/yarn.lock

@@ -278,6 +278,11 @@
   resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081"
   integrity sha1-eQh0CR0gAcm+bsQmwu7Ue8dnkIE=
 
+"@babel/parser@^7.16.4":
+  version "7.20.3"
+  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
+  integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
+
 "@babel/parser@^7.6.0", "@babel/parser@^7.6.3":
   version "7.6.3"
   resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.6.3.tgz#9eff8b9c3eeae16a74d8d4ff30da2bd0d6f0487e"
@@ -1192,6 +1197,24 @@
     semver "^6.1.0"
     strip-ansi "^6.0.0"
 
+"@vue/compiler-core@3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.44.tgz#9ce3044db28b4b3d5de20cf345ad952f9303e91f"
+  integrity sha512-TwzeVSnaklb8wIvMtwtkPkt9wnU+XD70xJ7N9+eIHtjKAG7OoZttm+14ZL6vWOL+2RcMtSZ+cYH+gvkUqsrmSQ==
+  dependencies:
+    "@babel/parser" "^7.16.4"
+    "@vue/shared" "3.2.44"
+    estree-walker "^2.0.2"
+    source-map "^0.6.1"
+
+"@vue/compiler-dom@^3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.44.tgz#0fac337a8a6b3cae586aa8cac62e418aa4c79a83"
+  integrity sha512-wPDR+gOn2Qi7SudPJ+gE62vuO/aKXIiIFALvHpztXmDdbAHGy3CDfmBgOGchTgTlSeDJHe9olEMkgOdmyXTjUg==
+  dependencies:
+    "@vue/compiler-core" "3.2.44"
+    "@vue/shared" "3.2.44"
+
 "@vue/component-compiler-utils@^3.0.0":
   version "3.0.0"
   resolved "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.0.0.tgz#d16fa26b836c06df5baaeb45f3d80afc47e35634"
@@ -1219,6 +1242,11 @@
   resolved "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz#18723530d304f443021da2292d6ec9502826104a"
   integrity sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=
 
+"@vue/shared@3.2.44":
+  version "3.2.44"
+  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.44.tgz#d180eae83de86a48a3a0b6aaded546683443ca57"
+  integrity sha512-mGZ44bnn0zpZ36nXtxbrBPno43yr96wjQE1dBEKS1Sieugt27HS4OGZVBRIgsdGzosB7vqZAvu0ttu1FDVdolA==
+
 "@vue/web-component-wrapper@^1.2.0":
   version "1.2.0"
   resolved "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1"
@@ -3550,6 +3578,11 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
   resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
   integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
 
+estree-walker@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
 esutils@^2.0.2:
   version "2.0.3"
   resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"

+ 5 - 4
src/test/java/com/izouma/awesomeAdmin/ApplicationTests.java

@@ -4,13 +4,14 @@ import com.izouma.awesomeAdmin.domain.Product;
 import com.izouma.awesomeAdmin.enums.ProductStatus;
 import com.izouma.awesomeAdmin.repo.ProductRepo;
 import com.izouma.awesomeAdmin.service.ProductService;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.persistence.EntityManager;
@@ -18,8 +19,8 @@ import javax.transaction.Transactional;
 import java.math.BigDecimal;
 import java.util.List;
 
-@RunWith(SpringRunner.class)
-@SpringBootTest
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class ApplicationTests {
     @Autowired
     private EntityManager  entityManager;

+ 6 - 1
src/test/java/com/izouma/awesomeAdmin/CacheTest.java

@@ -1,10 +1,15 @@
 package com.izouma.awesomeAdmin;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.cache.Cache;
 import org.springframework.cache.CacheManager;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class CacheTest extends ApplicationTests {
     @Autowired
     private CacheManager cacheManager;

+ 1 - 1
src/test/java/com/izouma/awesomeAdmin/CommonTest.java

@@ -7,7 +7,7 @@ import com.izouma.awesomeAdmin.enums.OrderStatus;
 import com.izouma.awesomeAdmin.web.BaseController;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.text.CaseUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.reflections.ReflectionUtils;
 import org.reflections.Reflections;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

+ 5 - 4
src/test/java/com/izouma/awesomeAdmin/GenCodeTest.java

@@ -7,10 +7,11 @@ import com.izouma.awesomeAdmin.utils.FileUtils;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.util.ResourceUtils;
 
@@ -18,8 +19,8 @@ import java.io.*;
 import java.nio.file.Paths;
 import java.util.*;
 
-@RunWith(SpringRunner.class)
-@SpringBootTest
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class GenCodeTest {
     @Autowired
     private Configuration cfg;

+ 7 - 3
src/test/java/com/izouma/awesomeAdmin/repo/CommissionRecordRepoTest.java

@@ -1,11 +1,15 @@
 package com.izouma.awesomeAdmin.repo;
 
-import com.izouma.awesomeAdmin.ApplicationTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
-public class CommissionRecordRepoTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class CommissionRecordRepoTest {
     @Autowired
     private CommissionRecordRepo commissionRecordRepo;
 

+ 7 - 4
src/test/java/com/izouma/awesomeAdmin/repo/OrderRepoTest.java

@@ -1,14 +1,17 @@
 package com.izouma.awesomeAdmin.repo;
 
-import com.izouma.awesomeAdmin.ApplicationTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.util.Collections;
 
-import static org.junit.Assert.*;
 
-public class OrderRepoTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class OrderRepoTest {
 
     @Autowired
     private OrderRepo orderRepo;

+ 6 - 6
src/test/java/com/izouma/awesomeAdmin/repo/SmsRecordRepoTest.java

@@ -1,17 +1,17 @@
 package com.izouma.awesomeAdmin.repo;
 
 import com.izouma.awesomeAdmin.domain.SmsRecord;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.util.ArrayList;
 import java.util.List;
 
-@RunWith(SpringRunner.class)
-@SpringBootTest
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class SmsRecordRepoTest {
     @Autowired
     private SmsRecordRepo smsRecordRepo;
@@ -19,7 +19,7 @@ public class SmsRecordRepoTest {
     @Test
     public void testSmsRecord() {
         SmsRecord record = SmsRecord.builder()
-                                    .build();
+                .build();
         smsRecordRepo.save(record);
 
         List<SmsRecord> list = new ArrayList<>();

+ 5 - 9
src/test/java/com/izouma/awesomeAdmin/repo/UserRepoTest.java

@@ -1,25 +1,21 @@
 package com.izouma.awesomeAdmin.repo;
 
-import com.github.javafaker.Faker;
 import com.izouma.awesomeAdmin.config.Constants;
 import com.izouma.awesomeAdmin.domain.User;
 import com.izouma.awesomeAdmin.security.Authority;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.math.BigDecimal;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
-import java.util.Locale;
 
-@RunWith(SpringRunner.class)
-@SpringBootTest
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class UserRepoTest {
     @Autowired
     private UserRepo userRepo;

+ 7 - 2
src/test/java/com/izouma/awesomeAdmin/service/AlipayTest.java

@@ -5,10 +5,15 @@ import com.alipay.api.AlipayClient;
 import com.alipay.api.request.AlipayTradeWapPayRequest;
 import com.izouma.awesomeAdmin.Application;
 import com.izouma.awesomeAdmin.ApplicationTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
-public class AlipayTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class AlipayTest {
     @Autowired
     private AlipayClient alipayClient;
 

+ 7 - 4
src/test/java/com/izouma/awesomeAdmin/service/CommissionServiceTest.java

@@ -1,12 +1,15 @@
 package com.izouma.awesomeAdmin.service;
 
-import com.izouma.awesomeAdmin.ApplicationTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
-import static org.junit.Assert.*;
 
-public class CommissionServiceTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class CommissionServiceTest {
     @Autowired
     private CommissionService commissionService;
 

+ 7 - 4
src/test/java/com/izouma/awesomeAdmin/service/ProductServiceTest.java

@@ -5,16 +5,19 @@ import com.izouma.awesomeAdmin.domain.Product;
 import com.izouma.awesomeAdmin.enums.ProductStatus;
 import com.izouma.awesomeAdmin.repo.ProductRepo;
 import org.apache.commons.lang.ObjectUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.math.BigDecimal;
 import java.util.List;
 
-import static org.junit.Assert.*;
-
-public class ProductServiceTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class ProductServiceTest {
     @Autowired
     private ProductService productService;
     @Autowired

+ 7 - 4
src/test/java/com/izouma/awesomeAdmin/service/UserServiceTest.java

@@ -5,8 +5,11 @@ import com.izouma.awesomeAdmin.ApplicationTests;
 import com.izouma.awesomeAdmin.repo.UserRepo;
 import com.izouma.awesomeAdmin.security.JwtTokenUtil;
 import com.izouma.awesomeAdmin.security.JwtUserFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import javax.imageio.ImageIO;
 import java.awt.*;
@@ -14,9 +17,9 @@ import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 
-import static org.junit.Assert.*;
-
-public class UserServiceTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class UserServiceTest {
     @Autowired
     private UserService  userService;
     @Autowired

+ 7 - 2
src/test/java/com/izouma/awesomeAdmin/service/sms/SmsServiceTest.java

@@ -1,10 +1,15 @@
 package com.izouma.awesomeAdmin.service.sms;
 
 import com.izouma.awesomeAdmin.ApplicationTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 
-public class SmsServiceTest extends ApplicationTests {
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class SmsServiceTest {
     @Autowired
     private SmsService smsService;
 

+ 1 - 2
src/test/java/com/izouma/awesomeAdmin/utils/LogisticsUtilsTest.java

@@ -1,8 +1,7 @@
 package com.izouma.awesomeAdmin.utils;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.*;
 
 public class LogisticsUtilsTest {