提交 45f35dcc authored 作者: 黄承天's avatar 黄承天

fix(user): 修正ct与ut缺失的问题;修正id不匹配的问题;修正Project数据有多余的问题

上级 78ac1ef5
...@@ -23,7 +23,7 @@ import java.net.Socket; ...@@ -23,7 +23,7 @@ import java.net.Socket;
*/ */
@Slf4j @Slf4j
@SpringBootApplication @SpringBootApplication
@MapperScan("org.matrix.database.mapper") @MapperScan(basePackages = {"org.matrix.database.mapper", "org.matrix.zentao.mapper"})
public class BaseBootApplication implements CommandLineRunner { public class BaseBootApplication implements CommandLineRunner {
@Value("${spring.datasource.dynamic.datasource.master.url}") @Value("${spring.datasource.dynamic.datasource.master.url}")
...@@ -53,6 +53,6 @@ public class BaseBootApplication implements CommandLineRunner { ...@@ -53,6 +53,6 @@ public class BaseBootApplication implements CommandLineRunner {
@Override @Override
public void run(String... args) throws Exception { public void run(String... args) throws Exception {
log.info("[初始化] 初始化数据源" + driverClassName); log.info("[初始化] 初始化数据源" + driverClassName);
dataSourceService.add(new DataSourceDTO("初始数据源",driverClassName,url,username,password)); dataSourceService.add(new DataSourceDTO("初始数据源", driverClassName, url, username, password));
} }
} }
...@@ -30,5 +30,4 @@ public class HttpResponseDetail extends BaseTestCaseResponseDetail { ...@@ -30,5 +30,4 @@ public class HttpResponseDetail extends BaseTestCaseResponseDetail {
@ApiModelProperty("响应时间,单位为 ms ") @ApiModelProperty("响应时间,单位为 ms ")
private Long responseTime = 0L; private Long responseTime = 0L;
} }
...@@ -11,6 +11,11 @@ spring: ...@@ -11,6 +11,11 @@ spring:
url: jdbc:mysql://192.168.100.248:3306/key_stone?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC url: jdbc:mysql://192.168.100.248:3306/key_stone?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root username: root
password: root password: root
zentao:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.100.247:3306/zentao?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
mybatis-plus: mybatis-plus:
type-enums-package: org.matrix.enums type-enums-package: org.matrix.enums
......
...@@ -22,13 +22,16 @@ ...@@ -22,13 +22,16 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId> <artifactId>spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
......
package org.matrix.local.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* MetaFieldHandler.
* 元数据处理器,用于处理自动填充的字段
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2021/11/22 at 7:52 下午
*/
@Component
public class MetaFieldHandler implements MetaObjectHandler {
/**
* 创建时设置创建时间
* @param metaObject 数据库原始对象
*/
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
}
/**
* 更新时设置更新时间
* @param metaObject 数据库原始对象
*/
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
}
}
package org.matrix.local.config;
public class SecurityConfig {
}
package org.matrix.local.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* BaseEntity.
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2021/11/22 at 4:02 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "基础对象")
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
@ApiModelProperty("主键id,从0开始自增")
private Long id;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty("数据创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty("数据更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime updateTime;
}
package org.matrix.local.entity; package org.matrix.local.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.matrix.local.entity.BaseEntity;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
...@@ -22,10 +23,31 @@ import org.matrix.local.entity.BaseEntity; ...@@ -22,10 +23,31 @@ import org.matrix.local.entity.BaseEntity;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Project对象", description = "项目") @ApiModel(value = "Project对象", description = "项目")
@TableName(value = "kt_project") @TableName(value = "kt_project")
public class Project extends BaseEntity { public class Project {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Long id;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty("数据创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty("数据更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime updateTime;
@ApiModelProperty("名称") @ApiModelProperty("名称")
private String name; private String name;
......
package org.matrix.local.entity; package org.matrix.local.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.matrix.local.entity.BaseEntity; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
...@@ -17,13 +19,35 @@ import org.matrix.local.entity.BaseEntity; ...@@ -17,13 +19,35 @@ import org.matrix.local.entity.BaseEntity;
* @author matrix * @author matrix
* @since 2022-01-15 * @since 2022-01-15
*/ */
@Accessors(chain = true)
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "User对象", description = "用户") @ApiModel(value = "User对象", description = "用户")
@TableName(value = "kt_user") @TableName(value = "kt_user")
public class User extends BaseEntity{ public class User {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Long id;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty("数据创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty("数据更新时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime updateTime;
@ApiModelProperty("名称") @ApiModelProperty("名称")
private String name; private String name;
......
package org.matrix.local.entity; package org.matrix.local.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.matrix.local.entity.BaseEntity;
/** /**
* <p> * <p>
...@@ -21,10 +21,16 @@ import org.matrix.local.entity.BaseEntity; ...@@ -21,10 +21,16 @@ import org.matrix.local.entity.BaseEntity;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "UserProject对象", description = "用户项目关系") @ApiModel(value = "UserProject对象", description = "用户项目关系")
@TableName(value = "kt_user_project") @TableName(value = "kt_user_project")
public class UserProject extends BaseEntity { public class UserProject {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
@ApiModelProperty("主键id,从0开始自增")
private Long id;
private Long userId; private Long userId;
......
...@@ -20,8 +20,11 @@ import org.springframework.stereotype.Service; ...@@ -20,8 +20,11 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static java.util.Objects.nonNull;
@Service @Service
public class DataCollectorImpl implements IDataCollector { public class DataCollectorImpl implements IDataCollector {
...@@ -69,7 +72,9 @@ public class DataCollectorImpl implements IDataCollector { ...@@ -69,7 +72,9 @@ public class DataCollectorImpl implements IDataCollector {
*/ */
private void collectProject() { private void collectProject() {
ztProjects.clear(); ztProjects.clear();
ztProjects = ztProjectMapper.selectList(Wrappers.lambdaQuery()); ztProjects = ztProjectMapper.selectList(Wrappers.<ZtProject>lambdaQuery()
.eq(ZtProject::getDeleted, "0")
.eq(ZtProject::getProject, 0));
} }
/** /**
...@@ -113,21 +118,33 @@ public class DataCollectorImpl implements IDataCollector { ...@@ -113,21 +118,33 @@ public class DataCollectorImpl implements IDataCollector {
//------------------------private------------------------------------// //------------------------private------------------------------------//
private User user(ZtUser ztUser) { private User user(ZtUser ztUser) {
return new User(ztUser.getRealname(), ztUser.getAccount(), ztUser.getPassword()); return new User(Long.valueOf(ztUser.getId()), null, null, ztUser.getRealname(), ztUser.getAccount(), ztUser.getPassword());
} }
private Project project(ZtProject ztProject) { private Project project(ZtProject ztProject) {
return new Project(ztProject.getName()); return new Project(Long.valueOf(ztProject.getId()), null, null, ztProject.getName());
} }
private List<UserProject> userProjects(ZtUserView ztUserView) { private List<UserProject> userProjects(ZtUserView ztUserView) {
Long userId = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, ztUserView.getAccount())).getId(); Long userId = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, ztUserView.getAccount())).getId();
return toList(ztUserView.getProjects()).stream() return toList(ztUserView.getProjects()).stream()
.map(Long::parseLong) .map(Integer::parseInt)
.map(projectId -> new UserProject(userId, projectId)) .map(id -> ztProjectMapper.selectById(id))
.filter(ztProject -> Objects.equals("0", ztProject.getDeleted()))
.map(this::findProjectId)
.map(projectId -> new UserProject(null, userId, projectId))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
private Long findProjectId(ZtProject ztProject) {
if (nonNull(ztProject.getProject()) && ztProject.getProject() > 0) {
return Long.valueOf(ztProject.getProject());
} else {
return Long.valueOf(ztProject.getId());
}
}
private List<String> toList(String content) { private List<String> toList(String content) {
List<String> result = Arrays.stream(content.split(",")).collect(Collectors.toList()); List<String> result = Arrays.stream(content.split(",")).collect(Collectors.toList());
result.remove(0); result.remove(0);
......
...@@ -15,7 +15,7 @@ public class DataCollectorTask { ...@@ -15,7 +15,7 @@ public class DataCollectorTask {
@Autowired @Autowired
IDataCollector dataCollector; private IDataCollector dataCollector;
/** /**
* 同步禅道取的用户和项目数据 * 同步禅道取的用户和项目数据
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论