From dd31030012c1423eb8c1ccc869f8a672fc50bda7 Mon Sep 17 00:00:00 2001 From: zichun Date: Fri, 8 May 2026 09:50:22 +0800 Subject: [PATCH] feat(usr): BrandEntity/UsrUserEntity + Mapper + MyBatisPlusConfig REQ-USR-004 --- backend/src/main/java/com/example/erp/config/MyBatisPlusConfig.java | 20 ++++++++++++++++++++ backend/src/main/java/com/example/erp/module/usr/entity/BrandEntity.java | 40 ++++++++++++++++++++++++++++++++++++++++ backend/src/main/java/com/example/erp/module/usr/entity/UsrUserEntity.java | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/src/main/java/com/example/erp/module/usr/mapper/BrandMapper.java | 7 +++++++ backend/src/main/java/com/example/erp/module/usr/mapper/UsrUserMapper.java | 7 +++++++ backend/src/test/java/com/example/erp/module/usr/BrandMapperTest.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 188 insertions(+), 0 deletions(-) create mode 100644 backend/src/main/java/com/example/erp/config/MyBatisPlusConfig.java create mode 100644 backend/src/main/java/com/example/erp/module/usr/entity/BrandEntity.java create mode 100644 backend/src/main/java/com/example/erp/module/usr/entity/UsrUserEntity.java create mode 100644 backend/src/main/java/com/example/erp/module/usr/mapper/BrandMapper.java create mode 100644 backend/src/main/java/com/example/erp/module/usr/mapper/UsrUserMapper.java create mode 100644 backend/src/test/java/com/example/erp/module/usr/BrandMapperTest.java diff --git a/backend/src/main/java/com/example/erp/config/MyBatisPlusConfig.java b/backend/src/main/java/com/example/erp/config/MyBatisPlusConfig.java new file mode 100644 index 0000000..d859eea --- /dev/null +++ b/backend/src/main/java/com/example/erp/config/MyBatisPlusConfig.java @@ -0,0 +1,20 @@ +package com.example.erp.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@MapperScan("com.example.erp.module.*.mapper") +public class MyBatisPlusConfig { + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } +} diff --git a/backend/src/main/java/com/example/erp/module/usr/entity/BrandEntity.java b/backend/src/main/java/com/example/erp/module/usr/entity/BrandEntity.java new file mode 100644 index 0000000..ca3f9ca --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/entity/BrandEntity.java @@ -0,0 +1,40 @@ +package com.example.erp.module.usr.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("brand") +public class BrandEntity { + + @TableId(value = "iIncrement", type = IdType.AUTO) + private Integer iIncrement; + + @TableField("sId") + private String sId; + + @TableField("sBrandsId") + private String sBrandsId; + + @TableField("sSubsidiaryId") + private String sSubsidiaryId; + + @TableField("tCreateDate") + private LocalDateTime tCreateDate; + + @TableField("sName") + private String sName; + + @TableField("sShortName") + private String sShortName; + + @TableField("sNo") + private String sNo; +} diff --git a/backend/src/main/java/com/example/erp/module/usr/entity/UsrUserEntity.java b/backend/src/main/java/com/example/erp/module/usr/entity/UsrUserEntity.java new file mode 100644 index 0000000..75cc588 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/entity/UsrUserEntity.java @@ -0,0 +1,67 @@ +package com.example.erp.module.usr.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@TableName("usr_user") +public class UsrUserEntity { + + @TableId(value = "iIncrement", type = IdType.AUTO) + private Integer iIncrement; + + @TableField("sId") + private String sId; + + @TableField("sBrandsId") + private String sBrandsId; + + @TableField("sSubsidiaryId") + private String sSubsidiaryId; + + @TableField("tCreateDate") + private LocalDateTime tCreateDate; + + @TableField("sUserCode") + private String sUserCode; + + @TableField("sUsername") + private String sUsername; + + @TableField("sPasswordHash") + private String sPasswordHash; + + @TableField("sUserType") + private String sUserType; + + @TableField("sLanguage") + private String sLanguage; + + @TableField("bCanEditDoc") + private Integer bCanEditDoc; + + @TableField("bIsDisabled") + private Integer bIsDisabled; + + @TableField("sEmployeeId") + private String sEmployeeId; + + @TableField("sCreatorUsername") + private String sCreatorUsername; + + @TableField("tLastLoginDate") + private LocalDateTime tLastLoginDate; + + @TableField("iLoginFailCount") + private Integer iLoginFailCount; + + @TableField("tLockUntil") + private LocalDateTime tLockUntil; +} diff --git a/backend/src/main/java/com/example/erp/module/usr/mapper/BrandMapper.java b/backend/src/main/java/com/example/erp/module/usr/mapper/BrandMapper.java new file mode 100644 index 0000000..74785ad --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/mapper/BrandMapper.java @@ -0,0 +1,7 @@ +package com.example.erp.module.usr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.erp.module.usr.entity.BrandEntity; + +public interface BrandMapper extends BaseMapper { +} diff --git a/backend/src/main/java/com/example/erp/module/usr/mapper/UsrUserMapper.java b/backend/src/main/java/com/example/erp/module/usr/mapper/UsrUserMapper.java new file mode 100644 index 0000000..f2d6ba7 --- /dev/null +++ b/backend/src/main/java/com/example/erp/module/usr/mapper/UsrUserMapper.java @@ -0,0 +1,7 @@ +package com.example.erp.module.usr.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.erp.module.usr.entity.UsrUserEntity; + +public interface UsrUserMapper extends BaseMapper { +} diff --git a/backend/src/test/java/com/example/erp/module/usr/BrandMapperTest.java b/backend/src/test/java/com/example/erp/module/usr/BrandMapperTest.java new file mode 100644 index 0000000..9f9f3a2 --- /dev/null +++ b/backend/src/test/java/com/example/erp/module/usr/BrandMapperTest.java @@ -0,0 +1,47 @@ +package com.example.erp.module.usr; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.example.erp.module.usr.entity.BrandEntity; +import com.example.erp.module.usr.mapper.BrandMapper; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; + +import java.time.LocalDateTime; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest +@ActiveProfiles("test") +class BrandMapperTest { + + @Autowired + private BrandMapper brandMapper; + + @BeforeEach + void setUp() { + BrandEntity brand = new BrandEntity(); + brand.setSId("b-test-mapper-001"); + brand.setSNo("TST"); + brand.setSName("测试版"); + brand.setTCreateDate(LocalDateTime.now()); + brandMapper.insert(brand); + } + + @AfterEach + void tearDown() { + brandMapper.delete(new LambdaQueryWrapper().eq(BrandEntity::getSNo, "TST")); + } + + @Test + void findByNo_returnsCorrectBrand() { + BrandEntity found = brandMapper.selectOne( + new LambdaQueryWrapper().eq(BrandEntity::getSNo, "TST")); + assertNotNull(found); + assertEquals("测试版", found.getSName()); + assertEquals("b-test-mapper-001", found.getSId()); + } +} -- libgit2 0.22.2