From 426b962ef0c40ae856e06360a26c3fb121d0ff60 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 03 九月 2025 11:22:02 +0800 Subject: [PATCH] art: 集成Swagger2 --- src/main/java/com/lxzn/LxznSystemCollectApplication.java | 6 src/main/java/com/lxzn/common/Result.java | 176 ++++++++++++++++ src/main/java/com/lxzn/modules/assembly2/service/impl/TcOpstateServiceImpl.java | 22 ++ src/main/java/com/lxzn/modules/assembly2/controller/AssemblyCollectionJobController.java | 28 ++ src/main/java/com/lxzn/CodeGenerate.java | 4 src/main/java/com/lxzn/config/Swagger2Config.java | 183 ++++++++++++++++ pom.xml | 10 src/main/java/com/lxzn/modules/assembly2/service/ITcOpstateService.java | 16 + src/main/java/com/lxzn/modules/assembly2/entity/T020Boltcheck.java | 48 ++++ src/main/java/com/lxzn/modules/assembly2/mapper/T020BoltcheckMapper.java | 16 + src/main/java/com/lxzn/modules/assembly2/service/IT020BoltcheckService.java | 16 + src/main/java/com/lxzn/modules/assembly2/entity/TcOpstate.java | 32 ++ src/main/java/com/lxzn/common/CommonConstant.java | 28 ++ src/main/java/com/lxzn/modules/assembly2/service/impl/T020BoltcheckServiceImpl.java | 22 ++ src/main/java/com/lxzn/modules/assembly2/mapper/xml/TcOpstateMapper.xml | 5 src/main/resources/application-dev.yml | 16 + src/main/java/com/lxzn/modules/assembly2/mapper/xml/T020BoltcheckMapper.xml | 5 src/main/java/com/lxzn/modules/assembly2/mapper/TcOpstateMapper.java | 16 + 18 files changed, 642 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index a0d5715..5d0c957 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,9 @@ <mybatis-plus.version>3.5.6</mybatis-plus.version> <dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version> <druid.version>1.1.22</druid.version> + + <knife4j-spring-boot-starter.version>3.0.3</knife4j-spring-boot-starter.version> + <knife4j-spring-ui.version>2.0.9</knife4j-spring-ui.version> </properties> <dependencies> @@ -73,6 +76,13 @@ <scope>runtime</scope> </dependency> + <!-- knife4j --> + <dependency> + <groupId>com.github.xiaoymin</groupId> + <artifactId>knife4j-spring-boot-starter</artifactId> + <version>${knife4j-spring-boot-starter.version}</version> + </dependency> + <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> diff --git a/src/main/java/com/lxzn/CodeGenerate.java b/src/main/java/com/lxzn/CodeGenerate.java index ca7fac5..fc32a6d 100644 --- a/src/main/java/com/lxzn/CodeGenerate.java +++ b/src/main/java/com/lxzn/CodeGenerate.java @@ -3,8 +3,6 @@ import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; -import java.nio.file.Paths; - public class CodeGenerate { public static void main(String[] args) { FastAutoGenerator.create("jdbc:sqlserver://127.0.0.1:1433;databaseName=XHJ-HUB3Line", "sa", "sa123") @@ -22,7 +20,7 @@ .xml("mapper.xml") ) .strategyConfig(builder -> builder - .addInclude("T020_BoltCheck") + .addInclude("TC_OPState") .entityBuilder() .enableLombok() ) diff --git a/src/main/java/com/lxzn/LxznSystemCollectApplication.java b/src/main/java/com/lxzn/LxznSystemCollectApplication.java index 9452417..3d65565 100644 --- a/src/main/java/com/lxzn/LxznSystemCollectApplication.java +++ b/src/main/java/com/lxzn/LxznSystemCollectApplication.java @@ -1,8 +1,10 @@ package com.lxzn; import lombok.extern.slf4j.Slf4j; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.ConfigurableApplicationContext; @@ -16,7 +18,8 @@ * 鎶ラ敊鎻愰啋: 鏈泦鎴恗ongo鎶ラ敊锛屽彲浠ユ墦寮�鍚姩绫讳笂闈㈢殑娉ㄩ噴 exclude={MongoAutoConfiguration.class} */ @Slf4j -@SpringBootApplication +@SpringBootApplication(scanBasePackages = "com.lxzn", exclude = { DataSourceAutoConfiguration.class }) +@MapperScan(value={"com.lxzn.modules.**.mapper*"}) public class LxznSystemCollectApplication extends SpringBootServletInitializer { @Override @@ -33,6 +36,7 @@ log.info("\n----------------------------------------------------------\n\t" + "Application Lxzn System Collect Server is running! Access URLs:\n\t" + "Local: \t\thttp://localhost:" + port + path + "/\n\t" + + "Swagger鏂囨。: \thttp://" + ip + ":" + port + path + "/doc.html\n" + "----------------------------------------------------------"); } diff --git a/src/main/java/com/lxzn/common/CommonConstant.java b/src/main/java/com/lxzn/common/CommonConstant.java new file mode 100644 index 0000000..8c1750d --- /dev/null +++ b/src/main/java/com/lxzn/common/CommonConstant.java @@ -0,0 +1,28 @@ +package com.lxzn.common; + +/** + * @Description: 閫氱敤甯搁噺 + * @author: jeecg-boot + */ +public interface CommonConstant { + /** + * {@code 500 Server Error} (HTTP/1.0 - RFC 1945) + */ + Integer SC_INTERNAL_SERVER_ERROR_500 = 500; + /** + * {@code 200 OK} (HTTP/1.0 - RFC 1945) + */ + Integer SC_OK_200 = 200; + + /** + * 璁块棶鏉冮檺璁よ瘉鏈�氳繃 510 + */ + Integer SC_JEECG_NO_AUTHZ = 510; + + /**===============================================================================================*/ + /** + * ::闈炲父閲嶈:: + * 娉ㄦ剰锛氳繖鍥涗釜甯搁噺鍊煎鏋滀慨鏀癸紝闇�瑕佷笌 jeecg-boot-starter/jeecg-boot-common/org.jeecg.config.FeignConfig 绫讳腑鐨勫�间繚鎸佷竴鑷淬�� + */ + String X_ACCESS_TOKEN = "X-Access-Token"; +} diff --git a/src/main/java/com/lxzn/common/Result.java b/src/main/java/com/lxzn/common/Result.java new file mode 100644 index 0000000..dda1f82 --- /dev/null +++ b/src/main/java/com/lxzn/common/Result.java @@ -0,0 +1,176 @@ +package com.lxzn.common; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 鎺ュ彛杩斿洖鏁版嵁鏍煎紡 + * @author scott + * @email jeecgos@163.com + * @date 2019骞�1鏈�19鏃� + */ +@Data +@ApiModel(value = "鎺ュ彛杩斿洖瀵硅薄", description = "鎺ュ彛杩斿洖瀵硅薄") +public class Result<T> implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 鎴愬姛鏍囧織 + */ + @ApiModelProperty(value = "鎴愬姛鏍囧織") + private boolean success = true; + + /** + * 杩斿洖澶勭悊娑堟伅 + */ + @ApiModelProperty(value = "杩斿洖澶勭悊娑堟伅") + private String message = ""; + + /** + * 杩斿洖浠g爜 + */ + @ApiModelProperty(value = "杩斿洖浠g爜") + private Integer code = 0; + + /** + * 杩斿洖鏁版嵁瀵硅薄 data + */ + @ApiModelProperty(value = "杩斿洖鏁版嵁瀵硅薄") + private T result; + + /** + * 鏃堕棿鎴� + */ + @ApiModelProperty(value = "鏃堕棿鎴�") + private long timestamp = System.currentTimeMillis(); + + public Result() { + } + + /** + * 鍏煎VUE3鐗坱oken澶辨晥涓嶈烦杞櫥褰曢〉闈� + * @param code + * @param message + */ + public Result(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Result<T> success(String message) { + this.message = message; + this.code = CommonConstant.SC_OK_200; + this.success = true; + return this; + } + + public static <T> Result<T> ok() { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + return r; + } + + public static <T> Result<T> ok(String msg) { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + //Result OK(String msg)鏂规硶浼氶�犳垚鍏煎鎬ч棶棰� issues/I4IP3D + r.setResult((T) msg); + r.setMessage(msg); + return r; + } + + public static <T> Result<T> ok(T data) { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setResult(data); + return r; + } + + public static <T> Result<T> OK() { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + return r; + } + + /** + * 姝ゆ柟娉曟槸涓轰簡鍏煎鍗囩骇鎵�鍒涘缓 + * + * @param msg + * @param <T> + * @return + */ + public static <T> Result<T> OK(String msg) { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setMessage(msg); + //Result OK(String msg)鏂规硶浼氶�犳垚鍏煎鎬ч棶棰� issues/I4IP3D + r.setResult((T) msg); + return r; + } + + public static <T> Result<T> OK(T data) { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setResult(data); + return r; + } + + public static <T> Result<T> OK(String msg, T data) { + Result<T> r = new Result<T>(); + r.setSuccess(true); + r.setCode(CommonConstant.SC_OK_200); + r.setMessage(msg); + r.setResult(data); + return r; + } + + public static <T> Result<T> error(String msg, T data) { + Result<T> r = new Result<T>(); + r.setSuccess(false); + r.setCode(CommonConstant.SC_INTERNAL_SERVER_ERROR_500); + r.setMessage(msg); + r.setResult(data); + return r; + } + + public static <T> Result<T> error(String msg) { + return error(CommonConstant.SC_INTERNAL_SERVER_ERROR_500, msg); + } + + public static <T> Result<T> error(int code, String msg) { + Result<T> r = new Result<T>(); + r.setCode(code); + r.setMessage(msg); + r.setSuccess(false); + return r; + } + + public Result<T> error500(String message) { + this.message = message; + this.code = CommonConstant.SC_INTERNAL_SERVER_ERROR_500; + this.success = false; + return this; + } + + /** + * 鏃犳潈闄愯闂繑鍥炵粨鏋� + */ + public static <T> Result<T> noauth(String msg) { + return error(CommonConstant.SC_JEECG_NO_AUTHZ, msg); + } + + @JsonIgnore + private String onlTable; + +} \ No newline at end of file diff --git a/src/main/java/com/lxzn/config/Swagger2Config.java b/src/main/java/com/lxzn/config/Swagger2Config.java new file mode 100644 index 0000000..cce2020 --- /dev/null +++ b/src/main/java/com/lxzn/config/Swagger2Config.java @@ -0,0 +1,183 @@ +package com.lxzn.config; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import com.lxzn.common.CommonConstant; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.util.ReflectionUtils; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; +import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.ParameterBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.schema.ModelRef; +import springfox.documentation.service.*; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; +import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Author scott + */ +@Configuration +@EnableSwagger2 //寮�鍚� Swagger2 +@EnableKnife4j //寮�鍚� knife4j锛屽彲浠ヤ笉鍐� +@Import(BeanValidatorPluginsConfiguration.class) +public class Swagger2Config implements WebMvcConfigurer { + + /** + * + * 鏄剧ずswagger-ui.html鏂囨。灞曠ず椤碉紝杩樺繀椤绘敞鍏wagger璧勬簮锛� + * + * @param registry + */ + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + } + + /** + * swagger2鐨勯厤缃枃浠讹紝杩欓噷鍙互閰嶇疆swagger2鐨勪竴浜涘熀鏈殑鍐呭锛屾瘮濡傛壂鎻忕殑鍖呯瓑绛� + * + * @return Docket + */ + @Bean(value = "defaultApi") + public Docket defaultApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + //姝ゅ寘璺緞涓嬬殑绫伙紝鎵嶇敓鎴愭帴鍙f枃妗� + .apis(RequestHandlerSelectors.basePackage("com.lxzn")) + //鍔犱簡ApiOperation娉ㄨВ鐨勭被锛屾墠鐢熸垚鎺ュ彛鏂囨。 + .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + .paths(PathSelectors.any()) + .build() + .securitySchemes(Collections.singletonList(securityScheme())) + .securityContexts(securityContexts()) + .globalOperationParameters(setHeaderToken()) + .groupName("default"); + } + + /*** + * oauth2閰嶇疆 + * 闇�瑕佸鍔爏wagger鎺堟潈鍥炶皟鍦板潃 + * http://localhost:8888/webjars/springfox-swagger-ui/o2c.html + * @return + */ + @Bean + SecurityScheme securityScheme() { + return new ApiKey(CommonConstant.X_ACCESS_TOKEN, CommonConstant.X_ACCESS_TOKEN, "header"); + } + + /** + * JWT token + * @return + */ + private List<Parameter> setHeaderToken() { + ParameterBuilder tokenPar = new ParameterBuilder(); + List<Parameter> pars = new ArrayList<>(); + tokenPar.name(CommonConstant.X_ACCESS_TOKEN).description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); + pars.add(tokenPar.build()); + return pars; + } + + /** + * api鏂囨。鐨勮缁嗕俊鎭嚱鏁�,娉ㄦ剰杩欓噷鐨勬敞瑙e紩鐢ㄧ殑鏄摢涓� + * + * @return + */ + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + // //澶ф爣棰� + .title("LXZN System Collect 鍚庡彴鏈嶅姟API鎺ュ彛鏂囨。") + // 鐗堟湰鍙� + .version("1.0") +// .termsOfServiceUrl("NO terms of service") + // 鎻忚堪 + .description("鍚庡彴API鎺ュ彛") + // 浣滆�� + .contact(new Contact("瑗垮畨鐏电鏈虹數鏅鸿兘绯荤粺鎶�鏈湁闄愬叕鍙�", "www.xalxzn.com", "zhangherong@xalxzn.com")) + .license("The Apache License, Version 2.0") + .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") + .build(); + } + + /** + * 鏂板 securityContexts 淇濇寔鐧诲綍鐘舵�� + */ + private List<SecurityContext> securityContexts() { + return new ArrayList( + Collections.singleton(SecurityContext.builder() + .securityReferences(defaultAuth()) + .forPaths(PathSelectors.regex("^(?!auth).*$")) + .build()) + ); + } + + private List<SecurityReference> defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + return new ArrayList( + Collections.singleton(new SecurityReference(CommonConstant.X_ACCESS_TOKEN, authorizationScopes))); + } + + /** + * 瑙e喅springboot2.6 鍜宻pringfox涓嶅吋瀹归棶棰� + * @return + */ + @Bean + public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() { + return new BeanPostProcessor() { + + @Override + public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { + if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) { + customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); + } + return bean; + } + + private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) { + List<T> copy = mappings.stream() + .filter(mapping -> mapping.getPatternParser() == null) + .collect(Collectors.toList()); + mappings.clear(); + mappings.addAll(copy); + } + + @SuppressWarnings("unchecked") + private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) { + try { + Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings"); + field.setAccessible(true); + return (List<RequestMappingInfoHandlerMapping>) field.get(bean); + } catch (IllegalArgumentException | IllegalAccessException e) { + throw new IllegalStateException(e); + } + } + }; + } + + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/controller/AssemblyCollectionJobController.java b/src/main/java/com/lxzn/modules/assembly2/controller/AssemblyCollectionJobController.java new file mode 100644 index 0000000..7614212 --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/controller/AssemblyCollectionJobController.java @@ -0,0 +1,28 @@ +package com.lxzn.modules.assembly2.controller; + +import com.lxzn.common.Result; +import com.lxzn.modules.assembly2.entity.TcOpstate; +import com.lxzn.modules.assembly2.service.ITcOpstateService; +import io.swagger.annotations.Api; +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 = "2#瑁呴厤绾块噰闆�") +@RestController +@RequestMapping("/assembly2/job") +public class AssemblyCollectionJobController { + @Autowired + private ITcOpstateService tcOpstateService; + + @ApiOperation(value = "2鍙疯閰嶇嚎閲囬泦-璁惧鐘舵��", notes = "2鍙疯閰嶇嚎閲囬泦-璁惧鐘舵��") + @GetMapping("/opstate") + public Result<?> testOpStateList(){ + List<TcOpstate> list = tcOpstateService.list(); + return Result.ok(list); + } +} diff --git a/src/main/java/com/lxzn/modules/assembly2/entity/T020Boltcheck.java b/src/main/java/com/lxzn/modules/assembly2/entity/T020Boltcheck.java new file mode 100644 index 0000000..05d6e0b --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/entity/T020Boltcheck.java @@ -0,0 +1,48 @@ +package com.lxzn.modules.assembly2.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * + * </p> + * + * @author baomidou + * @since 2025-09-02 + */ +@Getter +@Setter +@TableName("T020_BoltCheck") +public class T020Boltcheck implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "RecordID", type = IdType.AUTO) + private Integer recordID; + + private LocalDateTime recordTime; + + private Integer modelID; + + private Double length; + + private Double lengthUL; + + private Double lengthLL; + + private Double pitchMAX; + + private Double pitchMIN; + + private Double pitchUL; + + private Double pitchLL; + + private String result; +} diff --git a/src/main/java/com/lxzn/modules/assembly2/entity/TcOpstate.java b/src/main/java/com/lxzn/modules/assembly2/entity/TcOpstate.java new file mode 100644 index 0000000..fb68f98 --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/entity/TcOpstate.java @@ -0,0 +1,32 @@ +package com.lxzn.modules.assembly2.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * + * </p> + * + * @author baomidou + * @since 2025-09-03 + */ +@Getter +@Setter +@TableName("TC_OPState") +public class TcOpstate implements Serializable { + + private static final long serialVersionUID = 1L; + + private LocalDateTime recordTime; + + @TableId(value = "OPName", type = IdType.AUTO) + private String oPName; + + private String state; +} diff --git a/src/main/java/com/lxzn/modules/assembly2/mapper/T020BoltcheckMapper.java b/src/main/java/com/lxzn/modules/assembly2/mapper/T020BoltcheckMapper.java new file mode 100644 index 0000000..2ff2321 --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/mapper/T020BoltcheckMapper.java @@ -0,0 +1,16 @@ +package com.lxzn.modules.assembly2.mapper; + +import com.lxzn.modules.assembly2.entity.T020Boltcheck; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author baomidou + * @since 2025-09-02 + */ +public interface T020BoltcheckMapper extends BaseMapper<T020Boltcheck> { + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/mapper/TcOpstateMapper.java b/src/main/java/com/lxzn/modules/assembly2/mapper/TcOpstateMapper.java new file mode 100644 index 0000000..f5f785a --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/mapper/TcOpstateMapper.java @@ -0,0 +1,16 @@ +package com.lxzn.modules.assembly2.mapper; + +import com.lxzn.modules.assembly2.entity.TcOpstate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author baomidou + * @since 2025-09-03 + */ +public interface TcOpstateMapper extends BaseMapper<TcOpstate> { + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/mapper/xml/T020BoltcheckMapper.xml b/src/main/java/com/lxzn/modules/assembly2/mapper/xml/T020BoltcheckMapper.xml new file mode 100644 index 0000000..01c7cc8 --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/mapper/xml/T020BoltcheckMapper.xml @@ -0,0 +1,5 @@ +<?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.lxzn.modules.assembly2.mapper.T020BoltcheckMapper"> + +</mapper> diff --git a/src/main/java/com/lxzn/modules/assembly2/mapper/xml/TcOpstateMapper.xml b/src/main/java/com/lxzn/modules/assembly2/mapper/xml/TcOpstateMapper.xml new file mode 100644 index 0000000..a9ff29f --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/mapper/xml/TcOpstateMapper.xml @@ -0,0 +1,5 @@ +<?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.lxzn.modules.assembly2.mapper.TcOpstateMapper"> + +</mapper> diff --git a/src/main/java/com/lxzn/modules/assembly2/service/IT020BoltcheckService.java b/src/main/java/com/lxzn/modules/assembly2/service/IT020BoltcheckService.java new file mode 100644 index 0000000..51a07c3 --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/service/IT020BoltcheckService.java @@ -0,0 +1,16 @@ +package com.lxzn.modules.assembly2.service; + +import com.lxzn.modules.assembly2.entity.T020Boltcheck; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author baomidou + * @since 2025-09-02 + */ +public interface IT020BoltcheckService extends IService<T020Boltcheck> { + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/service/ITcOpstateService.java b/src/main/java/com/lxzn/modules/assembly2/service/ITcOpstateService.java new file mode 100644 index 0000000..b28672c --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/service/ITcOpstateService.java @@ -0,0 +1,16 @@ +package com.lxzn.modules.assembly2.service; + +import com.lxzn.modules.assembly2.entity.TcOpstate; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author baomidou + * @since 2025-09-03 + */ +public interface ITcOpstateService extends IService<TcOpstate> { + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/service/impl/T020BoltcheckServiceImpl.java b/src/main/java/com/lxzn/modules/assembly2/service/impl/T020BoltcheckServiceImpl.java new file mode 100644 index 0000000..f0e4e3a --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/service/impl/T020BoltcheckServiceImpl.java @@ -0,0 +1,22 @@ +package com.lxzn.modules.assembly2.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.lxzn.modules.assembly2.entity.T020Boltcheck; +import com.lxzn.modules.assembly2.mapper.T020BoltcheckMapper; +import com.lxzn.modules.assembly2.service.IT020BoltcheckService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author baomidou + * @since 2025-09-02 + */ +@Service +@DS("assembly2") +public class T020BoltcheckServiceImpl extends ServiceImpl<T020BoltcheckMapper, T020Boltcheck> implements IT020BoltcheckService { + +} diff --git a/src/main/java/com/lxzn/modules/assembly2/service/impl/TcOpstateServiceImpl.java b/src/main/java/com/lxzn/modules/assembly2/service/impl/TcOpstateServiceImpl.java new file mode 100644 index 0000000..aa45c7c --- /dev/null +++ b/src/main/java/com/lxzn/modules/assembly2/service/impl/TcOpstateServiceImpl.java @@ -0,0 +1,22 @@ +package com.lxzn.modules.assembly2.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.lxzn.modules.assembly2.entity.TcOpstate; +import com.lxzn.modules.assembly2.mapper.TcOpstateMapper; +import com.lxzn.modules.assembly2.service.ITcOpstateService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author baomidou + * @since 2025-09-03 + */ +@Service +@DS("assembly2") +public class TcOpstateServiceImpl extends ServiceImpl<TcOpstateMapper, TcOpstate> implements ITcOpstateService { + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index f60e015..8d0ca43 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -42,14 +42,14 @@ username: sa password: sa123 driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver - slave_1: + assembly2: url: jdbc:sqlserver://127.0.0.1:1433;databasename=XHJ-HUB3Line;nullCatalogMeansCurrent=true username: sa password: sa123 driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver #mybatis plus 璁剧疆 mybatis-plus: - mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml + mapper-locations: classpath*:com/lxzn/modules/**/xml/*Mapper.xml global-config: # 鍏抽棴MP3.0鑷甫鐨刡anner banner: false @@ -62,4 +62,14 @@ # 杩欎釜閰嶇疆浼氬皢鎵ц鐨剆ql鎵撳嵃鍑烘潵锛屽湪寮�鍙戞垨娴嬭瘯鐨勬椂鍊欏彲浠ョ敤 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 杩斿洖绫诲瀷涓篗ap,鏄剧ずnull瀵瑰簲鐨勫瓧娈� - call-setters-on-nulls: true \ No newline at end of file + call-setters-on-nulls: true +#swagger +knife4j: + #寮�鍚寮洪厤缃� + enable: true + #寮�鍚敓浜х幆澧冨睆钄� + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 \ No newline at end of file -- Gitblit v1.9.3