| ¶Ô±ÈÐÂÎļþ |
| | |
| | | HELP.md |
| | | target/ |
| | | !.mvn/wrapper/maven-wrapper.jar |
| | | !**/src/main/**/target/ |
| | | !**/src/test/**/target/ |
| | | |
| | | ### STS ### |
| | | .apt_generated |
| | | .classpath |
| | | .factorypath |
| | | .project |
| | | .settings |
| | | .springBeans |
| | | .sts4-cache |
| | | |
| | | ### IntelliJ IDEA ### |
| | | .idea |
| | | *.iws |
| | | *.iml |
| | | *.ipr |
| | | *.log |
| | | *.jar |
| | | |
| | | ### NetBeans ### |
| | | /nbproject/private/ |
| | | /nbbuild/ |
| | | /dist/ |
| | | /nbdist/ |
| | | /.nb-gradle/ |
| | | build/ |
| | | !**/src/main/**/build/ |
| | | !**/src/test/**/build/ |
| | | |
| | | ### VS Code ### |
| | | .vscode/ |
| | |
| | | ## mom-before |
| | | # å端ä¸å¤©æµ·æ´ |
| | | |
| | | momå端 |
| | | #### ä»ç» |
| | | {**以䏿¯ Gitee å¹³å°è¯´æï¼æ¨å¯ä»¥æ¿æ¢æ¤ç®ä»** |
| | | Gitee æ¯ OSCHINA æ¨åºçåºäº Git çä»£ç æç®¡å¹³å°ï¼åæ¶æ¯æ SVNï¼ãä¸ä¸ºå¼åè
æä¾ç¨³å®ã髿ãå®å
¨çäºç«¯è½¯ä»¶å¼ååä½å¹³å° |
| | | æ 论æ¯ä¸ªäººãå¢éãææ¯ä¼ä¸ï¼é½è½å¤ç¨ Gitee å®ç°ä»£ç æç®¡ã项ç®ç®¡çãåä½å¼åãä¼ä¸é¡¹ç®è¯·ç [https://gitee.com/enterprises](https://gitee.com/enterprises)} |
| | | |
| | | #### è½¯ä»¶æ¶æ |
| | | è½¯ä»¶æ¶æè¯´æ |
| | | |
| | | |
| | | #### å®è£
æç¨ |
| | | |
| | | 1. xxxx |
| | | 2. xxxx |
| | | 3. xxxx |
| | | |
| | | #### 使ç¨è¯´æ |
| | | |
| | | 1. xxxx |
| | | 2. xxxx |
| | | 3. xxxx |
| | | |
| | | #### åä¸è´¡ç® |
| | | |
| | | 1. Fork æ¬ä»åº |
| | | 2. æ°å»º Feat_xxx 忝 |
| | | 3. æäº¤ä»£ç |
| | | 4. æ°å»º Pull Request |
| | | |
| | | |
| | | #### ç¹æ |
| | | |
| | | 1. ä½¿ç¨ Readme\_XXX.md æ¥æ¯æä¸åçè¯è¨ï¼ä¾å¦ Readme\_en.md, Readme\_zh.md |
| | | 2. Gitee 宿¹å客 [blog.gitee.com](https://blog.gitee.com) |
| | | 3. ä½ å¯ä»¥ [https://gitee.com/explore](https://gitee.com/explore) è¿ä¸ªå°åæ¥äºè§£ Gitee ä¸çä¼ç§å¼æºé¡¹ç® |
| | | 4. [GVP](https://gitee.com/gvp) å
¨ç§°æ¯ Gitee ææä»·å¼å¼æºé¡¹ç®ï¼æ¯ç»¼åè¯å®åºçä¼ç§å¼æºé¡¹ç® |
| | | 5. Gitee 宿¹æä¾çä½¿ç¨æå [https://gitee.com/help](https://gitee.com/help) |
| | | 6. Gitee å°é¢äººç©æ¯ä¸æ¡£ç¨æ¥å±ç¤º Gitee ä¼åé£éçæ ç® [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | |
| | | <artifactId>framework</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>framework</name> |
| | | <description>framework</description> |
| | | <packaging>jar</packaging> |
| | | |
| | | <dependencies> |
| | | <!--æ°æ®åºè¿æ¥æ± --> |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- mysqlé©±å¨ --> |
| | | <dependency> |
| | | <groupId>mysql</groupId> |
| | | <artifactId>mysql-connector-java</artifactId> |
| | | </dependency> |
| | | |
| | | <!--redis jarå
--> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-data-redis</artifactId> |
| | | </dependency> |
| | | |
| | | <!--jwt--> |
| | | <dependency> |
| | | <groupId>com.auth0</groupId> |
| | | <artifactId>java-jwt</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | import com.alibaba.druid.pool.DruidDataSource; |
| | | import com.alibaba.druid.support.http.StatViewServlet; |
| | | import com.alibaba.druid.support.http.WebStatFilter; |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.boot.web.servlet.FilterRegistrationBean; |
| | | import org.springframework.boot.web.servlet.ServletRegistrationBean; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | import javax.sql.DataSource; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Configuration |
| | | public class DruidConfig { |
| | | //å è½½application.yamlä¸çDruidé
ç½® |
| | | @ConfigurationProperties(prefix = "spring.datasource") |
| | | @Bean |
| | | public DataSource druid(){ |
| | | return new DruidDataSource(); |
| | | } |
| | | |
| | | //é
ç½®Druidççæ§ |
| | | //1ãé
ç½®ä¸ä¸ªç®¡çåå°çServlet |
| | | @Bean |
| | | public ServletRegistrationBean statViewServlet(){ |
| | | ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); |
| | | Map<String,String> initParams = new HashMap<>(); |
| | | |
| | | initParams.put("loginUsername","root"); |
| | | initParams.put("loginPassword","123456"); |
| | | initParams.put("allow","");//é»è®¤å°±æ¯å
许ææè®¿é® |
| | | // initParams.put("deny","192.168.15.21"); ç¦æ¢è¯¥IPè®¿é® |
| | | |
| | | bean.setInitParameters(initParams); |
| | | return bean; |
| | | } |
| | | |
| | | //2ãé
ç½®ä¸ä¸ªwebçæ§çfilter |
| | | @Bean |
| | | public FilterRegistrationBean webStatFilter(){ |
| | | FilterRegistrationBean bean = new FilterRegistrationBean(); |
| | | bean.setFilter(new WebStatFilter()); |
| | | |
| | | Map<String,String> initParams = new HashMap<>(); |
| | | initParams.put("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); |
| | | |
| | | bean.setInitParameters(initParams); |
| | | |
| | | bean.setUrlPatterns(Arrays.asList("/*")); |
| | | |
| | | return bean; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | import com.alibaba.druid.pool.vendor.NullExceptionSorter; |
| | | import com.yuanchu.mom.utils.JackSonUtil; |
| | | import com.yuanchu.mom.utils.Jwt; |
| | | import com.yuanchu.mom.utils.RedisUtil; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.bind.annotation.ResponseStatus; |
| | | import org.springframework.web.client.RestTemplate; |
| | | import org.springframework.web.servlet.HandlerInterceptor; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.WriteListener; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.io.Writer; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | |
| | | @Component |
| | | public class FiferConfig implements HandlerInterceptor { |
| | | |
| | | @Value("${server.port}") |
| | | private String serverPort; |
| | | |
| | | @Override |
| | | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { |
| | | if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) { |
| | | response.setStatus(HttpServletResponse.SC_OK); |
| | | return true; |
| | | } |
| | | String[] strs = request.getRequestURL().toString().split(serverPort); |
| | | AtomicBoolean judge = new AtomicBoolean(false); |
| | | list.forEach(a -> { |
| | | if (strs[1].equals(a)) { |
| | | judge.set(true); |
| | | return; |
| | | } else if (a.indexOf("/**") > -1) { |
| | | if (strs[1].indexOf(a.replace("/**", "")) == 0) { |
| | | judge.set(true); |
| | | return; |
| | | } |
| | | } |
| | | }); |
| | | if (judge.get()) return true; |
| | | response.setContentType(MediaType.APPLICATION_JSON_VALUE); |
| | | response.setCharacterEncoding("UTF-8"); |
| | | String token = request.getHeader("token"); |
| | | Map<String, String> map = new Jwt().readJWT(token); |
| | | if (map.get("state").equals("0")) { |
| | | String redisToken = String.valueOf(RedisUtil.get(JackSonUtil.unmarshal(map.get("data"), Map.class).get("id").toString())); |
| | | if (!redisToken.equals(token)) { |
| | | map.put("info", "ä¸åå¨çtoken"); |
| | | map.put("state", "2"); |
| | | } else { |
| | | return true; |
| | | } |
| | | } |
| | | PrintWriter out = response.getWriter(); |
| | | out.print(new Result<>().fail(401,map.get("info"))); |
| | | switch (map.get("state")){ |
| | | case "1": |
| | | response.setStatus(401); |
| | | break; |
| | | case "2": |
| | | response.setStatus(402); |
| | | break; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { |
| | | // System.out.println("-------------------------æ¦æªå¨æ ¡éªéè¿---------------------------"); |
| | | } |
| | | |
| | | private List<String> list; |
| | | |
| | | public FiferConfig() { |
| | | List<String> list = new ArrayList<>(); |
| | | |
| | | // swaggeræ¾è¡ |
| | | list.add("/doc.html/**"); |
| | | list.add("/webjars/**"); |
| | | list.add("/swagger-resources"); |
| | | list.add("/api-docs"); |
| | | list.add("/v3/api-docs"); |
| | | |
| | | list.add("/user/enter"); |
| | | list.add("/user/refresh"); |
| | | this.list = list; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.cors.CorsConfiguration; |
| | | import org.springframework.web.cors.UrlBasedCorsConfigurationSource; |
| | | import org.springframework.web.filter.CorsFilter; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | | @Configuration |
| | | public class MyCorsConfig { |
| | | |
| | | @Bean |
| | | public CorsFilter corsFilter() { |
| | | CorsConfiguration config = new CorsConfiguration(); |
| | | //å
许ææååè¿è¡è·¨åè°ç¨ |
| | | config.addAllowedOriginPattern("*");//æ¿æ¢è¿ä¸ª |
| | | //å
许跨è¶åécookie |
| | | config.setAllowCredentials(true); |
| | | //æ¾è¡å
¨é¨åå§å¤´ä¿¡æ¯ |
| | | config.addAllowedHeader("*"); |
| | | //å
许ææè¯·æ±æ¹æ³è·¨åè°ç¨ |
| | | config.addAllowedMethod("*"); |
| | | UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); |
| | | source.registerCorsConfiguration("/**", config); |
| | | return new CorsFilter(source); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; |
| | | |
| | | //@Configuration |
| | | public class OpenFifer extends WebMvcConfigurationSupport { |
| | | |
| | | @Autowired |
| | | private FiferConfig fiferConfig; |
| | | |
| | | @Override |
| | | protected void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(fiferConfig).addPathPatterns("/**") |
| | | .excludePathPatterns(); |
| | | super.addInterceptors(registry); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import springfox.documentation.builders.ApiInfoBuilder; |
| | | import springfox.documentation.builders.PathSelectors; |
| | | import springfox.documentation.builders.RequestHandlerSelectors; |
| | | import springfox.documentation.oas.annotations.EnableOpenApi; |
| | | import springfox.documentation.service.*; |
| | | import springfox.documentation.spi.DocumentationType; |
| | | import springfox.documentation.spi.service.contexts.SecurityContext; |
| | | import springfox.documentation.spring.web.plugins.Docket; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | @Configuration |
| | | @EnableOpenApi |
| | | public class Swagger3 { |
| | | // è·¯å¾http://localhost:8080/doc.html |
| | | @Value("${swagger.enabled}") |
| | | private boolean enable; |
| | | |
| | | private final String swaggerPackage = "com.yuanchu.mom"; |
| | | |
| | | /** |
| | | * æ·»å æè¦ä¿¡æ¯ |
| | | */ |
| | | private ApiInfo apiInfo() { |
| | | // ç¨ApiInfoBuilderè¿è¡å®å¶ |
| | | return new ApiInfoBuilder() |
| | | // 设置æ é¢ |
| | | .title("ä¸å¤©æµ·æ´mom") |
| | | // æè¿° |
| | | .description("ä¸å¤©æµ·æ´mom") |
| | | // ä½è
ä¿¡æ¯ |
| | | .contact(new Contact("éµ·é", null, null)) |
| | | // çæ¬ |
| | | .version("çæ¬å·:V.1") |
| | | //åè®® |
| | | .license("The Apache License") |
| | | //åè®®url |
| | | .licenseUrl("http://www.baidu.com") |
| | | .build(); |
| | | } |
| | | |
| | | /** |
| | | * å建API |
| | | * http:IP:端å£å·/swagger-ui/index.html åçå°å |
| | | * http:IP:端å£å·/doc.html bootStrap-UIå°å |
| | | */ |
| | | @Bean |
| | | public Docket createRestApi() { |
| | | return new Docket(DocumentationType.OAS_30).pathMapping("/") |
| | | // ç¨æ¥å建该APIçåºæ¬ä¿¡æ¯ï¼å±ç¤ºå¨ææ¡£ç页é¢ä¸ï¼èªå®ä¹å±ç¤ºçä¿¡æ¯ï¼ |
| | | .enable(enable) |
| | | .apiInfo(apiInfo()) |
| | | // 设置åªäºæ¥å£æ´é²ç»Swaggerå±ç¤º |
| | | .select() |
| | | // æ«æææææ³¨è§£çapiï¼ç¨è¿ç§æ¹å¼æ´çµæ´» |
| | | .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) |
| | | |
| | | |
| | | // æ«ææå®å
ä¸çswagger注解 |
| | | .apis(RequestHandlerSelectors.basePackage(swaggerPackage)) |
| | | // æ«æææ .apis(RequestHandlerSelectors.any()) |
| | | .paths(PathSelectors.regex("(?!/ApiError.*).*")) |
| | | .paths(PathSelectors.any()) |
| | | .build() |
| | | // æ¯æçé讯åè®®éå |
| | | .protocols(newHashSet("https", "http")) |
| | | .securitySchemes(securitySchemes()) |
| | | .securityContexts(securityContexts()); |
| | | } |
| | | |
| | | /** |
| | | * æ¯æçé讯åè®®éå |
| | | * @param type1 |
| | | * @param type2 |
| | | * @return |
| | | */ |
| | | private Set<String> newHashSet(String type1, String type2){ |
| | | Set<String> set = new HashSet<>(); |
| | | set.add(type1); |
| | | set.add(type2); |
| | | return set; |
| | | } |
| | | |
| | | /** |
| | | * 认è¯çå®å
¨ä¸ä¸æ |
| | | */ |
| | | private List<SecurityScheme> securitySchemes() { |
| | | List<SecurityScheme> securitySchemes = new ArrayList<>(); |
| | | securitySchemes.add((SecurityScheme) new ApiKey("token", "token", "header")); |
| | | return securitySchemes; |
| | | } |
| | | |
| | | /** |
| | | * ææä¿¡æ¯å
¨å±åºç¨ |
| | | */ |
| | | private List<SecurityContext> securityContexts() { |
| | | List<SecurityContext> securityContexts = new ArrayList<>(); |
| | | securityContexts.add(SecurityContext.builder() |
| | | .securityReferences(defaultAuth()) |
| | | .forPaths(PathSelectors.any()).build()); |
| | | return securityContexts; |
| | | } |
| | | |
| | | private List<SecurityReference> defaultAuth() { |
| | | AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); |
| | | AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; |
| | | authorizationScopes[0] = authorizationScope; |
| | | List<SecurityReference> securityReferences = new ArrayList<>(); |
| | | securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); |
| | | return securityReferences; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.config; |
| | | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; |
| | | |
| | | @Configuration |
| | | public class WebMvcConfig extends WebMvcConfigurationSupport { |
| | | |
| | | @Value("${file.path}") |
| | | private String filePath; |
| | | |
| | | @Override |
| | | protected void addResourceHandlers(ResourceHandlerRegistry registry) { |
| | | //é
ç½®æ¦æªå¨è®¿é®éæèµæº |
| | | registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); |
| | | registry.addResourceHandler("/favicon.ico").addResourceLocations("classpath:/META-INF/resources/"); |
| | | registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); |
| | | |
| | | //设置æä»¶èæè·¯å¾æ å° |
| | | registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/") |
| | | .addResourceLocations("file:"+filePath+"/"); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.handler; |
| | | |
| | | import com.yuanchu.mom.vo.Result; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.ConversionNotSupportedException; |
| | | import org.springframework.beans.TypeMismatchException; |
| | | import org.springframework.beans.factory.NoSuchBeanDefinitionException; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.dao.DuplicateKeyException; |
| | | import org.springframework.http.converter.HttpMessageNotReadableException; |
| | | import org.springframework.http.converter.HttpMessageNotWritableException; |
| | | import org.springframework.jdbc.BadSqlGrammarException; |
| | | import org.springframework.validation.ObjectError; |
| | | import org.springframework.web.bind.MethodArgumentNotValidException; |
| | | import org.springframework.web.bind.annotation.ExceptionHandler; |
| | | import org.springframework.web.bind.annotation.RestControllerAdvice; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.IOException; |
| | | import java.sql.SQLException; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | | @Slf4j |
| | | @RestControllerAdvice |
| | | public class GlobalExceptionHandler { |
| | | |
| | | @Autowired |
| | | HttpServletResponse response; |
| | | |
| | | @ExceptionHandler(SQLException.class) |
| | | public Result<?> handlerSQLException(SQLException e) { |
| | | log.error(e.getMessage().toLowerCase(), e); |
| | | response.setStatus(500); |
| | | return Result.fail("æ°æ®æä½å¤±è´¥ï¼è¯·è系管çå"); |
| | | } |
| | | |
| | | /** |
| | | * å¯ä¸å¼å¨æ°æ®åºä¸éå¤ |
| | | * Duplicate entry ' ' for key ' ' |
| | | * |
| | | * @param eï¼éå¤é®å¼å¸¸ |
| | | * @return 199 |
| | | */ |
| | | @ExceptionHandler |
| | | public Result<?> DuplicateKeyException(DuplicateKeyException e) { |
| | | log.error(String.valueOf(e)); |
| | | String message = e.getCause().getMessage(); |
| | | String[] split = message.split("'"); |
| | | response.setStatus(500); |
| | | return Result.fail("é夿·»å ï¼ã" + split[1] + "ãæä½å¤±è´¥ï¼"); |
| | | } |
| | | |
| | | @ExceptionHandler |
| | | public Result<?> NullPointerException(NullPointerException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("é¨ååæ°ä¸ºç©ºï¼è¯·æ£æ¥ï¼"); |
| | | } |
| | | |
| | | /** |
| | | * è¿è¡æ¶å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(RuntimeException.class) |
| | | public Result<?> runtimeExceptionHandler(RuntimeException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("è¿è¡æ¶å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * ç±»å转æ¢å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(ClassCastException.class) |
| | | public Result<?> classCastExceptionHandler(ClassCastException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("ç±»å转æ¢å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æä»¶æªæ¾å°å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(FileNotFoundException.class) |
| | | public Result<?> FileNotFoundException(FileNotFoundException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æä»¶æªæ¾å°å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æ°åæ ¼å¼å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(NumberFormatException.class) |
| | | public Result<?> NumberFormatException(NumberFormatException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æ°åæ ¼å¼å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * å®å
¨å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(SecurityException.class) |
| | | public Result<?> SecurityException(SecurityException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("å®å
¨å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * ç±»åä¸åå¨å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(TypeNotPresentException.class) |
| | | public Result<?> TypeNotPresentException(TypeNotPresentException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("ç±»åä¸åå¨å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * IOå¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(IOException.class) |
| | | public Result<?> iOExceptionHandler(IOException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("IOå¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æªç¥æ¹æ³å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(NoSuchMethodException.class) |
| | | public Result<?> noSuchMethodExceptionHandler(NoSuchMethodException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æªç¥æ¹æ³å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æ°ç»è¶çå¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(IndexOutOfBoundsException.class) |
| | | public Result<?> indexOutOfBoundsExceptionHandler(IndexOutOfBoundsException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æ°ç»è¶çå¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * sqlè¯æ³é误å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(BadSqlGrammarException.class) |
| | | public Result<?> BadSqlGrammarException(BadSqlGrammarException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("sqlè¯æ³é误å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æ æ³æ³¨å
¥beanå¼å¸¸ |
| | | */ |
| | | @ExceptionHandler(NoSuchBeanDefinitionException.class) |
| | | public Result<?> NoSuchBeanDefinitionException(NoSuchBeanDefinitionException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æ æ³æ³¨å
¥bean"); |
| | | } |
| | | |
| | | /** |
| | | * Httpæ¶æ¯ä¸å¯è¯»å¼å¸¸ |
| | | */ |
| | | @ExceptionHandler({HttpMessageNotReadableException.class}) |
| | | public Result<?> requestNotReadable(HttpMessageNotReadableException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("Httpæ¶æ¯ä¸å¯è¯»"); |
| | | } |
| | | |
| | | /** |
| | | * 400é误 |
| | | */ |
| | | @ExceptionHandler({TypeMismatchException.class}) |
| | | public Result<?> requestTypeMismatch(TypeMismatchException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æå¡å¨å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * 500é误 |
| | | */ |
| | | @ExceptionHandler({ConversionNotSupportedException.class, HttpMessageNotWritableException.class}) |
| | | public Result<?> server500(RuntimeException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æå¡å¨å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * æ æº¢åº |
| | | */ |
| | | @ExceptionHandler({StackOverflowError.class}) |
| | | public Result<?> requestStackOverflow(StackOverflowError e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("æ æº¢åºå¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * 餿°ä¸è½ä¸º0 |
| | | */ |
| | | @ExceptionHandler({ArithmeticException.class}) |
| | | public Result<?> arithmeticException(ArithmeticException e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("餿°ä¸è½ä¸º0å¼å¸¸"); |
| | | } |
| | | |
| | | /** |
| | | * åæ°æ£éª |
| | | */ |
| | | @ExceptionHandler({MethodArgumentNotValidException.class}) |
| | | public Result<?> methodArgumentNotValidException(MethodArgumentNotValidException e) { |
| | | List<ObjectError> allErrors = e.getBindingResult().getAllErrors(); |
| | | String message = allErrors.stream().map(s -> s.getDefaultMessage()).collect(Collectors.joining(";")); |
| | | return Result.fail(message); |
| | | } |
| | | |
| | | /** å
¶ä»é误 */ |
| | | /** |
| | | * å
¶ä»é误 |
| | | */ |
| | | @ExceptionHandler({Exception.class}) |
| | | public Result<?> exception(Exception e) { |
| | | e.printStackTrace(); |
| | | response.setStatus(500); |
| | | return Result.fail("ç½ç»è¿æ¥å¤±è´¥ï¼è¯·éåºååè¯"); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mybatis_config; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * èªå®ä¹æ·»å mybatis-plusæ¹éæ·»å |
| | | * @param <T> |
| | | */ |
| | | public interface MyBaseMapper <T> extends BaseMapper<T> { |
| | | |
| | | int insertBatchSomeColumn(List<T> entityList); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mybatis_config; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.DbType; |
| | | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | |
| | | @Configuration |
| | | public class MyBatisPlusConfig { |
| | | |
| | | // ä¹è§éæä»¶ |
| | | @Bean |
| | | public OptimisticLockerInterceptor optimisticLockerInterceptor() { |
| | | return new OptimisticLockerInterceptor(); |
| | | } |
| | | |
| | | /** |
| | | * å¼å¯æ¹éæ·»å |
| | | * @return |
| | | */ |
| | | @Bean |
| | | public MySqlInjector sqlInjector() { |
| | | return new MySqlInjector(); |
| | | } |
| | | |
| | | /** |
| | | * éè¦é
ç½®æ¦æªå¨ï¼ä¸ç¶å¨AddDeviceä¸çtotalæ æ³è·åå° |
| | | * @return |
| | | */ |
| | | @Bean |
| | | public MybatisPlusInterceptor mybatisPlusInterceptor(){ |
| | | MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); |
| | | interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); |
| | | return interceptor; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mybatis_config; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); // èµ·å§çæ¬ 3.3.0(æ¨è使ç¨) |
| | | this.strictInsertFill(metaObject, "updateTime", Date.class, new Date()); // èµ·å§çæ¬ 3.3.0(æ¨è使ç¨) |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // updateçæ¶å使ç¨ï¼æ´æ°çæ¶å强å¶è¿è¡å¡«å
|
| | | this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date()); // èµ·å§çæ¬ 3.3.0(æ¨è) |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mybatis_config; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.core.injector.AbstractMethod; |
| | | import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; |
| | | import com.baomidou.mybatisplus.core.metadata.TableInfo; |
| | | import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ¹éæ·»å |
| | | */ |
| | | public class MySqlInjector extends DefaultSqlInjector { |
| | | |
| | | @Override |
| | | public List<AbstractMethod> getMethodList(Class<?> mapperClass) { |
| | | List<AbstractMethod> methodList = super.getMethodList(mapperClass); |
| | | //å¢å èªå®ä¹æ¹æ³ï¼å段注解ä¸ä¸çäºFieldFill.DEFAULTçåæ®µæä¼æå
¥ |
| | | methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.DEFAULT)); |
| | | return methodList; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.utils; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.tomcat.util.http.fileupload.IOUtils; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.FileOutputStream; |
| | | import java.io.IOException; |
| | | |
| | | /** |
| | | * ä¿åæä»¶å·¥å
· |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class FileSaveUtil { |
| | | |
| | | // åymlä¸çè·¯å¾ + / |
| | | // @Value("${file.path}") |
| | | private String FILE_PATH; |
| | | |
| | | /** |
| | | * å卿件䏻彿° |
| | | * @param content æä»¶äºè¿å¶æµ |
| | | * @param originalFilename æä»¶åç§° |
| | | * @return è¿åæä»¶åç§°ç¨äºå卿°æ®åº |
| | | */ |
| | | public String StoreFile(byte[] content, String originalFilename) { |
| | | // çæéæºåç§°ï¼æ¶é´_éæº6使°å |
| | | String FileName = System.currentTimeMillis() + "_" + MyUtil.getNumber(6); |
| | | String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); |
| | | // åç§°æ¼æ¥ |
| | | String fileName = FileName + suffix; |
| | | // è¿è¡åå¨ |
| | | storeFileWithFileName(content, fileName); |
| | | return fileName; |
| | | } |
| | | |
| | | /** |
| | | * å卿件彿° |
| | | * @param content æä»¶äºè¿å¶æµ |
| | | * @param fileName æä»¶åç§° |
| | | */ |
| | | private void storeFileWithFileName(byte[] content, String fileName) { |
| | | // åå¨è·¯å¾ |
| | | String path = FILE_PATH + java.io.File.separatorChar; |
| | | // ç®å½ä¸åå¨åå建 |
| | | java.io.File file = new java.io.File(path); |
| | | if (!file.exists()) { |
| | | file.mkdirs(); |
| | | } |
| | | // å¼å§åå¨ |
| | | try (FileOutputStream os = new FileOutputStream(path + fileName); |
| | | ByteArrayInputStream is = new ByteArrayInputStream(content)) { |
| | | IOUtils.copy(is, os); |
| | | } catch (IOException e) { |
| | | MyUtil.PrintLog("å卿件å¼å¸¸ï¼" + e); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.utils; |
| | | |
| | | import com.fasterxml.jackson.core.JsonGenerationException; |
| | | import com.fasterxml.jackson.core.JsonParseException; |
| | | import com.fasterxml.jackson.databind.JsonMappingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.ObjectWriter; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | |
| | | /** |
| | | * JSONè§£æå¤ç |
| | | * |
| | | * @author å¼ å®¾ |
| | | */ |
| | | @Component |
| | | public class JackSonUtil { |
| | | private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); |
| | | private static final ObjectWriter OBJECT_WRITER = OBJECT_MAPPER.writerWithDefaultPrettyPrinter(); |
| | | |
| | | public static void marshal(File file, Object value) throws Exception { |
| | | try { |
| | | OBJECT_WRITER.writeValue(file, value); |
| | | } catch (JsonGenerationException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static void marshal(OutputStream os, Object value) throws Exception { |
| | | try { |
| | | OBJECT_WRITER.writeValue(os, value); |
| | | } catch (JsonGenerationException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static String marshal(Object value) throws Exception { |
| | | try { |
| | | return OBJECT_WRITER.writeValueAsString(value); |
| | | } catch (JsonGenerationException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static byte[] marshalBytes(Object value) throws Exception { |
| | | try { |
| | | return OBJECT_WRITER.writeValueAsBytes(value); |
| | | } catch (JsonGenerationException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static <T> T unmarshal(File file, Class<T> valueType) throws Exception { |
| | | try { |
| | | return OBJECT_MAPPER.readValue(file, valueType); |
| | | } catch (JsonParseException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static <T> T unmarshal(InputStream is, Class<T> valueType) throws Exception { |
| | | try { |
| | | return OBJECT_MAPPER.readValue(is, valueType); |
| | | } catch (JsonParseException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å符串转对象 |
| | | * @param str |
| | | * @param valueType |
| | | * @return |
| | | * @param <T> |
| | | * @throws Exception |
| | | */ |
| | | public static <T> T unmarshal(String str, Class<T> valueType) throws Exception { |
| | | try { |
| | | return OBJECT_MAPPER.readValue(str, valueType); |
| | | } catch (JsonParseException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | |
| | | public static <T> T unmarshal(byte[] bytes, Class<T> valueType) throws Exception { |
| | | try { |
| | | if (bytes == null) { |
| | | bytes = new byte[0]; |
| | | } |
| | | return OBJECT_MAPPER.readValue(bytes, 0, bytes.length, valueType); |
| | | } catch (JsonParseException e) { |
| | | throw new Exception(e); |
| | | } catch (JsonMappingException e) { |
| | | throw new Exception(e); |
| | | } catch (IOException e) { |
| | | throw new Exception(e); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.utils; |
| | | |
| | | import com.auth0.jwt.JWT; |
| | | import com.auth0.jwt.JWTVerifier; |
| | | import com.auth0.jwt.algorithms.Algorithm; |
| | | import com.auth0.jwt.interfaces.DecodedJWT; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | @Component |
| | | public class Jwt { |
| | | private final String SECRET = "value"; |
| | | |
| | | public String createJwt(String name,int id, int time) { |
| | | HashMap<String, Object> headers = new HashMap<>(); |
| | | Calendar expires = Calendar.getInstance(); |
| | | expires.add(Calendar.MINUTE, time); |
| | | String jwtToken = JWT.create() |
| | | // 第ä¸é¨åHeader |
| | | .withHeader(headers) |
| | | // 第äºé¨åPayload |
| | | .withClaim("name", name) |
| | | .withClaim("id", id) |
| | | .withExpiresAt(expires.getTime()) |
| | | // 第ä¸é¨åSignature |
| | | .sign(Algorithm.HMAC256(SECRET)); |
| | | return jwtToken; |
| | | } |
| | | |
| | | public Map<String, String> readJWT(String token) { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("state", "0"); |
| | | map.put("info", "æ£å¸¸"); |
| | | map.put("data", null); |
| | | // å建ä¸ä¸ªéªè¯ç对象 |
| | | JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(SECRET)).build(); |
| | | DecodedJWT verify; |
| | | try { |
| | | verify = jwtVerifier.verify(token); |
| | | Map<String, String> maps = new HashMap<>(); |
| | | maps.put("id",verify.getClaim("id").toString()); |
| | | maps.put("name",verify.getClaim("name").toString()); |
| | | map.put("data", JackSonUtil.marshal(maps)); |
| | | } catch (Exception e) { |
| | | String info = ("" + e).contains("expired") ? "å·²è¿æ" : "æ æç¾å"; |
| | | String state = ("" + e).contains("expired") ? "1" : "2"; |
| | | map.put("state", "1"); |
| | | map.put("info", info); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.utils; |
| | | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Random; |
| | | |
| | | @Component |
| | | public class MyUtil<T> { |
| | | |
| | | /** |
| | | * èªå®ä¹è°è¯å·¥å
·ç±» |
| | | * @return |
| | | */ |
| | | public static void PrintLog(String str){ |
| | | // ç±»å |
| | | String className = Thread.currentThread().getStackTrace()[2].getClassName(); |
| | | // 彿°å |
| | | String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); |
| | | System.out.println("\033[1;94m" + className + "-->" + methodName + "-->" + str + "\033[0m"); |
| | | } |
| | | |
| | | /** |
| | | * æ¥æå·¥å
·ç±» |
| | | * @return |
| | | */ |
| | | public static String MyDateFormat(){ |
| | | //è·åæ¥æ |
| | | //导 import java.util.Date; ä¸çå
|
| | | Date date = new Date(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | return sdf.format(date); |
| | | } |
| | | |
| | | /** |
| | | * è·åéæºå å¯ç |
| | | * @param n 使° |
| | | * @return è¿åéæºå å¯ç |
| | | */ |
| | | public static String getSalt(int n) { |
| | | char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890!@#$%^&*()+-=/[];~.".toCharArray(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < n; i++) { |
| | | char c = chars[new Random().nextInt(chars.length)]; |
| | | sb.append(c); |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | |
| | | /** |
| | | * è·åéæºæ°å |
| | | * @param n 使° |
| | | * @return è¿åéæºå¼ |
| | | */ |
| | | public static String getNumber(int n) { |
| | | char[] chars = "1234567890".toCharArray(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < n; i++) { |
| | | char c = chars[new Random().nextInt(chars.length)]; |
| | | sb.append(c); |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.utils; |
| | | |
| | | 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.jsontype.impl.LaissezFaireSubTypeValidator; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | 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.StringRedisSerializer; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | @Component |
| | | public class RedisUtil { |
| | | private static RedisTemplate<String, Object> redisTemplate; |
| | | public static RedisTemplate<String, Object> getRedisTemplate() { |
| | | return redisTemplate; |
| | | } |
| | | @Autowired |
| | | private RedisUtil(RedisConnectionFactory redisConnectionFactory){ |
| | | // redisTemplate模æ¿åå§å |
| | | redisTemplate = new RedisTemplate<>(); |
| | | redisTemplate.setConnectionFactory(redisConnectionFactory); |
| | | |
| | | // å°å¯¹è±¡åºåå |
| | | ObjectMapper om=new ObjectMapper(); |
| | | om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); |
| | | om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, |
| | | ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); |
| | | |
| | | // Stringçåºåå |
| | | StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); |
| | | // jsonåºååé
ç½® |
| | | Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer=new Jackson2JsonRedisSerializer<>(Object.class); |
| | | jackson2JsonRedisSerializer.setObjectMapper(om); |
| | | //keyéç¨Stringçåºååæ¹å¼ |
| | | redisTemplate.setKeySerializer(stringRedisSerializer); |
| | | //hashçkeyä¹éç¨String çåºååæ¹å¼ |
| | | redisTemplate.setHashKeySerializer(stringRedisSerializer); |
| | | //valueçåºååæ¹å¼éç¨jacksonçæ¹å¼ |
| | | redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); |
| | | // //hashçvalueåºååæ¹å¼éç¨jackson |
| | | redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); |
| | | redisTemplate.afterPropertiesSet(); |
| | | } |
| | | |
| | | // =============================common============================ |
| | | /** |
| | | * æå®ç¼åå¤±ææ¶é´ |
| | | * @param key é® |
| | | * @param time æ¶é´(ç§) |
| | | */ |
| | | public static boolean expire(String key, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.expire(key, time, TimeUnit.SECONDS); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®key è·åè¿ææ¶é´ |
| | | * @param key é® ä¸è½ä¸ºnull |
| | | * @return æ¶é´(ç§) è¿å0代表为永ä¹
ææ |
| | | */ |
| | | public static long getExpire(String key) { |
| | | return redisTemplate.getExpire(key, TimeUnit.SECONDS); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 夿keyæ¯å¦åå¨ |
| | | * @param key é® |
| | | * @return true åå¨ falseä¸åå¨ |
| | | */ |
| | | public static boolean hasKey(String key) { |
| | | try { |
| | | return redisTemplate.hasKey(key); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å é¤ç¼å |
| | | * @param key å¯ä»¥ä¼ ä¸ä¸ªå¼ æå¤ä¸ª |
| | | */ |
| | | // @SuppressWarnings("unchecked") |
| | | public static void del(String... key) { |
| | | if (key != null && key.length > 0) { |
| | | if (key.length == 1) { |
| | | redisTemplate.delete(key[0]); |
| | | } else { |
| | | redisTemplate.delete(Arrays.asList(key)); |
| | | // redisTemplate.delete(CollectionUtils.arrayToList(key)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åå¹¶å é¤ç¼å |
| | | * @param key é® |
| | | * @return å¼ |
| | | */ |
| | | public static Object getAndDelete(String key) { |
| | | try{ |
| | | return key == null ? null : get(key); |
| | | }finally { |
| | | del(key); |
| | | } |
| | | } |
| | | |
| | | // ============================String============================= |
| | | |
| | | /** |
| | | * æ®éç¼åè·å |
| | | * @param key é® |
| | | * @return å¼ |
| | | */ |
| | | public static Object get(String key) { |
| | | return key == null ? null : redisTemplate.opsForValue().get(key); |
| | | } |
| | | |
| | | /** |
| | | * æ®éç¼åæ¾å
¥ |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @return trueæå false失败 |
| | | */ |
| | | |
| | | public static boolean set(String key, Object value) { |
| | | try { |
| | | redisTemplate.opsForValue().set(key, value); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ®éç¼åæ¾å
¥å¹¶è®¾ç½®æ¶é´ |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @param time æ¶é´(ç§) timeè¦å¤§äº0 妿timeå°äºçäº0 å°è®¾ç½®æ éæ |
| | | * @return trueæå false 失败 |
| | | */ |
| | | |
| | | public static boolean set(String key, Object value, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.opsForValue().set(key, value, time, TimeUnit.MINUTES); |
| | | } else { |
| | | // åªä¿®æ¹åæ°ä¸ä¿®æ¹ttl |
| | | redisTemplate.opsForValue().set(key, value, 0); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éå¢ |
| | | * @param key é® |
| | | * @param delta è¦å¢å å (大äº0) |
| | | */ |
| | | public static long incr(String key, long delta) { |
| | | if (delta < 0) { |
| | | throw new RuntimeException("éå¢å åå¿
须大äº0"); |
| | | } |
| | | return redisTemplate.opsForValue().increment(key, delta); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éå |
| | | * @param key é® |
| | | * @param delta è¦åå°å (å°äº0) |
| | | */ |
| | | public static long decr(String key, long delta) { |
| | | if (delta < 0) { |
| | | throw new RuntimeException("éåå åå¿
须大äº0"); |
| | | } |
| | | return redisTemplate.opsForValue().increment(key, -delta); |
| | | } |
| | | |
| | | |
| | | // ================================Map================================= |
| | | |
| | | /** |
| | | * HashGet |
| | | * @param key é® ä¸è½ä¸ºnull |
| | | * @param item 项 ä¸è½ä¸ºnull |
| | | */ |
| | | public static Object hget(String key, String item) { |
| | | return redisTemplate.opsForHash().get(key, item); |
| | | } |
| | | |
| | | /** |
| | | * è·åhashKey对åºçææé®å¼ |
| | | * @param key é® |
| | | * @return 对åºçå¤ä¸ªé®å¼ |
| | | */ |
| | | public static Map<Object, Object> hmget(String key) { |
| | | return redisTemplate.opsForHash().entries(key); |
| | | } |
| | | |
| | | /** |
| | | * HashSet |
| | | * @param key é® |
| | | * @param map 对åºå¤ä¸ªé®å¼ |
| | | */ |
| | | public static boolean hmset(String key, Map<String, Object> map) { |
| | | try { |
| | | redisTemplate.opsForHash().putAll(key, map); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * HashSet 并设置æ¶é´ |
| | | * @param key é® |
| | | * @param map 对åºå¤ä¸ªé®å¼ |
| | | * @param time æ¶é´(ç§) |
| | | * @return trueæå false失败 |
| | | */ |
| | | public static boolean hmset(String key, Map<String, Object> map, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.opsForHash().putAll(key, map); |
| | | expire(key, time); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * åä¸å¼ hashè¡¨ä¸æ¾å
¥æ°æ®,妿ä¸åå¨å°å建 |
| | | * |
| | | * @param key é® |
| | | * @param item 项 |
| | | * @param value å¼ |
| | | * @return true æå false失败 |
| | | */ |
| | | public static boolean hset(String key, String item, Object value) { |
| | | try { |
| | | redisTemplate.opsForHash().put(key, item, value); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åä¸å¼ hashè¡¨ä¸æ¾å
¥æ°æ®,妿ä¸åå¨å°å建 |
| | | * |
| | | * @param key é® |
| | | * @param item 项 |
| | | * @param value å¼ |
| | | * @param time æ¶é´(ç§) 注æ:妿已åå¨çhashè¡¨ææ¶é´,è¿éå°ä¼æ¿æ¢åæçæ¶é´ |
| | | * @return true æå false失败 |
| | | */ |
| | | public static boolean hset(String key, String item, Object value, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.opsForHash().put(key, item, value); |
| | | expire(key, time); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å é¤hash表ä¸çå¼ |
| | | * |
| | | * @param key é® ä¸è½ä¸ºnull |
| | | * @param item 项 å¯ä»¥ä½¿å¤ä¸ª ä¸è½ä¸ºnull |
| | | */ |
| | | public static void hdel(String key, Object... item) { |
| | | redisTemplate.opsForHash().delete(key, item); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 夿hashè¡¨ä¸æ¯å¦æè¯¥é¡¹çå¼ |
| | | * |
| | | * @param key é® ä¸è½ä¸ºnull |
| | | * @param item 项 ä¸è½ä¸ºnull |
| | | * @return true åå¨ falseä¸åå¨ |
| | | */ |
| | | public static boolean hHasKey(String key, String item) { |
| | | return redisTemplate.opsForHash().hasKey(key, item); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * hashéå¢ å¦æä¸åå¨,å°±ä¼å建ä¸ä¸ª å¹¶ææ°å¢åçå¼è¿å |
| | | * |
| | | * @param key é® |
| | | * @param item 项 |
| | | * @param by è¦å¢å å (大äº0) |
| | | */ |
| | | public static double hincr(String key, String item, double by) { |
| | | return redisTemplate.opsForHash().increment(key, item, by); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * hashéå |
| | | * |
| | | * @param key é® |
| | | * @param item 项 |
| | | * @param by è¦åå°è®°(å°äº0) |
| | | */ |
| | | public static double hdecr(String key, String item, double by) { |
| | | return redisTemplate.opsForHash().increment(key, item, -by); |
| | | } |
| | | |
| | | |
| | | // ============================set============================= |
| | | |
| | | /** |
| | | * æ ¹æ®keyè·åSetä¸çææå¼ |
| | | * @param key é® |
| | | */ |
| | | public static Set<Object> sGet(String key) { |
| | | try { |
| | | return redisTemplate.opsForSet().members(key); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®valueä»ä¸ä¸ªset䏿¥è¯¢,æ¯å¦åå¨ |
| | | * |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @return true åå¨ falseä¸åå¨ |
| | | */ |
| | | public static boolean sHasKey(String key, Object value) { |
| | | try { |
| | | return redisTemplate.opsForSet().isMember(key, value); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°æ°æ®æ¾å
¥setç¼å |
| | | * |
| | | * @param key é® |
| | | * @param values å¼ å¯ä»¥æ¯å¤ä¸ª |
| | | * @return æåä¸ªæ° |
| | | */ |
| | | public static long sSet(String key, Object... values) { |
| | | try { |
| | | return redisTemplate.opsForSet().add(key, values); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°setæ°æ®æ¾å
¥ç¼å |
| | | * |
| | | * @param key é® |
| | | * @param time æ¶é´(ç§) |
| | | * @param values å¼ å¯ä»¥æ¯å¤ä¸ª |
| | | * @return æåä¸ªæ° |
| | | */ |
| | | public static long sSetAndTime(String key, long time, Object... values) { |
| | | try { |
| | | Long count = (long)values.length; |
| | | if (time > 0) { |
| | | count = redisTemplate.opsForSet().add(key, values); |
| | | expire(key, time); |
| | | } |
| | | return count; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åsetç¼åçé¿åº¦ |
| | | * |
| | | * @param key é® |
| | | */ |
| | | public static long sGetSetSize(String key) { |
| | | try { |
| | | return redisTemplate.opsForSet().size(key); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ç§»é¤å¼ä¸ºvalueç |
| | | * |
| | | * @param key é® |
| | | * @param values å¼ å¯ä»¥æ¯å¤ä¸ª |
| | | * @return ç§»é¤çä¸ªæ° |
| | | */ |
| | | |
| | | public static long setRemove(String key, Object... values) { |
| | | try { |
| | | return redisTemplate.opsForSet().remove(key, values); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | // ===============================list================================= |
| | | |
| | | /** |
| | | * è·ålistç¼åçå
容 |
| | | * |
| | | * @param key é® |
| | | * @param start å¼å§ |
| | | * @param end ç»æ 0 å° -1代表ææå¼ |
| | | */ |
| | | public static List<Object> lGet(String key, long start, long end) { |
| | | try { |
| | | return redisTemplate.opsForList().range(key, start, end); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·ålistç¼åçé¿åº¦ |
| | | * |
| | | * @param key é® |
| | | */ |
| | | public static long lGetListSize(String key) { |
| | | try { |
| | | return redisTemplate.opsForList().size(key); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éè¿ç´¢å¼ è·ålistä¸çå¼ |
| | | * |
| | | * @param key é® |
| | | * @param index ç´¢å¼ index>=0æ¶ï¼ 0 表头ï¼1 第äºä¸ªå
ç´ ï¼ä¾æ¬¡ç±»æ¨ï¼index<0æ¶ï¼-1ï¼è¡¨å°¾ï¼-2åæ°ç¬¬äºä¸ªå
ç´ ï¼ä¾æ¬¡ç±»æ¨ |
| | | */ |
| | | public static Object lGetIndex(String key, long index) { |
| | | try { |
| | | return redisTemplate.opsForList().index(key, index); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°listæ¾å
¥ç¼å |
| | | * |
| | | * @param key é® |
| | | * @param value å¼ |
| | | */ |
| | | public static boolean lSet(String key, Object value) { |
| | | try { |
| | | redisTemplate.opsForList().rightPush(key, value); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°listæ¾å
¥ç¼å |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @param time æ¶é´(ç§) |
| | | */ |
| | | public static boolean lSet(String key, Object value, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.opsForList().rightPush(key, value); |
| | | expire(key, time); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°listæ¾å
¥ç¼å |
| | | * |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @return true åæ¾æå falseåæ¾å¤±è´¥ |
| | | */ |
| | | public static boolean lSet(String key, List<Object> value) { |
| | | try { |
| | | redisTemplate.opsForList().rightPushAll(key, value); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å°listæ¾å
¥ç¼å |
| | | * |
| | | * @param key é® |
| | | * @param value å¼ |
| | | * @param time æ¶é´(ç§) |
| | | * @return true åæ¾æå falseåæ¾å¤±è´¥ |
| | | */ |
| | | public static boolean lSet(String key, List<Object> value, long time) { |
| | | try { |
| | | if (time > 0) { |
| | | redisTemplate.opsForList().rightPushAll(key, value); |
| | | expire(key, time); |
| | | } |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®ç´¢å¼ä¿®æ¹listä¸çææ¡æ°æ® |
| | | * |
| | | * @param key é® |
| | | * @param index ç´¢å¼ |
| | | * @param value å¼ |
| | | * @return true åæ¾æå falseåæ¾å¤±è´¥ |
| | | */ |
| | | |
| | | public static boolean lUpdateIndex(String key, long index, Object value) { |
| | | try { |
| | | redisTemplate.opsForList().set(key, index, value); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ç§»é¤N个å¼ä¸ºvalue |
| | | * |
| | | * @param key é® |
| | | * @param count ç§»é¤å¤å°ä¸ª |
| | | * @param value å¼ |
| | | * @return ç§»é¤çä¸ªæ° |
| | | */ |
| | | |
| | | public static long lRemove(String key, long count, Object value) { |
| | | try { |
| | | return redisTemplate.opsForList().remove(key, count, value); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | public class Result<T> { |
| | | |
| | | @ApiModelProperty(value = "ååºç ï¼200æåï¼201失败") |
| | | private int code; |
| | | |
| | | @ApiModelProperty(value = "ååºæ¶æ¯") |
| | | private String message; |
| | | |
| | | @ApiModelProperty(value = "ååºåæ°") |
| | | private T data; |
| | | |
| | | public static <T> Result<T> success(){ |
| | | return new Result<>(200, "success",null); |
| | | } |
| | | |
| | | public static <T> Result<T> success(String message){ |
| | | return new Result<>(200, message,null); |
| | | } |
| | | |
| | | public static <T> Result<T> success(T data){ |
| | | return new Result<>(200, "success",data); |
| | | } |
| | | |
| | | public static <T> Result<T> success(String message, T data){ |
| | | return new Result<>(200, message,data); |
| | | } |
| | | |
| | | public static <T> Result<T> fail(){ |
| | | return new Result<>(201, "fail", null); |
| | | } |
| | | |
| | | public static <T> Result<T> fail(String message){ |
| | | return new Result<>(201, message, null); |
| | | } |
| | | |
| | | public static <T> Result<T> fail(Integer code){ |
| | | return new Result<>(code, "fail", null); |
| | | } |
| | | |
| | | public static <T> Result<T> fail(Integer code, String message){ |
| | | return new Result<>(code, message, null); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | HELP.md |
| | | target/ |
| | | !.mvn/wrapper/maven-wrapper.jar |
| | | !**/src/main/**/target/ |
| | | !**/src/test/**/target/ |
| | | |
| | | ### STS ### |
| | | .apt_generated |
| | | .classpath |
| | | .factorypath |
| | | .project |
| | | .settings |
| | | .springBeans |
| | | .sts4-cache |
| | | |
| | | ### IntelliJ IDEA ### |
| | | .idea |
| | | *.iws |
| | | *.iml |
| | | *.ipr |
| | | |
| | | ### NetBeans ### |
| | | /nbproject/private/ |
| | | /nbbuild/ |
| | | /dist/ |
| | | /nbdist/ |
| | | /.nb-gradle/ |
| | | build/ |
| | | !**/src/main/**/build/ |
| | | !**/src/test/**/build/ |
| | | |
| | | ### VS Code ### |
| | | .vscode/ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | |
| | | <artifactId>inspect-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>inspect-server</name> |
| | | <description>inspect-server</description> |
| | | <packaging>jar</packaging> |
| | | |
| | | <dependencies> |
| | | <!--å·¥å
·æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>framework</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>user-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>standard-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.vaadin.external.google</groupId> |
| | | <artifactId>android-json</artifactId> |
| | | <version>0.0.20131108.vaadin1</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | |
| | | <!--ç¨æ·æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>user-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <!--æ 忍¡å--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>standard-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.FinishedInspect; |
| | | import com.yuanchu.mom.service.*; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Api(tags = "QMS管ç-->æåæ£éª") |
| | | @RestController |
| | | @RequestMapping("/finished-inspect") |
| | | public class FinishedInspectController { |
| | | |
| | | @Autowired |
| | | private FinishedInspectService finishedInspectService; |
| | | |
| | | @Autowired |
| | | private UserService userService; |
| | | |
| | | @Autowired |
| | | private SpecificationsService specificationsService; |
| | | |
| | | @Autowired |
| | | private MaterialService materialService; |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->1ãæ°å¢è¿ç¨æ£éªå") |
| | | @PostMapping("/add_process_inspection_sheet") |
| | | public Result<?> addProcessInspectionSheet(@Validated @RequestBody FinishedInspect finishedInspect){ |
| | | Integer isInsertSuccess = finishedInspectService.addProcessInspectionSheet(finishedInspect); |
| | | if (isInsertSuccess == 1){ |
| | | return Result.success("æ°å¢æåï¼"); |
| | | } |
| | | return Result.fail("æ°å¢å¤±è´¥ï¼"); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->1ãæ°å¢è¿ç¨æ£éªå-->主æºå·¥ä¸ææ¡") |
| | | @GetMapping("/list_user") |
| | | public Result<?> selectUserIdAndName(){ |
| | | List<Map<String, Object>> maps = userService.listUserIdAndName(); |
| | | return Result.success(maps); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->1ãæ°å¢è¿ç¨æ£éªå-->2ãè§æ ¼åå·ä¸ææ¡ï¼æ ¹æ®é¡¹ç®IDæ¥è¯¢") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "materialId",value = "项ç®åç§°ID",dataTypeClass = Integer.class,required = true) |
| | | }) |
| | | @GetMapping("/list_specification") |
| | | public Result<?> selectSpecificationIdAndName(Integer materialId){ |
| | | List<Map<String, Object>> maps = specificationsService.selectSpecificationIdAndName(materialId); |
| | | return Result.success(maps); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->1ãæ°å¢è¿ç¨æ£éªå-->1ã项ç®åç§°ä¸ææ¡") |
| | | @GetMapping("/list_material") |
| | | public Result<?> selectMaterialIdAndNameAndCode(){ |
| | | List<Map<String, Object>> maps = materialService.selectMaterialIdAndNameAndCode(); |
| | | return Result.success(maps); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->3ãæ£éªç»è®º") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "finishedInspectId",value = "æ£éªåId",dataTypeClass = Integer.class,required = true), |
| | | @ApiImplicitParam(name = "result",value = "æ£éªç»è®º",dataTypeClass = Integer.class,required = true), |
| | | }) |
| | | @PostMapping("/inspection_conclusion") |
| | | public Result<?> inspectionConclusion(Integer finishedInspectId, Integer result){ |
| | | Integer isInsertSuccess = finishedInspectService.inspectionConclusion(finishedInspectId, result); |
| | | if (isInsertSuccess == 1){ |
| | | return Result.success("䏿¥æåï¼"); |
| | | } |
| | | return Result.fail("䏿¥å¤±è´¥ï¼"); |
| | | } |
| | | |
| | | @ApiOperation(value = "4ã主页å页") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "pageNo", value = "æ¡æ°/页", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "pageSize", value = "页æ°", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "inspectResult", value = "æ£éªç»æ", dataTypeClass = Integer.class), |
| | | @ApiImplicitParam(name = "inspectDate", value = "æ£éªæ¥æ", dataTypeClass = Date.class, dataType = "date"), |
| | | @ApiImplicitParam(name = "inspectUsername", value = "主æºå·¥", dataTypeClass = String.class) |
| | | }) |
| | | @GetMapping("/list_page") |
| | | public Result<?> selectFinishedInspectPage(Integer pageNo, Integer pageSize, Integer inspectResult, String inspectDate, String inspectUsername){ |
| | | IPage<Map<String, Object>> page = finishedInspectService.selectFinishedInspectPage(new Page<Object>(pageNo, pageSize), inspectResult, inspectDate, inspectUsername); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("total", page.getTotal()); |
| | | map.put("row", page.getRecords()); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @ApiOperation(value = "4ã主页å页-->主æºå·¥æ¡ä»¶æ¥è¯¢ä¸ææ¡") |
| | | @GetMapping("/page_user") |
| | | public Result<?> selectPageUserIdAndName(){ |
| | | List<Map<String, Object>> maps = userService.listUserIdAndName(); |
| | | return Result.success(maps); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.yuanchu.mom.service.InspectUnacceptedService; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä¸åæ ¼åæ£éªè¡¨(InspectUnaccepted)表æ§å¶å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 10:04:01 |
| | | */ |
| | | @Api(tags = "QMS管ç-->ä¸åæ ¼å") |
| | | @RestController |
| | | @RequestMapping("/inspectUnaccepted") |
| | | public class InspectUnacceptedController { |
| | | |
| | | @Autowired |
| | | private InspectUnacceptedService inspectUnacceptedService; |
| | | |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢åææä¸åæ ¼åæ£éªåå表") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "pageSize",value = "页æ°",dataTypeClass = Integer.class,required = true), |
| | | @ApiImplicitParam(name = "countSize",value = "æ¡æ°/页",dataTypeClass = Integer.class,required = true), |
| | | @ApiImplicitParam(name = "formTime",value = "æ¥ææ¥æ",dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "dealState",value = "å¤çç¶æ(为空=å
¨é¨)",dataTypeClass = Integer.class), |
| | | @ApiImplicitParam(name = "supplier",value = "ä¾åºå(为空=å
¨é¨)",dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "type",value = "ç±»å(为空=åææ2)",dataTypeClass = Integer.class) |
| | | }) |
| | | @GetMapping("/selectUnRawInspectsList") |
| | | public Result selectUnRawInspectsList(int pageSize, int countSize, String formTime, Integer dealState,String supplier,Integer type){ |
| | | IPage<Map<String, Object>> inspectionPage = inspectUnacceptedService.selectUnRawInspectsList(new Page<Object>(pageSize, countSize), formTime,dealState,supplier,type); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("total", inspectionPage.getTotal()); |
| | | map.put("row", inspectionPage.getRecords()); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.pojo.dto.InspectionItemDto; |
| | | import com.yuanchu.mom.pojo.dto.UpdateInspectionItemDto; |
| | | import com.yuanchu.mom.service.InspectionItemService; |
| | | import com.yuanchu.mom.utils.JackSonUtil; |
| | | import com.yuanchu.mom.utils.Jwt; |
| | | |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Api(tags = "QMS管ç-->æåæ£éª") |
| | | @RestController |
| | | @RequestMapping("/inspection-item") |
| | | public class InspectionItemController { |
| | | |
| | | @Autowired |
| | | private InspectionItemService inspectionItemService; |
| | | |
| | | @Autowired |
| | | private Jwt jwt; |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->2ãæ¥è¯¢æææ£éªé¡¹ç®") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "finishInspectId",value = "æåæ£éªåId",dataTypeClass = Integer.class,required = true) |
| | | }) |
| | | @GetMapping("/list_user") |
| | | public Result<?> selectInspectionItem(Integer finishInspectId){ |
| | | List<InspectionItemDto> inspectionItemDto = inspectionItemService.selectInspectionItem(finishInspectId); |
| | | return Result.success(inspectionItemDto); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->2ãæ£éªé¡¹ç®-->失å»ç¦ç¹å起该请æ±") |
| | | @PostMapping("/lose_focus_update") |
| | | public Result<?> addInspectionItem(@RequestHeader("token")String token, @RequestBody UpdateInspectionItemDto updateInspectionItemDto) throws Exception { |
| | | Map<String, String> usernameMessage = jwt.readJWT(token); |
| | | Map<String, Object> usernameAndId = JackSonUtil.unmarshal(usernameMessage.get("data"), Map.class); |
| | | String name = usernameAndId.get("name").toString().replaceAll("\"", ""); |
| | | Integer isInsertSuccess = inspectionItemService.addProcessInspectionSheet(name, updateInspectionItemDto); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("result", isInsertSuccess); |
| | | map.put("username", name); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ°å¢æé®-->2ãæ£éªé¡¹ç®-->è¯éªè®¾å¤ä¸ææ¡") |
| | | @GetMapping("/list_device") |
| | | public Result<?> selectDeviceIdAndName(){ |
| | | List<Map<String, Object>> maps = inspectionItemService.selectDeviceIdAndName(); |
| | | return Result.success(maps); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.pojo.RawInsProduct; |
| | | import com.yuanchu.mom.service.DeviceService; |
| | | import com.yuanchu.mom.utils.Jwt; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.json.JSONObject; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.yuanchu.mom.service.RawInsProductService; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åææç³è¯·åä¸ç项ç®å表(RawInsProduct)表æ§å¶å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-01 13:52:30 |
| | | */ |
| | | @Api(tags = "QMS管ç-->åæææ£éª-->æ£éªé¡¹ç®") |
| | | @RestController |
| | | @RequestMapping("/rawInsProduct") |
| | | public class RawInsProductController { |
| | | |
| | | @Autowired |
| | | private RawInsProductService rawInsProductService; |
| | | |
| | | @Resource |
| | | DeviceService deviceService; |
| | | |
| | | @Resource |
| | | Jwt jwt; |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ææè®¾å¤") |
| | | @GetMapping("/selectDevice") |
| | | public Result selectDevice() { |
| | | return Result.success(deviceService.selectDevice()); |
| | | } |
| | | |
| | | @ApiOperation("éæ©è®¾å¤ä¿¡æ¯") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "id", value = "设å¤ID", dataTypeClass = Integer.class, required = true), |
| | | }) |
| | | @GetMapping("/selectDeviceById") |
| | | public Result selectDeviceById(Integer id) { |
| | | return Result.success( deviceService.getDeviceNameById(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "æ´æ°æ£éªé¡¹ç®") |
| | | @PostMapping("/updaterawInsProduct") |
| | | public Result updaterawInsProduct(@RequestHeader("token") String token, @RequestBody RawInsProduct rawInsProduct) throws Exception { |
| | | Map<String, String> map = jwt.readJWT(token); |
| | | String data = map.get("data"); |
| | | JSONObject jsonObject = new JSONObject(data); |
| | | int userId = Integer.parseInt(jsonObject.getString("id")); |
| | | rawInsProductService.updaterawInsProduct(userId,rawInsProduct); |
| | | return Result.success(); |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.yuanchu.mom.pojo.RawInspect; |
| | | import com.yuanchu.mom.pojo.vo.RawInsProductVo; |
| | | import com.yuanchu.mom.pojo.vo.RawInspectVo; |
| | | import com.yuanchu.mom.service.*; |
| | | import com.yuanchu.mom.utils.Jwt; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.*; |
| | | import org.json.JSONException; |
| | | import org.json.JSONObject; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | @RestController |
| | | @RequestMapping("/rawInspect") |
| | | @Api(tags = "QMS管ç-->åæææ£éª") |
| | | public class RawInspectController { |
| | | |
| | | @Autowired |
| | | RawInspectService rawInspectService; |
| | | |
| | | @Resource |
| | | Jwt jwt; |
| | | |
| | | @Resource |
| | | MaterialService materialService; |
| | | |
| | | @Resource |
| | | SpecificationsService specificationsService; |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢åæææ£éªåå表") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "pageSize", value = "页æ°", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "countSize", value = "æ¡æ°/页", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "formTime", value = "æ¥ææ¥æ", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "createTime", value = "æ¥æ£æ¥æ", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "insState", value = "æ£æµç¶æ: å
¨é¨é»è®¤2", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "judgeState", value = "åæ ¼ç¶æ: å
¨é¨é»è®¤2", dataTypeClass = Integer.class, required = true), |
| | | }) |
| | | @PostMapping("/selectRawInspectsList") |
| | | public Result selectRawInspectsList(Integer pageSize, Integer countSize, String formTime, String createTime, Integer insState, Integer judgeState) { |
| | | return Result.success(rawInspectService.selectRawInspectsList(pageSize, countSize, formTime, createTime, insState, judgeState)); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ ¹æ®æ£éªåidæ¥è¯¢åæææ£éªå详æ
") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "id", value = "æ£éªåid", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @GetMapping("/selectRawInspectsListById/{id}") |
| | | public Result selectRawInspectsListById(@PathVariable Integer id) { |
| | | return Result.success(rawInspectService.selectRawInspectsListById(id)); |
| | | } |
| | | |
| | | @ApiOperation(value = "䏿¥(æ´æ°æ£éªç¶æ)") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "id", value = "æ£éªåid", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @PostMapping("/updateRawInspectsById/{id}") |
| | | public Result updateRawInspectsById(@PathVariable Integer id) { |
| | | //妿已ç»ä¸æ¥äºä¸è½å䏿¬¡ä¸æ¥ |
| | | RawInspect rawInspect = rawInspectService.getById(id); |
| | | if (rawInspect.getInsState() == 1) { |
| | | return Result.fail("å·²ç»ä¸æ¥è¿äº,ä¸è½åæ¬¡ä¸æ¥!"); |
| | | } |
| | | return Result.success(rawInspectService.updateRawInspectsById(id)); |
| | | } |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ææåææä¿¡æ¯") |
| | | @GetMapping("/selectMaterial") |
| | | public Result selectMaterial() { |
| | | return Result.success(materialService.selectMaterial()); |
| | | } |
| | | |
| | | @ApiOperation(value = "éæ©ç©æåç§°æ¥è¯¢ç©æä¿¡æ¯(ç©æidåç¼ç )") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "name", value = "åææåç§°(ç©æåç§°)", dataTypeClass = String.class, required = true) |
| | | }) |
| | | @GetMapping("/selectMcodeId") |
| | | public Result selectMcodeId(String name) { |
| | | return Result.success(materialService.selectMcodeId(name)); |
| | | } |
| | | |
| | | @ApiOperation(value = "éæ©ç©æç¼ç (è·åç©æè§æ ¼id.åç§°ååå·åç§°)") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "name", value = "åææåç§°(ç©æåç§°)", dataTypeClass = String.class, required = true), |
| | | @ApiImplicitParam(name = "code", value = "åææç¼å·(ç©æç¼å·)", dataTypeClass = String.class, required = true) |
| | | }) |
| | | @GetMapping("/selectIdByCoNa") |
| | | public Result selectIdByCoNa(String name, String code) { |
| | | return Result.success(materialService.selectIdByCoNa(name, code)); |
| | | } |
| | | |
| | | @ApiOperation(value = "éæ©ç©æè§æ ¼(æ ¹æ®è§æ ¼idè·åç©æåå·)") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "id", value = "ç©æè§æ ¼id", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @GetMapping("/selectSpBySt") |
| | | public Result selectSpBySt(Integer id) { |
| | | return Result.success(specificationsService.selectSpecificationIdAndName(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "æ°å¢æ£éªå") |
| | | @PostMapping("/addRawInspects") |
| | | public Result addRawInspects(@RequestHeader("token") String token, @RequestBody RawInspect rawInspect) throws JSONException { |
| | | Map<String, String> map = jwt.readJWT(token); |
| | | String data = map.get("data"); |
| | | JSONObject jsonObject = new JSONObject(data); |
| | | String userName = jsonObject.getString("name"); |
| | | return Result.success(rawInspectService.addRawInspects(userName, rawInspect)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.FinishedInspect; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | public interface FinishedInspectMapper extends BaseMapper<FinishedInspect> { |
| | | |
| | | IPage<Map<String, Object>> selectFinishedInspectPage(Page<Object> page, Integer inspectResult, String inspectDate, String inspectUsername); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.InspectUnaccepted; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä¸åæ ¼åæ£éªè¡¨(InspectUnaccepted)è¡¨æ°æ®åºè®¿é®å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 10:04:01 |
| | | */ |
| | | public interface InspectUnacceptedMapper extends BaseMapper<InspectUnaccepted> { |
| | | |
| | | //æ¥è¯¢åææä¸åæ ¼åæ£éªåå表 |
| | | IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier, Integer type); |
| | | |
| | | //æ¥è¯¢è¿ç¨æ£éªåæåæ£éªä¸ä¸åæ ¼åæ£éªåå表 |
| | | IPage<Map<String, Object>> selectInsList(Page<Object> page, String formTime, Integer dealState, String supplier, Integer type); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.mybatis_config.MyBaseMapper; |
| | | import com.yuanchu.mom.pojo.InspectionItem; |
| | | import com.yuanchu.mom.pojo.dto.InspectionItemDto; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | public interface InspectionItemMapper extends MyBaseMapper<InspectionItem> { |
| | | |
| | | List<InspectionItemDto> selectInspectionItem(Integer finishInspectId); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.RawInsProduct; |
| | | |
| | | /** |
| | | * åææç³è¯·åä¸ç项ç®å表(RawInsProduct)è¡¨æ°æ®åºè®¿é®å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-01 13:52:30 |
| | | */ |
| | | public interface RawInsProductMapper extends BaseMapper<RawInsProduct> { |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.RawInspect; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãraw_inspect(åææç³è¯·è¡¨)ãçæ°æ®åºæä½Mapper |
| | | * @createDate 2023-07-31 14:43:15 |
| | | * @Entity com.yuanchu.mom.pojo.RawInspect |
| | | */ |
| | | public interface RawInspectMapper extends BaseMapper<RawInspect> { |
| | | |
| | | List<RawInspect> selectRawInspectsByLimit(int pageSize, int countSize, String formTime, String createTime,int insState,int judgeState); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | |
| | | /** |
| | | * <p> |
| | | * |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value="FinishedInspect对象", description="") |
| | | public class FinishedInspect implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "主é®", hidden = true) |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @NotBlank(message = "订åå·ä¸å
许为空ï¼") |
| | | @ApiModelProperty(value = "订åå·", required = true, example = "DDH202308010001") |
| | | private String orderNumber; |
| | | |
| | | @NotBlank(message = "客æ·åç§°ä¸å
许为空ï¼") |
| | | @ApiModelProperty(value = "客æ·åç§°", required = true, example = "ææ´æ´") |
| | | private String customerName; |
| | | |
| | | @NotBlank(message = "å·¥ç¨åç§°ä¸å
许为空ï¼") |
| | | @ApiModelProperty(value = "å·¥ç¨åç§°", required = true, example = "æ¶²ä½ç¡
æ©¡è¶") |
| | | private String projectName; |
| | | |
| | | @NotBlank(message = "è´¨é追溯å·ä¸å
许为空ï¼") |
| | | @ApiModelProperty(value = "è´¨é追溯å·", required = true, example = "ZLZSH202308010001") |
| | | private String qualityTraceability; |
| | | |
| | | @ApiModelProperty(value = "0:æå;1ï¼è¿ç¨;", hidden = true) |
| | | private Integer type; |
| | | |
| | | @NotBlank(message = "åä½ä¸å
许为空ï¼") |
| | | @ApiModelProperty(value = "åä½", required = true, example = "å¨") |
| | | private String unit; |
| | | |
| | | @NotNull(message = "请è¾å
¥æ°éï¼") |
| | | @ApiModelProperty(value = "æ°é", required = true, example = "50") |
| | | private Integer quantity; |
| | | |
| | | @NotNull(message = "è¯·éæ©è§æ ¼åå·ï¼") |
| | | @ApiModelProperty(value = "è§æ ¼åå·æ¼æ¥å符", required = true, example = "8.7/15kV JLS-3.2") |
| | | private String specificationsModel; |
| | | |
| | | @NotNull(message = "è¯·éæ©è§æ ¼åå·ï¼") |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "åå·ID", required = true, example = "1") |
| | | private Integer specificationsId; |
| | | |
| | | @NotNull(message = "è¯·éæ©é¡¹ç®åç§°ï¼") |
| | | @ApiModelProperty(value = "项ç®åç§°", required = true, example = "å
纤") |
| | | private String material; |
| | | |
| | | @NotNull(message = "è¯·éæ©ä¸»æºå·¥ï¼") |
| | | @ApiModelProperty(value = "主æºå·¥:ç¨æ·id", required = true, example = "1") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty(value = "æ£éªç»è®º", hidden = true, required = true, example = "DDH202308010001") |
| | | private Integer result; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.*; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * ä¸åæ ¼åæ£éªè¡¨(InspectUnaccepted)表å®ä½ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 10:04:01 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Builder |
| | | @TableName("inspect_unaccepted") |
| | | public class InspectUnaccepted implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * id |
| | | **/ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 缺é·åç§°(çç±) |
| | | **/ |
| | | private String reason; |
| | | |
| | | /** |
| | | * å¤çç¶æ 0ï¼å¾
å¤çï¼1ï¼å·²å¤ç |
| | | **/ |
| | | private Integer dealState; |
| | | |
| | | /** |
| | | * å¤çç»æ 0ï¼ä¸éè¿ï¼1ï¼éè¿ |
| | | **/ |
| | | private Integer dealReasult; |
| | | |
| | | /** |
| | | * å¤çæ¥æ |
| | | **/ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date dealTime; |
| | | |
| | | /** |
| | | * ${column.comment} |
| | | **/ |
| | | private Integer state; |
| | | |
| | | /** |
| | | * ${column.comment} |
| | | **/ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * å
³è æ£éªåid |
| | | **/ |
| | | private Integer rawInspectId; |
| | | |
| | | /** |
| | | * 0ï¼æåï¼1ï¼è¿ç¨ï¼2ï¼åææ |
| | | **/ |
| | | private Integer type; |
| | | |
| | | /** |
| | | * ä¾åºå |
| | | **/ |
| | | private String supplier; |
| | | |
| | | /** |
| | | * ç°è±¡æè¿° |
| | | **/ |
| | | private String tell; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * <p> |
| | | * |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value="InspectionItem对象", description="") |
| | | public class InspectionItem extends Model<InspectionItem> implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "主é®") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "项ç®åç§°") |
| | | private String name; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "ç¶åç§°") |
| | | private String father; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "åä½") |
| | | private String unit; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "æ åå¼") |
| | | private String required; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å
æ§å¼") |
| | | private String internal; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "æåæ£éªåId") |
| | | private Integer finishInspectId; |
| | | |
| | | @ApiModelProperty(value = "æ£éªå¼") |
| | | private String inspectionValue; |
| | | |
| | | @ApiModelProperty(value = "è¯éªè®¾å¤") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty(value = "ç»è®º") |
| | | private Integer result; |
| | | |
| | | @ApiModelProperty(value = "æ£éªäºº") |
| | | private String username; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.*; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åææç³è¯·åä¸ç项ç®å表(RawInsProduct)表å®ä½ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-01 13:52:31 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Builder |
| | | @TableName("raw_ins_product") |
| | | public class RawInsProduct implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 项ç®id |
| | | **/ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 项ç®åç§° |
| | | **/ |
| | | private String name; |
| | | |
| | | /** |
| | | * åä½ |
| | | **/ |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ åå¼ |
| | | **/ |
| | | private String required; |
| | | |
| | | /** |
| | | * å
æ§å¼ |
| | | **/ |
| | | private String internal; |
| | | |
| | | /** |
| | | * æ£æµå¼ |
| | | **/ |
| | | private String testValue; |
| | | |
| | | /** |
| | | * ç»è®º 0ï¼ä¸åæ ¼ï¼1ï¼åæ ¼ |
| | | **/ |
| | | private Integer testState; |
| | | |
| | | |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * å
³è 设å¤id |
| | | **/ |
| | | private Integer deviceId; |
| | | |
| | | /** |
| | | * å
³è ç³è¯·åid |
| | | **/ |
| | | private Integer rawInspectId; |
| | | |
| | | /** |
| | | * å
³è æ£éªåï¼ç¨æ·idï¼ |
| | | **/ |
| | | private Integer userId; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Builder; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * åææç³è¯·è¡¨ |
| | | * @TableName raw_inspect |
| | | */ |
| | | @TableName(value ="raw_inspect") |
| | | @Data |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | @Builder |
| | | public class RawInspect implements Serializable { |
| | | /** |
| | | * æ£éªåid |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * åææç¼ç |
| | | */ |
| | | private String code; |
| | | |
| | | /** |
| | | * åææåç§° |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * åå·è§æ ¼ |
| | | */ |
| | | private String specifications; |
| | | |
| | | /** |
| | | * åä½ |
| | | */ |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ°é |
| | | */ |
| | | private Integer number; |
| | | |
| | | /** |
| | | * æ£éªç¶æ 0ï¼æªæ£éªï¼1ï¼å·²æ£éª |
| | | */ |
| | | private Integer insState; |
| | | |
| | | /** |
| | | * åæ ¼ç¶æ 0ï¼ä¸åæ ¼ï¼1ï¼åæ ¼ |
| | | */ |
| | | private Integer judgeState; |
| | | |
| | | /** |
| | | * æ£éªæ¥æ |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date insTime; |
| | | |
| | | /** |
| | | * æ¥æ£äººï¼å½åç¨æ·åï¼ |
| | | */ |
| | | private String userName; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | private Integer state; |
| | | |
| | | /** |
| | | * æ¥æ£æ¥æ |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * æ¥ææ¥æ |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date formTime; |
| | | |
| | | @TableField(exist = false) |
| | | private static final long serialVersionUID = 1L; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class InspectionItemDto { |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "ç¶åç§°") |
| | | private String father; |
| | | |
| | | @ApiModelProperty(value = "åæ°æ®") |
| | | private List<InspectionItemDto2> children; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class InspectionItemDto2 { |
| | | @ApiModelProperty(value = "主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "项ç®åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "åä½") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "æ åå¼") |
| | | private String required; |
| | | |
| | | @ApiModelProperty(value = "å
æ§å¼") |
| | | private String internal; |
| | | |
| | | @ApiModelProperty(value = "æ£éªå¼") |
| | | private String inspectionValue; |
| | | |
| | | @ApiModelProperty(value = "è¯éªè®¾å¤") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty(value = "ç»è®º") |
| | | private Integer result; |
| | | |
| | | @ApiModelProperty(value = "æ£éªäºº") |
| | | private String username; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class UpdateInspectionItemDto { |
| | | |
| | | @ApiModelProperty(value = "æ£éªå¼Idï¼æ ¹æ®è¿ä¸ªIDä¿®æ¹", required = true, example = "5079") |
| | | String inspectionItemId; |
| | | |
| | | @ApiModelProperty(value = "æ åå¼", required = true, example = ">=1") |
| | | private String required; |
| | | |
| | | @ApiModelProperty(value = "å
æ§å¼", required = true, example = ">2") |
| | | private String internal; |
| | | |
| | | @ApiModelProperty(value = "æ£éªå¼", required = true, example = "3") |
| | | String inspectionValue; |
| | | |
| | | @ApiModelProperty(value = "è¯éªè®¾å¤", required = true, example = "1") |
| | | String deviceId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.vo; |
| | | |
| | | |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import lombok.Data; |
| | | import java.io.Serializable; |
| | | |
| | | |
| | | @Data |
| | | public class RawInsProductVo implements Serializable { |
| | | |
| | | /** |
| | | * 项ç®åç§° |
| | | **/ |
| | | @JsonSerialize |
| | | private String name; |
| | | |
| | | /** |
| | | * åä½ |
| | | **/ |
| | | @JsonSerialize |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ åå¼ |
| | | **/ |
| | | @JsonSerialize |
| | | private String required; |
| | | |
| | | /** |
| | | * å
æ§å¼ |
| | | **/ |
| | | @JsonSerialize |
| | | private String internal; |
| | | |
| | | /** |
| | | * æ£æµå¼ |
| | | **/ |
| | | @JsonSerialize |
| | | private String testValue; |
| | | |
| | | /** |
| | | * ç»è®º 0ï¼ä¸åæ ¼ï¼1ï¼åæ ¼ |
| | | **/ |
| | | @JsonSerialize |
| | | private Integer testState; |
| | | |
| | | |
| | | /** |
| | | * 设å¤åç§° |
| | | **/ |
| | | @JsonSerialize |
| | | private String deviceName; |
| | | |
| | | /** |
| | | * å
³è ç³è¯·åid |
| | | **/ |
| | | @JsonSerialize |
| | | private Integer rawInspectId; |
| | | |
| | | /** |
| | | * æ£éªå |
| | | **/ |
| | | @JsonSerialize |
| | | private String userName; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| | | import com.yuanchu.mom.pojo.RawInsProduct; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | //æ¥è¯¢æ£éªå详æ
(æ£éªåºæ¬ä¿¡æ¯ä»¥åæ£éªé¡¹ç®ä¿¡æ¯) |
| | | public class RawInspectVo implements Serializable { |
| | | |
| | | /* æ£éªè¯¦æ
*/ |
| | | /** |
| | | * æ¥ææ¥æ |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date formTime; |
| | | |
| | | /** |
| | | * åå·è§æ ¼ |
| | | */ |
| | | @JsonSerialize |
| | | private String specifications; |
| | | |
| | | /** |
| | | * åææç¼ç |
| | | */ |
| | | @JsonSerialize |
| | | private String code; |
| | | |
| | | /** |
| | | * åææåç§° |
| | | */ |
| | | @JsonSerialize |
| | | private String name; |
| | | |
| | | /** |
| | | * æ¥æ£æ¥æ |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * åä½ |
| | | */ |
| | | @JsonSerialize |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ°é |
| | | */ |
| | | @JsonSerialize |
| | | private Integer number; |
| | | |
| | | /** |
| | | * æ¥æ£äººï¼å½åç¨æ·åï¼ |
| | | */ |
| | | @JsonSerialize |
| | | private String userName; |
| | | |
| | | /* æ£éªé¡¹ç® */ |
| | | @JsonSerialize |
| | | private List<RawInsProductVo> rawInsProducts; |
| | | |
| | | /* æ£éªç»è®º */ |
| | | /** |
| | | * åæ ¼ç¶æ 0ï¼ä¸åæ ¼ï¼1ï¼åæ ¼ |
| | | */ |
| | | @JsonSerialize |
| | | private Integer judgeState; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.FinishedInspect; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | public interface FinishedInspectService extends IService<FinishedInspect> { |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | Integer addProcessInspectionSheet(FinishedInspect finishedInspect); |
| | | |
| | | Integer inspectionConclusion(Integer finishedInspectId, Integer result); |
| | | |
| | | IPage<Map<String, Object>> selectFinishedInspectPage(Page<Object> page, Integer inspectResult, String inspectDate, String inspectUsername); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.InspectUnaccepted; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä¸åæ ¼åæ£éªè¡¨(InspectUnaccepted)表æå¡æ¥å£ |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 10:04:01 |
| | | */ |
| | | public interface InspectUnacceptedService extends IService<InspectUnaccepted> { |
| | | |
| | | /** |
| | | *æ¥è¯¢åææä¸åæ ¼åæ£éªåå表 |
| | | * @param |
| | | * @param formTime |
| | | * @param dealState |
| | | * @return |
| | | */ |
| | | IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier,Integer type); |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.InspectionItem; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.dto.InspectionItemDto; |
| | | import com.yuanchu.mom.pojo.dto.UpdateInspectionItemDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | public interface InspectionItemService extends IService<InspectionItem> { |
| | | |
| | | void insertList(Integer finishInspectId, List<Map<String, Object>> list); |
| | | |
| | | List<InspectionItemDto> selectInspectionItem(Integer finishInspectId); |
| | | |
| | | Integer addProcessInspectionSheet(String username, UpdateInspectionItemDto updateInspectionItemDto); |
| | | |
| | | List<Map<String, Object>> selectDeviceIdAndName(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.RawInsProduct; |
| | | |
| | | /** |
| | | * åææç³è¯·åä¸ç项ç®å表(RawInsProduct)表æå¡æ¥å£ |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-01 13:52:31 |
| | | */ |
| | | public interface RawInsProductService extends IService<RawInsProduct> { |
| | | |
| | | /** |
| | | * æ´æ°æ£éªé¡¹ç® |
| | | * @param userId |
| | | * @param rawInsProduct |
| | | */ |
| | | void updaterawInsProduct(int userId, RawInsProduct rawInsProduct); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.RawInspect; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.vo.RawInspectVo; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãraw_inspect(åææç³è¯·è¡¨)ãçæ°æ®åºæä½Service |
| | | * @createDate 2023-07-31 14:43:15 |
| | | */ |
| | | public interface RawInspectService extends IService<RawInspect> { |
| | | Map<String, Object> selectRawInspectsList(int pageSize, int countSize, String formTime, String createTime, int insState, int judgeState); |
| | | |
| | | /** |
| | | * æ ¹æ®æ£éªåidæ¥è¯¢åæææ£éªå详æ
|
| | | * @param id |
| | | * @return |
| | | */ |
| | | RawInspectVo selectRawInspectsListById(Integer id); |
| | | |
| | | /** |
| | | * æ´æ°æ£éªç¶æ |
| | | * @param id |
| | | */ |
| | | boolean updateRawInspectsById(Integer id); |
| | | |
| | | /** |
| | | * æ°å¢æ£éªå |
| | | * @param userName |
| | | * @param rawInspect |
| | | */ |
| | | Integer addRawInspects(String userName, RawInspect rawInspect); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.mapper.InspectUnacceptedMapper; |
| | | import com.yuanchu.mom.pojo.FinishedInspect; |
| | | import com.yuanchu.mom.mapper.FinishedInspectMapper; |
| | | import com.yuanchu.mom.pojo.InspectUnaccepted; |
| | | import com.yuanchu.mom.service.FinishedInspectService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.service.InspectionItemService; |
| | | import com.yuanchu.mom.service.ProductService; |
| | | import com.yuanchu.mom.service.SpecificationsService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Service |
| | | public class FinishedInspectServiceImpl extends ServiceImpl<FinishedInspectMapper, FinishedInspect> implements FinishedInspectService { |
| | | |
| | | @Resource |
| | | private FinishedInspectMapper finishedInspectMapper; |
| | | |
| | | @Autowired |
| | | private ProductService productService; |
| | | |
| | | @Autowired |
| | | private InspectionItemService inspectionItemService; |
| | | |
| | | @Resource |
| | | InspectUnacceptedMapper inspectUnacceptedMapper; |
| | | |
| | | @Override |
| | | public Integer addProcessInspectionSheet(FinishedInspect finishedInspect) { |
| | | finishedInspect.setType(0); |
| | | int insert = finishedInspectMapper.insert(finishedInspect); |
| | | if (insert == 1){ |
| | | List<Map<String, Object>> maps = productService.selectProductList(finishedInspect.getSpecificationsId()); |
| | | inspectionItemService.insertList(finishedInspect.getId(), maps); |
| | | return insert; |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public Integer inspectionConclusion(Integer finishedInspectId, Integer result) { |
| | | //æ´æ°æ£éªåéé¢çæ£éªç»è®º |
| | | LambdaUpdateWrapper<FinishedInspect> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(FinishedInspect::getId, finishedInspectId); |
| | | updateWrapper.set(FinishedInspect::getResult, result); |
| | | finishedInspectMapper.update(new FinishedInspect(), updateWrapper); |
| | | //妿æ£éªç»è®ºä¸ºä¸åæ ¼,åéè¦æ°å¢ä¸åæ ¼æ£éªå |
| | | FinishedInspect finishedInspect = finishedInspectMapper.selectById(finishedInspectId); |
| | | if (result == 0) { |
| | | InspectUnaccepted inspectUnaccepted = InspectUnaccepted.builder() |
| | | .reason(finishedInspect.getProjectName() + "ä¸åæ ¼") //æä¸å®ä¹ä¸ºå·¥ç¨åç§°ä¸åæ ¼ |
| | | .rawInspectId(finishedInspectId) |
| | | .type(finishedInspect.getType()) |
| | | .supplier(finishedInspect.getCustomerName()) |
| | | .build(); |
| | | inspectUnacceptedMapper.insert(inspectUnaccepted); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> selectFinishedInspectPage(Page<Object> page, Integer inspectResult, String inspectDate, String inspectUsername) { |
| | | return finishedInspectMapper.selectFinishedInspectPage(page, inspectResult, inspectDate, inspectUsername); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.InspectUnacceptedMapper; |
| | | import com.yuanchu.mom.pojo.InspectUnaccepted; |
| | | import com.yuanchu.mom.service.InspectUnacceptedService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * ä¸åæ ¼åæ£éªè¡¨(InspectUnaccepted)表æå¡å®ç°ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 10:04:01 |
| | | */ |
| | | @Service |
| | | public class InspectUnacceptedServiceImpl extends ServiceImpl<InspectUnacceptedMapper, InspectUnaccepted> implements InspectUnacceptedService { |
| | | |
| | | @Resource |
| | | InspectUnacceptedMapper inspectUnacceptedMapper; |
| | | |
| | | //æ¥è¯¢åææä¸åæ ¼åæ£éªåå表 |
| | | @Override |
| | | public IPage<Map<String, Object>> selectUnRawInspectsList(Page<Object> page, String formTime, Integer dealState, String supplier,Integer type) { |
| | | if (type==null){ |
| | | type=2;//为空æ¯åææ2 |
| | | } |
| | | switch (type) { |
| | | case 2: |
| | | //2æ¯æ¥è¯¢åææä¸åæ ¼å |
| | | return inspectUnacceptedMapper.selectUnRawInspectsList(page,formTime,dealState,supplier,0); |
| | | case 1: |
| | | //1æ¯æ¥è¯¢è¿ç¨ä¸åæ ¼å |
| | | return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,supplier,1); |
| | | case 0: |
| | | //0æ¯æ¥è¯¢æåä¸åæ ¼å |
| | | return inspectUnacceptedMapper.selectInsList(page,formTime,dealState,supplier,2); |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.yuanchu.mom.pojo.Device; |
| | | import com.yuanchu.mom.pojo.InspectionItem; |
| | | import com.yuanchu.mom.mapper.InspectionItemMapper; |
| | | import com.yuanchu.mom.pojo.dto.InspectionItemDto; |
| | | import com.yuanchu.mom.pojo.dto.UpdateInspectionItemDto; |
| | | import com.yuanchu.mom.service.DeviceService; |
| | | import com.yuanchu.mom.service.InspectionItemService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.service.SpecificationsService; |
| | | import com.yuanchu.mom.utils.JackSonUtil; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-01 |
| | | */ |
| | | @Service |
| | | public class InspectionItemServiceImpl extends ServiceImpl<InspectionItemMapper, InspectionItem> implements InspectionItemService { |
| | | |
| | | @Resource |
| | | private InspectionItemMapper inspectionItemMapper; |
| | | |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | @Override |
| | | public void insertList(Integer finishInspectId, List<Map<String, Object>> list) { |
| | | List<InspectionItem> list1 = new ArrayList<>(); |
| | | for (Map<String, Object> map : list){ |
| | | try { |
| | | InspectionItem inspectionItem = JackSonUtil.unmarshal(JackSonUtil.marshal(map), InspectionItem.class); |
| | | inspectionItem.setFinishInspectId(finishInspectId); |
| | | list1.add(inspectionItem); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | inspectionItemMapper.insertBatchSomeColumn(list1); |
| | | } |
| | | |
| | | @Override |
| | | public List<InspectionItemDto> selectInspectionItem(Integer finishInspectId) { |
| | | return inspectionItemMapper.selectInspectionItem(finishInspectId); |
| | | } |
| | | |
| | | @Override |
| | | public Integer addProcessInspectionSheet(String username, UpdateInspectionItemDto updateInspectionItemDto) { |
| | | LambdaUpdateWrapper<InspectionItem> wrapper = new LambdaUpdateWrapper<>(); |
| | | wrapper.eq(InspectionItem::getId, updateInspectionItemDto.getInspectionItemId()); |
| | | wrapper.set(InspectionItem::getInspectionValue, updateInspectionItemDto.getInspectionValue()); |
| | | wrapper.set(InspectionItem::getDeviceId, updateInspectionItemDto.getDeviceId()); |
| | | int i = checkValues(updateInspectionItemDto.getRequired(), updateInspectionItemDto.getInternal(), updateInspectionItemDto.getInspectionValue()); |
| | | wrapper.set(InspectionItem::getResult, i); |
| | | wrapper.set(InspectionItem::getUsername, username); |
| | | int update = inspectionItemMapper.update(new InspectionItem(), wrapper); |
| | | if (update > 0){ |
| | | return i; |
| | | } |
| | | return 2; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectDeviceIdAndName() { |
| | | LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(Device::getId, Device::getName); |
| | | return deviceService.listMaps(wrapper); |
| | | } |
| | | |
| | | /*å¤ææ£æµå¼æ¯å¦æ»¡è¶³æ åå¼åå
æ§å¼çè¦æ±,妿䏿»¡è¶³åæ£éªç»è®ºä¸ºä¸åæ ¼*/ |
| | | private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { |
| | | boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); |
| | | boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); |
| | | |
| | | if (isStandardValueSatisfied && isControlValueSatisfied) { |
| | | return 1; |
| | | } else { |
| | | return 0; |
| | | } |
| | | } |
| | | private boolean isValueSatisfied(String valueStr, String detectionValueStr) { |
| | | String substring = valueStr.substring(1, 2); |
| | | if (substring.equals("=")) { |
| | | String operator = valueStr.substring(0, 2); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(2)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator) { |
| | | case ">=": |
| | | return detectionValue >= standardValue; |
| | | case "<=": |
| | | return detectionValue <= standardValue; |
| | | default: |
| | | return false; |
| | | } |
| | | } else { |
| | | String operator = valueStr.substring(0, 1); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(1)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator) { |
| | | case ">": |
| | | return detectionValue > standardValue; |
| | | case "<": |
| | | return detectionValue < standardValue; |
| | | case "=": |
| | | return detectionValue.equals(standardValue); |
| | | case "â¥": |
| | | return detectionValue >= standardValue; |
| | | case "â¤": |
| | | return detectionValue <= standardValue; |
| | | default: |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.RawInsProductMapper; |
| | | import com.yuanchu.mom.pojo.RawInsProduct; |
| | | import com.yuanchu.mom.service.RawInsProductService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * åææç³è¯·åä¸ç项ç®å表(RawInsProduct)表æå¡å®ç°ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-01 13:52:31 |
| | | */ |
| | | @Service |
| | | public class RawInsProductServiceImpl extends ServiceImpl<RawInsProductMapper, RawInsProduct> implements RawInsProductService { |
| | | |
| | | @Resource |
| | | RawInsProductMapper rawInsProductMapper; |
| | | |
| | | //æ´æ°æ£éªé¡¹ç® |
| | | @Override |
| | | public void updaterawInsProduct(int userId, RawInsProduct rawInsProduct) { |
| | | //èµå¼æ£éªåid |
| | | rawInsProduct.setUserId(userId); |
| | | //å¤ææ£æµå¼æ¯å¦æ»¡è¶³æ åå¼åå
æ§å¼çè¦æ±,妿䏿»¡è¶³åæ£éªç»è®ºä¸ºä¸åæ ¼0 |
| | | String testValue = rawInsProduct.getTestValue();//æ£éªå¼ |
| | | String required = rawInsProduct.getRequired();//æ åå¼ |
| | | String internal = rawInsProduct.getInternal();//å
æ§å¼ |
| | | rawInsProduct.setTestState(checkValues(required, internal, testValue)); |
| | | //æ ¹æ®æ£éªé¡¹ç®ååå
³èçæ£éªåidæ¥æ¥è¯¢æ£éªé¡¹ç®çæ°æ® |
| | | LambdaUpdateWrapper<RawInsProduct> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(RawInsProduct::getRawInspectId, rawInsProduct.getRawInspectId()) |
| | | .eq(RawInsProduct::getName, rawInsProduct.getName()); |
| | | rawInsProductMapper.update(rawInsProduct, updateWrapper); |
| | | } |
| | | |
| | | /*å¤ææ£æµå¼æ¯å¦æ»¡è¶³æ åå¼åå
æ§å¼çè¦æ±,妿䏿»¡è¶³åæ£éªç»è®ºä¸ºä¸åæ ¼*/ |
| | | private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { |
| | | boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); |
| | | boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); |
| | | |
| | | if (isStandardValueSatisfied && isControlValueSatisfied) { |
| | | return 1; |
| | | } else { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | private boolean isValueSatisfied(String valueStr, String detectionValueStr) { |
| | | String substring = valueStr.substring(1, 2); |
| | | if (substring.equals("=")) { |
| | | String operator = valueStr.substring(0, 2); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(2)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator) { |
| | | case ">=": |
| | | return detectionValue >= standardValue; |
| | | case "<=": |
| | | return detectionValue <= standardValue; |
| | | default: |
| | | return false; |
| | | } |
| | | } else { |
| | | String operator = valueStr.substring(0, 1); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(1)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator) { |
| | | case ">": |
| | | return detectionValue > standardValue; |
| | | case "â¥": |
| | | return detectionValue >= standardValue; |
| | | case "â¤": |
| | | return detectionValue <= standardValue; |
| | | case "<": |
| | | return detectionValue < standardValue; |
| | | case "=": |
| | | return detectionValue.equals(standardValue); |
| | | default: |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.*; |
| | | import com.yuanchu.mom.pojo.*; |
| | | import com.yuanchu.mom.pojo.vo.RawInsProductVo; |
| | | import com.yuanchu.mom.pojo.vo.RawInspectVo; |
| | | import com.yuanchu.mom.service.*; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãraw_inspect(åææç³è¯·è¡¨)ãçæ°æ®åºæä½Serviceå®ç° |
| | | * @createDate 2023-07-31 14:43:15 |
| | | */ |
| | | @Service |
| | | public class RawInspectServiceImpl extends ServiceImpl<RawInspectMapper, RawInspect> |
| | | implements RawInspectService { |
| | | |
| | | @Resource |
| | | RawInspectMapper rawInspectMapper; |
| | | |
| | | @Resource |
| | | RawInsProductMapper rawInsProductMapper; |
| | | |
| | | @Resource |
| | | RawInsProductService rawInsProductService; |
| | | |
| | | @Resource |
| | | InspectUnacceptedMapper inspectUnacceptedMapper; |
| | | |
| | | @Resource |
| | | DeviceService deviceService; |
| | | |
| | | @Resource |
| | | MaterialMapper materialMapper; |
| | | |
| | | @Resource |
| | | UserService userService; |
| | | |
| | | @Resource |
| | | SpecificationsService specificationsService; |
| | | |
| | | @Resource |
| | | StandardService standardService; |
| | | |
| | | @Resource |
| | | ProductMapper productMapper; |
| | | |
| | | @Override |
| | | public Map<String, Object> selectRawInspectsList(int pageSize, int countSize, String formTime, String createTime, int insState, int judgeState) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("count", rawInspectMapper.selectCount(new QueryWrapper<RawInspect>().eq("state", 1))); |
| | | map.put("data", rawInspectMapper.selectRawInspectsByLimit((pageSize - 1) * countSize, pageSize * countSize, formTime, createTime, insState, judgeState)); |
| | | return map; |
| | | } |
| | | |
| | | //æ ¹æ®æ£éªåidæ¥è¯¢åæææ£éªå详æ
|
| | | @Override |
| | | public RawInspectVo selectRawInspectsListById(Integer id) { |
| | | //å°æ£éªååºæ¬ä¿¡æ¯æ¥è¯¢åºæ¥å¹¶å°è£
å°RawInspectVoå¯¹è±¡ä¸ |
| | | RawInspect rawInspect = rawInspectMapper.selectById(id); |
| | | RawInspectVo rawInspectVo = new RawInspectVo(); |
| | | BeanUtils.copyProperties(rawInspect, rawInspectVo); |
| | | //æ¥è¯¢æ£éªåéé¢çæ£éªé¡¹ç®,å¹¶å°è£
å°RawInspectVoå¯¹è±¡ä¸ |
| | | LambdaQueryWrapper<RawInsProduct> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(RawInsProduct::getRawInspectId, id); |
| | | List<RawInsProduct> rawInsProducts = rawInsProductMapper.selectList(queryWrapper); |
| | | //è¿éæ¥å°ç设å¤id忣éªåidè¦æ¥è¯¢åç§° |
| | | List<RawInsProductVo> rawInsProductVos = rawInsProducts.stream().map(rawInsProduct -> { |
| | | //å°ä¸ä¸ªå¯¹è±¡çå¼èµå¼ç»å¦ä¸ä¸ªå¯¹è±¡ |
| | | RawInsProductVo rawInsProductVo = new RawInsProductVo(); |
| | | BeanUtils.copyProperties(rawInsProduct, rawInsProductVo); |
| | | //è·å设å¤å(åææ¯å¦æåå¨) |
| | | if (rawInsProduct.getDeviceId() != null) { |
| | | String deviceName = deviceService.getDeviceNameById(rawInsProduct.getDeviceId()); |
| | | rawInsProductVo.setDeviceName(deviceName); |
| | | } |
| | | //è·åç¨æ·å(åææ¯å¦æåå¨) |
| | | if (rawInsProduct.getUserId() != null) { |
| | | String userName = userService.selectNameById(rawInsProduct.getUserId()); |
| | | rawInsProductVo.setUserName(userName); |
| | | } |
| | | return rawInsProductVo; |
| | | }).collect(Collectors.toList()); |
| | | rawInspectVo.setRawInsProducts(rawInsProductVos); |
| | | return rawInspectVo; |
| | | } |
| | | |
| | | //æ´æ°æ£éªç¶æ(䏿¥) |
| | | @Override |
| | | public boolean updateRawInspectsById(Integer id) { |
| | | //æ´æ°æ£éªåéé¢çæ£éªç¶æåæ£éªç»è®º |
| | | RawInspectVo rawInspectVo = selectRawInspectsListById(id); |
| | | RawInspect rawInspect = RawInspect.builder() |
| | | .id(id) |
| | | .insState(1) |
| | | .insTime(new Date()) |
| | | .judgeState(rawInspectVo.getJudgeState()) |
| | | .build(); |
| | | rawInspectMapper.updateById(rawInspect); |
| | | //妿æ£éªç»è®ºä¸ºä¸åæ ¼,åéè¦æ°å¢ä¸åæ ¼æ£éªå |
| | | if (rawInspectVo.getJudgeState() == 0) { |
| | | InspectUnaccepted rawUnaccepted = InspectUnaccepted.builder() |
| | | .reason(rawInspectVo.getName() + "ä¸åæ ¼") //æä¸å®ä¹ä¸ºåææä¸åæ ¼ |
| | | .rawInspectId(id) |
| | | .type(2) //ç±»åä¸ºåææ |
| | | .build(); |
| | | inspectUnacceptedMapper.insert(rawUnaccepted); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | //æ°å¢æ£éªå |
| | | @Override |
| | | public Integer addRawInspects(String userName, RawInspect rawInspect) { |
| | | rawInspect.setUserName(userName); |
| | | //æ°å¢æ£éªå |
| | | rawInspectMapper.insert(rawInspect); |
| | | //è·åç©æid |
| | | Material material = materialMapper.selectOne(Wrappers.<Material>query() |
| | | .eq("name", rawInspect.getName()) |
| | | .eq("code", rawInspect.getCode())); |
| | | //è·åè§æ ¼åç§°ååå·åç§° |
| | | String specification = rawInspect.getSpecifications(); |
| | | String[] strings = specification.split("-"); |
| | | String stName = strings[0];//è§æ ¼åç§° |
| | | String spName = strings[1];//åå·åç§° |
| | | //è·åè§æ ¼id |
| | | Standard standard = standardService.getOne(Wrappers.<Standard>query() |
| | | .eq("name", stName) |
| | | .eq("material_id", material.getId())); |
| | | //è·ååå·id |
| | | Specifications specifications = specificationsService.selectSpIdByname(standard.getId(), spName); |
| | | //æ ¹æ®åå·idæ¥è¯¢é¡¹ç®ä¿¡æ¯ |
| | | List<Product> productList = productMapper.selectList(Wrappers.<Product>query().eq("specifications_id", specifications.getId())); |
| | | ArrayList<RawInsProduct> list = new ArrayList<>(); |
| | | for (Product product : productList) { |
| | | RawInsProduct rawInsProduct = RawInsProduct.builder() |
| | | .name(product.getName()) |
| | | .unit(product.getUnit()) |
| | | .required(product.getRequired()) |
| | | .internal(product.getInternal()) |
| | | .rawInspectId(rawInspect.getId()) |
| | | .build(); |
| | | list.add(rawInsProduct); |
| | | } |
| | | //æ£éªé¡¹ç®æ¹éæ·»å |
| | | rawInsProductService.saveBatch(list); |
| | | return rawInspect.getId(); |
| | | } |
| | | |
| | | //夿æ°ç»æ¯å¦å
å«0 |
| | | private static boolean containsZero(Object[] array) { |
| | | for (Object num : array) { |
| | | if (num.equals(0)) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | //夿æ°ç»æ¯å¦å
¨é¨ä¸º1 |
| | | private static boolean allOnes(Object[] array) { |
| | | for (Object num : array) { |
| | | if (!num.equals(1)) { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.FinishedInspectMapper"> |
| | | |
| | | <select id="selectFinishedInspectPage" resultType="map"> |
| | | SELECT f.`id`, f.`order_number`, f.`customer_name`, f.`project_name`, f.`quality_traceability`, f.`material`, f.`specifications_model`, f.`unit`, |
| | | f.`quantity`, u.`name`, DATE_FORMAT(f.`create_time`, '%Y-%m-%d') detectionPeriod, f.`result` |
| | | FROM finished_inspect f, `user` u |
| | | WHERE f.`user_id` = u.`id` |
| | | AND f.`state` = 1 |
| | | <if test="inspectResult != null and inspectResult != ''"> |
| | | AND f.result = #{inspectResult} |
| | | </if> |
| | | <if test="inspectDate != null and inspectDate != ''"> |
| | | AND DATE_FORMAT(f.`create_time`, '%Y-%m-%d') = #{inspectDate} |
| | | </if> |
| | | <if test="inspectUsername != null and inspectUsername != ''"> |
| | | AND u.`name` LIKE CONCAT('%',#{inspectUsername},'%') |
| | | </if> |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.yuanchu.mom.mapper.InspectUnacceptedMapper"> |
| | | <select id="selectUnRawInspectsList" resultType="java.util.Map"> |
| | | select DATE_FORMAT(form_time, '%Y-%m-%d') 'æ¥ææ¥æ', |
| | | supplier, |
| | | reason, |
| | | code, |
| | | name, |
| | | specifications, |
| | | unit, |
| | | number, |
| | | DATE_FORMAT(ri.create_time, '%Y-%m-%d') 'æ¥æ£æ¥æ', |
| | | user_name, |
| | | DATE_FORMAT(ins_time, '%Y-%m-%d') 'æ£éªæ¥æ', |
| | | deal_state, |
| | | deal_reasult, |
| | | DATE_FORMAT(deal_time, '%Y-%m-%d') 'å¤çæ¥æ' |
| | | from mom_ocean.raw_inspect ri inner join mom_ocean.inspect_unaccepted ru on ri.id = ru.raw_inspect_id |
| | | <if test="dealState!=null"> |
| | | where deal_state=#{dealState} |
| | | </if> |
| | | <if test="formTime!=null"> |
| | | and form_time=#{formTime} |
| | | </if> |
| | | <if test="supplier!=null"> |
| | | and supplier=#{supplier} |
| | | </if> |
| | | <if test="type!=null"> |
| | | and ru.type=#{type} |
| | | </if> |
| | | and ru.state=1 |
| | | </select> |
| | | <select id="selectInsList" resultType="java.util.Map"> |
| | | select DATE_FORMAT(fi.create_time, '%Y-%m-%d') 'æ¥ææ¥æ', |
| | | supplier, |
| | | reason, |
| | | material_code, |
| | | name, |
| | | specifications_model, |
| | | unit, |
| | | quantity, |
| | | DATE_FORMAT(fi.create_time, '%Y-%m-%d') 'æ¥æ£æ¥æ', |
| | | u.name, |
| | | DATE_FORMAT(fi.update_time, '%Y-%m-%d') 'æ£éªæ¥æ', |
| | | deal_state, |
| | | deal_reasult, |
| | | DATE_FORMAT(deal_time, '%Y-%m-%d') 'å¤çæ¥æ' |
| | | from mom_ocean.inspect_unaccepted ru, |
| | | mom_ocean.finished_inspect fi , |
| | | mom_ocean.user u |
| | | where fi.id = ru.raw_inspect_id |
| | | and fi.user_id=u.id |
| | | <if test="dealState!=null"> |
| | | and deal_state=#{dealState} |
| | | </if> |
| | | <if test="formTime!=null"> |
| | | and fi.create_time=#{formTime} |
| | | </if> |
| | | <if test="supplier!=null"> |
| | | and supplier=#{supplier} |
| | | </if> |
| | | <if test="type!=null"> |
| | | and ru.type=#{type} |
| | | </if> |
| | | and ru.state=1 |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.InspectionItemMapper"> |
| | | |
| | | <resultMap id="selectInspectionItemMap" type="inspectionItemDto"> |
| | | <id property="father" column="father"/> |
| | | <association property="children" resultMap="selectInspectionItemDto2Map"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectInspectionItemDto2Map" type="inspectionItemDto2"> |
| | | <id property="id" column="id"/> |
| | | <result property="name" column="name"/> |
| | | <result property="unit" column="unit"/> |
| | | <result property="internal" column="internal"/> |
| | | <result property="required" column="required"/> |
| | | <result property="inspectionValue" column="inspection_value"/> |
| | | <result property="deviceId" column="device_id"/> |
| | | <result property="result" column="result"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectInspectionItem" resultMap="selectInspectionItemMap"> |
| | | SELECT i.`id`, IFNULL(i.`father`,i.`name`) father, i.`name`, i.`unit`, i.`internal`, i.`required`, i.`inspection_value`, i.`device_id`, i.`result` |
| | | FROM inspection_item i |
| | | WHERE i.`finish_inspect_id` = #{finishInspectId} |
| | | AND i.`state` = 1 |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.yuanchu.mom.mapper.RawInsProductMapper"> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.RawInspectMapper"> |
| | | |
| | | <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.RawInspect"> |
| | | <id property="id" column="id" jdbcType="INTEGER"/> |
| | | <result property="code" column="code" jdbcType="VARCHAR"/> |
| | | <result property="name" column="name" jdbcType="VARCHAR"/> |
| | | <result property="specifications" column="specifications" jdbcType="VARCHAR"/> |
| | | <result property="unit" column="unit" jdbcType="VARCHAR"/> |
| | | <result property="number" column="number" jdbcType="INTEGER"/> |
| | | <result property="insState" column="ins_state" jdbcType="INTEGER"/> |
| | | <result property="judgeState" column="judge_state" jdbcType="INTEGER"/> |
| | | <result property="insTime" column="ins_time" jdbcType="DATE"/> |
| | | <result property="userName" column="user_name" jdbcType="VARCHAR"/> |
| | | <result property="state" column="state" jdbcType="INTEGER"/> |
| | | <result property="createTime" column="create_time" jdbcType="DATE"/> |
| | | <result property="updateTime" column="update_time" jdbcType="DATE"/> |
| | | <result property="formTime" column="form_time" jdbcType="DATE"/> |
| | | </resultMap> |
| | | <select id="selectRawInspectsByLimit" resultType="com.yuanchu.mom.pojo.RawInspect"> |
| | | select id, code, name, specifications, unit, number, ins_state, judge_state, ins_time, user_name, create_time, form_time |
| | | from raw_inspect |
| | | where state = 1 |
| | | <if test="formTime!=null and formTime!=''"> |
| | | and form_time = #{formTime} |
| | | </if> |
| | | <if test="createTime!=null and createTime!=''"> |
| | | and create_time = #{createTime} |
| | | </if> |
| | | <if test="insState!=2"> |
| | | and ins_state = #{insState} |
| | | </if> |
| | | <if test="judgeState!=2"> |
| | | and judge_state = #{judgeState} |
| | | </if> |
| | | limit #{pageSize},#{countSize} |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | @SpringBootTest |
| | | class InspectServerApplicationTests { |
| | | |
| | | @Test |
| | | void contextLoads() { |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | |
| | | <artifactId>inventory-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>inventory-server</name> |
| | | <description>inventory-server</description> |
| | | <packaging>jar</packaging> |
| | | |
| | | |
| | | <dependencies> |
| | | <!--ç¨æ·æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>user-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <!--æ 忍¡å--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>standard-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.api.ApiController; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.domain.PageImpl; |
| | | import org.springframework.data.domain.PageRequest; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.service.RepertoryService; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åºå表(Repertory)表æ§å¶å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 16:33:01 |
| | | */ |
| | | @Api(tags = "åºå表æ¥å£") |
| | | @RestController |
| | | @RequestMapping("/repertory") |
| | | public class RepertoryController { |
| | | |
| | | @Autowired |
| | | private RepertoryService repertoryService; |
| | | |
| | | @ApiOperation("æ¥è¯¢ææåºåå表") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "pageSize", value = "页æ°", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "countSize", value = "æ¡æ°/页", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "name", value = "产ååç§°", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "specifications", value = "产ååå·", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "time", value = "å
¥åºæ¥æ", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "type", value = "ç±»å(为空=å
¨é¨)", dataTypeClass = Integer.class) |
| | | }) |
| | | @GetMapping("/selectAllRepertory") |
| | | public Result selectAllRepertory(int pageSize, int countSize, String name, String specifications, String time, Integer type) { |
| | | IPage<Map<String, Object>> repertoryPage = repertoryService.selectAllRepertory(new Page<Object>(pageSize, countSize), name, specifications, time, type); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("total", repertoryPage.getTotal()); |
| | | map.put("row", repertoryPage.getRecords()); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.Repertory; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åºå表(Repertory)è¡¨æ°æ®åºè®¿é®å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 16:33:01 |
| | | */ |
| | | public interface RepertoryMapper extends BaseMapper<Repertory> { |
| | | |
| | | //æ¥è¯¢ææåºåå表 |
| | | IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.*; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åºå表(Repertory)表å®ä½ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 16:33:01 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Builder |
| | | @TableName("repertory") |
| | | public class Repertory implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * åºåid |
| | | **/ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 订åç¼ç |
| | | **/ |
| | | private String orderCode; |
| | | |
| | | /** |
| | | * 产åç¼ç |
| | | **/ |
| | | private String code; |
| | | |
| | | /** |
| | | * 产ååç§° |
| | | **/ |
| | | private String name; |
| | | |
| | | /** |
| | | * åå·è§æ ¼ |
| | | **/ |
| | | private String specifications; |
| | | |
| | | /** |
| | | * è¯éªè¦æ± |
| | | **/ |
| | | private String requirements; |
| | | |
| | | /** |
| | | * å·¥èºæä»¶ç¼å· |
| | | **/ |
| | | private String documentNumber; |
| | | |
| | | /** |
| | | * åºä½å· |
| | | **/ |
| | | private Integer seat; |
| | | |
| | | /** |
| | | * åä½ |
| | | **/ |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ°é |
| | | **/ |
| | | private Integer number; |
| | | |
| | | /** |
| | | * å
¥åºäººï¼å½åç¨æ·åï¼ |
| | | **/ |
| | | private String userName; |
| | | |
| | | /** |
| | | * ${column.comment} |
| | | **/ |
| | | private Integer state; |
| | | |
| | | /** |
| | | * å
¥åºæ¥æ |
| | | **/ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * ${column.comment} |
| | | **/ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * 夿³¨ |
| | | **/ |
| | | private String note; |
| | | |
| | | /** |
| | | * ç±»å 0:æå;1:åæå |
| | | **/ |
| | | private Integer type; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.Repertory; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åºå表(Repertory)表æå¡æ¥å£ |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 16:33:01 |
| | | */ |
| | | public interface RepertoryService extends IService<Repertory> { |
| | | |
| | | /** |
| | | *æ¥è¯¢ææåºåå表 |
| | | * @param page |
| | | * @param name |
| | | * @param specifications |
| | | * @param time |
| | | * @param type |
| | | * @return |
| | | */ |
| | | IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.RepertoryMapper; |
| | | import com.yuanchu.mom.pojo.Repertory; |
| | | import com.yuanchu.mom.service.RepertoryService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åºå表(Repertory)表æå¡å®ç°ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-08-07 16:33:01 |
| | | */ |
| | | @Service |
| | | public class RepertoryServiceImpl extends ServiceImpl<RepertoryMapper, Repertory> implements RepertoryService { |
| | | |
| | | @Resource |
| | | RepertoryMapper repertoryMapper; |
| | | |
| | | //æ¥è¯¢ææåºåå表 |
| | | @Override |
| | | public IPage<Map<String, Object>> selectAllRepertory(Page<Object> page, String name, String specifications, String time, Integer type) { |
| | | return repertoryMapper.selectAllRepertory(page,name,specifications,time,type); |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.yuanchu.mom.mapper.RepertoryMapper"> |
| | | <select id="selectAllRepertory" resultType="java.util.Map"> |
| | | select name, |
| | | specifications, |
| | | code, |
| | | requirements, |
| | | order_code, |
| | | seat, |
| | | user_name, |
| | | DATE_FORMAT(create_time, '%Y-%m-%d') 'å
¥åºæ¥æ', |
| | | note |
| | | from mom_ocean.repertory |
| | | where state=1 |
| | | <if test="name!=null and name!=' '"> |
| | | and name LIKE CONCAT('%',#{name},'%') |
| | | </if> |
| | | <if test="specifications!=null and specifications!=' '"> |
| | | and specifications LIKE CONCAT('%',#{specifications},'%') |
| | | </if> |
| | | <if test="time!=null and time!=''"> |
| | | and create_time=#{time} |
| | | </if> |
| | | <if test="type!=null and type!=''"> |
| | | and type=#{type} |
| | | </if> |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-parent</artifactId> |
| | | <version>2.7.3</version> |
| | | <relativePath/> <!-- lookup parent from repository --> |
| | | </parent> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>mom</artifactId> |
| | | <version>1.0.0</version> |
| | | <name>mom_ocean</name> |
| | | <description>mom_ocean</description> |
| | | <packaging>pom</packaging> |
| | | |
| | | <modules> |
| | | <module>framework</module> |
| | | <module>user-server</module> |
| | | <module>standard-server</module> |
| | | <module>inspect-server</module> |
| | | <module>system-run</module> |
| | | </modules> |
| | | |
| | | <properties> |
| | | <java.version>1.8</java.version> |
| | | <log4j.version>1.2.17</log4j.version> |
| | | <mysql.version>8.0.28</mysql.version> |
| | | <jwt.version>4.4.0</jwt.version> |
| | | <swagger.version>3.0.0</swagger.version> |
| | | <knife4j-spring-ui.version>3.0.3</knife4j-spring-ui.version> |
| | | <druid.version>1.2.18</druid.version> |
| | | <mybatis-plus.version>3.4.0</mybatis-plus.version> |
| | | <openfeign.version>3.1.3</openfeign.version> |
| | | <feign-okhttp.version>11.0</feign-okhttp.version> |
| | | <shiro.version>1.5.3</shiro.version> |
| | | |
| | | <!-- æå
å导åºçè·¯å¾ --> |
| | | <package.path>${project.build.directory}/BLOG</package.path> |
| | | </properties> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-test</artifactId> |
| | | <scope>test</scope> |
| | | </dependency> |
| | | |
| | | <!--lombok--> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | </dependency> |
| | | |
| | | <!--mybatis-plus--> |
| | | <dependency> |
| | | <groupId>com.baomidou</groupId> |
| | | <artifactId>mybatis-plus-boot-starter</artifactId> |
| | | </dependency> |
| | | |
| | | <!--Swagger3--> |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-boot-starter</artifactId> |
| | | <version>${swagger.version}</version> |
| | | </dependency> |
| | | |
| | | <!--Swagger3-Uiç¾å--> |
| | | <dependency> |
| | | <groupId>com.github.xiaoymin</groupId> |
| | | <artifactId>knife4j-spring-ui</artifactId> |
| | | <version>${knife4j-spring-ui.version}</version> |
| | | </dependency> |
| | | |
| | | <!--åç«¯æ³¨éæ£éªå·¥å
·--> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-validation</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <dependencyManagement> |
| | | <dependencies> |
| | | <!--log4j--> |
| | | <dependency> |
| | | <groupId>log4j</groupId> |
| | | <artifactId>log4j</artifactId> |
| | | <version>${log4j.version}</version> |
| | | </dependency> |
| | | |
| | | <!--mysql--> |
| | | <dependency> |
| | | <groupId>mysql</groupId> |
| | | <artifactId>mysql-connector-java</artifactId> |
| | | <version>${mysql.version}</version> |
| | | </dependency> |
| | | |
| | | <!--æ°æ®åºè¿æ¥æ± --> |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | <version>${druid.version}</version> |
| | | </dependency> |
| | | |
| | | <!--jwt--> |
| | | <dependency> |
| | | <groupId>com.auth0</groupId> |
| | | <artifactId>java-jwt</artifactId> |
| | | <version>${jwt.version}</version> |
| | | </dependency> |
| | | |
| | | <!--mybatis-plus--> |
| | | <dependency> |
| | | <groupId>com.baomidou</groupId> |
| | | <artifactId>mybatis-plus-boot-starter</artifactId> |
| | | <version>${mybatis-plus.version}</version> |
| | | </dependency> |
| | | |
| | | <!--mybatis-plus代ç çæå¨--> |
| | | <dependency> |
| | | <groupId>com.baomidou</groupId> |
| | | <artifactId>mybatis-plus-generator</artifactId> |
| | | <version>${mybatis-plus.version}</version> |
| | | </dependency> |
| | | |
| | | <!--feign--> |
| | | <dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-openfeign</artifactId> |
| | | <version>${openfeign.version}</version> |
| | | </dependency> |
| | | |
| | | <!--okhttp--> |
| | | <dependency> |
| | | <groupId>io.github.openfeign</groupId> |
| | | <artifactId>feign-okhttp</artifactId> |
| | | <version>${feign-okhttp.version}</version> |
| | | </dependency> |
| | | |
| | | <!--å®å
¨æ¡æ¶shiro--> |
| | | <dependency> |
| | | <groupId>org.apache.shiro</groupId> |
| | | <artifactId>shiro-spring-boot-starter</artifactId> |
| | | <version>${shiro.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </dependencyManagement> |
| | | |
| | | <build> |
| | | <plugins> |
| | | <!-- ä¸çº¿é¨ç½² JARå¯å¨å离ä¾èµlibåé
ç½® --> |
| | | <!-- æå
jar --> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-jar-plugin</artifactId> |
| | | <configuration> |
| | | <!-- 䏿å
èµæºæä»¶ --> |
| | | <excludes> |
| | | <exclude>*.**</exclude> |
| | | </excludes> |
| | | <archive> |
| | | <manifest> |
| | | <addClasspath>true</addClasspath> |
| | | <!-- MANIFEST.MF ä¸ Class-Path å å
¥åç¼ --> |
| | | <classpathPrefix>lib/</classpathPrefix> |
| | | <!-- jarå
ä¸å
å«å¯ä¸çæ¬æ è¯ --> |
| | | <useUniqueVersions>false</useUniqueVersions> |
| | | <!-- æå®å
¥å£ç±» --> |
| | | <mainClass>com.yuanchu.mom.SystemRunApplication</mainClass> |
| | | </manifest> |
| | | <!-- æå®é
ç½®æä»¶ç®å½ï¼è¿æ ·jarè¿è¡æ¶ä¼å»æ¾å°åç®å½ä¸çconfæä»¶å¤¹ä¸æ¥æ¾ --> |
| | | <manifestEntries> |
| | | <Class-Path>conf/</Class-Path> |
| | | </manifestEntries> |
| | | </archive> |
| | | <outputDirectory>${package.path}</outputDirectory> |
| | | </configuration> |
| | | </plugin> |
| | | <!-- æ·è´ä¾èµ copy-dependencies --> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-dependency-plugin</artifactId> |
| | | <executions> |
| | | <execution> |
| | | <id>copy-dependencies</id> |
| | | <phase>package</phase> |
| | | <goals> |
| | | <goal>copy-dependencies</goal> |
| | | </goals> |
| | | <configuration> |
| | | <outputDirectory>${package.path}/lib/ </outputDirectory> |
| | | </configuration> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | <!-- æ·è´èµæºæä»¶ copy-resources --> |
| | | <plugin> |
| | | <artifactId>maven-resources-plugin</artifactId> |
| | | <executions> |
| | | <execution> |
| | | <id>copy-resources</id> |
| | | <phase>package</phase> |
| | | <goals> |
| | | <goal>copy-resources</goal> |
| | | </goals> |
| | | <configuration> |
| | | <resources> |
| | | <resource> |
| | | <directory>src/main/resources</directory> |
| | | <!-- æå®åä¸æå»ºçresource --> |
| | | <includes> |
| | | <include>*.**</include> |
| | | <!--æé¤application-dev.ymlæä»¶--> |
| | | </includes> |
| | | </resource> |
| | | </resources> |
| | | <outputDirectory>${package.path}/conf</outputDirectory> |
| | | </configuration> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | HELP.md |
| | | target/ |
| | | !.mvn/wrapper/maven-wrapper.jar |
| | | !**/src/main/**/target/ |
| | | !**/src/test/**/target/ |
| | | |
| | | ### STS ### |
| | | .apt_generated |
| | | .classpath |
| | | .factorypath |
| | | .project |
| | | .settings |
| | | .springBeans |
| | | .sts4-cache |
| | | |
| | | ### IntelliJ IDEA ### |
| | | .idea |
| | | *.iws |
| | | *.iml |
| | | *.ipr |
| | | |
| | | ### NetBeans ### |
| | | /nbproject/private/ |
| | | /nbbuild/ |
| | | /dist/ |
| | | /nbdist/ |
| | | /.nb-gradle/ |
| | | build/ |
| | | !**/src/main/**/build/ |
| | | !**/src/test/**/build/ |
| | | |
| | | ### VS Code ### |
| | | .vscode/ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | |
| | | <artifactId>standard-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>standard-server</name> |
| | | <description>standard-server</description> |
| | | <packaging>jar</packaging> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>framework</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.yuanchu.mom.pojo.Device; |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | import com.yuanchu.mom.service.DeviceService; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Api(tags = "ææ¯ç®¡ç-->æ åMOM-->å·¥èºè·¯çº¿") |
| | | @RestController |
| | | @RequestMapping("/device") |
| | | public class DeviceController { |
| | | |
| | | @Autowired |
| | | private DeviceService deviceService; |
| | | |
| | | @ApiOperation(value = "ç¹å»è¡¨æ ¼ä¸çéæ©") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "deviceGroup", value = "设å¤ç»", dataTypeClass = String.class, required = true) |
| | | }) |
| | | @GetMapping("/select") |
| | | public Result<?> selectTreeDevice(String deviceGroup){ |
| | | Map<String, Object> map = deviceService.selectTechnology(deviceGroup); |
| | | return Result.success(map); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.pojo.dto.MaterialTreeDto; |
| | | import com.yuanchu.mom.service.MaterialService; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Api(tags = "ææ¯ç®¡ç-->æ åMOM-->ç©ææ¨¡å") |
| | | @RestController |
| | | @RequestMapping("/material") |
| | | public class MaterialController { |
| | | |
| | | @Autowired |
| | | private MaterialService materialService; |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ç©æçæ ") |
| | | @GetMapping("/selectTreeByMaterial") |
| | | public Result<List<MaterialTreeDto>> selectTreeByMaterial(){ |
| | | return Result.success(materialService.selectTreeByMaterial()); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.yuanchu.mom.service.OrdersService; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * 订å(Order)表æ§å¶å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-07-31 11:57:44 |
| | | */ |
| | | @Api(tags = "ææ¯ç®¡ç-->订åBOM") |
| | | @RestController |
| | | @RequestMapping("/orders") |
| | | @Slf4j |
| | | public class OrdersController { |
| | | |
| | | @Resource |
| | | OrdersService ordersService; |
| | | |
| | | @ApiOperation("æ¥è¯¢ææè®¢åå表") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "pageSize", value = "页æ°", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "countSize", value = "æ¡æ°/页", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "id", value = "订åid", dataTypeClass = Integer.class), |
| | | @ApiImplicitParam(name = "name", value = "产ååç§°", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "state", value = "ç¶æ(为空=å
¨é¨)", dataTypeClass = Integer.class), |
| | | @ApiImplicitParam(name = "time", value = "ä¸åæ¶é´", dataTypeClass = String.class) |
| | | }) |
| | | @GetMapping("/selectAllOrder") |
| | | public Result selectAllOrder(int pageSize, int countSize, Integer id, String name, Integer state ,String time) { |
| | | IPage<Map<String, Object>> inspectionPage = ordersService.selectAllOrder(new Page<Object>(pageSize, countSize), id, name, state, time); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("total", inspectionPage.getTotal()); |
| | | map.put("row", inspectionPage.getRecords()); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®è®¢åidæ¥è¯¢è®¢å详æ
") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "id", value = "订åid", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @GetMapping("/selectOrderById") |
| | | public Result selectOrderById(Integer id) { |
| | | return Result.success(ordersService.getById(id)); |
| | | } |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | import com.yuanchu.mom.service.ProductService; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Api(tags = "ææ¯ç®¡ç-->æ åMOM-->é¡¹ç®æ¨¡å") |
| | | @RestController |
| | | @RequestMapping("/product") |
| | | public class ProductController { |
| | | |
| | | @Autowired |
| | | private ProductService productService; |
| | | |
| | | @ApiOperation(value = "项ç®è¡¨æ ¼äºçº§æ ") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "project", value = "项ç®", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "specifications", value = "åå·ID", dataTypeClass = String.class, required = true) |
| | | }) |
| | | @GetMapping("/selectTreeByMaterial") |
| | | public Result<?> selectTreeProduct(String specifications, String project){ |
| | | List<ProductDto> map = productService.selectTreeProduct(specifications, project); |
| | | return Result.success(map); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | |
| | | import com.yuanchu.mom.service.TechnologyService; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Api(tags = "ææ¯ç®¡ç-->æ åMOM-->å·¥èºè·¯çº¿") |
| | | @RestController |
| | | @RequestMapping("/technology") |
| | | public class TechnologyController { |
| | | |
| | | @Autowired |
| | | private TechnologyService technologyService; |
| | | |
| | | @ApiOperation(value = "鿩工èºè·¯çº¿åºç°çè¡¨æ ¼æ¥è¯¢") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "technologyName", value = "å·¥èºåç§°", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "specificationId", value = "è§æ ¼ID", dataTypeClass = String.class,required = true) |
| | | }) |
| | | @GetMapping("/select") |
| | | public Result<?> selectTechnology(String technologyName, String specificationId){ |
| | | List<Map<String, Object>> map = technologyService.selectTechnology(technologyName); |
| | | return Result.success(map); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.Device; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | public interface DeviceMapper extends BaseMapper<Device> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.Material; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.dto.MaterialTreeDto; |
| | | import org.apache.ibatis.annotations.MapKey; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãmaterialãçæ°æ®åºæä½Mapper |
| | | * @createDate 2023-07-26 15:52:50 |
| | | * @Entity com.yuanchu.mom.pojo.Material |
| | | */ |
| | | |
| | | public interface MaterialMapper extends BaseMapper<Material> { |
| | | |
| | | @MapKey("id") |
| | | List<MaterialTreeDto> selectTreeByMaterial(); |
| | | |
| | | //æ ¹æ®ç©æåç§°æ¥è¯¢ç©æidåç©æç¼ç |
| | | List<Material> selectMcodeId(String name); |
| | | |
| | | //æ ¹æ®ç©æåç§°åç©æç¼ç æ¥è¯¢ç©æid,è§æ ¼ä¿¡æ¯ååå·ä¿¡æ¯ |
| | | List<Map> selectIdByCoNa(String name, String code); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.Orders; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * 订å(Order)è¡¨æ°æ®åºè®¿é®å± |
| | | * |
| | | * @author zss |
| | | * @since 2023-07-31 11:57:44 |
| | | */ |
| | | public interface OrdersMapper extends BaseMapper<Orders> { |
| | | |
| | | //æ¥è¯¢ææè®¢åå表 |
| | | IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.Product; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãproductãçæ°æ®åºæä½Mapper |
| | | * @createDate 2023-07-26 16:00:44 |
| | | * @Entity com.yuanchu.mom.pojo.Product |
| | | */ |
| | | public interface ProductMapper extends BaseMapper<Product> { |
| | | |
| | | List<ProductDto> selectTreeProduct(String specifications, String project); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.Specifications; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãspecificationsãçæ°æ®åºæä½Mapper |
| | | * @createDate 2023-07-26 16:02:54 |
| | | * @Entity com.yuanchu.mom.pojo.Specifications |
| | | */ |
| | | public interface SpecificationsMapper extends BaseMapper<Specifications> { |
| | | |
| | | /** |
| | | * æ£éªæ¨¡å-->OMS管ç-->æåæ£éª-->æ°å¢(éè¦è§æ ¼åå·çIdä¸åç§°) |
| | | */ |
| | | List<Map<String, Object>> selectSpecificationIdAndName(Integer materialId); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.Standard; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãstandardãçæ°æ®åºæä½Mapper |
| | | * @createDate 2023-07-26 15:59:05 |
| | | * @Entity com.yuanchu.mom.pojo.Standard |
| | | */ |
| | | public interface StandardMapper extends BaseMapper<Standard> { |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.Technology; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | public interface TechnologyMapper extends BaseMapper<Technology> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * <p> |
| | | * |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value="Device对象", description="") |
| | | public class Device implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "设å¤id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "设å¤ç¼ç ") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "设å¤åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "设å¤åç»") |
| | | private String father; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * |
| | | * @TableName material |
| | | */ |
| | | @TableName(value ="material") |
| | | @Data |
| | | public class Material implements Serializable { |
| | | /** |
| | | * ç©æid |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | private String code; |
| | | |
| | | /** |
| | | * ç©æåç§° |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * 0ï¼åææï¼1ï¼æåï¼2ï¼åæå |
| | | */ |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "ä¹è§é", hidden = true) |
| | | @Version |
| | | private Integer version; |
| | | |
| | | @TableField(exist = false) |
| | | private static final long serialVersionUID = 1L; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.util.Date; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 订å(Order)表å®ä½ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-07-31 11:57:44 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("orders") |
| | | public class Orders implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | /** |
| | | * 订åid |
| | | */ |
| | | @ApiModelProperty(name = "订åid") |
| | | @TableId(value = "id", type = IdType.ASSIGN_UUID) |
| | | private Integer id; |
| | | /** |
| | | * 客æ·åç§° |
| | | */ |
| | | @ApiModelProperty(name = "客æ·åç§°") |
| | | @TableField("proname") |
| | | private String proname; |
| | | /** |
| | | * 产åç¼ç |
| | | */ |
| | | @ApiModelProperty(name = "产åç¼ç ") |
| | | @TableField("code") |
| | | private String code; |
| | | /** |
| | | * 产å大类,0ï¼åææï¼1ï¼æåï¼2ï¼åæå |
| | | */ |
| | | @ApiModelProperty(name = "产å大类,0ï¼åææï¼1ï¼æåï¼2ï¼åæå") |
| | | @TableField("type") |
| | | private Integer type; |
| | | /** |
| | | * åå·è§æ ¼ |
| | | */ |
| | | @ApiModelProperty(name = "åå·è§æ ¼") |
| | | @TableField("specifications") |
| | | private String specifications; |
| | | /** |
| | | * åä½ |
| | | */ |
| | | @ApiModelProperty(name = "åä½") |
| | | @TableField("unit") |
| | | private String unit; |
| | | /** |
| | | * æ°é |
| | | */ |
| | | @ApiModelProperty(name = "æ°é") |
| | | @TableField("number") |
| | | private Integer number; |
| | | /** |
| | | * ç¶æ,0:å¾
ç¼å¶;1:å·²ç¼å¶ |
| | | */ |
| | | @ApiModelProperty(name = "ç¶æ,0:å¾
ç¼å¶;1:å·²ç¼å¶") |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * ä¸å人 |
| | | */ |
| | | @ApiModelProperty(name = "ä¸å人") |
| | | @TableField("username") |
| | | private String username; |
| | | /** |
| | | * ä¸åæ¥æ |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "ä¸åæ¥æ", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | /** |
| | | * äº¤è´§æ¥æ |
| | | */ |
| | | @ApiModelProperty(name = "äº¤è´§æ¥æ") |
| | | @TableField("delivery_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date deliveryTime; |
| | | /** |
| | | * 客æ·åç§° |
| | | */ |
| | | @ApiModelProperty(name = "客æ·åç§°") |
| | | @TableField("custname") |
| | | private String custname; |
| | | /** |
| | | * ç份 |
| | | */ |
| | | @ApiModelProperty(name = "ç份") |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * é¨é¨ |
| | | */ |
| | | @ApiModelProperty(name = "é¨é¨") |
| | | @TableField("department") |
| | | private String department; |
| | | /** |
| | | * ä¸å¡å |
| | | */ |
| | | @ApiModelProperty(name = "ä¸å¡å") |
| | | @TableField("salesman") |
| | | private String salesman; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * |
| | | * @TableName product |
| | | */ |
| | | @TableName(value ="product") |
| | | @Data |
| | | public class Product implements Serializable { |
| | | /** |
| | | * 项ç®id |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 项ç®åç§° |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * 项ç®ç¶ç±» |
| | | */ |
| | | private String father; |
| | | |
| | | /** |
| | | * åä½ |
| | | */ |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ åå¼ |
| | | */ |
| | | private String required; |
| | | |
| | | /** |
| | | * å
æ§å¼ |
| | | */ |
| | | private String internal; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "ä¹è§é", hidden = true) |
| | | @Version |
| | | private Integer version; |
| | | |
| | | /** |
| | | * å
³è åå·id |
| | | */ |
| | | private Integer specificationsId; |
| | | |
| | | @TableField(exist = false) |
| | | private static final long serialVersionUID = 1L; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * |
| | | * @TableName specifications |
| | | */ |
| | | @TableName(value ="specifications") |
| | | @Data |
| | | public class Specifications implements Serializable { |
| | | /** |
| | | * |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * è§æ ¼åç§° |
| | | */ |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "ä¹è§é", hidden = true) |
| | | @Version |
| | | private Integer version; |
| | | |
| | | /** |
| | | * å
³è æ åid |
| | | */ |
| | | private Integer standardId; |
| | | |
| | | @TableField(exist = false) |
| | | private static final long serialVersionUID = 1L; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * |
| | | * @TableName standard |
| | | */ |
| | | @TableName(value ="standard") |
| | | @Data |
| | | public class Standard implements Serializable { |
| | | /** |
| | | * |
| | | */ |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | /** |
| | | * æ ååç§° |
| | | */ |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "ä¹è§é", hidden = true) |
| | | @Version |
| | | private Integer version; |
| | | |
| | | /** |
| | | * å
³è ç©æid |
| | | */ |
| | | private Integer material_id; |
| | | |
| | | @TableField(exist = false) |
| | | private static final long serialVersionUID = 1L; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * <p> |
| | | * |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value="Technology对象", description="") |
| | | public class Technology implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºid") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºåç§°") |
| | | private String name; |
| | | |
| | | private String quota; |
| | | |
| | | @ApiModelProperty(value = "设å¤ç»") |
| | | private String deviceGroup; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty(value = "å
³è è§æ ¼id") |
| | | private Integer specificationsId; |
| | | |
| | | @ApiModelProperty(value = "å
³è 设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class MaterialTreeDto { |
| | | |
| | | private Integer id; |
| | | |
| | | private String name; |
| | | |
| | | private Integer type; |
| | | |
| | | private String code = "[2]"; |
| | | |
| | | List<StandardDto> children; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class ProductDto { |
| | | |
| | | /** |
| | | * 项ç®åç§° |
| | | */ |
| | | private String father; |
| | | |
| | | List<ProductDto2> children; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ProductDto2 { |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 项ç®åç§° |
| | | */ |
| | | private String name; |
| | | |
| | | /** |
| | | * åä½ |
| | | */ |
| | | private String unit; |
| | | |
| | | /** |
| | | * æ åå¼ |
| | | */ |
| | | private String required; |
| | | |
| | | /** |
| | | * å
æ§å¼ |
| | | */ |
| | | private String internal; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | class SpecificationsDto { |
| | | private Integer id; |
| | | |
| | | private String name; |
| | | |
| | | private String code = "[4]"; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | class StandardDto { |
| | | private Integer id; |
| | | |
| | | private String name; |
| | | |
| | | private String code = "[3]"; |
| | | |
| | | List<SpecificationsDto> children; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.Device; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | public interface DeviceService extends IService<Device> { |
| | | |
| | | Map<String, Object> selectTechnology(String deviceGroup); |
| | | |
| | | List<Device> selectDevice(); |
| | | |
| | | /** |
| | | * æ ¹æ®è®¾å¤idæ¥è¯¢è®¾å¤åç§° |
| | | * @param id |
| | | */ |
| | | String getDeviceNameById(Integer id); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.Material; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.dto.MaterialTreeDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãmaterialãçæ°æ®åºæä½Service |
| | | * @createDate 2023-07-26 15:52:50 |
| | | */ |
| | | public interface MaterialService extends IService<Material> { |
| | | |
| | | List<MaterialTreeDto> selectTreeByMaterial(); |
| | | |
| | | /** |
| | | * æ ¹æ®ç©æåç§°æ¥è¯¢ç©æidåç©æç¼ç |
| | | * @param name |
| | | * @return |
| | | */ |
| | | List<Material> selectMcodeId(String name); |
| | | |
| | | /** |
| | | * æ ¹æ®ç©æåç§°åç©æç¼ç æ¥è¯¢ç©æid |
| | | * @param name |
| | | * @param code |
| | | * @return |
| | | */ |
| | | List<Map> selectIdByCoNa(String name, String code); |
| | | /** |
| | | * æ£éªæ¨¡å-->OMS管ç-->æåæ£éª-->æ°å¢(项ç®åç§°ä¸ææ¡ï¼Idä¸åç§°ï¼ç¼ç ) |
| | | */ |
| | | List<Map<String, Object>> selectMaterialIdAndNameAndCode(); |
| | | |
| | | /** |
| | | * æ¥è¯¢ææç©æä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | List<Material> selectMaterial(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.Orders; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 订å(Order)表æå¡æ¥å£ |
| | | * |
| | | * @author zss |
| | | * @since 2023-07-31 11:57:44 |
| | | */ |
| | | public interface OrdersService extends IService<Orders> { |
| | | /** |
| | | * æ¥è¯¢ææè®¢åå表 |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time); |
| | | |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.Product; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãproductãçæ°æ®åºæä½Service |
| | | * @createDate 2023-07-26 16:00:44 |
| | | */ |
| | | public interface ProductService extends IService<Product> { |
| | | |
| | | List<ProductDto> selectTreeProduct(String specifications, String project); |
| | | |
| | | List<Map<String, Object>> selectProductList(Integer specificationsId); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.Material; |
| | | import com.yuanchu.mom.pojo.Specifications; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãspecificationsãçæ°æ®åºæä½Service |
| | | * @createDate 2023-07-26 16:01:49 |
| | | */ |
| | | public interface SpecificationsService extends IService<Specifications> { |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®è§æ ¼idååå·åç§°æ¥è¯¢åå·ä¿¡æ¯ |
| | | * @param id |
| | | * @param name |
| | | * @return |
| | | */ |
| | | Specifications selectSpIdByname(Integer id, String name); |
| | | |
| | | /** |
| | | * æ£éªæ¨¡å-->OMS管ç-->æåæ£éª-->æ°å¢(éè¦è§æ ¼åå·çIdä¸åç§°) |
| | | */ |
| | | List<Map<String, Object>> selectSpecificationIdAndName(Integer materialId); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.Standard; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãstandardãçæ°æ®åºæä½Service |
| | | * @createDate 2023-07-26 15:59:05 |
| | | */ |
| | | public interface StandardService extends IService<Standard> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.Technology; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | public interface TechnologyService extends IService<Technology> { |
| | | |
| | | List<Map<String, Object>> selectTechnology(String technologyName); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.yuanchu.mom.pojo.Device; |
| | | import com.yuanchu.mom.mapper.DeviceMapper; |
| | | import com.yuanchu.mom.service.DeviceService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Service |
| | | public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService { |
| | | |
| | | @Resource |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | @Override |
| | | public Map<String, Object> selectTechnology(String deviceGroup) { |
| | | String[] split = deviceGroup.split("\\+"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | for (String str : split){ |
| | | LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Device::getFather, str); |
| | | wrapper.select(Device::getId, Device::getName); |
| | | List<Map<String, Object>> maps = deviceMapper.selectMaps(wrapper); |
| | | map.put("first", str); |
| | | map.put("children", maps); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | //æ¥è¯¢ææè®¾å¤ |
| | | @Override |
| | | public List<Device> selectDevice() { |
| | | return deviceMapper.selectList(new QueryWrapper<>()); |
| | | } |
| | | |
| | | //æ ¹æ®è®¾å¤idè·å设å¤åç§° |
| | | @Override |
| | | public String getDeviceNameById(Integer id) { |
| | | Device device = deviceMapper.selectById(id); |
| | | return device.getName(); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.pojo.Material; |
| | | import com.yuanchu.mom.pojo.dto.MaterialTreeDto; |
| | | import com.yuanchu.mom.service.MaterialService; |
| | | import com.yuanchu.mom.mapper.MaterialMapper; |
| | | import com.yuanchu.mom.utils.JackSonUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãmaterialãçæ°æ®åºæä½Serviceå®ç° |
| | | * @createDate 2023-07-26 15:52:50 |
| | | */ |
| | | @Service |
| | | public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> |
| | | implements MaterialService { |
| | | |
| | | @Resource |
| | | MaterialMapper materialMapper; |
| | | |
| | | @Override |
| | | public List<MaterialTreeDto> selectTreeByMaterial() { |
| | | List<MaterialTreeDto> materialTreeDtos = materialMapper.selectTreeByMaterial(); |
| | | materialTreeDtos.forEach(System.out::println); |
| | | return materialMapper.selectTreeByMaterial(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectMaterialIdAndNameAndCode() { |
| | | LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(Material::getId, Material::getName, Material::getCode); |
| | | return materialMapper.selectMaps(wrapper); |
| | | } |
| | | |
| | | //æ¥è¯¢ææç©æä¿¡æ¯ |
| | | @Override |
| | | public List<Material> selectMaterial() { |
| | | return materialMapper.selectList(Wrappers.<Material>query()); |
| | | } |
| | | |
| | | //æ ¹æ®ç©æåç§°æ¥è¯¢ç©æidåç©æç¼ç |
| | | @Override |
| | | public List<Material> selectMcodeId(String name) { |
| | | return materialMapper.selectMcodeId(name); |
| | | } |
| | | |
| | | //æ ¹æ®ç©æåç§°åç©æç¼ç æ¥è¯¢ç©æid,è§æ ¼ä¿¡æ¯ååå·ä¿¡æ¯ |
| | | @Override |
| | | public List<Map> selectIdByCoNa(String name, String code) { |
| | | return materialMapper.selectIdByCoNa(name,code); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.OrdersMapper; |
| | | import com.yuanchu.mom.pojo.Orders; |
| | | import com.yuanchu.mom.service.OrdersService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 订å(Order)表æå¡å®ç°ç±» |
| | | * |
| | | * @author zss |
| | | * @since 2023-07-31 11:57:44 |
| | | */ |
| | | @Service("orderService") |
| | | public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements OrdersService { |
| | | |
| | | @Resource |
| | | OrdersMapper orderMapper; |
| | | |
| | | //æ¥è¯¢ææè®¢åå表 |
| | | @Override |
| | | public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, Integer id, String name, Integer state , String time) { |
| | | return orderMapper.selectAllOrder(page, id,name,state, time); |
| | | } |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.pojo.Product; |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | import com.yuanchu.mom.service.ProductService; |
| | | import com.yuanchu.mom.mapper.ProductMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãproductãçæ°æ®åºæä½Serviceå®ç° |
| | | * @createDate 2023-07-26 16:00:44 |
| | | */ |
| | | @Service |
| | | public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService{ |
| | | |
| | | @Resource |
| | | private ProductMapper productMapper; |
| | | |
| | | @Override |
| | | public List<ProductDto> selectTreeProduct(String specifications, String project) { |
| | | return productMapper.selectTreeProduct(specifications, project); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectProductList(Integer specificationsId) { |
| | | LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Product::getSpecificationsId, specificationsId); |
| | | wrapper.select(Product::getName, Product::getFather, Product::getRequired, Product::getInternal, Product::getUnit); |
| | | return productMapper.selectMaps(wrapper); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.SpecificationsMapper; |
| | | import com.yuanchu.mom.pojo.Specifications; |
| | | import com.yuanchu.mom.service.SpecificationsService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãspecificationsãçæ°æ®åºæä½Serviceå®ç° |
| | | * @createDate 2023-07-26 16:01:49 |
| | | */ |
| | | @Service |
| | | public class SpecificationsServiceImpl extends ServiceImpl<SpecificationsMapper, Specifications> |
| | | implements SpecificationsService { |
| | | |
| | | @Resource |
| | | private SpecificationsMapper specificationsMapper; |
| | | |
| | | /** |
| | | * æ£éªæ¨¡å-->OMS管ç-->æåæ£éª-->æ°å¢(éè¦è§æ ¼åå·çIdä¸åç§°) |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> selectSpecificationIdAndName(Integer materialId) { |
| | | List<Map<String, Object>> maps = specificationsMapper.selectSpecificationIdAndName(materialId); |
| | | return maps; |
| | | } |
| | | |
| | | |
| | | //æ ¹æ®è§æ ¼idååå·åç§°æ¥è¯¢åå·ä¿¡æ¯ |
| | | @Override |
| | | public Specifications selectSpIdByname(Integer id, String name) { |
| | | Specifications specifications = specificationsMapper.selectOne(Wrappers.<Specifications>query() |
| | | .eq("standard_id", id) |
| | | .eq("name", name)); |
| | | return specifications; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.pojo.Standard; |
| | | import com.yuanchu.mom.service.StandardService; |
| | | import com.yuanchu.mom.mapper.StandardMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description é对表ãstandardãçæ°æ®åºæä½Serviceå®ç° |
| | | * @createDate 2023-07-26 15:59:05 |
| | | */ |
| | | @Service |
| | | public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> implements StandardService { |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.yuanchu.mom.pojo.Technology; |
| | | import com.yuanchu.mom.mapper.TechnologyMapper; |
| | | import com.yuanchu.mom.service.TechnologyService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-07-31 |
| | | */ |
| | | @Service |
| | | public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technology> implements TechnologyService { |
| | | |
| | | @Resource |
| | | private TechnologyMapper technologyMapper; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectTechnology(String technologyName) { |
| | | LambdaQueryWrapper<Technology> wrapper = new LambdaQueryWrapper<>(); |
| | | if (!ObjectUtils.isEmpty(technologyName)){ |
| | | wrapper.like(Technology::getName, technologyName); |
| | | } |
| | | wrapper.select(Technology::getId, Technology::getName, Technology::getDeviceGroup, Technology::getQuota); |
| | | return technologyMapper.selectMaps(wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.DeviceMapper"> |
| | | |
| | | <select id="selectDeviceTables" resultType="map"> |
| | | SELECT d.`id`, d.`name`, d.`father`,t.`quota` |
| | | FROM device d, technology t |
| | | WHERE d.`state` = 1 |
| | | AND d.`id` = t.`device_id` |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.MaterialMapper"> |
| | | <resultMap id="BaseResultMap" type="Material"> |
| | | <id property="id" column="id" jdbcType="INTEGER"/> |
| | | <result property="code" column="code" jdbcType="VARCHAR"/> |
| | | <result property="name" column="name" jdbcType="VARCHAR"/> |
| | | <result property="type" column="type" jdbcType="INTEGER"/> |
| | | <result property="state" column="state" jdbcType="INTEGER"/> |
| | | <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> |
| | | <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> |
| | | <result property="version" column="version" jdbcType="INTEGER"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="materialTreeDto" type="materialTreeDto"> |
| | | <id property="id" column="mid"/> |
| | | <result property="name" column="mname"/> |
| | | <result property="type" column="type"/> |
| | | <association property="children" resultMap="standardDto"/> |
| | | </resultMap> |
| | | <resultMap id="standardDto" type="standardDto"> |
| | | <id property="id" column="sid"/> |
| | | <result property="name" column="sname"/> |
| | | <association property="children" resultMap="specificationsDto"/> |
| | | </resultMap> |
| | | <resultMap id="specificationsDto" type="specificationsDto"> |
| | | <id property="id" column="spid"/> |
| | | <result property="name" column="spname"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectTreeByMaterial" resultMap="materialTreeDto"> |
| | | select m.type, |
| | | m.id mid, |
| | | m.name mname, |
| | | s.id sid, |
| | | s.name sname, |
| | | s2.id spid, |
| | | s2.name spname, |
| | | p.id pid, |
| | | p.name pname |
| | | from (select type, id, name from material where state = 1) m |
| | | left join (select id, name, material_id from standard where state = 1) s on m.id = s.material_id |
| | | left join (select id, name, standard_id from specifications where state = 1) s2 |
| | | on s2.standard_id = s.id |
| | | left join (select id, name, specifications_id from product where state = 1) p |
| | | on s2.id = p.specifications_id |
| | | </select> |
| | | |
| | | <select id="selectMcodeId" resultType="com.yuanchu.mom.pojo.Material"> |
| | | select id, code |
| | | from mom_ocean.material |
| | | where name = #{name} |
| | | </select> |
| | | |
| | | <select id="selectIdByCoNa" resultType="java.util.Map"> |
| | | select m.id 'ç©æid', |
| | | st.id 'è§æ ¼id', |
| | | st.name 'è§æ ¼åç§°', |
| | | sp.name 'åå·åç§°' |
| | | from mom_ocean.material m, |
| | | mom_ocean.standard st, |
| | | mom_ocean.specifications sp |
| | | where m.id = material_id |
| | | and material_id = standard_id |
| | | and m.name = #{name} |
| | | and code = #{code} |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.yuanchu.mom.mapper.OrdersMapper"> |
| | | <select id="selectAllOrder" resultType="java.util.Map"> |
| | | select o.id, |
| | | department, |
| | | province, |
| | | salesman, |
| | | proname, |
| | | m.name, |
| | | specifications, |
| | | o.type, |
| | | unit, |
| | | number, |
| | | DATE_FORMAT(o.create_time, '%Y-%m-%d') , |
| | | DATE_FORMAT(delivery_time, '%Y-%m-%d'), |
| | | o.state |
| | | from mom_ocean.orders o,mom_ocean.material m |
| | | <where> |
| | | <if test="id != null"> |
| | | and o.id = #{id} |
| | | </if> |
| | | <if test="time != null"> |
| | | and o.create_time = #{time} |
| | | </if> |
| | | <if test="name != null"> |
| | | and m.name = #{name} |
| | | </if> |
| | | <if test="state != null"> |
| | | and o.state = #{state} |
| | | </if> |
| | | and o.code=m.code |
| | | </where> |
| | | order by o.create_time desc |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.ProductMapper"> |
| | | |
| | | <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Product"> |
| | | <id property="id" column="id" jdbcType="INTEGER"/> |
| | | <result property="name" column="name" jdbcType="VARCHAR"/> |
| | | <result property="father" column="father" jdbcType="VARCHAR"/> |
| | | <result property="unit" column="unit" jdbcType="VARCHAR"/> |
| | | <result property="required" column="required" jdbcType="VARCHAR"/> |
| | | <result property="internal" column="internal" jdbcType="VARCHAR"/> |
| | | <result property="state" column="state" jdbcType="INTEGER"/> |
| | | <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> |
| | | <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> |
| | | <result property="version" column="version" jdbcType="INTEGER"/> |
| | | <result property="specificationsId" column="specifications_id" jdbcType="INTEGER"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectTreeProduct" type="ProductDto"> |
| | | <id property="father" column="father" jdbcType="VARCHAR"/> |
| | | <collection property="children" resultMap="productDto2ListMap"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="productDto2ListMap" type="ProductDto2"> |
| | | <id property="id" column="id" jdbcType="INTEGER"/> |
| | | <result property="name" column="name" jdbcType="VARCHAR"/> |
| | | <result property="unit" column="unit" jdbcType="VARCHAR"/> |
| | | <result property="required" column="required" jdbcType="VARCHAR"/> |
| | | <result property="internal" column="internal" jdbcType="VARCHAR"/> |
| | | <result property="state" column="state" jdbcType="INTEGER"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectTreeProduct" resultMap="selectTreeProduct"> |
| | | SELECT p.id, p.`name`, IFNULL(p.`father`,p.`name`) father, p.`unit`, p.`required`, p.`internal` |
| | | FROM product p |
| | | where p.specifications_id = #{specifications} |
| | | <if test="project != null and project != ''"> |
| | | AND p.father like concat('%',#{project},'%') |
| | | </if> |
| | | and p.state = 1 |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.SpecificationsMapper"> |
| | | <resultMap id="BaseResultMap" type="java.util.Map"> |
| | | <id property="id" column="specificationsId" jdbcType="INTEGER"/> |
| | | <result property="name" column="specificationsName" jdbcType="VARCHAR"/> |
| | | <collection property="children" resultMap="BaseResultMapChildren" javaType="java.util.List"/> |
| | | </resultMap> |
| | | <resultMap id="BaseResultMapChildren" type="java.util.Map"> |
| | | <id property="id" column="modelId" jdbcType="INTEGER"/> |
| | | <result property="name" column="modelName" jdbcType="VARCHAR"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectSpecificationIdAndName" resultMap="BaseResultMap"> |
| | | SELECT s.`id` specificationsId, s.`name` specificationsName, f.id modelId, f.name modelName |
| | | FROM standard s |
| | | LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM specifications f WHERE f.`state` = 1) f |
| | | ON s.`id` = f.`standard_id` |
| | | WHERE s.`material_id` = #{materialId} |
| | | AND s.`state` = 1 |
| | | </select> |
| | | |
| | | <select id="selectSpBySt" resultType="com.yuanchu.mom.pojo.Specifications"> |
| | | select name |
| | | from mom_ocean.specifications |
| | | where standard_id = #{id} |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.StandardMapper"> |
| | | |
| | | <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Standard"> |
| | | <id property="id" column="id" jdbcType="INTEGER"/> |
| | | <result property="name" column="name" jdbcType="VARCHAR"/> |
| | | <result property="state" column="state" jdbcType="INTEGER"/> |
| | | <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/> |
| | | <result property="update_time" column="update_time" jdbcType="TIMESTAMP"/> |
| | | <result property="version" column="version" jdbcType="INTEGER"/> |
| | | <result property="material_id" column="material_id" jdbcType="INTEGER"/> |
| | | </resultMap> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.TechnologyMapper"> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | @SpringBootTest |
| | | class StandardServerApplicationTests { |
| | | |
| | | @Test |
| | | void contextLoads() { |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | |
| | | <artifactId>system-run</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>system-run</name> |
| | | <description>system-run</description> |
| | | <packaging>pom</packaging> |
| | | |
| | | <dependencies> |
| | | <!--åºç¡æ¡æ¶ç±»--> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>framework</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>user-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>standard-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>inspect-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | |
| | | <!--druid--> |
| | | <dependency> |
| | | <groupId>com.alibaba</groupId> |
| | | <artifactId>druid</artifactId> |
| | | </dependency> |
| | | |
| | | <!--mybatis-plus--> |
| | | <dependency> |
| | | <groupId>com.baomidou</groupId> |
| | | <artifactId>mybatis-plus-boot-starter</artifactId> |
| | | </dependency> |
| | | |
| | | <!--mybatis-plus代ç çæå¨--> |
| | | <dependency> |
| | | <groupId>com.baomidou</groupId> |
| | | <artifactId>mybatis-plus-generator</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- framework: mybatis-plus代ç çæéè¦ä¸ä¸ªæ¨¡æ¿å¼æ --> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-freemarker</artifactId> |
| | | </dependency> |
| | | |
| | | <!--mysql--> |
| | | <dependency> |
| | | <groupId>mysql</groupId> |
| | | <artifactId>mysql-connector-java</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringPool; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.generator.AutoGenerator; |
| | | import com.baomidou.mybatisplus.generator.InjectionConfig; |
| | | import com.baomidou.mybatisplus.generator.config.*; |
| | | import com.baomidou.mybatisplus.generator.config.po.TableInfo; |
| | | import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; |
| | | import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Scanner; |
| | | |
| | | // æ¼ç¤ºä¾åï¼æ§è¡ main æ¹æ³æ§å¶å°è¾å
¥æ¨¡å表åå车èªå¨çæå¯¹åºé¡¹ç®ç®å½ä¸ |
| | | public class CodeGenerator { |
| | | |
| | | public static String database_url = "jdbc:mysql://localhost:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"; |
| | | public static String database_driver_name = "com.mysql.cj.jdbc.Driver"; |
| | | public static String database_username = "root"; |
| | | public static String database_password= "123456"; |
| | | public static String author = "æ±èéµ·éç½ç»ç§ææéå
¬å¸"; |
| | | public static String model_name = "/inspect-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ |
| | | public static String setParent = "com.yuanchu.mom"; // å
è·¯å¾ |
| | | public static Boolean Override = false; // æ¯å¦è¦ç忥çæä»¶ï¼ |
| | | |
| | | public static void main(String[] args) { |
| | | // 代ç çæå¨ |
| | | AutoGenerator mpg = new AutoGenerator(); |
| | | |
| | | String projectPath = System.getProperty("user.dir"); |
| | | System.out.println(projectPath+"==================="); |
| | | |
| | | GlobalConfig gc = new GlobalConfig() // å
¨å±é
ç½® |
| | | .setOutputDir(projectPath + model_name + "/src/main/java") // è¾åºè·¯å¾ |
| | | .setAuthor(author) // ä½è
注é |
| | | .setOpen(false) // æ¯å¦æå¼ |
| | | .setSwagger2(true) //å®ä½å±æ§ Swagger2 注解 |
| | | .setServiceName("%sService") // 设置serviceNameçåç§°å»å¤§åI |
| | | .setFileOverride(Override);// æ¯å¦è¦çå·²çææä»¶ |
| | | mpg.setGlobalConfig(gc); |
| | | |
| | | // æ°æ®æºé
ç½® æ°æ®åºå è´¦å·å¯ç |
| | | DataSourceConfig dsc = new DataSourceConfig() |
| | | .setUrl(database_url) |
| | | .setDriverName(database_driver_name) |
| | | .setUsername(database_username) |
| | | .setPassword(database_password); |
| | | mpg.setDataSource(dsc); |
| | | |
| | | |
| | | // å
é
ç½® |
| | | PackageConfig pc = new PackageConfig() |
| | | .setModuleName(null) |
| | | .setParent(setParent) |
| | | .setEntity("pojo");// å
è·¯å¾ |
| | | mpg.setPackageInfo(pc); |
| | | |
| | | // èªå®ä¹é
ç½® |
| | | InjectionConfig cfg = new InjectionConfig() { |
| | | @Override |
| | | public void initMap() { |
| | | // to do nothing |
| | | } |
| | | }; |
| | | |
| | | // å¦ææ¨¡æ¿å¼ææ¯ freemarker |
| | | String templatePath = "/templates/mapper.xml.ftl"; |
| | | // å¦ææ¨¡æ¿å¼ææ¯ velocity |
| | | // String templatePath = "/templates/mapper.xml.vm"; |
| | | |
| | | // èªå®ä¹è¾åºé
ç½® |
| | | List<FileOutConfig> focList = new ArrayList<>(); |
| | | // èªå®ä¹é
ç½®ä¼è¢«ä¼å
è¾åº |
| | | focList.add(new FileOutConfig(templatePath) { |
| | | @Override |
| | | public String outputFile(TableInfo tableInfo) { |
| | | // èªå®ä¹è¾åºæä»¶å ï¼ å¦æä½ Entity 设置äºååç¼ãæ¤å¤æ³¨æ xml çåç§°ä¼è·çåçååï¼ |
| | | return projectPath + model_name + "/src/main/resources/mapper/" |
| | | + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; |
| | | } |
| | | }); |
| | | |
| | | cfg.setFileOutConfigList(focList); |
| | | mpg.setCfg(cfg); |
| | | |
| | | // é
ç½®æ¨¡æ¿ |
| | | TemplateConfig templateConfig = new TemplateConfig() |
| | | .setXml(null); |
| | | |
| | | mpg.setTemplate(templateConfig); |
| | | |
| | | // çç¥é
ç½® |
| | | StrategyConfig strategy = new StrategyConfig() |
| | | .setNaming(NamingStrategy.underline_to_camel) |
| | | .setColumnNaming(NamingStrategy.underline_to_camel) |
| | | .setEntityLombokModel(true) |
| | | .setRestControllerStyle(true) |
| | | .setInclude(scanner("表åï¼å¤ä¸ªç©ºæ ¼åå²").split(" ")) |
| | | .setControllerMappingHyphenStyle(true) |
| | | .setTablePrefix("m_"); |
| | | mpg.setStrategy(strategy); |
| | | mpg.setTemplateEngine(new FreemarkerTemplateEngine()); |
| | | //妿ä¸è°ç¨è¯¥æ¹æ³ãå°±ä¼ä½¿ç¨MyBatis-Plusé»è®¤çæä»¶çæè·¯å¾åå
è·¯å¾çææä»¶ãä½å¯ä»¥ä½¿ç¨ä¸é¢çPackageConfigåä¸äºç®åçé
ç½® |
| | | mpg.execute(); |
| | | } |
| | | |
| | | /** |
| | | * <p> |
| | | * è¯»åæ§å¶å°å
容 |
| | | * </p> |
| | | */ |
| | | public static String scanner(String tip) { |
| | | Scanner scanner = new Scanner(System.in); |
| | | StringBuilder help = new StringBuilder(); |
| | | help.append("请è¾å
¥" + tip + "ï¼"); |
| | | System.out.println(help.toString()); |
| | | if (scanner.hasNext()) { |
| | | String ipt = scanner.next(); |
| | | |
| | | if (StringUtils.isNotBlank(ipt)) { |
| | | return ipt; |
| | | } |
| | | } |
| | | throw new MybatisPlusException("请è¾å
¥æ£ç¡®ç" + tip + "ï¼"); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import org.mybatis.spring.annotation.MapperScan; |
| | | import org.springframework.boot.SpringApplication; |
| | | import org.springframework.boot.autoconfigure.SpringBootApplication; |
| | | |
| | | @SpringBootApplication |
| | | @MapperScan("com.yuanchu.mom.mapper")// æ«æMybatisä¸çmapperå
|
| | | public class SystemRunApplication { |
| | | |
| | | public static void main(String[] args) { |
| | | SpringApplication.run(SystemRunApplication.class, args); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.backup; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.*; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | @Component |
| | | @EnableScheduling |
| | | @Slf4j |
| | | public class MysqlDataBackup { |
| | | /** |
| | | * æ°æ®åºçæ¬æ¯å¦ä¸º 8.0 + ï¼false=å¦ true=æ¯ï¼ï¼ mysql8+ éè¦åæ° --column-statistics=0 ï¼ mysql8- ä¸éè¦ |
| | | */ |
| | | Boolean isDbVersion8 = false; |
| | | |
| | | /** |
| | | * å¤ä»½å½ä»¤ |
| | | * USERNAME è´¦å· |
| | | * PASSWORD å¯ç |
| | | * SERVERPATH æå¡å¨IP/åå |
| | | * DBNAME æ°æ®åºåç§° |
| | | * FILEPATH å¤ä»½æä»¶åæ¾å°å+åç§° |
| | | * 说æ |
| | | * cmdCompression ï¼ éå缩 ï¼æ¬å°ææå¡å¨éå®è£
mysqldump å½ä»¤(å®è£
mysqlèªå¸¦æ£ç¬ç«å®è£
) + gzip å½ä»¤(ç¬ç«å®è£
)ï¼ |
| | | * cmd ï¼ ä¸å缩 (æ¬å°ææå¡å¨éå®è£
mysqldump å½ä»¤(å®è£
mysqlèªå¸¦æ£ç¬ç«å®è£
) |
| | | * --column-statistics=0 mysql8 æ·»å è¯¥åæ°, émysql8 䏿·»å , å¦åå°åºé |
| | | */ |
| | | String cmdMysql8 = "mysqldump --column-statistics=0 -u{USERNAME} -p{PASSWORD} -h{SERVERPATH} -P3306 --databases {DBNAME}"; // > {FILEPATH}.sql |
| | | String cmd = "mysqldump -u{USERNAME} -p{PASSWORD} -h{SERVERPATH} -P3306 --databases {DBNAME}"; // > {FILEPATH}.sql |
| | | |
| | | /** |
| | | * å¤ä»½ sql åæ¾ç®å½(ç¸å¯¹è·¯å¾, 注æå¯è½éè¦å¨ MvcConfig é
ç½®è®¿é®æé) |
| | | */ |
| | | @Value("${backup.path}") |
| | | private String filePath; |
| | | |
| | | @Value("${spring.datasource.url}") |
| | | private String dbUrl; |
| | | |
| | | @Value("${spring.datasource.username}") |
| | | private String dbUserName; |
| | | |
| | | @Value("${spring.datasource.password}") |
| | | private String dbPassWord; |
| | | |
| | | @Value("${backup.destiny}") |
| | | private Integer destiny; |
| | | |
| | | @Value("${backup.mysqldump}") |
| | | private String mysqldump; |
| | | |
| | | /** |
| | | * æ¯å¤©æä¸23ç¹05ç§æ§è¡ ã 0 0 4 1/1 * ? ã |
| | | * æµè¯ 20 ç§ä¸æ¬¡ã 0/20 * * * * ? ã@Scheduled(cron = "5 * 23 * * ?") |
| | | */ |
| | | @Scheduled(cron = "5 0 23 * * ?") |
| | | private void configureTasks() { |
| | | log.info("ãå¤ä»½æ°æ®åºã--START"); |
| | | String dbUrl2 = dbUrl.replace("jdbc:mysql://", ""); |
| | | |
| | | // è·åæ°æ®åºåç§° |
| | | String dbName = dbUrl2.substring(dbUrl2.lastIndexOf("/") + 1, dbUrl2.indexOf("?")); |
| | | // è·åæ°æ®åºå°å |
| | | String serverPath = dbUrl2.substring(0, dbUrl2.lastIndexOf(":")); |
| | | // æ°æ®åºè´¦å· |
| | | String username = dbUserName; |
| | | // æ°æ®åºå¯ç |
| | | String password = dbPassWord; |
| | | |
| | | // å¤ä»½æä»¶ç®å½+åç§° å¤ä»½æä»¶åæ¾ç®å½+åç§°(åç§° = æ°æ®åºå+æ¶é´å符串.sql) |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | String format = simpleDateFormat.format(new Date()); |
| | | String timeStr = format |
| | | .replaceAll("-", "_") |
| | | .replaceAll(" ", "_") |
| | | .replaceAll(":", ""); |
| | | timeStr = timeStr.substring(0, 15); |
| | | String pathFileName = filePath + "/" + dbName + "_" + timeStr + ".sql"; |
| | | String newCmd = ""; |
| | | if (isDbVersion8) { |
| | | newCmd = cmdMysql8; |
| | | } else { |
| | | newCmd = cmd; |
| | | } |
| | | // æ§è¡å½ä»¤ |
| | | newCmd = newCmd.replace("{USERNAME}", username) |
| | | .replace("{PASSWORD}", password) |
| | | .replace("{SERVERPATH}", serverPath) |
| | | .replace("{DBNAME}", dbName) |
| | | .replace("{FILEPATH}", pathFileName); |
| | | PrintWriter printWriter = null; |
| | | BufferedReader bufferedReader = null; |
| | | try { |
| | | // åå»ºåæ¾sqlçæä»¶ |
| | | existsFile(new File(pathFileName)); |
| | | printWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(pathFileName), "utf8")); |
| | | Process process = null; |
| | | String property = System.getProperty("os.name"); |
| | | System.out.println(property); |
| | | if (property.indexOf("Linux") != -1) { |
| | | // linux |
| | | process = Runtime.getRuntime().exec(new String[]{"bash", "-c", newCmd}); |
| | | } else { |
| | | // æ¬å°win |
| | | String mysqldumpPath = "cmd /c " + mysqldump + "/" + newCmd; |
| | | System.out.println(mysqldumpPath); |
| | | process = Runtime.getRuntime().exec(mysqldumpPath); |
| | | } |
| | | InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), "utf8"); |
| | | bufferedReader = new BufferedReader(inputStreamReader); |
| | | String line; |
| | | while ((line = bufferedReader.readLine()) != null) { |
| | | printWriter.println(line); |
| | | } |
| | | // æ¤æ¬¡ä¼æ§è¡è¿é¿æ¶é´,ç´å°å¤ä»½å®æ |
| | | printWriter.flush(); |
| | | printWriter.close(); |
| | | //0 è¡¨ç¤ºçº¿ç¨æ£å¸¸ç»æ¢ã |
| | | if (process.waitFor() == 0) { |
| | | // çº¿ç¨æ£å¸¸æ§è¡ |
| | | log.info("ãå¤ä»½æ°æ®åºãSUCCESSï¼SQLæä»¶ï¼{}", pathFileName); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.info("ãå¤ä»½æ°æ®åºãFAILURE"); |
| | | } finally { |
| | | try { |
| | | if (bufferedReader != null) { |
| | | bufferedReader.close(); |
| | | } |
| | | if (printWriter != null) { |
| | | printWriter.close(); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | log.info("ãå¤ä»½æ°æ®åºã--END"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¯å¤©æä¸23ç¹0å10ç§æ§è¡ ã 0 0 4 1/1 * ? ã |
| | | * æµè¯ 20 ç§ä¸æ¬¡ã 0/20 * * * * ? ã |
| | | */ |
| | | @Scheduled(cron = "6 0 23 * * ?") |
| | | private void TimerDeleteFile(){ |
| | | Date date = new Date(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("d"); |
| | | Integer currentDay = Integer.valueOf(sdf.format(date)); |
| | | File file = new File(filePath); |
| | | File[] files = file.listFiles(); |
| | | if (files != null) { |
| | | for(File f : files){ |
| | | if(f.isFile()){//è¥æ¯æä»¶ï¼ç´æ¥æå° |
| | | String[] splitFile = f.getName().split("_"); |
| | | Integer fileDay = Integer.valueOf(splitFile[splitFile.length - 2]); |
| | | Integer i = currentDay - fileDay; |
| | | if (i.equals(destiny)){ |
| | | f.delete(); |
| | | log.info("å¤ä»½sqlæä»¶è¿å¤è¿è¡å é¤ï¼"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 夿æä»¶æ¯å¦åå¨ï¼ä¸åå¨å建 |
| | | */ |
| | | private static void existsFile(File file) { |
| | | // 夿æä»¶è·¯å¾æ¯å¦åå¨,ä¸å卿°å»º |
| | | if (!file.getParentFile().exists()) { |
| | | file.getParentFile().mkdirs(); |
| | | } |
| | | if (!file.exists()) { |
| | | try { |
| | | file.createNewFile(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | swagger: |
| | | enabled: true |
| | | |
| | | # æ¥å¿é
ç½® |
| | | logging: |
| | | config: classpath:logback-spring.xml |
| | | # æ¥å¿åå¨è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | file-location: |
| | | |
| | | # æ°æ®åºå¤ä»½è·¯å¾ |
| | | backup: |
| | | # æ°æ®åºå¤ä»½è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | path: E:/webapp/backup |
| | | # æ°æ®åºå¤ä»½å¤©æ° |
| | | destiny: 7 |
| | | # æ°æ®åºå¤ä»½å·¥å
·è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | mysqldump: E:\JavaCode\WMS\WMS_Admin\src\main\resources |
| | | |
| | | # ç
§çåå¨è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | file: |
| | | path: E:/webapp/images |
| | | |
| | | mybatis-plus: |
| | | type-aliases-package: com.yuanchu.mom.pojo |
| | | mapper-locations: classpath*:/mapper/*.xml |
| | | configuration: |
| | | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # å¼å¯mybatis-plusæ¥å¿ |
| | | |
| | | |
| | | # æ°æ®æºé
ç½® |
| | | spring: |
| | | datasource: |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driverClassName: com.mysql.cj.jdbc.Driver |
| | | url: jdbc:mysql://localhost:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: 123456 |
| | | druid: |
| | | # Druidæ°æ®æºé
ç½® |
| | | initialSize: 5 # åå§è¿æ¥æ° |
| | | minIdle: 10 # æå°è¿æ¥æ± æ°é |
| | | maxActive: 20 # æå¤§è¿æ¥æ± æ°é |
| | | maxWait: 60000 # é
ç½®è·åè¿æ¥çå¾
è¶
æ¶çæ¶é´ |
| | | timeBetweenEvictionRunsMillis: 60000 # é
ç½®é´éå¤ä¹
æè¿è¡ä¸æ¬¡æ£æµï¼æ£æµéè¦å
³éç空é²è¿æ¥ï¼å使¯æ¯«ç§ |
| | | minEvictableIdleTimeMillis: 300000 # é
ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿å°çåçæ¶é´ï¼å使¯æ¯«ç§ |
| | | maxEvictableIdleTimeMillis: 900000 # é
ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿大çåçæ¶é´ï¼å使¯æ¯«ç§ |
| | | validationQuery: SELECT 1 FROM DUAL # é
ç½®æ£æµè¿æ¥æ¯å¦ææ |
| | | testWhileIdle: true #ç³è¯·è¿æ¥çæ¶åæ£æµï¼å¦æç©ºé²æ¶é´å¤§äºtimeBetweenEvictionRunsMillisï¼æ§è¡validationQueryæ£æµè¿æ¥æ¯å¦ææã |
| | | testOnBorrow: false #é
ç½®ä»è¿æ¥æ± è·åè¿æ¥æ¶ï¼æ¯å¦æ£æ¥è¿æ¥æææ§ï¼trueæ¯æ¬¡é½æ£æ¥ï¼false䏿£æ¥ãåäºè¿ä¸ªé
ç½®ä¼é使§è½ã |
| | | testOnReturn: false #é
ç½®åè¿æ¥æ± å½è¿è¿æ¥æ¶ï¼æ¯å¦æ£æ¥è¿æ¥æææ§ï¼trueæ¯æ¬¡é½æ£æ¥ï¼false䏿£æ¥ãåäºè¿ä¸ªé
ç½®ä¼é使§è½ã |
| | | poolPreparedStatements: true #æå¼PsCacheï¼å¹¶ä¸æå®æ¯ä¸ªè¿æ¥ä¸PSCacheçå¤§å° |
| | | maxPoolPreparedStatementPerConnectionSize: 20 |
| | | filters: stat,wall,log4j # é
ç½®çæ§ç»è®¡æ¦æªçfiltersï¼å»æåçæ§çé¢sqlæ æ³ç»è®¡ï¼'wall'ç¨äºé²ç«å¢ |
| | | useGlobalDataSourceStat: true #åå¹¶å¤ä¸ªDruidDatasourceççæ§æ°æ® |
| | | connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500; #éè¿connectProperties屿§æ¥æå¼mergesqlåè½ç½æ
¢sQLè®°å½ |
| | | redis: |
| | | # redisæ°æ®åºç´¢å¼(é»è®¤ä¸º0)ï¼æä»¬ä½¿ç¨ç´¢å¼ä¸º3çæ°æ®åºï¼é¿å
åå
¶ä»æ°æ®åºå²çª |
| | | database: 0 |
| | | # redisæå¡å¨å°åï¼é»è®¤ä¸ºlocalhostï¼ |
| | | host: localhost |
| | | # redis端å£ï¼é»è®¤ä¸º6379ï¼ |
| | | port: 6379 |
| | | # redis访é®å¯ç ï¼é»è®¤ä¸ºç©ºï¼ |
| | | password: null |
| | | # redisè¿æ¥è¶
æ¶æ¶é´ï¼å使¯«ç§ï¼ |
| | | timeout: 10 |
| | | # redisè¿æ¥æ± é
ç½® |
| | | pool: |
| | | # æå¤§å¯ç¨è¿æ¥æ°ï¼é»è®¤ä¸º8ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-active: 8 |
| | | # æå¤§ç©ºé²è¿æ¥æ°ï¼é»è®¤ä¸º8ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-idle: 8 |
| | | # æå°ç©ºé²è¿æ¥æ°ï¼é»è®¤ä¸º0ï¼è¯¥å¼åªæä¸ºæ£æ°ææç¨ï¼ |
| | | min-idle: 0 |
| | | # ä»è¿æ¥æ± ä¸è·åè¿æ¥æå¤§çå¾
æ¶é´ï¼é»è®¤ä¸º-1ï¼åä½ä¸ºæ¯«ç§ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-wait: -1 |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | swagger: |
| | | enabled: false |
| | | |
| | | # æ¥å¿é
ç½® |
| | | logging: |
| | | config: classpath:logback-spring.xml |
| | | # æ¥å¿åå¨è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | file-location: /javaWork/Blog/log |
| | | |
| | | # æ°æ®åºå¤ä»½è·¯å¾ |
| | | backup: |
| | | # æ°æ®åºå¤ä»½è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | path: /javaWork/Blog/backup |
| | | # æ°æ®åºå¤ä»½å¤©æ°+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | destiny: 7 |
| | | # æ°æ®åºå¤ä»½å·¥å
·è·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | mysqldump: /javaWork/Blog/conf |
| | | |
| | | # ç
§çè·¯å¾+++++++++++++++++++++++++++è¿ç»´éè¦é
ç½®+++++++++++++++++++++++++++ |
| | | file: |
| | | path: /javaWork/Blog/images |
| | | |
| | | mybatis-plus: |
| | | configuration: |
| | | log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl # å
³émybatis-plusæ¥å¿ |
| | | |
| | | # æ°æ®æºé
ç½® |
| | | spring: |
| | | datasource: |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driverClassName: com.mysql.jdbc.Driver |
| | | url: jdbc:mysql://localhost:3306/blog_crunchy?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: 123456 |
| | | druid: |
| | | # Druidæ°æ®æºé
ç½® |
| | | initialSize: 5 # åå§è¿æ¥æ° |
| | | minIdle: 10 # æå°è¿æ¥æ± æ°é |
| | | maxActive: 20 # æå¤§è¿æ¥æ± æ°é |
| | | maxWait: 60000 # é
ç½®è·åè¿æ¥çå¾
è¶
æ¶çæ¶é´ |
| | | timeBetweenEvictionRunsMillis: 60000 # é
ç½®é´éå¤ä¹
æè¿è¡ä¸æ¬¡æ£æµï¼æ£æµéè¦å
³éç空é²è¿æ¥ï¼å使¯æ¯«ç§ |
| | | minEvictableIdleTimeMillis: 300000 # é
ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿å°çåçæ¶é´ï¼å使¯æ¯«ç§ |
| | | maxEvictableIdleTimeMillis: 900000 # é
ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿大çåçæ¶é´ï¼å使¯æ¯«ç§ |
| | | validationQuery: SELECT 1 FROM DUAL # é
ç½®æ£æµè¿æ¥æ¯å¦ææ |
| | | testWhileIdle: true #ç³è¯·è¿æ¥çæ¶åæ£æµï¼å¦æç©ºé²æ¶é´å¤§äºtimeBetweenEvictionRunsMillisï¼æ§è¡validationQueryæ£æµè¿æ¥æ¯å¦ææã |
| | | testOnBorrow: false #é
ç½®ä»è¿æ¥æ± è·åè¿æ¥æ¶ï¼æ¯å¦æ£æ¥è¿æ¥æææ§ï¼trueæ¯æ¬¡é½æ£æ¥ï¼false䏿£æ¥ãåäºè¿ä¸ªé
ç½®ä¼é使§è½ã |
| | | testOnReturn: false #é
ç½®åè¿æ¥æ± å½è¿è¿æ¥æ¶ï¼æ¯å¦æ£æ¥è¿æ¥æææ§ï¼trueæ¯æ¬¡é½æ£æ¥ï¼false䏿£æ¥ãåäºè¿ä¸ªé
ç½®ä¼é使§è½ã |
| | | poolPreparedStatements: true #æå¼PsCacheï¼å¹¶ä¸æå®æ¯ä¸ªè¿æ¥ä¸PSCacheçå¤§å° |
| | | maxPoolPreparedStatementPerConnectionSize: 20 |
| | | filters: stat,wall,log4j # é
ç½®çæ§ç»è®¡æ¦æªçfiltersï¼å»æåçæ§çé¢sqlæ æ³ç»è®¡ï¼'wall'ç¨äºé²ç«å¢ |
| | | useGlobalDataSourceStat: true #åå¹¶å¤ä¸ªDruidDatasourceççæ§æ°æ® |
| | | connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500; #éè¿connectProperties屿§æ¥æå¼mergesqlåè½ç½æ
¢sQLè®°å½ |
| | | |
| | | |
| | | redis: |
| | | # redisæ°æ®åºç´¢å¼(é»è®¤ä¸º0)ï¼æä»¬ä½¿ç¨ç´¢å¼ä¸º3çæ°æ®åºï¼é¿å
åå
¶ä»æ°æ®åºå²çª |
| | | database: 0 |
| | | # redisæå¡å¨å°åï¼é»è®¤ä¸ºloaclhostï¼ |
| | | host: 127.0.0.1 |
| | | # redis端å£ï¼é»è®¤ä¸º6379ï¼ |
| | | port: 6379 |
| | | # redis访é®å¯ç ï¼é»è®¤ä¸ºç©ºï¼ |
| | | # password: |
| | | # redisè¿æ¥è¶
æ¶æ¶é´ï¼å使¯«ç§ï¼ |
| | | timeout: 0 |
| | | # redisè¿æ¥æ± é
ç½® |
| | | pool: |
| | | # æå¤§å¯ç¨è¿æ¥æ°ï¼é»è®¤ä¸º8ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-active: 8 |
| | | # æå¤§ç©ºé²è¿æ¥æ°ï¼é»è®¤ä¸º8ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-idle: 8 |
| | | # æå°ç©ºé²è¿æ¥æ°ï¼é»è®¤ä¸º0ï¼è¯¥å¼åªæä¸ºæ£æ°ææç¨ï¼ |
| | | min-idle: 0 |
| | | # ä»è¿æ¥æ± ä¸è·åè¿æ¥æå¤§çå¾
æ¶é´ï¼é»è®¤ä¸º-1ï¼åä½ä¸ºæ¯«ç§ï¼è´æ°è¡¨ç¤ºæ éï¼ |
| | | max-wait: -1 |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | server: |
| | | port: 8001 |
| | | spring: |
| | | profiles: |
| | | active: dev |
| | | |
| | | mybatis-plus: |
| | | type-aliases-package: com.yuanchu.mom.pojo |
| | | mapper-locations: classpath*:/mapper/*Mapper.xml |
| | | global-config: |
| | | banner: off # å
³émybatis-pluså¯å¨å¾æ |
| | | |
| | | feign: |
| | | client: |
| | | config: |
| | | default: |
| | | connectTimeout: 2000 |
| | | readTimeout: 3000 |
| | | loggerLevel: FULL |
| | | httpclient: |
| | | enabled: false # å
³é httpclient |
| | | okhttp: |
| | | enabled: true # å¼å¯ okhttp |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- æ¥å¿çº§å«ä»ä½å°é«å为TRACE < DEBUG < INFO < WARN < ERROR < FATALï¼æ¯å¦: å¦æè®¾ç½®ä¸ºWARNï¼åä½äºWARNçä¿¡æ¯é½ä¸ä¼è¾åº --> |
| | | <!-- scan:彿¤å±æ§è®¾ç½®ä¸ºtrueæ¶ï¼é
ç½®ææ¡£å¦æåçæ¹åï¼å°ä¼è¢«éæ°å è½½ï¼é»è®¤å¼ä¸ºtrue --> |
| | | <!-- scanPeriod:è®¾ç½®çæµé
ç½®ææ¡£æ¯å¦æä¿®æ¹çæ¶é´é´éï¼å¦ææ²¡æç»åºæ¶é´åä½ï¼é»è®¤å使¯æ¯«ç§ãå½scan为trueæ¶ï¼æ¤å±æ§çæãé»è®¤çæ¶é´é´é为1åéã --> |
| | | <!-- debug:彿¤å±æ§è®¾ç½®ä¸ºtrueæ¶ï¼å°æå°åºlogbackå
鍿¥å¿ä¿¡æ¯ï¼å®æ¶æ¥çlogbackè¿è¡ç¶æãé»è®¤å¼ä¸ºfalseã --> |
| | | <configuration scan="true" scanPeriod="10 seconds"> |
| | | <contextName>logback</contextName> |
| | | |
| | | <!-- nameç弿¯åéçåç§°ï¼valueç弿¶åéå®ä¹çå¼ãéè¿å®ä¹çå¼ä¼è¢«æå
¥å°loggerä¸ä¸æä¸ãå®ä¹åï¼å¯ä»¥ä½¿â${}âæ¥ä½¿ç¨åéã --> |
| | | <springProperty scope="context" name="logs" source="logging.file-location" default="/var/log/myapp"/> |
| | | <property name="log.path" value="${logs}"/> |
| | | |
| | | <!--0. æ¥å¿æ ¼å¼åé¢è²æ¸²æ --> |
| | | <!-- å½©è²æ¥å¿ä¾èµç渲æç±» --> |
| | | <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
| | | <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
| | | <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
| | | <!-- å½©è²æ¥å¿æ ¼å¼ --> |
| | | <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
| | | |
| | | <!--1. è¾åºå°æ§å¶å°--> |
| | | <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--æ¤æ¥å¿appenderæ¯ä¸ºå¼å使ç¨ï¼åªé
ç½®æåºçº§å«ï¼æ§å¶å°è¾åºçæ¥å¿çº§å«æ¯å¤§äºæçäºæ¤çº§å«çæ¥å¿ä¿¡æ¯--> |
| | | <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| | | <level>debug</level> |
| | | </filter> |
| | | <encoder> |
| | | <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
| | | <!-- 设置å符é --> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <!--2. è¾åºå°ææ¡£--> |
| | | <!-- 2.1 level为 DEBUG æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/debug.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 设置å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- æ¥å¿å½æ¡£ --> |
| | | <fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½debug级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>debug</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.2 level为 INFO æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/info.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- æ¯å¤©æ¥å¿å½æ¡£è·¯å¾ä»¥åæ ¼å¼ --> |
| | | <fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½info级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>info</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.3 level为 WARN æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/warn.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½warn级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>warn</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.4 level为 ERROR æ¥å¿ï¼æ¶é´æ»å¨è¾åº --> |
| | | <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/error.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£åªè®°å½ERROR级å«ç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.5 ææ é¤äºDEBUG级å«çå
¶å®é«äºDEBUGç æ¥å¿ï¼è®°å½å°ä¸ä¸ªæä»¶ --> |
| | | <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- æ£å¨è®°å½çæ¥å¿ææ¡£çè·¯å¾åææ¡£å --> |
| | | <file>${log.path}/all.log</file> |
| | | <!--æ¥å¿ææ¡£è¾åºæ ¼å¼--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- æ¤å¤è®¾ç½®å符é --> |
| | | </encoder> |
| | | <!-- æ¥å¿è®°å½å¨çæ»å¨çç¥ï¼ææ¥æï¼æå¤§å°è®°å½ --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--æ¥å¿ææ¡£ä¿ç天æ°--> |
| | | <maxHistory>60</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- æ¤æ¥å¿ææ¡£è®°å½é¤äºDEBUG级å«çå
¶å®é«äºDEBUGç --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>DEBUG</level> |
| | | <onMatch>DENY</onMatch> |
| | | <onMismatch>ACCEPT</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- |
| | | <logger>ç¨æ¥è®¾ç½®æä¸ä¸ªå
æè
å
·ä½çæä¸ä¸ªç±»çæ¥å¿æå°çº§å«ã |
| | | 以åæå®<appender>ã<logger>ä»
æä¸ä¸ªname屿§ï¼ |
| | | ä¸ä¸ªå¯éçlevelåä¸ä¸ªå¯éçaddtivity屿§ã |
| | | name:ç¨æ¥æå®åæ¤logger约æçæä¸ä¸ªå
æè
å
·ä½çæä¸ä¸ªç±»ã |
| | | level:ç¨æ¥è®¾ç½®æå°çº§å«ï¼å¤§å°åæ å
³ï¼TRACE, DEBUG, INFO, WARN, ERROR, ALL å OFFï¼ |
| | | è¿æä¸ä¸ªç¹æ®å¼INHERITEDæè
åä¹è¯NULLï¼ä»£è¡¨å¼ºå¶æ§è¡ä¸çº§ç级å«ã |
| | | 妿æªè®¾ç½®æ¤å±æ§ï¼é£ä¹å½åloggerå°ä¼ç»§æ¿ä¸çº§ç级å«ã |
| | | addtivity:æ¯å¦åä¸çº§loggerä¼ éæå°ä¿¡æ¯ãé»è®¤æ¯trueã |
| | | <logger name="org.springframework.web" level="info"/> |
| | | <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/> |
| | | --> |
| | | |
| | | <!-- |
| | | 使ç¨mybatisçæ¶åï¼sqlè¯å¥æ¯debug䏿伿å°ï¼èè¿éæä»¬åªé
ç½®äºinfoï¼æä»¥æ³è¦æ¥çsqlè¯å¥çè¯ï¼æä»¥ä¸ä¸¤ç§æä½ï¼ |
| | | 第ä¸ç§æ<root level="info">æ¹æ<root level="DEBUG">è¿æ ·å°±ä¼æå°sqlï¼ä¸è¿è¿æ ·æ¥å¿é£è¾¹ä¼åºç°å¾å¤å
¶ä»æ¶æ¯ |
| | | 第äºç§å°±æ¯åç¬ç»daoä¸ç®å½é
ç½®debug模å¼ï¼ä»£ç å¦ä¸ï¼è¿æ ·é
ç½®sqlè¯å¥ä¼æå°ï¼å
¶ä»è¿æ¯æ£å¸¸info级å«ï¼ |
| | | ãlogging.level.org.mybatis=debug logging.level.dao=debugã |
| | | --> |
| | | |
| | | <!-- |
| | | rootèç¹æ¯å¿
éèç¹ï¼ç¨æ¥æå®æåºç¡çæ¥å¿è¾åºçº§å«ï¼åªæä¸ä¸ªlevel屿§ |
| | | level:ç¨æ¥è®¾ç½®æå°çº§å«ï¼å¤§å°åæ å
³ï¼TRACE, DEBUG, INFO, WARN, ERROR, ALL å OFFï¼ |
| | | ä¸è½è®¾ç½®ä¸ºINHERITEDæè
åä¹è¯NULLãé»è®¤æ¯DEBUG |
| | | å¯ä»¥å
å«é¶ä¸ªæå¤ä¸ªå
ç´ ï¼æ è¯è¿ä¸ªappenderå°ä¼æ·»å å°è¿ä¸ªloggerã |
| | | --> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- 4 æç»ççç¥ï¼ |
| | | åºæ¬çç¥(root级) + æ ¹æ®profileå¨å¯å¨æ¶, loggeræ ç¾ä¸å®å¶åpackageæ¥å¿çº§å«(ä¼å
级é«äºä¸é¢çroot级)--> |
| | | <springProfile name="dev"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="debug"/> <!-- å¼åç¯å¢, æå®æå
æ¥å¿ä¸ºdebug级 --> |
| | | </springProfile> |
| | | |
| | | <springProfile name="test"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> <!-- æµè¯ç¯å¢, æå®æå
æ¥å¿ä¸ºinfo级 --> |
| | | </springProfile> |
| | | |
| | | <springProfile name="prod"> |
| | | <root level="info"> |
| | | <!-- ç产ç¯å¢æå¥½ä¸é
ç½®consoleåæä»¶ --> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.yuanchu.limslaboratory" level="warn"/> <!-- ç产ç¯å¢, æå®æå
æ¥å¿ä¸ºwarn级 --> |
| | | <logger name="com.yuanchu.limslaboratory.SysApplication" level="info"/> <!-- ç¹å®æä¸ªç±»æå°infoæ¥å¿, æ¯å¦applicationå¯å¨æååçæç¤ºè¯ --> |
| | | </springProfile> |
| | | |
| | | </configuration> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | @SpringBootTest |
| | | class SystemRunApplicationTest { |
| | | |
| | | @Test |
| | | void contextLoads() { |
| | | int i = checkValues(">=2", "=0", "0"); |
| | | System.out.println(i); |
| | | } |
| | | |
| | | public int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { |
| | | boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); |
| | | boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); |
| | | |
| | | if (isStandardValueSatisfied && isControlValueSatisfied) { |
| | | return 1; |
| | | } else { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | private boolean isValueSatisfied(String valueStr, String detectionValueStr) { |
| | | String substring = valueStr.substring(1,2); |
| | | if (substring.equals("=")) { |
| | | String operator = valueStr.substring(0, 2); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(2)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator){ |
| | | case ">=": |
| | | return detectionValue >= standardValue; |
| | | case "<=": |
| | | return detectionValue <= standardValue; |
| | | default: |
| | | return false; |
| | | } |
| | | }else { |
| | | String operator = valueStr.substring(0,1); |
| | | Double standardValue = Double.parseDouble(valueStr.substring(1)); |
| | | Double detectionValue = Double.parseDouble(detectionValueStr); |
| | | switch (operator){ |
| | | case ">": |
| | | return detectionValue > standardValue; |
| | | case "<": |
| | | return detectionValue < standardValue; |
| | | case "=": |
| | | return detectionValue.equals(standardValue); |
| | | default: |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <artifactId>mom</artifactId> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <version>1.0.0</version> |
| | | </parent> |
| | | |
| | | <artifactId>user-server</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <name>user-server</name> |
| | | <description>user-server</description> |
| | | <packaging>jar</packaging> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>com.yuanchu.mom</groupId> |
| | | <artifactId>framework</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.pojo.User; |
| | | import com.yuanchu.mom.service.UserService; |
| | | import com.yuanchu.mom.utils.JackSonUtil; |
| | | import com.yuanchu.mom.utils.Jwt; |
| | | import com.yuanchu.mom.utils.RedisUtil; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @RequestMapping("/user") |
| | | @RestController |
| | | @Api(tags = "ç¨æ·æ¨¡å") |
| | | public class UserController { |
| | | |
| | | @Autowired |
| | | UserService userService; |
| | | |
| | | @Autowired |
| | | private Jwt jwt; |
| | | |
| | | @ApiOperation(value = "ç»å½") |
| | | @PostMapping("/enter") |
| | | public Result login(String account, String password) { |
| | | User user = userService.selectUserByPwd(account, password); |
| | | if (user==null) return Result.fail("ç»å½å¤±è´¥"); |
| | | String jwtToken = jwt.createJwt(user.getName(), user.getId(), 60); |
| | | String jwtReToken = jwt.createJwt(user.getName(), user.getId(), 24 * 60); |
| | | RedisUtil.set("" + user.getId(), jwtToken, 60); |
| | | RedisUtil.set(user.getId() + "Re", jwtReToken, 24 * 60); |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("token", jwtToken); |
| | | map.put("reToken", jwtReToken); |
| | | map.put("name", user.getName()); |
| | | return Result.success("ç»å½æå", map); |
| | | } |
| | | |
| | | @PostMapping("/refresh") |
| | | public Result refresh(String reToken) throws Exception { |
| | | Map<String, String> map = new Jwt().readJWT(reToken); |
| | | Map<String, String> maps = JackSonUtil.unmarshal(map.get("data"), Map.class); |
| | | if (map.get("state").equals("0")) { |
| | | String redisToken = String.valueOf(RedisUtil.get(maps.get("id") + "Re")); |
| | | if (!redisToken.equals(reToken)) { |
| | | return Result.success("ä¸åå¨çtoken", "1"); |
| | | } else if (redisToken.equals(reToken)) { |
| | | int id = Integer.parseInt(maps.get("id").replaceAll("\"", "")); |
| | | String name = maps.get("name").replaceAll("\"", ""); |
| | | String jwtToken = jwt.createJwt(name, id, 60); |
| | | String jwtReToken = jwt.createJwt(name, id, 24 * 60); |
| | | RedisUtil.set("" + id, jwtToken, 60); |
| | | RedisUtil.set(id + "Re", jwtReToken, 24 * 60); |
| | | Map<String, String> map1 = new HashMap<>(); |
| | | map1.put("token", jwtToken); |
| | | map1.put("reToken", jwtReToken); |
| | | return Result.success("å·æ°æå", map1); |
| | | } |
| | | } |
| | | return Result.fail(map.get("info")); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.yuanchu.mom.pojo.User; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface UserMapper extends BaseMapper<User> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Builder; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @Builder |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | public class User { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | private String account; |
| | | |
| | | private String password; |
| | | |
| | | private String name; |
| | | |
| | | private int state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date updateTime; |
| | | |
| | | private int version; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.User; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface UserService { |
| | | |
| | | /*夿æ¯å¦ç»å½æå*/ |
| | | User selectUserByPwd(String account, String password); |
| | | |
| | | //æ ¹æ®ç¨æ·idæ¥è¯¢ç¨æ·å |
| | | String selectNameById(Integer id); |
| | | |
| | | /** |
| | | * æ£éªæ¨¡å-->OMS管ç-->æåæ£éª-->æ°å¢(éè¦ç¨æ·Idä¸åç§°) |
| | | */ |
| | | List<Map<String, Object>> listUserIdAndName(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.imp; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.yuanchu.mom.mapper.UserMapper; |
| | | import com.yuanchu.mom.pojo.User; |
| | | import com.yuanchu.mom.service.UserService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.DigestUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class UserServiceImp implements UserService { |
| | | |
| | | @Resource |
| | | UserMapper userMapper; |
| | | |
| | | @Override |
| | | public User selectUserByPwd(String account, String password) { |
| | | QueryWrapper<User> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("account", account).eq("password", DigestUtils.md5DigestAsHex(password.getBytes())); |
| | | List<User> list = userMapper.selectList(wrapper); |
| | | return list.size()>0?list.get(0):null; |
| | | } |
| | | |
| | | //æ ¹æ®ç¨æ·idæ¥è¯¢ç¨æ·å |
| | | @Override |
| | | public String selectNameById(Integer id) { |
| | | User user = userMapper.selectById(id); |
| | | return user.getName(); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> listUserIdAndName() { |
| | | LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(User::getId, User::getName); |
| | | return userMapper.selectMaps(wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.UserMapper"> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | @SpringBootTest |
| | | class SystemRunApplicationTests { |
| | | |
| | | @Test |
| | | void contextLoads() { |
| | | } |
| | | |
| | | } |