From 15627ff326470373e5f23636080c196384d1d521 Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Mon, 16 Jun 2025 15:58:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EVO=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AE=B6=E5=BA=AD=E6=88=90=E5=91=98=E7=BB=91=E5=AE=9A=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/person/PersonController.java | 6 ++++++ .../admin/person/vo/PersonUpfamilyInfoVO.java | 15 +++++++++++++++ .../system/dal/mysql/person/PersonMapper.java | 18 ++---------------- .../system/service/person/PersonService.java | 4 ++++ .../service/person/PersonServiceImpl.java | 19 +++++++++++++++++-- .../resources/mapper/person/PersonMapper.xml | 4 +++- 6 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/vo/PersonUpfamilyInfoVO.java diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java index faab171746..300356359a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java @@ -50,6 +50,12 @@ public class PersonController { personService.updatePerson(updateReqVO); return success(true); } + @PutMapping("/update-family-info") + @Operation(summary = "根据ID 更新家庭成员信息") + public CommonResult updatefamilyinfo(@Valid @RequestBody PersonUpfamilyInfoVO updateReqVO) { + Integer familyid = personService.updatefamilyinfo(updateReqVO); + return success(familyid); + } @DeleteMapping("/delete") @Operation(summary = "删除用户基本信息") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/vo/PersonUpfamilyInfoVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/vo/PersonUpfamilyInfoVO.java new file mode 100644 index 0000000000..8178780297 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/vo/PersonUpfamilyInfoVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.system.controller.admin.person.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class PersonUpfamilyInfoVO { + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8797") + private Integer id; + + + @Schema(description = "家庭关系:1-本人,2-兄弟,3-父亲,4-母亲,5-子女,6-其他") + private Integer familyrelation; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/person/PersonMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/person/PersonMapper.java index 280e8d2aac..721740e17b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/person/PersonMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/person/PersonMapper.java @@ -38,22 +38,8 @@ public interface PersonMapper extends BaseMapperX { } default PageResult selectPageNoFamilyid(PersonPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(PersonDO::getPhone, reqVO.getPhone()) - .eqIfPresent(PersonDO::getPassword, reqVO.getPassword()) - .likeIfPresent(PersonDO::getName, reqVO.getName()) - .eqIfPresent(PersonDO::getAddress, reqVO.getAddress()) - .eqIfPresent(PersonDO::getOrgid, reqVO.getOrgid()) - .likeIfPresent(PersonDO::getOrgname, reqVO.getOrgname()) - .eqIfPresent(PersonDO::getFamilyrelation, reqVO.getFamilyrelation()) - .eqIfPresent(PersonDO::getIsvip, reqVO.getIsvip()) - .eqIfPresent(PersonDO::getIdcard, reqVO.getIdcard()) - .betweenIfPresent(PersonDO::getCreatetime, reqVO.getCreatetime()) - .betweenIfPresent(PersonDO::getUpdatetime, reqVO.getUpdatetime()) - .eqIfPresent(PersonDO::getCreateby, reqVO.getCreateby()) - .eqIfPresent(PersonDO::getUpdateby, reqVO.getUpdateby()) - .isNull(PersonDO::getFamilyid) - .orderByDesc(PersonDO::getId)); + return null; } + Integer selectMaxFamilyId(); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java index 33b61c725c..28b5b94dad 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java @@ -28,6 +28,10 @@ public interface PersonService { * @param updateReqVO 更新信息 */ void updatePerson(@Valid PersonSaveReqVO updateReqVO); + /* + * 根据主键ID 更新家庭成员 信息 + * */ + Integer updatefamilyinfo(PersonUpfamilyInfoVO updateReqVO); /** * 删除用户基本信息 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java index 95278ca525..c8fe3ee9b5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java @@ -47,7 +47,16 @@ public class PersonServiceImpl implements PersonService { PersonDO updateObj = BeanUtils.toBean(updateReqVO, PersonDO.class); personMapper.updateById(updateObj); } - + @Override + public Integer updatefamilyinfo(PersonUpfamilyInfoVO updateReqVO) + { + Integer maxfamilyid = generateNextFamilyId(); + personMapper.update(null, new LambdaUpdateWrapper() + .eq(PersonDO::getId, updateReqVO.getId()) + .set(PersonDO::getFamilyid, maxfamilyid) + .set(PersonDO::getFamilyrelation, updateReqVO.getFamilyrelation())); + return maxfamilyid; + } @Override public void deletePerson(Integer id) { // 校验存在 @@ -104,5 +113,11 @@ public class PersonServiceImpl implements PersonService { public PageResult getPersonPageNoFamilyid(PersonPageReqVO pageReqVO) { return personMapper.selectPageNoFamilyid(pageReqVO); } - + /* + * 查询最大的家庭组ID 加1 + * */ + public Integer generateNextFamilyId() { + Integer maxFamilyId = personMapper.selectMaxFamilyId(); + return maxFamilyId == null ? 1 : maxFamilyId + 1; + } } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/person/PersonMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/person/PersonMapper.xml index da513140b9..79b8d0785c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/person/PersonMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/person/PersonMapper.xml @@ -8,5 +8,7 @@ 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> - + \ No newline at end of file