From fbdf3799f8b97d9a1206e803dd4eb1b8f88e6bcd Mon Sep 17 00:00:00 2001 From: wangjingsheng Date: Thu, 24 Feb 2022 15:10:50 +0800 Subject: [PATCH] test22 --- .../ocp/common/aspect/InterfaceLogAspect.java | 81 +++++++------ .../pms/ocp/common/config/ApplicationKey.java | 33 ++++++ .../ocp/common/config/ApplicationValue.java | 23 ++++ .../com/pms/ocp/common/config/BeanConfig.java | 25 ++++ .../pms/ocp/common/config/FilterConfig.java | 25 ++++ .../ocp/common/config/KeyGenerateConfig.java | 21 ++++ .../com/pms/ocp/common/config/PageParam.java | 21 ++++ .../pms/ocp/common/config/RedisConfig.java | 63 ++++++++++ .../com/pms/ocp/common/config/RedisUtils.java | 111 ++++++++++++++++++ .../pms/ocp/model/entity/ModelProperty.java | 91 +++++++++++++- 10 files changed, 450 insertions(+), 44 deletions(-) create mode 100644 src/main/java/com/pms/ocp/common/config/ApplicationKey.java create mode 100644 src/main/java/com/pms/ocp/common/config/ApplicationValue.java create mode 100644 src/main/java/com/pms/ocp/common/config/BeanConfig.java create mode 100644 src/main/java/com/pms/ocp/common/config/FilterConfig.java create mode 100644 src/main/java/com/pms/ocp/common/config/KeyGenerateConfig.java create mode 100644 src/main/java/com/pms/ocp/common/config/PageParam.java create mode 100644 src/main/java/com/pms/ocp/common/config/RedisConfig.java create mode 100644 src/main/java/com/pms/ocp/common/config/RedisUtils.java diff --git a/src/main/java/com/pms/ocp/common/aspect/InterfaceLogAspect.java b/src/main/java/com/pms/ocp/common/aspect/InterfaceLogAspect.java index aa3a107..238260f 100644 --- a/src/main/java/com/pms/ocp/common/aspect/InterfaceLogAspect.java +++ b/src/main/java/com/pms/ocp/common/aspect/InterfaceLogAspect.java @@ -31,47 +31,46 @@ import lombok.extern.slf4j.Slf4j; @Component public class InterfaceLogAspect { - @Before("execution(* com.pms.ocp.controller..*.*(..))") - public void before(JoinPoint joinPoint) { - // 打印接口请求参数日志 - this.logInterfaceRequest(joinPoint); - } + @Before("execution(* com.pms.ocp.controller..*.*(..))") + public void before(JoinPoint joinPoint) { + // 打印接口请求参数日志 + this.logInterfaceRequest(joinPoint); + } - @Around("execution(* com.pms.ocp.controller..*.*(..))") - public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { - long startTime = System.currentTimeMillis(); - Object result = proceedingJoinPoint.proceed(); - log.info("interface responseBody : " + (result != null ? JSONObject.toJSONString(result) : null)); - log.info("interface time-consuming :{}", System.currentTimeMillis() - startTime); - return result; - } + @Around("execution(* com.pms.ocp.controller..*.*(..))") + public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { + long startTime = System.currentTimeMillis(); + Object result = proceedingJoinPoint.proceed(); + log.info("interface responseBody : " + (result != null ? JSONObject.toJSONString(result) : null)); + log.info("interface time-consuming :{}", System.currentTimeMillis() - startTime); + return result; + } - /** - * 打印接口请求参数日志 - * - * @param joinPoint - * 连接点 - */ - private void logInterfaceRequest(JoinPoint joinPoint) { - try { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder - .getRequestAttributes(); - MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); - String[] parameterNames = methodSignature.getParameterNames(); - Map paramMap = new HashMap<>(10); - Object[] args = joinPoint.getArgs(); - if (parameterNames.length <= args.length) { - for (int i = 0; i < parameterNames.length; i++) { - paramMap.put(parameterNames[i], args[i]); - } - } - log.info("interface url : " - + (attributes != null ? attributes.getRequest().getRequestURL() : null)); - log.info("interface className : " + joinPoint.getTarget().getClass().getName()); - log.info("interface methodName : " + joinPoint.getSignature().getName()); - log.info("interface requestBody : " + JSONObject.toJSONString(paramMap)); - } catch (Exception exception) { - log.error("InterfaceLogAspect.before Exception", exception); - } - } + /** + * 打印接口请求参数日志 + * + * @param joinPoint 连接点 + */ + private void logInterfaceRequest(JoinPoint joinPoint) { + try { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder + .getRequestAttributes(); + MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); + String[] parameterNames = methodSignature.getParameterNames(); + Map paramMap = new HashMap<>(10); + Object[] args = joinPoint.getArgs(); + if (parameterNames.length <= args.length) { + for (int i = 0; i < parameterNames.length; i++) { + paramMap.put(parameterNames[i], args[i]); + } + } + log.info("interface url : " + + (attributes != null ? attributes.getRequest().getRequestURL() : null)); + log.info("interface className : " + joinPoint.getTarget().getClass().getName()); + log.info("interface methodName : " + joinPoint.getSignature().getName()); + log.info("interface requestBody : " + JSONObject.toJSONString(paramMap)); + } catch (Exception exception) { + log.error("InterfaceLogAspect.before Exception", exception); + } + } } diff --git a/src/main/java/com/pms/ocp/common/config/ApplicationKey.java b/src/main/java/com/pms/ocp/common/config/ApplicationKey.java new file mode 100644 index 0000000..e39aa2b --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/ApplicationKey.java @@ -0,0 +1,33 @@ +package com.pms.ocp.common.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import lombok.Data; + +/** + * application自定义key 配置 + * + * @author wuwanli + * @version 1.0 + * @date 2021/8/4 + */ +@Data +@ConfigurationProperties(prefix = ApplicationKey.PREFIX) +public class ApplicationKey { + public static final String PREFIX = "beagle"; + private final ApplicationKey.Jwt jwt; + + public ApplicationKey() { + this.jwt = new ApplicationKey.Jwt(); + } + @Data + public static class Jwt { + + private String secretKey; + + private String expireTime; + + private String tokenPrefix; + + } +} diff --git a/src/main/java/com/pms/ocp/common/config/ApplicationValue.java b/src/main/java/com/pms/ocp/common/config/ApplicationValue.java new file mode 100644 index 0000000..d49701c --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/ApplicationValue.java @@ -0,0 +1,23 @@ +package com.pms.ocp.common.config; + +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * application 自定义配置值 + * + * @author wuwanli + * @version 1.0 + * @date 2021/8/4 + */ +@Component +@Data +public class ApplicationValue { + @Value("${beagle.jwt.secret-key}") + public String jwtSecretKey; + @Value("${beagle.jwt.expire-time}") + public long jwtExpireTime; + @Value("${beagle.jwt.token-prefix}") + public String jwtTokenPrefix; +} diff --git a/src/main/java/com/pms/ocp/common/config/BeanConfig.java b/src/main/java/com/pms/ocp/common/config/BeanConfig.java new file mode 100644 index 0000000..1a64727 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/BeanConfig.java @@ -0,0 +1,25 @@ +package com.pms.ocp.common.config; + +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Component; + +/** + * Bean 配置类 + * + * @author wuwanli + * @version 1.0 + * @date 2021/8/4 + */ +@Component +public class BeanConfig { + + @Bean("dataSource") + @Primary + @ConfigurationProperties(prefix = "spring.datasource") + public HikariDataSource dataSource() { + return new HikariDataSource(); + } +} diff --git a/src/main/java/com/pms/ocp/common/config/FilterConfig.java b/src/main/java/com/pms/ocp/common/config/FilterConfig.java new file mode 100644 index 0000000..bfee533 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/FilterConfig.java @@ -0,0 +1,25 @@ +package com.pms.ocp.common.config; + +import com.pms.ocp.common.component.LogbackFilter; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; + +/** + * 过滤器配置类 + * + * @author wuwanli + * @version 1.0 + * @date 2021/8/4 + */ +@Configuration +public class FilterConfig { + @Bean + public FilterRegistrationBean getLogbackFilter() { + FilterRegistrationBean logbackFilter = new FilterRegistrationBean<>(new LogbackFilter()); + logbackFilter.addUrlPatterns("/*"); + logbackFilter.setOrder(Ordered.HIGHEST_PRECEDENCE); + return logbackFilter; + } +} diff --git a/src/main/java/com/pms/ocp/common/config/KeyGenerateConfig.java b/src/main/java/com/pms/ocp/common/config/KeyGenerateConfig.java new file mode 100644 index 0000000..81c5ced --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/KeyGenerateConfig.java @@ -0,0 +1,21 @@ +package com.pms.ocp.common.config; + +import com.baomidou.mybatisplus.extension.incrementer.PostgreKeyGenerator; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +/** + * @Author: admin + * @Description: + * @Date: 2021/11/24 17:41 + * @Version: V1.0 + */ +@Slf4j +@Component("MybatisPlusKeyGenerator") +public class KeyGenerateConfig { + @Bean + public PostgreKeyGenerator postgreKeyGenerator(){ + return new PostgreKeyGenerator(); + } +} diff --git a/src/main/java/com/pms/ocp/common/config/PageParam.java b/src/main/java/com/pms/ocp/common/config/PageParam.java new file mode 100644 index 0000000..1ce3405 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/PageParam.java @@ -0,0 +1,21 @@ +package com.pms.ocp.common.config; + +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/1/13 18:51 + * @Description: + */ + +@Data +public class PageParam { + + private String name; + + private String type; + + private int pageNum; + + private int pageSize; +} diff --git a/src/main/java/com/pms/ocp/common/config/RedisConfig.java b/src/main/java/com/pms/ocp/common/config/RedisConfig.java new file mode 100644 index 0000000..22a8e20 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/RedisConfig.java @@ -0,0 +1,63 @@ + +package com.pms.ocp.common.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.*; +import org.springframework.data.redis.serializer.StringRedisSerializer; +import org.springframework.web.client.RestTemplate; + +/** + * Redis配置 + * + * @author Mark sunlightcs@gmail.com + */ +@Configuration +public class RedisConfig { + @Autowired + private RedisConnectionFactory factory; + + @Bean + public RestTemplate restTemplate(RestTemplateBuilder builder){ + return builder.build(); + } + + @Bean + public RedisTemplate redisTemplate() { + RedisTemplate redisTemplate = new RedisTemplate<>(); + redisTemplate.setKeySerializer(new StringRedisSerializer()); + redisTemplate.setHashKeySerializer(new StringRedisSerializer()); + redisTemplate.setHashValueSerializer(new StringRedisSerializer()); + redisTemplate.setValueSerializer(new StringRedisSerializer()); + redisTemplate.setConnectionFactory(factory); + return redisTemplate; + } + + @Bean + public HashOperations hashOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForHash(); + } + + @Bean + public ValueOperations valueOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForValue(); + } + + @Bean + public ListOperations listOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForList(); + } + + @Bean + public SetOperations setOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForSet(); + } + + @Bean + public ZSetOperations zSetOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForZSet(); + } +} diff --git a/src/main/java/com/pms/ocp/common/config/RedisUtils.java b/src/main/java/com/pms/ocp/common/config/RedisUtils.java new file mode 100644 index 0000000..533a2f8 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/config/RedisUtils.java @@ -0,0 +1,111 @@ +package com.pms.ocp.common.config; + +import com.google.gson.Gson; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.*; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; + +/** + * Redis工具类 + * + * @author Mark sunlightcs@gmail.com + */ +@Component +public class RedisUtils { + @Autowired + private RedisTemplate redisTemplate; + @Autowired + private ValueOperations valueOperations; + @Autowired + private HashOperations hashOperations; + @Autowired + private ListOperations listOperations; + @Autowired + private SetOperations setOperations; + @Autowired + private ZSetOperations zSetOperations; + /** 默认过期时长,单位:秒 */ + public final static long DEFAULT_EXPIRE = 60 * 60 * 24; + /** 不设置过期时长 */ + public final static long NOT_EXPIRE = -1; + private final static Gson gson = new Gson(); + + public void set(String key, Object value, long expire){ + valueOperations.set(key, toJson(value)); + if(expire != NOT_EXPIRE){ + redisTemplate.expire(key, expire, TimeUnit.SECONDS); + } + } + + public void set(String key, Object value){ + set(key, value, DEFAULT_EXPIRE); + } + + public T get(String key, Class clazz, long expire) { + String value = valueOperations.get(key); + if(expire != NOT_EXPIRE){ + redisTemplate.expire(key, expire, TimeUnit.SECONDS); + } + return value == null ? null : fromJson(value, clazz); + } + + public T get(String key, Class clazz) { + return get(key, clazz, NOT_EXPIRE); + } + + public String get(String key, long expire) { + String value = valueOperations.get(key); + if(expire != NOT_EXPIRE){ + redisTemplate.expire(key, expire, TimeUnit.SECONDS); + } + return value; + } + + public String get(String key) { + return get(key, NOT_EXPIRE); + } + + public void delete(String key) { + redisTemplate.delete(key); + } + + /** + * Object转成JSON数据 + */ + private String toJson(Object object){ + if(object instanceof Integer || object instanceof Long || object instanceof Float || + object instanceof Double || object instanceof Boolean || object instanceof String){ + return String.valueOf(object); + } + return gson.toJson(object); + } + + + /** + * 判断key是否存在 + * @param key 键 + * @return true 存在 false不存在 + */ + public boolean hasKey(String key) { + try { + return redisTemplate.hasKey(key); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * JSON数据,转成Object + */ + private T fromJson(String json, Class clazz){ + return gson.fromJson(json, clazz); + } + + public static void main(String[] args) { + String json = new RedisUtils().toJson("abc"); + System.out.println(json); + } +} diff --git a/src/main/java/com/pms/ocp/model/entity/ModelProperty.java b/src/main/java/com/pms/ocp/model/entity/ModelProperty.java index a3c88d7..0288221 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelProperty.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelProperty.java @@ -1,5 +1,6 @@ package com.pms.ocp.model.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @@ -13,15 +14,99 @@ import lombok.Data; public class ModelProperty { /** - * 模型编号 + * 模型属性编号 */ @TableId private String propId; /** - * 模型名称 + * 模型编号 + */ + private String modelId; + + /** + * 属性名称 + */ + private String columnName; + + /** + * 属性编码 + */ + private String columnCode; + + /** + * 属性描述 + */ + private String columnComments; + + /** + * 数据类型 + */ + private String dataType; + + /** + * 数据长度 + */ + private String dataLength; + + /** + * 数据精度 + */ + private String dataScale; + + /** + * 是否主键 + */ + @TableField(value = "is_pk") + private String boolPrimaryKey; + + /** + * 是否必填 + */ + @TableField(value = "is_required") + private String boolRequired; + + /** + * 推广类型 + */ + private String prop_promotion; + + /** + * 省公司ID + */ + private String company_id; + + /** + * 省公司名称 + */ + private String company_name; + + /** + * 显示顺序 + */ + private String prop_dispidx; + + /** + * 提交人id + */ + private String prop_user_id; + + /** + * 提交人姓名 + */ + private String prop_user_name; + + /** + * 创建时间 + */ + @TableField(value = "is_required") + private String prop_ctime; + + /** + * 修改时间 */ - private String modelName; + @TableField(value = "is_required") + private String prop_mtime; } // 字段名称 字段描述 字段类型 允许为NULL 备注 -- 2.26.0