---初始化项目
This commit is contained in:
29
.gitignore
vendored
29
.gitignore
vendored
@ -2,6 +2,8 @@
|
|||||||
# Compiled class file
|
# Compiled class file
|
||||||
*.class
|
*.class
|
||||||
|
|
||||||
|
**/.flattened-pom.xml
|
||||||
|
|
||||||
# Log file
|
# Log file
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
@ -68,7 +70,13 @@ local.properties
|
|||||||
.texlipse
|
.texlipse
|
||||||
|
|
||||||
# STS (Spring Tool Suite)
|
# STS (Spring Tool Suite)
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
.springBeans
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
# Code Recommenders
|
# Code Recommenders
|
||||||
.recommenders/
|
.recommenders/
|
||||||
@ -86,3 +94,24 @@ local.properties
|
|||||||
# Typically, this file would be tracked if it contains build/dependency configurations:
|
# Typically, this file would be tracked if it contains build/dependency configurations:
|
||||||
#.project
|
#.project
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
*.log
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
82
itc-pcitc-demo/itc-pcitc-demo-api/pom.xml
Normal file
82
itc-pcitc-demo/itc-pcitc-demo-api/pom.xml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-demo</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>itc-pcitc-demo-api</artifactId>
|
||||||
|
<name>itc-pcitc-demo-api</name>
|
||||||
|
<description>itc-pcitc-demo-api</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-dependencies-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
<include>**/*.vm</include>
|
||||||
|
<include>**/*.ftl</include>
|
||||||
|
<include>**/*.jpg</include>
|
||||||
|
<include>**/*.png</include>
|
||||||
|
<include>**/*.xls</include>
|
||||||
|
<include>**/*.xlsx</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.client;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.constant.GlobalConstant;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.DemoAppliancePageDto;
|
||||||
|
import com.xjrsoft.module.prdManage.vo.DemoApplianceVo;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: yjw
|
||||||
|
* @since: 2025/3/4
|
||||||
|
*/
|
||||||
|
@FeignClient(value = "demo-service",
|
||||||
|
path = GlobalConstant.CLIENT_API_PRE + "prdManage/demoAppliance")
|
||||||
|
public interface IDemoApplianceClient {
|
||||||
|
|
||||||
|
@PostMapping("/getListByQuery")
|
||||||
|
List<DemoApplianceVo> getListByQuery(@RequestBody DemoAppliancePageDto dto);
|
||||||
|
}
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AddDemoApplianceDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class DemoAppliancePageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateDemoApplianceDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoAppliancePageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoApplianceVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AddDemoCustomerDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class DemoCustomerPageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateDemoCustomerDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoCustomerPageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,74 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoCustomerVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long createUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
#Generated by Maven
|
||||||
|
#Wed Sep 24 16:46:40 CST 2025
|
||||||
|
version=2.0.4
|
||||||
|
groupId=com.geg
|
||||||
|
artifactId=itc-pcitc-demo-api
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\dto\AddDemoApplianceDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\vo\DemoApplianceVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\client\IDemoApplianceClient.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\relationManage\vo\DemoCustomerVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\dto\DemoAppliancePageDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\relationManage\dto\DemoCustomerPageDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\vo\DemoAppliancePageVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\relationManage\dto\AddDemoCustomerDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\relationManage\dto\UpdateDemoCustomerDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\relationManage\vo\DemoCustomerPageVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api\src\main\java\com\xjrsoft\module\prdManage\dto\UpdateDemoApplianceDto.java
|
||||||
118
itc-pcitc-demo/itc-pcitc-demo-service/pom.xml
Normal file
118
itc-pcitc-demo/itc-pcitc-demo-service/pom.xml
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-demo</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>itc-pcitc-demo-service</artifactId>
|
||||||
|
<name>itc-pcitc-demo-service</name>
|
||||||
|
<description>itc-pcitc-demo-service</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<docker-image-name>pcitc/itc-pcitc-demo</docker-image-name>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-dependencies-service</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<finalName>app</finalName>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>2.7.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>repackage</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<!--<classifier>classes</classifier>-->
|
||||||
|
<attach>false</attach>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.spotify</groupId>
|
||||||
|
<artifactId>docker-maven-plugin</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<configuration>
|
||||||
|
<dockerHost>${docker-registry}</dockerHost>
|
||||||
|
<timeout>600000</timeout>
|
||||||
|
<imageName>${docker-image-name}:${maven.build.timestamp}</imageName>
|
||||||
|
<baseImage>java</baseImage>
|
||||||
|
<dockerDirectory>${dockerDirectory}</dockerDirectory>
|
||||||
|
<pushImage>${docker-image-name}:${maven.build.timestamp}</pushImage>
|
||||||
|
<skipDockerBuild>false</skipDockerBuild>
|
||||||
|
<buildArgs>
|
||||||
|
<SOURCE_NAME>${docker-jar-name}</SOURCE_NAME>
|
||||||
|
<PLATFORM>linux/arm64</PLATFORM>
|
||||||
|
</buildArgs>
|
||||||
|
<platform>linux/arm64</platform>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<targetPath>/</targetPath>
|
||||||
|
<directory>${project.build.directory}</directory>
|
||||||
|
<include>${docker-jar-name}</include>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
#FROM --platform=linux/arm64 docker.xuanyuan.run/library/openjdk:8-jre
|
||||||
|
FROM harbor.kubesphere.com/public/jar8u112:v1
|
||||||
|
|
||||||
|
|
||||||
|
RUN mkdir -p /root/logs/java/ \
|
||||||
|
&& mkdir -p /scm/logs/ \
|
||||||
|
&& mkdir -p /opt/app/ \
|
||||||
|
&& mkdir -p /uploadFile/ \
|
||||||
|
&& mkdir -p /var/log/app \
|
||||||
|
&& mkdir -p /opt/app/logs \
|
||||||
|
&& mkdir -p /opt/agent/config
|
||||||
|
|
||||||
|
ENV TZ "Asia/Shanghai"
|
||||||
|
|
||||||
|
ADD ./skywalking-agent.jar /opt/agent/skywalking-agent.jar
|
||||||
|
ADD ./agent.config /opt/agent/config/agent.config
|
||||||
|
|
||||||
|
RUN echo "set fileencodings=utf-8,gbk,gb2312,gb18030,cp936,latin1 \n set fenc=utf-8 \n set tenc=utf-8 \n set enc=utf-8 \n" |tee ~/.vimrc
|
||||||
|
|
||||||
|
|
||||||
|
ARG JAR_FILE
|
||||||
|
ARG PRO_FILE
|
||||||
|
ARG SOURCE_NAME
|
||||||
|
|
||||||
|
ADD ./startApp.sh /opt/app/
|
||||||
|
RUN chmod u+x /opt/app/*.sh
|
||||||
|
ADD ./${SOURCE_NAME} /opt/app/app.jar
|
||||||
|
RUN test -f /opt/app/app.jar || { echo "Error: JAR file not found at ${SOURCE_NAME}"; exit 1; }
|
||||||
|
|
||||||
|
#应用名称
|
||||||
|
ENV APP_NAME=itc-pcitc-demo
|
||||||
|
#skywalking-oap-server地址
|
||||||
|
ENV SKYWALKING_SERVER=172.20.0.12:11800
|
||||||
|
ENV ENV_APP_FILE_PATH=/opt/app/app.jar
|
||||||
|
ENV ENV_APP_PRO_FILE=test
|
||||||
|
|
||||||
|
EXPOSE 8090 5005
|
||||||
|
|
||||||
|
ENTRYPOINT ["/opt/app/startApp.sh"]
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
# 应用名称(在 SkyWalking UI 中显示的服务名)
|
||||||
|
agent.service_name=your-springboot-app
|
||||||
|
# SkyWalking OAP 服务地址(默认本地)
|
||||||
|
collector.backend_service=localhost:11800
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 定义变量
|
||||||
|
CONTAINER_NAME="itc-ms-system"
|
||||||
|
IMAGE_NAME="pcitc/itc-ms-system"
|
||||||
|
IMAGE_VERSION="2025-08-04-0940"
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
|
||||||
|
PORT=8091 # 服务暴露端口
|
||||||
|
CONTAINER_PORT=8091 # 服务暴露端口
|
||||||
|
TZ="Asia/Shanghai" # 时区设置
|
||||||
|
# 环境变量配置
|
||||||
|
ENV_APP_PRO_FILE="test"
|
||||||
|
file="$CONTAINER_NAME-version.txt"
|
||||||
|
|
||||||
|
# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "文件 $file 不存在"
|
||||||
|
touch "$file" # 变量加引号,处理含空格的文件名
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 检查参数数量(建议移到脚本开头统一检查)
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$2"
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 修正赋值语法:等号两侧无空格
|
||||||
|
last_version=$(tail -n 1 "$file")
|
||||||
|
IMAGE_FULL="$last_version"
|
||||||
|
# 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 显示帮助信息
|
||||||
|
show_help() {
|
||||||
|
echo "使用方法: $0 [操作类型]"
|
||||||
|
echo "操作类型:"
|
||||||
|
echo " deploy - 部署并启动服务容器"
|
||||||
|
echo " remove - 停止并删除容器及数据/日志目录"
|
||||||
|
echo " logs - 查看容器日志"
|
||||||
|
echo " help - 显示帮助信息"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 部署服务
|
||||||
|
deploy_service() {
|
||||||
|
echo "部署镜像【$IMAGE_FULL】"
|
||||||
|
# 检查容器是否已存在,存在则停止并删除
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止并删除现有容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动服务容器
|
||||||
|
echo "启动服务容器..."
|
||||||
|
docker run -d --privileged --restart always \
|
||||||
|
--name $CONTAINER_NAME \
|
||||||
|
-p $PORT:$CONTAINER_PORT \
|
||||||
|
-e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
|
||||||
|
$IMAGE_FULL
|
||||||
|
|
||||||
|
# 检查启动状态
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
|
||||||
|
echo "服务启动成功!"
|
||||||
|
echo "容器名称: $CONTAINER_NAME"
|
||||||
|
echo "访问地址: http://localhost:$PORT"
|
||||||
|
echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
|
||||||
|
else
|
||||||
|
echo "服务启动失败,日志如下:"
|
||||||
|
docker logs $CONTAINER_NAME
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 删除服务
|
||||||
|
remove_service() {
|
||||||
|
# 检查容器是否存在
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
|
||||||
|
echo "删除容器: $CONTAINER_NAME"
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
show_logs() {
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
|
||||||
|
docker logs -f $CONTAINER_NAME
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 主逻辑
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
deploy)
|
||||||
|
deploy_service
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
remove_service
|
||||||
|
;;
|
||||||
|
logs)
|
||||||
|
show_logs
|
||||||
|
;;
|
||||||
|
help)
|
||||||
|
show_help
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "无效的操作类型: $1"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 定义变量
|
||||||
|
CONTAINER_NAME="itc-ms-user"
|
||||||
|
IMAGE_NAME="pcitc/itc-ms-user"
|
||||||
|
IMAGE_VERSION="2025-08-04-0954"
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
|
||||||
|
PORT=8092 # 服务暴露端口
|
||||||
|
CONTAINER_PORT=8092 # 服务暴露端口
|
||||||
|
TZ="Asia/Shanghai" # 时区设置
|
||||||
|
# 环境变量配置
|
||||||
|
ENV_APP_PRO_FILE="test"
|
||||||
|
file="$CONTAINER_NAME-version.txt"
|
||||||
|
|
||||||
|
# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "文件 $file 不存在"
|
||||||
|
touch "$file" # 变量加引号,处理含空格的文件名
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 检查参数数量(建议移到脚本开头统一检查)
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$2"
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 修正赋值语法:等号两侧无空格
|
||||||
|
last_version=$(tail -n 1 "$file")
|
||||||
|
IMAGE_FULL="$last_version"
|
||||||
|
# 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 显示帮助信息
|
||||||
|
show_help() {
|
||||||
|
echo "使用方法: $0 [操作类型]"
|
||||||
|
echo "操作类型:"
|
||||||
|
echo " deploy - 部署并启动服务容器"
|
||||||
|
echo " remove - 停止并删除容器及数据/日志目录"
|
||||||
|
echo " logs - 查看容器日志"
|
||||||
|
echo " help - 显示帮助信息"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 部署服务
|
||||||
|
deploy_service() {
|
||||||
|
echo "部署镜像【$IMAGE_FULL】"
|
||||||
|
# 检查容器是否已存在,存在则停止并删除
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止并删除现有容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动服务容器
|
||||||
|
echo "启动服务容器..."
|
||||||
|
docker run -d --privileged --restart always \
|
||||||
|
--name $CONTAINER_NAME \
|
||||||
|
-p $PORT:$CONTAINER_PORT \
|
||||||
|
-e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
|
||||||
|
$IMAGE_FULL
|
||||||
|
|
||||||
|
# 检查启动状态
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
|
||||||
|
echo "服务启动成功!"
|
||||||
|
echo "容器名称: $CONTAINER_NAME"
|
||||||
|
echo "访问地址: http://localhost:$PORT"
|
||||||
|
echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
|
||||||
|
else
|
||||||
|
echo "服务启动失败,日志如下:"
|
||||||
|
docker logs $CONTAINER_NAME
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 删除服务
|
||||||
|
remove_service() {
|
||||||
|
# 检查容器是否存在
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
|
||||||
|
echo "删除容器: $CONTAINER_NAME"
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
show_logs() {
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
|
||||||
|
docker logs -f $CONTAINER_NAME
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 主逻辑
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
deploy)
|
||||||
|
deploy_service
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
remove_service
|
||||||
|
;;
|
||||||
|
logs)
|
||||||
|
show_logs
|
||||||
|
;;
|
||||||
|
help)
|
||||||
|
show_help
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "无效的操作类型: $1"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#cp /etc/hosts /etc/hosts.temp
|
||||||
|
|
||||||
|
# 初始化环境变量(设置默认值,避免空变量)
|
||||||
|
APP_NAME=${APP_NAME:-"default-springboot-app"} # 默认服务名
|
||||||
|
SKYWALKING_SERVER=${SKYWALKING_SERVER:-"localhost:11800"} # 默认SkyWalking服务地址
|
||||||
|
ENV_APP_PRO_FILE=${ENV_APP_PRO_FILE:-"test"} # 默认环境为test
|
||||||
|
|
||||||
|
# 初始化Java启动参数(包含是否使用-server模式)
|
||||||
|
java_base="java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME"
|
||||||
|
export java_base="$java_base -Dskywalking.collector.backend_service=$SKYWALKING_SERVER"
|
||||||
|
|
||||||
|
java_start="$java_base -jar"
|
||||||
|
|
||||||
|
# 根据环境变量区分开发/生产环境配置
|
||||||
|
if [ "$ENV_APP_PRO_FILE" = "prod" ]; then
|
||||||
|
# 生产环境JVM参数
|
||||||
|
export JAVA_OPTS="-Xms1024m -Xmx4096m -Xmn512m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:G1ReservePercent=20"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500 -XX:G1MixedGCCountTarget=10"
|
||||||
|
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
|
||||||
|
|
||||||
|
# 生产环境使用-server模式
|
||||||
|
java_start="$java_base -jar -server"
|
||||||
|
else
|
||||||
|
# 开发环境JVM参数
|
||||||
|
export JAVA_OPTS="-Xms512m -Xmx1024m -Xmn256m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=5000"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:./logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
|
||||||
|
# 开发环境开启远程调试
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 公共配置(编码、时区等)
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Duser.language=zh -Duser.country=CN -Duser.timezone=Asia/Shanghai"
|
||||||
|
|
||||||
|
# SpringBoot 环境配置
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV_APP_PRO_FILE"
|
||||||
|
|
||||||
|
# 输出启动参数
|
||||||
|
echo "启动参数:$java_start $JAVA_OPTS $ENV_APP_FILE_PATH"
|
||||||
|
|
||||||
|
# 执行启动命令(用双引号包裹每个变量)
|
||||||
|
exec $java_start $JAVA_OPTS $ENV_APP_FILE_PATH
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
package com.xjrsoft;
|
||||||
|
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||||
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
|
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||||
|
|
||||||
|
import com.pictc.utils.SpringTools;
|
||||||
|
import com.xjrsoft.common.annotation.UniqueNameGenerator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Zexy
|
||||||
|
*/
|
||||||
|
@SpringBootApplication
|
||||||
|
@EnableAspectJAutoProxy(exposeProxy = true)
|
||||||
|
@ComponentScan(nameGenerator = UniqueNameGenerator.class)
|
||||||
|
@EnableFeignClients
|
||||||
|
@EnableDiscoveryClient
|
||||||
|
public class ITCDemoApplication {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringTools.logStarter(ITCDemoApplication.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
package com.xjrsoft.common;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
|
|
||||||
|
//@Configuration
|
||||||
|
//public class TransactionConfig {
|
||||||
|
//
|
||||||
|
// @Primary // 指定为主要的事务管理器
|
||||||
|
// @Bean
|
||||||
|
// public PlatformTransactionManager camundaTransactionManager(DataSource camundaDataSource) {
|
||||||
|
// return new DataSourceTransactionManager(camundaDataSource);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 其他数据源的事务管理器
|
||||||
|
// @Bean
|
||||||
|
// public PlatformTransactionManager businessTransactionManager(DataSource businessDataSource) {
|
||||||
|
// return new DataSourceTransactionManager(businessDataSource);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.xjrsoft.common.schedule;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Component
|
||||||
|
@ConditionalOnProperty(name = {"schedule.enabled","schedule.sync-xx.enabled"}, havingValue = "true")
|
||||||
|
@Slf4j
|
||||||
|
@EnableScheduling
|
||||||
|
public class DemoSysncTask {
|
||||||
|
|
||||||
|
//
|
||||||
|
// @Scheduled(cron = "${schedule.sync-xx.cron:0 0/60 * * * *}") //60分钟跑一次
|
||||||
|
// public void sync(){
|
||||||
|
// log.info("同步XX数据 => " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||||
|
// try{
|
||||||
|
// //todo 任务具体实现
|
||||||
|
// } catch (Exception e){
|
||||||
|
// log.error("同步XX数据失败:" + e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package com.xjrsoft.common.util;
|
||||||
|
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SpringContextUtil implements ApplicationContextAware {
|
||||||
|
|
||||||
|
private static ApplicationContext context;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setApplicationContext(ApplicationContext applicationContext) {
|
||||||
|
SpringContextUtil.context = applicationContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ApplicationContext getApplicationContext() {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T getBean(Class<T> beanClass) {
|
||||||
|
return context.getBean(beanClass);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object getBean(String beanName) {
|
||||||
|
return context.getBean(beanName);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,132 @@
|
|||||||
|
package com.xjrsoft.module.dev.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.xjrsoft.common.constant.GlobalConstant;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
|
import com.xjrsoft.common.page.ConventPage;
|
||||||
|
import com.xjrsoft.common.page.PageOutput;
|
||||||
|
import com.xjrsoft.common.model.result.R;
|
||||||
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||||
|
import com.xjrsoft.module.dev.dto.AddTestfrom3Dto;
|
||||||
|
import com.xjrsoft.module.dev.dto.UpdateTestfrom3Dto;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.xjrsoft.common.utils.ExcelUtil;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import com.xjrsoft.module.dev.dto.Testfrom3PageDto;
|
||||||
|
import com.xjrsoft.module.dev.entity.Testfrom3;
|
||||||
|
import com.xjrsoft.module.dev.service.ITestfrom3Service;
|
||||||
|
import com.xjrsoft.module.dev.vo.Testfrom3PageVo;
|
||||||
|
|
||||||
|
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||||
|
import com.xjrsoft.module.dev.vo.Testfrom3Vo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试3
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/dev" + "/testfrom3")
|
||||||
|
@Api(value = "/dev" + "/testfrom3",tags = "测试3代码")
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Testfrom3Controller {
|
||||||
|
|
||||||
|
|
||||||
|
private final ITestfrom3Service testfrom3Service;
|
||||||
|
private final DatalogService dataService;
|
||||||
|
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
@ApiOperation(value="Testfrom3列表(分页)")
|
||||||
|
@SaCheckPermission("testfrom3:list")
|
||||||
|
public R page(@Valid Testfrom3PageDto dto){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<Testfrom3> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper
|
||||||
|
.like(StrUtil.isNotBlank(dto.getDanXingWenBen8163()),Testfrom3::getDanXingWenBen8163,dto.getDanXingWenBen8163())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getDanXingWenBen3634()),Testfrom3::getDanXingWenBen3634,dto.getDanXingWenBen3634())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getDanXingWenBen5097()),Testfrom3::getDanXingWenBen5097,dto.getDanXingWenBen5097())
|
||||||
|
.orderByDesc(Testfrom3::getId)
|
||||||
|
.select(Testfrom3.class,x -> VoToColumnUtil.fieldsToColumns(Testfrom3PageVo.class).contains(x.getProperty()));
|
||||||
|
IPage<Testfrom3> page = testfrom3Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||||
|
PageOutput<Testfrom3PageVo> pageOutput = ConventPage.getPageOutput(page, Testfrom3PageVo.class);
|
||||||
|
return R.ok(pageOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/info")
|
||||||
|
@ApiOperation(value="根据id查询Testfrom3信息")
|
||||||
|
@SaCheckPermission("testfrom3:detail")
|
||||||
|
public R info(@RequestParam Long id){
|
||||||
|
Testfrom3 testfrom3 = testfrom3Service.getById(id);
|
||||||
|
if (testfrom3 == null) {
|
||||||
|
return R.error("找不到此数据!");
|
||||||
|
}
|
||||||
|
return R.ok(BeanUtil.toBean(testfrom3, Testfrom3Vo.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation(value = "新增Testfrom3")
|
||||||
|
@SaCheckPermission("testfrom3:add")
|
||||||
|
public R add(@Valid @RequestBody UpdateTestfrom3Dto dto){
|
||||||
|
UpdateTestfrom3Dto res = dataService.insert(dto);
|
||||||
|
return R.ok(res.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
@ApiOperation(value = "修改Testfrom3")
|
||||||
|
@SaCheckPermission("testfrom3:edit")
|
||||||
|
public R update(@Valid @RequestBody UpdateTestfrom3Dto dto){
|
||||||
|
return R.ok(dataService.updateById(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation(value = "删除")
|
||||||
|
@SaCheckPermission("testfrom3:delete")
|
||||||
|
public R delete(@Valid @RequestBody List<Long> ids){
|
||||||
|
return R.ok(dataService.deleteByIds(UpdateTestfrom3Dto.class, ids));
|
||||||
|
|
||||||
|
}
|
||||||
|
@PostMapping("/import")
|
||||||
|
@ApiOperation(value = "导入")
|
||||||
|
@SaCheckPermission("testfrom3:import")
|
||||||
|
public R importData(@RequestParam MultipartFile file) throws IOException {
|
||||||
|
List<Testfrom3PageVo> savedDataList = EasyExcel.read(file.getInputStream()).head(Testfrom3PageVo.class).sheet().doReadSync();
|
||||||
|
ExcelUtil.transExcelData(savedDataList, true);
|
||||||
|
dataService.insertBatch(BeanUtil.copyToList(savedDataList,UpdateTestfrom3Dto.class));
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export")
|
||||||
|
@ApiOperation(value = "导出")
|
||||||
|
@SaCheckPermission("testfrom3:export")
|
||||||
|
public ResponseEntity<byte[]> exportData(@Valid Testfrom3PageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
|
||||||
|
List<Testfrom3PageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<Testfrom3PageVo>) page(dto).getData()).getList();
|
||||||
|
ExcelUtil.transExcelData(customerList, false);
|
||||||
|
ByteArrayOutputStream bot = new ByteArrayOutputStream();
|
||||||
|
EasyExcel.write(bot, Testfrom3PageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
|
||||||
|
ByteArrayOutputStream resultBot = ExcelUtil.renderExportRequiredHead(bot);
|
||||||
|
|
||||||
|
return R.fileStream(resultBot.toByteArray(), "Testfrom3" + ExcelTypeEnum.XLSX.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package com.xjrsoft.module.dev.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.pictc.annotations.datalog.LogField;
|
||||||
|
import com.pictc.annotations.datalog.LogTable;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试3
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@LogTable(source="testfrom_3",name="测试3")
|
||||||
|
public class AddTestfrom3Dto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
@LogField(name="单行文本",index=0)
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
@LogField(name="单行文本",index=0)
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
@LogField(name="单行文本",index=0)
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@LogField(name="",index=0)
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.xjrsoft.module.dev.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class Testfrom3PageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
package com.xjrsoft.module.dev.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
import com.pictc.annotations.datalog.LogTable;
|
||||||
|
import com.pictc.annotations.datalog.LogField;
|
||||||
|
import com.pictc.annotations.datalog.LogJoin;
|
||||||
|
import com.pictc.annotations.datalog.LogJoinColumn;
|
||||||
|
import com.pictc.annotations.datalog.JoinCaseType;
|
||||||
|
import com.pictc.annotations.datalog.JoinType;
|
||||||
|
import com.pictc.annotations.datalog.ValueDirectionType;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试3
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@LogTable(source="testfrom_3",name="测试3")
|
||||||
|
public class UpdateTestfrom3Dto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@LogField(name="",index=0)
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@LogField(name="单行文本",index=1)
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@LogField(name="单行文本",index=2)
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@LogField(name="单行文本",index=3)
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@LogField(name="",index=4)
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
package com.xjrsoft.module.dev.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.github.yulichang.annotation.EntityMapping;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试3
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("testfrom_3")
|
||||||
|
@ApiModel(value = "测试3对象", description = "测试3")
|
||||||
|
public class Testfrom3 implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private Long createUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.UPDATE)
|
||||||
|
private Long modifyUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.UPDATE)
|
||||||
|
private LocalDateTime modifyDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
@TableLogic
|
||||||
|
private Integer deleteMark;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private Integer enabledMark;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package com.xjrsoft.module.dev.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
|
import com.xjrsoft.module.dev.entity.Testfrom3;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: mapper
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface Testfrom3Mapper extends BaseMapper<Testfrom3> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.xjrsoft.module.dev.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.github.yulichang.base.MPJBaseService;
|
||||||
|
import com.github.yulichang.extension.mapping.base.MPJDeepService;
|
||||||
|
import com.github.yulichang.extension.mapping.base.MPJRelationService;
|
||||||
|
import com.xjrsoft.module.dev.entity.Testfrom3;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface ITestfrom3Service extends IService<Testfrom3> {
|
||||||
|
}
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
package com.xjrsoft.module.dev.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||||
|
import com.xjrsoft.module.dev.entity.Testfrom3;
|
||||||
|
import com.xjrsoft.module.dev.mapper.Testfrom3Mapper;
|
||||||
|
import com.xjrsoft.module.dev.service.ITestfrom3Service;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Testfrom3ServiceImpl extends ServiceImpl<Testfrom3Mapper, Testfrom3> implements ITestfrom3Service {
|
||||||
|
}
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
package com.xjrsoft.module.dev.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ContentStyle;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.annotation.Trans;
|
||||||
|
import com.xjrsoft.common.enums.TransType;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Testfrom3PageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ExcelIgnore
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ContentStyle(dataFormat = 49)
|
||||||
|
@ExcelProperty("单行文本")
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ContentStyle(dataFormat = 49)
|
||||||
|
@ExcelProperty("单行文本")
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ContentStyle(dataFormat = 49)
|
||||||
|
@ExcelProperty("单行文本")
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,73 @@
|
|||||||
|
package com.xjrsoft.module.dev.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Testfrom3Vo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen8163;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen3634;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen5097;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long createUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long modifyUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime modifyDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer enabledMark;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.xjrsoft.common.model.result.R;
|
||||||
|
import com.xjrsoft.common.page.ConventPage;
|
||||||
|
import com.xjrsoft.common.page.PageOutput;
|
||||||
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.AddDemoApplianceDto;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.DemoAppliancePageDto;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.UpdateDemoApplianceDto;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.DemoAppliance;
|
||||||
|
import com.xjrsoft.module.prdManage.service.IDemoApplianceService;
|
||||||
|
import com.xjrsoft.module.prdManage.vo.DemoAppliancePageVo;
|
||||||
|
import com.xjrsoft.module.prdManage.vo.DemoApplianceVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/prdManage" + "/demoAppliance")
|
||||||
|
@Api(value = "/prdManage" + "/demoAppliance",tags = "示例-家电管理代码")
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DemoApplianceController {
|
||||||
|
|
||||||
|
|
||||||
|
private final IDemoApplianceService demoApplianceService;
|
||||||
|
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
@ApiOperation(value="DemoAppliance列表(分页)")
|
||||||
|
@SaCheckPermission("demoAppliance:list")
|
||||||
|
public R page(@Valid DemoAppliancePageDto dto){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<DemoAppliance> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper
|
||||||
|
.like(StrUtil.isNotBlank(dto.getName()),DemoAppliance::getName,dto.getName())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getSerialNumber()),DemoAppliance::getSerialNumber,dto.getSerialNumber())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getCategory()),DemoAppliance::getCategory,dto.getCategory())
|
||||||
|
.orderByDesc(DemoAppliance::getId)
|
||||||
|
.select(DemoAppliance.class,x -> VoToColumnUtil.fieldsToColumns(DemoAppliancePageVo.class).contains(x.getProperty()));
|
||||||
|
IPage<DemoAppliance> page = demoApplianceService.page(ConventPage.getPage(dto), queryWrapper);
|
||||||
|
PageOutput<DemoAppliancePageVo> pageOutput = ConventPage.getPageOutput(page, DemoAppliancePageVo.class);
|
||||||
|
return R.ok(pageOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/info")
|
||||||
|
@ApiOperation(value="根据id查询DemoAppliance信息")
|
||||||
|
@SaCheckPermission("demoAppliance:detail")
|
||||||
|
public R info(@RequestParam Integer id){
|
||||||
|
DemoAppliance demoAppliance = demoApplianceService.getById(id);
|
||||||
|
if (demoAppliance == null) {
|
||||||
|
return R.error("找不到此数据!");
|
||||||
|
}
|
||||||
|
return R.ok(BeanUtil.toBean(demoAppliance, DemoApplianceVo.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation(value = "新增DemoAppliance")
|
||||||
|
@SaCheckPermission("demoAppliance:add")
|
||||||
|
public R add(@Valid @RequestBody AddDemoApplianceDto dto){
|
||||||
|
DemoAppliance demoAppliance = BeanUtil.toBean(dto, DemoAppliance.class);
|
||||||
|
boolean isSuccess = demoApplianceService.save(demoAppliance);
|
||||||
|
return R.ok(demoAppliance.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
@ApiOperation(value = "修改DemoAppliance")
|
||||||
|
@SaCheckPermission("demoAppliance:edit")
|
||||||
|
public R update(@Valid @RequestBody UpdateDemoApplianceDto dto){
|
||||||
|
|
||||||
|
DemoAppliance demoAppliance = BeanUtil.toBean(dto, DemoAppliance.class);
|
||||||
|
return R.ok(demoApplianceService.updateById(demoAppliance));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation(value = "删除")
|
||||||
|
@SaCheckPermission("demoAppliance:delete")
|
||||||
|
public R delete(@Valid @RequestBody List<Integer> ids){
|
||||||
|
return R.ok(demoApplianceService.removeBatchByIds(ids));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,113 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.xjrsoft.common.model.result.R;
|
||||||
|
import com.xjrsoft.common.page.ConventPage;
|
||||||
|
import com.xjrsoft.common.page.PageOutput;
|
||||||
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||||
|
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.AddTestfrom2Dto;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.Testfrom2PageDto;
|
||||||
|
import com.xjrsoft.module.prdManage.dto.UpdateTestfrom2Dto;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.Testfrom2;
|
||||||
|
import com.xjrsoft.module.prdManage.service.ITestfrom2Service;
|
||||||
|
import com.xjrsoft.module.prdManage.vo.Testfrom2PageVo;
|
||||||
|
import com.xjrsoft.module.prdManage.vo.Testfrom2Vo;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/dev" + "/testfrom2")
|
||||||
|
@Api(value = "/dev" + "/testfrom2",tags = "测试代码")
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Testfrom2Controller {
|
||||||
|
|
||||||
|
|
||||||
|
private final ITestfrom2Service testfrom2Service;
|
||||||
|
|
||||||
|
private final DatalogService dataService;
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
@ApiOperation(value="Testfrom2列表(分页)")
|
||||||
|
@SaCheckPermission("testfrom2:list")
|
||||||
|
public R page(@Valid Testfrom2PageDto dto){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<Testfrom2> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper
|
||||||
|
.like(StrUtil.isNotBlank(dto.getDanXingWenBen7818()),Testfrom2::getDanXingWenBen7818,dto.getDanXingWenBen7818())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getDanXingWenBen9043()),Testfrom2::getDanXingWenBen9043,dto.getDanXingWenBen9043())
|
||||||
|
.orderByDesc(Testfrom2::getId)
|
||||||
|
.select(Testfrom2.class,x -> VoToColumnUtil.fieldsToColumns(Testfrom2PageVo.class).contains(x.getProperty()));
|
||||||
|
IPage<Testfrom2> page = testfrom2Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||||
|
PageOutput<Testfrom2PageVo> pageOutput = ConventPage.getPageOutput(page, Testfrom2PageVo.class);
|
||||||
|
return R.ok(pageOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/info")
|
||||||
|
@ApiOperation(value="根据id查询Testfrom2信息")
|
||||||
|
@SaCheckPermission("testfrom2:detail")
|
||||||
|
public R info(@RequestParam Long id){
|
||||||
|
Testfrom2 testfrom2 = testfrom2Service.getById(id);
|
||||||
|
if (testfrom2 == null) {
|
||||||
|
return R.error("找不到此数据!");
|
||||||
|
}
|
||||||
|
return R.ok(BeanUtil.toBean(testfrom2, Testfrom2Vo.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation(value = "新增Testfrom2")
|
||||||
|
@SaCheckPermission("testfrom2:add")
|
||||||
|
public R add(@Valid @RequestBody AddTestfrom2Dto dto){
|
||||||
|
// Testfrom2 testfrom2 = BeanUtil.toBean(dto, Testfrom2.class);
|
||||||
|
//boolean isSuccess = testfrom2Service.save(testfrom2);
|
||||||
|
AddTestfrom2Dto res = dataService.insert(dto);
|
||||||
|
return R.ok(res.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
@ApiOperation(value = "修改Testfrom2")
|
||||||
|
@SaCheckPermission("testfrom2:edit")
|
||||||
|
public R update(@Valid @RequestBody AddTestfrom2Dto dto){
|
||||||
|
|
||||||
|
// Testfrom2 testfrom2 = BeanUtil.toBean(dto, Testfrom2.class);
|
||||||
|
return R.ok(dataService.updateById(dto));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation(value = "删除")
|
||||||
|
@SaCheckPermission("testfrom2:delete")
|
||||||
|
public R delete(@Valid @RequestBody List<Long> ids){
|
||||||
|
//return R.ok(testfrom2Service.removeBatchByIds(ids));
|
||||||
|
return R.ok(dataService.deleteByIds(AddTestfrom2Dto.class, ids));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import com.pictc.annotations.datalog.LogTable;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@LogTable(name="家电管理",source = "")
|
||||||
|
@Data
|
||||||
|
public class AddDemoApplianceDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.pictc.annotations.datalog.LogField;
|
||||||
|
import com.pictc.annotations.datalog.LogTable;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-15
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@LogTable(source="testfrom_2",name="测试")
|
||||||
|
public class AddTestfrom2Dto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
@LogField(name="单行文本",index=0)
|
||||||
|
private String danXingWenBen7818;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
@LogField(name="单行文本",index=0)
|
||||||
|
private String danXingWenBen9043;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@LogField(name="",index=0)
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class DemoAppliancePageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-15
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class Testfrom2PageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen7818;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen9043;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateDemoApplianceDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-15
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateTestfrom2Dto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen7818;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen9043;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,80 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 示例-家电管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("demo_appliance")
|
||||||
|
@ApiModel(value = "示例-家电管理对象", description = "示例-家电管理")
|
||||||
|
public class DemoAppliance implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.yulichang.autoconfigure.conditional.JoinSqlInjectorCondition;
|
||||||
|
import com.pictc.annotations.datalog.JoinCaseType;
|
||||||
|
import com.pictc.annotations.datalog.JoinType;
|
||||||
|
import com.pictc.annotations.datalog.LogJoin;
|
||||||
|
import com.pictc.annotations.datalog.LogJoinColumn;
|
||||||
|
import com.pictc.annotations.datalog.ValueDirectionType;
|
||||||
|
import com.pictc.orm.BaseMasterEntity;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 测试
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-09-15
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("testfrom_2")
|
||||||
|
@ApiModel(value = "测试对象", description = "测试")
|
||||||
|
public class Testfrom2 extends BaseMasterEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen7818;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen9043;
|
||||||
|
|
||||||
|
@LogJoin(name = "",
|
||||||
|
columns = {
|
||||||
|
@LogJoinColumn(field = "",relatedField = "", valueDirection = ValueDirectionType.RIGHT)
|
||||||
|
}, caseType = JoinCaseType.FULL, target = DemoAppliance.class, type = JoinType.MANY)
|
||||||
|
private DemoAppliance appliance;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.DemoAppliance;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: mapper
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface DemoApplianceMapper extends BaseMapper<DemoAppliance> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.mapper;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.Testfrom2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: mapper
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface Testfrom2Mapper extends BaseMapper<Testfrom2> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.DemoAppliance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface IDemoApplianceService extends IService<DemoAppliance> {
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.Testfrom2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface ITestfrom2Service extends IService<Testfrom2> {
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.DemoAppliance;
|
||||||
|
import com.xjrsoft.module.prdManage.mapper.DemoApplianceMapper;
|
||||||
|
import com.xjrsoft.module.prdManage.service.IDemoApplianceService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DemoApplianceServiceImpl extends ServiceImpl<DemoApplianceMapper, DemoAppliance> implements IDemoApplianceService {
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.service.impl;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.xjrsoft.module.prdManage.entity.Testfrom2;
|
||||||
|
import com.xjrsoft.module.prdManage.mapper.Testfrom2Mapper;
|
||||||
|
import com.xjrsoft.module.prdManage.service.ITestfrom2Service;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class Testfrom2ServiceImpl extends ServiceImpl<Testfrom2Mapper, Testfrom2> implements ITestfrom2Service {
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoAppliancePageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-12
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoApplianceVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String serialNumber;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String category;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime purchaseDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer warrantyPeriod;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer powerRating;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String brand;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Double sellingPrice;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.annotation.Trans;
|
||||||
|
import com.xjrsoft.common.enums.TransType;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Testfrom2PageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen1620;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen1247;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
package com.xjrsoft.module.prdManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-08-20
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Testfrom2Vo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen1620;
|
||||||
|
/**
|
||||||
|
* 单行文本
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("单行文本")
|
||||||
|
private String danXingWenBen1247;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long createUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long modifyUserId;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime modifyDate;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Integer enabledMark;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long tenantId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,99 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.xjrsoft.common.model.result.R;
|
||||||
|
import com.xjrsoft.common.page.ConventPage;
|
||||||
|
import com.xjrsoft.common.page.PageOutput;
|
||||||
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||||
|
import com.xjrsoft.module.relationManage.dto.AddDemoCustomerDto;
|
||||||
|
import com.xjrsoft.module.relationManage.dto.DemoCustomerPageDto;
|
||||||
|
import com.xjrsoft.module.relationManage.dto.UpdateDemoCustomerDto;
|
||||||
|
import com.xjrsoft.module.relationManage.entity.DemoCustomer;
|
||||||
|
import com.xjrsoft.module.relationManage.service.IDemoCustomerManageService;
|
||||||
|
import com.xjrsoft.module.relationManage.vo.DemoCustomerPageVo;
|
||||||
|
import com.xjrsoft.module.relationManage.vo.DemoCustomerVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/relationManage" + "/demoCustomerManage")
|
||||||
|
@Api(value = "/relationManage" + "/demoCustomerManage",tags = "demo_客户管理代码")
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DemoCustomerManageController {
|
||||||
|
|
||||||
|
|
||||||
|
private final IDemoCustomerManageService demoCustomerManageService;
|
||||||
|
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
@ApiOperation(value="DemoCustomer列表(分页)")
|
||||||
|
@SaCheckPermission("demoCustomerManage:list")
|
||||||
|
public R page(@Valid DemoCustomerPageDto dto){
|
||||||
|
|
||||||
|
LambdaQueryWrapper<DemoCustomer> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper
|
||||||
|
.like(StrUtil.isNotBlank(dto.getName()),DemoCustomer::getName,dto.getName())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getGender()),DemoCustomer::getGender,dto.getGender())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getPhone()),DemoCustomer::getPhone,dto.getPhone())
|
||||||
|
.like(StrUtil.isNotBlank(dto.getEmail()),DemoCustomer::getEmail,dto.getEmail())
|
||||||
|
.orderByDesc(DemoCustomer::getId)
|
||||||
|
.select(DemoCustomer.class,x -> VoToColumnUtil.fieldsToColumns(DemoCustomerPageVo.class).contains(x.getProperty()));
|
||||||
|
IPage<DemoCustomer> page = demoCustomerManageService.page(ConventPage.getPage(dto), queryWrapper);
|
||||||
|
PageOutput<DemoCustomerPageVo> pageOutput = ConventPage.getPageOutput(page, DemoCustomerPageVo.class);
|
||||||
|
return R.ok(pageOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/info")
|
||||||
|
@ApiOperation(value="根据id查询DemoCustomer信息")
|
||||||
|
@SaCheckPermission("demoCustomerManage:detail")
|
||||||
|
public R info(@RequestParam Long id){
|
||||||
|
DemoCustomer demoCustomer = demoCustomerManageService.getById(id);
|
||||||
|
if (demoCustomer == null) {
|
||||||
|
return R.error("找不到此数据!");
|
||||||
|
}
|
||||||
|
return R.ok(BeanUtil.toBean(demoCustomer, DemoCustomerVo.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
@ApiOperation(value = "新增DemoCustomer")
|
||||||
|
@SaCheckPermission("demoCustomerManage:add")
|
||||||
|
public R add(@Valid @RequestBody AddDemoCustomerDto dto){
|
||||||
|
DemoCustomer demoCustomer = BeanUtil.toBean(dto, DemoCustomer.class);
|
||||||
|
boolean isSuccess = demoCustomerManageService.save(demoCustomer);
|
||||||
|
return R.ok(demoCustomer.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping
|
||||||
|
@ApiOperation(value = "修改DemoCustomer")
|
||||||
|
@SaCheckPermission("demoCustomerManage:edit")
|
||||||
|
public R update(@Valid @RequestBody UpdateDemoCustomerDto dto){
|
||||||
|
|
||||||
|
DemoCustomer demoCustomer = BeanUtil.toBean(dto, DemoCustomer.class);
|
||||||
|
return R.ok(demoCustomerManageService.updateById(demoCustomer));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping
|
||||||
|
@ApiOperation(value = "删除")
|
||||||
|
@SaCheckPermission("demoCustomerManage:delete")
|
||||||
|
public R delete(@Valid @RequestBody List<Long> ids){
|
||||||
|
return R.ok(demoCustomerManageService.removeBatchByIds(ids));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AddDemoCustomerDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import com.xjrsoft.common.page.PageInput;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页查询入参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class DemoCustomerPageDto extends PageInput {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateDemoCustomerDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: demo_客户管理
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("demo_customer")
|
||||||
|
@ApiModel(value = "demo_客户管理对象", description = "demo_客户管理")
|
||||||
|
public class DemoCustomer implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableId
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private Long createUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
@TableField(fill = FieldFill.INSERT)
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.xjrsoft.module.relationManage.entity.DemoCustomer;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: mapper
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface DemoCustomerMapper extends BaseMapper<DemoCustomer> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.xjrsoft.module.relationManage.entity.DemoCustomer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface IDemoCustomerManageService extends IService<DemoCustomer> {
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.xjrsoft.module.relationManage.entity.DemoCustomer;
|
||||||
|
import com.xjrsoft.module.relationManage.mapper.DemoCustomerMapper;
|
||||||
|
import com.xjrsoft.module.relationManage.service.IDemoCustomerManageService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: service
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DemoCustomerManageServiceImpl extends ServiceImpl<DemoCustomerMapper, DemoCustomer> implements IDemoCustomerManageService {
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 分页列表出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoCustomerPageVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,74 @@
|
|||||||
|
package com.xjrsoft.module.relationManage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title: 表单出参
|
||||||
|
* @Author 管理员
|
||||||
|
* @Date: 2025-03-11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DemoCustomerVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String gender;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String address;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String company;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private LocalDateTime createDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long createUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
██████╗ ███████╗ ██████╗ ██╗████████╗ ██████╗
|
||||||
|
██╔════╝ ██╔════╝██╔════╝ ██║╚══██╔══╝██╔════╝
|
||||||
|
██║ ███╗█████╗ ██║ ███╗█████╗██║ ██║ ██║
|
||||||
|
██║ ██║██╔══╝ ██║ ██║╚════╝██║ ██║ ██║
|
||||||
|
╚██████╔╝███████╗╚██████╔╝ ██║ ██║ ╚██████╗
|
||||||
|
╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
spring:
|
||||||
|
cloud:
|
||||||
|
nacos: #nacos监控
|
||||||
|
config:
|
||||||
|
server-addr: 127.0.0.1:8848 # nacos 配置中心地址
|
||||||
|
namespace: ITC-MS
|
||||||
|
group: DNE
|
||||||
|
username: nacos
|
||||||
|
password: nacos
|
||||||
|
extension-configs:
|
||||||
|
- data-id: global-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: discovery-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: datasource-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: seata-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: redis-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: magic-api.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sa-token.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: camunda.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sentinel-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
datalog:
|
||||||
|
db:
|
||||||
|
url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
server:
|
||||||
|
port: 8099
|
||||||
|
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
name: demo-service
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
|
profiles:
|
||||||
|
active: local
|
||||||
|
cloud:
|
||||||
|
nacos: #nacos监控
|
||||||
|
config:
|
||||||
|
server-addr: 10.0.252.1:8848 # nacos 配置中心地址
|
||||||
|
namespace: ITC-MS
|
||||||
|
group: DNE
|
||||||
|
username: nacos
|
||||||
|
password: Yudean@2025
|
||||||
|
file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension}
|
||||||
|
refresh-enabled: true
|
||||||
|
extension-configs:
|
||||||
|
- data-id: global.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: discovery.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: datasource.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: seata.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: redis.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: magic-api.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sa-token.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: camunda.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sentinel.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
BIN
itc-pcitc-demo/itc-pcitc-demo-service/target/app.jar.original
Normal file
BIN
itc-pcitc-demo/itc-pcitc-demo-service/target/app.jar.original
Normal file
Binary file not shown.
@ -0,0 +1,39 @@
|
|||||||
|
#FROM --platform=linux/arm64 docker.xuanyuan.run/library/openjdk:8-jre
|
||||||
|
FROM harbor.kubesphere.com/public/jar8u112:v1
|
||||||
|
|
||||||
|
|
||||||
|
RUN mkdir -p /root/logs/java/ \
|
||||||
|
&& mkdir -p /scm/logs/ \
|
||||||
|
&& mkdir -p /opt/app/ \
|
||||||
|
&& mkdir -p /uploadFile/ \
|
||||||
|
&& mkdir -p /var/log/app \
|
||||||
|
&& mkdir -p /opt/app/logs \
|
||||||
|
&& mkdir -p /opt/agent/config
|
||||||
|
|
||||||
|
ENV TZ "Asia/Shanghai"
|
||||||
|
|
||||||
|
ADD ./skywalking-agent.jar /opt/agent/skywalking-agent.jar
|
||||||
|
ADD ./agent.config /opt/agent/config/agent.config
|
||||||
|
|
||||||
|
RUN echo "set fileencodings=utf-8,gbk,gb2312,gb18030,cp936,latin1 \n set fenc=utf-8 \n set tenc=utf-8 \n set enc=utf-8 \n" |tee ~/.vimrc
|
||||||
|
|
||||||
|
|
||||||
|
ARG JAR_FILE
|
||||||
|
ARG PRO_FILE
|
||||||
|
ARG SOURCE_NAME
|
||||||
|
|
||||||
|
ADD ./startApp.sh /opt/app/
|
||||||
|
RUN chmod u+x /opt/app/*.sh
|
||||||
|
ADD ./${SOURCE_NAME} /opt/app/app.jar
|
||||||
|
RUN test -f /opt/app/app.jar || { echo "Error: JAR file not found at ${SOURCE_NAME}"; exit 1; }
|
||||||
|
|
||||||
|
#应用名称
|
||||||
|
ENV APP_NAME=itc-pcitc-demo
|
||||||
|
#skywalking-oap-server地址
|
||||||
|
ENV SKYWALKING_SERVER=172.20.0.12:11800
|
||||||
|
ENV ENV_APP_FILE_PATH=/opt/app/app.jar
|
||||||
|
ENV ENV_APP_PRO_FILE=test
|
||||||
|
|
||||||
|
EXPOSE 8090 5005
|
||||||
|
|
||||||
|
ENTRYPOINT ["/opt/app/startApp.sh"]
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
# 应用名称(在 SkyWalking UI 中显示的服务名)
|
||||||
|
agent.service_name=your-springboot-app
|
||||||
|
# SkyWalking OAP 服务地址(默认本地)
|
||||||
|
collector.backend_service=localhost:11800
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
██████╗ ███████╗ ██████╗ ██╗████████╗ ██████╗
|
||||||
|
██╔════╝ ██╔════╝██╔════╝ ██║╚══██╔══╝██╔════╝
|
||||||
|
██║ ███╗█████╗ ██║ ███╗█████╗██║ ██║ ██║
|
||||||
|
██║ ██║██╔══╝ ██║ ██║╚════╝██║ ██║ ██║
|
||||||
|
╚██████╔╝███████╗╚██████╔╝ ██║ ██║ ╚██████╗
|
||||||
|
╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
spring:
|
||||||
|
cloud:
|
||||||
|
nacos: #nacos监控
|
||||||
|
config:
|
||||||
|
server-addr: 127.0.0.1:8848 # nacos 配置中心地址
|
||||||
|
namespace: ITC-MS
|
||||||
|
group: DNE
|
||||||
|
username: nacos
|
||||||
|
password: nacos
|
||||||
|
extension-configs:
|
||||||
|
- data-id: global-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: discovery-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: datasource-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: seata-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: redis-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: magic-api.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sa-token.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: camunda.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sentinel-local.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
datalog:
|
||||||
|
db:
|
||||||
|
url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
server:
|
||||||
|
port: 8099
|
||||||
|
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
name: demo-service
|
||||||
|
main:
|
||||||
|
allow-bean-definition-overriding: true
|
||||||
|
profiles:
|
||||||
|
active: local
|
||||||
|
cloud:
|
||||||
|
nacos: #nacos监控
|
||||||
|
config:
|
||||||
|
server-addr: 10.0.252.1:8848 # nacos 配置中心地址
|
||||||
|
namespace: ITC-MS
|
||||||
|
group: DNE
|
||||||
|
username: nacos
|
||||||
|
password: Yudean@2025
|
||||||
|
file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension}
|
||||||
|
refresh-enabled: true
|
||||||
|
extension-configs:
|
||||||
|
- data-id: global.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: discovery.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: datasource.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: seata.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: redis.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: magic-api.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sa-token.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: camunda.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
|
|
||||||
|
- data-id: sentinel.yml
|
||||||
|
refresh: true
|
||||||
|
group: DNE
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 定义变量
|
||||||
|
CONTAINER_NAME="itc-ms-system"
|
||||||
|
IMAGE_NAME="pcitc/itc-ms-system"
|
||||||
|
IMAGE_VERSION="2025-08-04-0940"
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
|
||||||
|
PORT=8091 # 服务暴露端口
|
||||||
|
CONTAINER_PORT=8091 # 服务暴露端口
|
||||||
|
TZ="Asia/Shanghai" # 时区设置
|
||||||
|
# 环境变量配置
|
||||||
|
ENV_APP_PRO_FILE="test"
|
||||||
|
file="$CONTAINER_NAME-version.txt"
|
||||||
|
|
||||||
|
# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "文件 $file 不存在"
|
||||||
|
touch "$file" # 变量加引号,处理含空格的文件名
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 检查参数数量(建议移到脚本开头统一检查)
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$2"
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 修正赋值语法:等号两侧无空格
|
||||||
|
last_version=$(tail -n 1 "$file")
|
||||||
|
IMAGE_FULL="$last_version"
|
||||||
|
# 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 显示帮助信息
|
||||||
|
show_help() {
|
||||||
|
echo "使用方法: $0 [操作类型]"
|
||||||
|
echo "操作类型:"
|
||||||
|
echo " deploy - 部署并启动服务容器"
|
||||||
|
echo " remove - 停止并删除容器及数据/日志目录"
|
||||||
|
echo " logs - 查看容器日志"
|
||||||
|
echo " help - 显示帮助信息"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 部署服务
|
||||||
|
deploy_service() {
|
||||||
|
echo "部署镜像【$IMAGE_FULL】"
|
||||||
|
# 检查容器是否已存在,存在则停止并删除
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止并删除现有容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动服务容器
|
||||||
|
echo "启动服务容器..."
|
||||||
|
docker run -d --privileged --restart always \
|
||||||
|
--name $CONTAINER_NAME \
|
||||||
|
-p $PORT:$CONTAINER_PORT \
|
||||||
|
-e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
|
||||||
|
$IMAGE_FULL
|
||||||
|
|
||||||
|
# 检查启动状态
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
|
||||||
|
echo "服务启动成功!"
|
||||||
|
echo "容器名称: $CONTAINER_NAME"
|
||||||
|
echo "访问地址: http://localhost:$PORT"
|
||||||
|
echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
|
||||||
|
else
|
||||||
|
echo "服务启动失败,日志如下:"
|
||||||
|
docker logs $CONTAINER_NAME
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 删除服务
|
||||||
|
remove_service() {
|
||||||
|
# 检查容器是否存在
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
|
||||||
|
echo "删除容器: $CONTAINER_NAME"
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
show_logs() {
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
|
||||||
|
docker logs -f $CONTAINER_NAME
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 主逻辑
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
deploy)
|
||||||
|
deploy_service
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
remove_service
|
||||||
|
;;
|
||||||
|
logs)
|
||||||
|
show_logs
|
||||||
|
;;
|
||||||
|
help)
|
||||||
|
show_help
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "无效的操作类型: $1"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 定义变量
|
||||||
|
CONTAINER_NAME="itc-ms-user"
|
||||||
|
IMAGE_NAME="pcitc/itc-ms-user"
|
||||||
|
IMAGE_VERSION="2025-08-04-0954"
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
|
||||||
|
PORT=8092 # 服务暴露端口
|
||||||
|
CONTAINER_PORT=8092 # 服务暴露端口
|
||||||
|
TZ="Asia/Shanghai" # 时区设置
|
||||||
|
# 环境变量配置
|
||||||
|
ENV_APP_PRO_FILE="test"
|
||||||
|
file="$CONTAINER_NAME-version.txt"
|
||||||
|
|
||||||
|
# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
|
||||||
|
if [ ! -f "$file" ]; then
|
||||||
|
echo "文件 $file 不存在"
|
||||||
|
touch "$file" # 变量加引号,处理含空格的文件名
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 检查参数数量(建议移到脚本开头统一检查)
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
IMAGE_FULL="$IMAGE_NAME:$2"
|
||||||
|
echo "$IMAGE_FULL" >> "$file"
|
||||||
|
echo "记录版本【$IMAGE_FULL】到 $file"
|
||||||
|
else
|
||||||
|
# 修正赋值语法:等号两侧无空格
|
||||||
|
last_version=$(tail -n 1 "$file")
|
||||||
|
IMAGE_FULL="$last_version"
|
||||||
|
# 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 显示帮助信息
|
||||||
|
show_help() {
|
||||||
|
echo "使用方法: $0 [操作类型]"
|
||||||
|
echo "操作类型:"
|
||||||
|
echo " deploy - 部署并启动服务容器"
|
||||||
|
echo " remove - 停止并删除容器及数据/日志目录"
|
||||||
|
echo " logs - 查看容器日志"
|
||||||
|
echo " help - 显示帮助信息"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 部署服务
|
||||||
|
deploy_service() {
|
||||||
|
echo "部署镜像【$IMAGE_FULL】"
|
||||||
|
# 检查容器是否已存在,存在则停止并删除
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止并删除现有容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动服务容器
|
||||||
|
echo "启动服务容器..."
|
||||||
|
docker run -d --privileged --restart always \
|
||||||
|
--name $CONTAINER_NAME \
|
||||||
|
-p $PORT:$CONTAINER_PORT \
|
||||||
|
-e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
|
||||||
|
$IMAGE_FULL
|
||||||
|
|
||||||
|
# 检查启动状态
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
|
||||||
|
echo "服务启动成功!"
|
||||||
|
echo "容器名称: $CONTAINER_NAME"
|
||||||
|
echo "访问地址: http://localhost:$PORT"
|
||||||
|
echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
|
||||||
|
else
|
||||||
|
echo "服务启动失败,日志如下:"
|
||||||
|
docker logs $CONTAINER_NAME
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 删除服务
|
||||||
|
remove_service() {
|
||||||
|
# 检查容器是否存在
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "停止容器: $CONTAINER_NAME"
|
||||||
|
docker stop $CONTAINER_NAME >/dev/null
|
||||||
|
|
||||||
|
echo "删除容器: $CONTAINER_NAME"
|
||||||
|
docker rm $CONTAINER_NAME >/dev/null
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 查看日志
|
||||||
|
show_logs() {
|
||||||
|
if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
|
||||||
|
docker logs -f $CONTAINER_NAME
|
||||||
|
else
|
||||||
|
echo "容器 $CONTAINER_NAME 不存在"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 主逻辑
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
deploy)
|
||||||
|
deploy_service
|
||||||
|
;;
|
||||||
|
remove)
|
||||||
|
remove_service
|
||||||
|
;;
|
||||||
|
logs)
|
||||||
|
show_logs
|
||||||
|
;;
|
||||||
|
help)
|
||||||
|
show_help
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "无效的操作类型: $1"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#cp /etc/hosts /etc/hosts.temp
|
||||||
|
|
||||||
|
# 初始化环境变量(设置默认值,避免空变量)
|
||||||
|
APP_NAME=${APP_NAME:-"default-springboot-app"} # 默认服务名
|
||||||
|
SKYWALKING_SERVER=${SKYWALKING_SERVER:-"localhost:11800"} # 默认SkyWalking服务地址
|
||||||
|
ENV_APP_PRO_FILE=${ENV_APP_PRO_FILE:-"test"} # 默认环境为test
|
||||||
|
|
||||||
|
# 初始化Java启动参数(包含是否使用-server模式)
|
||||||
|
java_base="java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME"
|
||||||
|
export java_base="$java_base -Dskywalking.collector.backend_service=$SKYWALKING_SERVER"
|
||||||
|
|
||||||
|
java_start="$java_base -jar"
|
||||||
|
|
||||||
|
# 根据环境变量区分开发/生产环境配置
|
||||||
|
if [ "$ENV_APP_PRO_FILE" = "prod" ]; then
|
||||||
|
# 生产环境JVM参数
|
||||||
|
export JAVA_OPTS="-Xms1024m -Xmx4096m -Xmn512m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:G1ReservePercent=20"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500 -XX:G1MixedGCCountTarget=10"
|
||||||
|
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
|
||||||
|
|
||||||
|
# 生产环境使用-server模式
|
||||||
|
java_start="$java_base -jar -server"
|
||||||
|
else
|
||||||
|
# 开发环境JVM参数
|
||||||
|
export JAVA_OPTS="-Xms512m -Xmx1024m -Xmn256m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=5000"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:./logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
|
||||||
|
# 开发环境开启远程调试
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 公共配置(编码、时区等)
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Duser.language=zh -Duser.country=CN -Duser.timezone=Asia/Shanghai"
|
||||||
|
|
||||||
|
# SpringBoot 环境配置
|
||||||
|
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV_APP_PRO_FILE"
|
||||||
|
|
||||||
|
# 输出启动参数
|
||||||
|
echo "启动参数:$java_start $JAVA_OPTS $ENV_APP_FILE_PATH"
|
||||||
|
|
||||||
|
# 执行启动命令(用双引号包裹每个变量)
|
||||||
|
exec $java_start $JAVA_OPTS $ENV_APP_FILE_PATH
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
#Generated by Maven
|
||||||
|
#Wed Sep 24 16:46:33 CST 2025
|
||||||
|
version=2.0.4
|
||||||
|
groupId=com.geg
|
||||||
|
artifactId=itc-pcitc-demo-service
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\vo\DemoAppliancePageVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\dto\UpdateDemoCustomerDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\service\impl\DemoApplianceServiceImpl.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\service\impl\DemoCustomerManageServiceImpl.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\UpdateTestfrom2Dto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\mapper\DemoApplianceMapper.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\common\TransactionConfig.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\DemoAppliancePageDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\entity\Testfrom2.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\common\schedule\DemoSysncTask.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\entity\DemoCustomer.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\UpdateDemoApplianceDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\vo\DemoCustomerPageVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\controller\Testfrom2Controller.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\vo\Testfrom2PageVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\controller\DemoCustomerManageController.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\service\IDemoCustomerManageService.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\service\IDemoApplianceService.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\service\ITestfrom2Service.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\mapper\DemoCustomerMapper.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\vo\Testfrom2Vo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\Testfrom2PageDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\entity\DemoAppliance.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\service\impl\Testfrom2ServiceImpl.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\dto\AddDemoCustomerDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\vo\DemoCustomerVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\ITCDemoApplication.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\common\util\SpringContextUtil.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\mapper\Testfrom2Mapper.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\AddTestfrom2Dto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\dto\AddDemoApplianceDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\controller\DemoApplianceController.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\prdManage\vo\DemoApplianceVo.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service\src\main\java\com\xjrsoft\module\relationManage\dto\DemoCustomerPageDto.java
|
||||||
28
itc-pcitc-demo/pom.xml
Normal file
28
itc-pcitc-demo/pom.xml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-back</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>itc-pcitc-demo</artifactId>
|
||||||
|
<name>itc-pcitc-demo</name>
|
||||||
|
<description>itc-pcitc-demo</description>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>itc-pcitc-demo-service</module>
|
||||||
|
<module>itc-pcitc-demo-api</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
</project>
|
||||||
118
itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml
Normal file
118
itc-pcitc-dependencies/itc-pcitc-dependencies-api/pom.xml
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-dependencies</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>itc-pcitc-dependencies-api</artifactId>
|
||||||
|
<name>itc-pcitc-dependencies-api</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<revision>2.0.4</revision>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-ms-common-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-ms-user-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-ms-workflow-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>easyexcel</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ssssssss</groupId>
|
||||||
|
<artifactId>magic-api-spring-boot-starter</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.zhyd.oauth</groupId>
|
||||||
|
<artifactId>JustAuth</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
<include>**/*.vm</include>
|
||||||
|
<include>**/*.ftl</include>
|
||||||
|
<include>**/*.jpg</include>
|
||||||
|
<include>**/*.png</include>
|
||||||
|
<include>**/*.xls</include>
|
||||||
|
<include>**/*.xlsx</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
public enum JoinCaseType {
|
||||||
|
|
||||||
|
FULL,NONE
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月28日 下午6:00:10
|
||||||
|
* @Description: 关联类型 ONE_ONE ONE_MANY
|
||||||
|
*/
|
||||||
|
public enum JoinType {
|
||||||
|
|
||||||
|
ONE,
|
||||||
|
MANY
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月26日 上午9:18:35
|
||||||
|
* @Description: 关联值类型
|
||||||
|
*/
|
||||||
|
public enum JoinValueType {
|
||||||
|
|
||||||
|
FEILD, //字段关联
|
||||||
|
STATIC //字段等于静态值
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import org.springframework.core.annotation.AliasFor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月26日 下午5:33:01
|
||||||
|
* @Description: 数据日志属性配置
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface LogField {
|
||||||
|
|
||||||
|
@AliasFor("name")
|
||||||
|
String value() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 业务名称
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
@AliasFor("value")
|
||||||
|
String name() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 数据库字段
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String column() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 位置
|
||||||
|
* @return int 返回类型
|
||||||
|
*/
|
||||||
|
int index() default 0;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Inherited;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月26日 上午9:37:23
|
||||||
|
* @Description: 关联关系
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Inherited
|
||||||
|
public @interface LogJoin {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 业务名称
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String name();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 关联对象
|
||||||
|
* @return Class<?> 返回类型
|
||||||
|
*/
|
||||||
|
Class<?> target();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 关联类型
|
||||||
|
* @return JoinType 返回类型
|
||||||
|
*/
|
||||||
|
JoinType type();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 级联类型:DEL(删除)、UPD(修改)、FULL(全部);
|
||||||
|
* @return JoinType 返回类型
|
||||||
|
*/
|
||||||
|
JoinCaseType caseType() default JoinCaseType.FULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 关联列
|
||||||
|
* @return DataLogJoinColumn[] 返回类型
|
||||||
|
*/
|
||||||
|
LogJoinColumn[] columns() default {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 数据来源:默认通过target配置的表名去关联查询;如果sourceType = TQ 时配置查询ID
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String source() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: TODO(这里用一句话描述这个方法的作用)
|
||||||
|
* @return
|
||||||
|
* @return QJoinSource 返回类型
|
||||||
|
*/
|
||||||
|
SourceType sourceType() default SourceType.TABLE;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Inherited;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月26日 上午9:37:45
|
||||||
|
* @Description: 关联属性配置
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Inherited
|
||||||
|
public @interface LogJoinColumn {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 属性
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String field() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 关联属性
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String relatedField() default "";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 赋值方向
|
||||||
|
* @return ValueDirectionType 返回类型
|
||||||
|
*/
|
||||||
|
ValueDirectionType valueDirection() default ValueDirectionType.LEFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 关联值类型:JoinValueType: FEILD【字段关联】、STATIC【字段等于静态值】
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
JoinValueType valueType() default JoinValueType.FEILD;
|
||||||
|
|
||||||
|
String staticValue() default "";
|
||||||
|
|
||||||
|
Class<?> staticType() default String.class;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Inherited;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import org.springframework.core.annotation.AliasFor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月25日 下午6:09:03
|
||||||
|
* @Description: TODO(这里用一句话描述这个类的作用)
|
||||||
|
*/
|
||||||
|
@Target({ElementType.TYPE})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Inherited
|
||||||
|
public @interface LogTable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 业务名称
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
@AliasFor("name")
|
||||||
|
String value() default "";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 业务名称
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
@AliasFor("value")
|
||||||
|
String name() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 表名或者查询ID
|
||||||
|
* @return String 返回类型
|
||||||
|
*/
|
||||||
|
String source();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @return QJoinSource 返回类型
|
||||||
|
*/
|
||||||
|
SourceType sourceType() default SourceType.TABLE;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月28日 下午4:24:27
|
||||||
|
* @Description: 数据来源,默认从关联表,获取从SQL配置表
|
||||||
|
*/
|
||||||
|
public enum SourceType {
|
||||||
|
|
||||||
|
TABLE,
|
||||||
|
TSQL
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.pictc.annotations.datalog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张福财
|
||||||
|
* @date 2025年8月28日 下午2:40:03
|
||||||
|
* @Description: 赋值方向
|
||||||
|
* 左边为主表
|
||||||
|
* 右边为子表
|
||||||
|
*/
|
||||||
|
public enum ValueDirectionType {
|
||||||
|
LEFT, //向左
|
||||||
|
RIGHT
|
||||||
|
}
|
||||||
@ -0,0 +1,115 @@
|
|||||||
|
package com.pictc.common.mybatis;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.ParameterizedType;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.List;
|
||||||
|
import org.apache.ibatis.type.JdbcType;
|
||||||
|
import org.apache.ibatis.type.MappedJdbcTypes;
|
||||||
|
import org.apache.ibatis.type.MappedTypes;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
|
||||||
|
|
||||||
|
|
||||||
|
@MappedTypes({Object.class})
|
||||||
|
@MappedJdbcTypes(JdbcType.VARCHAR)
|
||||||
|
public class JsonTypeHandler<T> extends AbstractJsonTypeHandler<Object> {
|
||||||
|
|
||||||
|
private boolean list;
|
||||||
|
|
||||||
|
private Class<?> entityClass;
|
||||||
|
|
||||||
|
public JsonTypeHandler(Class<?> type) {
|
||||||
|
list = isList(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public JsonTypeHandler(Class<?> type, Field field) {
|
||||||
|
list = isList(type);
|
||||||
|
try {
|
||||||
|
entityClass = getFeildFanClass(field, 0);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object parse(String json) {
|
||||||
|
if(list) {
|
||||||
|
return JSON.parseArray(json,entityClass);
|
||||||
|
}
|
||||||
|
return JSON.parseObject(json,entityClass);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toJson(Object obj) {
|
||||||
|
if(obj==null) return null;
|
||||||
|
return JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue,
|
||||||
|
SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是list集合
|
||||||
|
* */
|
||||||
|
private boolean isList(Class<?> klass) {
|
||||||
|
return hashClass(klass, List.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* klass是否实现了face类或接口
|
||||||
|
* @author tanuki
|
||||||
|
* @param klass 要判断的类型
|
||||||
|
* @param face 指定的类型
|
||||||
|
* */
|
||||||
|
private boolean hashClass(Class<?> klass, Class<?> face) {
|
||||||
|
if (klass.equals(face)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
if (Object.class.equals(klass)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Class<?>[] cls = klass.getInterfaces();
|
||||||
|
for (int i = 0; i < cls.length; i++) {
|
||||||
|
if (hashClass(cls[i], face)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!klass.isInterface()) {
|
||||||
|
if (hashClass(klass.getSuperclass(), face)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Class<?> getFeildFanClass(Field field,int index) throws ClassNotFoundException {
|
||||||
|
return getClass(getFeildFan(field, index));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type 类型转 class
|
||||||
|
* */
|
||||||
|
private Class<?> getClass(Type type) throws ClassNotFoundException{
|
||||||
|
String cStr=type.toString();
|
||||||
|
if(cStr.indexOf("class ")==0){
|
||||||
|
return Class.forName(cStr.substring(6, cStr.length()));
|
||||||
|
}else if(cStr.indexOf("interface ")==0){
|
||||||
|
return Class.forName(cStr.substring(10, cStr.length()));
|
||||||
|
}else{
|
||||||
|
if(cStr.indexOf("<")!=-1){
|
||||||
|
return Class.forName(cStr.substring(0, cStr.indexOf("<")));
|
||||||
|
}
|
||||||
|
return Class.forName(cStr.substring(0, cStr.length()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Type getFeildFan(Field field,int index) {
|
||||||
|
Type type = field.getGenericType();
|
||||||
|
if(type instanceof ParameterizedType){
|
||||||
|
return ((ParameterizedType)type).getActualTypeArguments()[index];
|
||||||
|
}
|
||||||
|
return field.getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,100 @@
|
|||||||
|
package com.xjrsoft.module.datalog.vo;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.pictc.common.mybatis.JsonTypeHandler;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据变更日志实体类
|
||||||
|
* 用于记录数据库字段修改和实体删除操作
|
||||||
|
*/
|
||||||
|
@ApiModel(value = "DataChangeLogDto对象", description = "数据变更日志")
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class DataChangeLogDto implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Fields {todo}(用一句话描述这个变量表示什么)
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日志ID(主键)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("主键")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父表ID,根节点#
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("父表ID")
|
||||||
|
private String pid = "#";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实体类名称(全类名)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("实体类名称(全类名)")
|
||||||
|
private String entityClassName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实体类简称(简单类名)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("实体类简称(简单类名)")
|
||||||
|
private String entitySimpleName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作的实体ID(主键值)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作的实体ID(主键值)")
|
||||||
|
private Long entityId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字段变更详情
|
||||||
|
* key: 字段名
|
||||||
|
* value: 包含旧值和新值的Map
|
||||||
|
*/
|
||||||
|
@TableField(typeHandler = JsonTypeHandler.class)
|
||||||
|
@ApiModelProperty("属性值记录")
|
||||||
|
private List<FieldChangeDto> fieldChanges;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作类型:INSERT-新增,UPDATE-修改,DELETE-删除
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作类型:INSERT-新增,UPDATE-修改,DELETE-删除")
|
||||||
|
private OperationType operationType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作人ID
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作人ID")
|
||||||
|
private String operatorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作人姓名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作人姓名")
|
||||||
|
private String operatorName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作时间")
|
||||||
|
private LocalDateTime operationTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作IP地址
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("操作IP地址")
|
||||||
|
private String operationIp;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package com.xjrsoft.module.datalog.vo;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
@ApiModel(value = "FieldChangeDto对象", description = "数据变更字段记录")
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class FieldChangeDto implements Serializable{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("属性名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty("属性")
|
||||||
|
private String field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 旧值
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("旧值")
|
||||||
|
private Object oldValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新值
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("新值")
|
||||||
|
private Object newValue;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.xjrsoft.module.datalog.vo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 操作类型枚举
|
||||||
|
*/
|
||||||
|
public enum OperationType {
|
||||||
|
INSERT, UPDATE, DELETE
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
#Generated by Maven
|
||||||
|
#Wed Sep 24 16:43:44 CST 2025
|
||||||
|
version=2.0.4
|
||||||
|
groupId=com.geg
|
||||||
|
artifactId=itc-pcitc-dependencies-api
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\FieldChangeDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\OperationType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinCaseType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogField.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinValueType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogJoin.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\common\mybatis\JsonTypeHandler.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\DataChangeLogDto.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\ValueDirectionType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\SourceType.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogTable.java
|
||||||
|
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogJoinColumn.java
|
||||||
217
itc-pcitc-dependencies/itc-pcitc-dependencies-service/pom.xml
Normal file
217
itc-pcitc-dependencies/itc-pcitc-dependencies-service/pom.xml
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-dependencies</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>itc-pcitc-dependencies-service</artifactId>
|
||||||
|
<name>itc-pcitc-dependencies-service</name>
|
||||||
|
<description>itc-pcitc-dependencies-service</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-ms-common-service</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.geg</groupId>
|
||||||
|
<artifactId>itc-pcitc-dependencies-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- springCloud 整合的openFeign -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>redis.clients</groupId>
|
||||||
|
<artifactId>jedis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!--引入nacos依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!--引入spring-cloud-alibaba-nacos-config依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!--引入spring-cloud-alibaba-nacos-config bootstrap依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!--引入sentinel依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
||||||
|
<artifactId>jackson-dataformat-xml</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.csp</groupId>
|
||||||
|
<artifactId>sentinel-datasource-nacos</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- mybatis-plus 多表关联 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.yulichang</groupId>
|
||||||
|
<artifactId>mybatis-plus-join</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.cloud.govern</groupId>
|
||||||
|
<artifactId>service-invoke-sdk</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.freemarker</groupId>
|
||||||
|
<artifactId>freemarker</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.unfbx</groupId>
|
||||||
|
<artifactId>chatgpt-java</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-simple</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>tech.powerjob</groupId>
|
||||||
|
<artifactId>powerjob-worker-spring-boot-starter</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.zhyd.oauth</groupId>
|
||||||
|
<artifactId>JustAuth</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.keycloak</groupId>
|
||||||
|
<artifactId>keycloak-authz-client</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.microsoft.ews-java-api</groupId>
|
||||||
|
<artifactId>ews-java-api</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>tech.powerjob</groupId>
|
||||||
|
<artifactId>powerjob-official-processors</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>tech.powerjob</groupId>
|
||||||
|
<artifactId>powerjob-worker</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.smallbun.screw</groupId>
|
||||||
|
<artifactId>screw-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.github.openfeign</groupId>
|
||||||
|
<artifactId>feign-okhttp</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.belerweb</groupId>
|
||||||
|
<artifactId>pinyin4j</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.properties</include>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user