diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java index 8ef978f3c3..d5537bb17d 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/config/MybatisPlusConfig.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.epmet.commons.mybatis.interceptor.DataFilterInterceptor; +import com.epmet.commons.mybatis.interceptor.MybatisPlusSqlInjector; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; @@ -44,5 +45,10 @@ public class MybatisPlusConfig { interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } + @Bean + @Order(2) + public MybatisPlusSqlInjector mybatisPlusSqlInjector(){ + return new MybatisPlusSqlInjector(); + } } diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/dao/BaseDao.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/dao/BaseDao.java index f23017b6f7..30b95eaa4c 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/dao/BaseDao.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/dao/BaseDao.java @@ -8,7 +8,7 @@ package com.epmet.commons.mybatis.dao; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.epmet.commons.mybatis.mapper.MyBaseMapper; /** * 基础Dao @@ -16,6 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -public interface BaseDao extends BaseMapper { +public interface BaseDao extends MyBaseMapper { } diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/interceptor/MybatisPlusSqlInjector.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/interceptor/MybatisPlusSqlInjector.java new file mode 100644 index 0000000000..21cc58edd8 --- /dev/null +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/interceptor/MybatisPlusSqlInjector.java @@ -0,0 +1,23 @@ +package com.epmet.commons.mybatis.interceptor; + +import com.baomidou.mybatisplus.core.injector.AbstractMethod; +import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; +import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteByIdWithFill; + +import java.util.List; + +/** + * desc:mybatisPlus拦截器 + * + * @author: LiuJanJun + * @date: 2022/3/16 6:33 下午 + * @version: 1.0 + */ +public class MybatisPlusSqlInjector extends DefaultSqlInjector { + @Override + public List getMethodList(Class mapperClass) { + final List methods = super.getMethodList(mapperClass); + methods.add(new LogicDeleteByIdWithFill()); + return methods; + } +} diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/mapper/MyBaseMapper.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/mapper/MyBaseMapper.java new file mode 100644 index 0000000000..13d589e918 --- /dev/null +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/mapper/MyBaseMapper.java @@ -0,0 +1,21 @@ +package com.epmet.commons.mybatis.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * desc:自定义mapper方法 + * + * @author: LiuJanJun + * @date: 2022/3/16 6:42 下午 + * @version: 1.0 + */ +public interface MyBaseMapper extends BaseMapper { + /** + * 根据Id逻辑删除 并 填充其他字段的值 id必填 + * + * @param entity 要删除的实体对象 + * @return 受影响记录数量 + */ + int deleteByIdWithFill(Entity entity); + +} diff --git a/epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java b/epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java index 06d674a4e3..a777c0c4da 100644 --- a/epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java +++ b/epmet-user/epmet-user-server/src/test/java/com/epmet/epmetuser/test/UserControllerTest.java @@ -1,7 +1,9 @@ package com.epmet.epmetuser.test; import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.dao.CustomerStaffDao; import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.entity.CustomerStaffEntity; import com.epmet.service.UserService; import org.junit.Test; import org.junit.runner.RunWith; @@ -16,10 +18,20 @@ public class UserControllerTest { @Autowired private UserService userService; + @Autowired + private CustomerStaffDao customerStaffDao; + @Test public void getLoginUserDetails() { LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(AppClientConstant.APP_GOV, AppClientConstant.CLIENT_WXMP, "4aaab913d9f11d90a2cb4dd21b075259"); System.out.println(loginUserDetails); } + @Test + public void del() { + CustomerStaffEntity entity = new CustomerStaffEntity(); + //entity.setId("1476792429129445378"); + entity.setRealName("刘建军3"); + customerStaffDao.deleteByIdWithFill(entity); + } }