新增VO 修改家庭成员绑定相关

This commit is contained in:
lxd 2025-06-16 15:58:40 +08:00
parent 8e219c0b61
commit 15627ff326
6 changed files with 47 additions and 19 deletions

View File

@ -50,6 +50,12 @@ public class PersonController {
personService.updatePerson(updateReqVO); personService.updatePerson(updateReqVO);
return success(true); return success(true);
} }
@PutMapping("/update-family-info")
@Operation(summary = "根据ID 更新家庭成员信息")
public CommonResult<Integer> updatefamilyinfo(@Valid @RequestBody PersonUpfamilyInfoVO updateReqVO) {
Integer familyid = personService.updatefamilyinfo(updateReqVO);
return success(familyid);
}
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除用户基本信息") @Operation(summary = "删除用户基本信息")

View File

@ -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;
}

View File

@ -38,22 +38,8 @@ public interface PersonMapper extends BaseMapperX<PersonDO> {
} }
default PageResult<PersonDO> selectPageNoFamilyid(PersonPageReqVO reqVO) { default PageResult<PersonDO> selectPageNoFamilyid(PersonPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PersonDO>() return null;
.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));
} }
Integer selectMaxFamilyId();
} }

View File

@ -28,6 +28,10 @@ public interface PersonService {
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updatePerson(@Valid PersonSaveReqVO updateReqVO); void updatePerson(@Valid PersonSaveReqVO updateReqVO);
/*
* 根据主键ID 更新家庭成员 信息
* */
Integer updatefamilyinfo(PersonUpfamilyInfoVO updateReqVO);
/** /**
* 删除用户基本信息 * 删除用户基本信息

View File

@ -47,7 +47,16 @@ public class PersonServiceImpl implements PersonService {
PersonDO updateObj = BeanUtils.toBean(updateReqVO, PersonDO.class); PersonDO updateObj = BeanUtils.toBean(updateReqVO, PersonDO.class);
personMapper.updateById(updateObj); personMapper.updateById(updateObj);
} }
@Override
public Integer updatefamilyinfo(PersonUpfamilyInfoVO updateReqVO)
{
Integer maxfamilyid = generateNextFamilyId();
personMapper.update(null, new LambdaUpdateWrapper<PersonDO>()
.eq(PersonDO::getId, updateReqVO.getId())
.set(PersonDO::getFamilyid, maxfamilyid)
.set(PersonDO::getFamilyrelation, updateReqVO.getFamilyrelation()));
return maxfamilyid;
}
@Override @Override
public void deletePerson(Integer id) { public void deletePerson(Integer id) {
// 校验存在 // 校验存在
@ -104,5 +113,11 @@ public class PersonServiceImpl implements PersonService {
public PageResult<PersonDO> getPersonPageNoFamilyid(PersonPageReqVO pageReqVO) { public PageResult<PersonDO> getPersonPageNoFamilyid(PersonPageReqVO pageReqVO) {
return personMapper.selectPageNoFamilyid(pageReqVO); return personMapper.selectPageNoFamilyid(pageReqVO);
} }
/*
* 查询最大的家庭组ID 加1
* */
public Integer generateNextFamilyId() {
Integer maxFamilyId = personMapper.selectMaxFamilyId();
return maxFamilyId == null ? 1 : maxFamilyId + 1;
}
} }

View File

@ -8,5 +8,7 @@
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<select id="selectMaxFamilyId" resultType="int">
SELECT MAX(familyid) FROM tb_user
</select>
</mapper> </mapper>