From 355593487d1f5612929f27773faba327943173c5 Mon Sep 17 00:00:00 2001 From: lxd <1004405501@qq.com> Date: Wed, 25 Jun 2025 16:35:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90=E5=91=98=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9B=B8=E5=85=B3=E5=86=85=E5=AE=B9=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/person/PersonController.java | 4 +-- .../dal/dataobject/person/PersonDO.java | 5 +++ .../system/dal/mysql/person/PersonMapper.java | 33 ++++++++++++++++++- .../system/service/person/PersonService.java | 2 +- .../service/person/PersonServiceImpl.java | 23 ++++++++++++- .../resources/mapper/person/PersonMapper.xml | 25 ++++++++++++++ 6 files changed, 87 insertions(+), 5 deletions(-) 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 b7acd841e5..c5856a0d33 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 @@ -113,8 +113,8 @@ public class PersonController { @PutMapping("/remove-members") @Operation(summary = "根据用户ID移除家庭组号") @Parameter(name = "id", description = "用户编号", required = true) - public CommonResult removeMembers(@RequestParam("id") Integer id) { - personService.removePersonFamilyId(id); + public CommonResult removeMembers(@RequestParam("id") Integer id,@RequestParam("familyid") Integer familyid) { + personService.removePersonFamilyId(id,familyid); return success(true); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/person/PersonDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/person/PersonDO.java index 9f27ddf905..9f59b9a2a5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/person/PersonDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/person/PersonDO.java @@ -112,4 +112,9 @@ public class PersonDO { */ @TableField("vipendtime") private String vipendtime; + /** + * 微信昵称 + */ + @TableField("nick_name") + private String nick_name; } \ No newline at end of file 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 32bbdc97de..3ff560d328 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 @@ -39,7 +39,21 @@ public interface PersonMapper extends BaseMapperX { } default PageResult selectPageNoFamilyid(PersonPageReqVO reqVO) { - return null; + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PersonDO::getPhone, reqVO.getPhone()) + .eqIfPresent(PersonDO::getGender, reqVO.getGender()) + .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()) + // 仅查询 familyid 为 NULL 的数据 + .isNull(PersonDO::getFamilyid) + .orderByDesc(PersonDO::getId)); + } Integer selectMaxFamilyId(); @@ -52,5 +66,22 @@ public interface PersonMapper extends BaseMapperX { * 首页统计 会员增长趋势 一周 * */ List getMemberGrowthData(@Param("orgid") Integer orgid); + /* + * 插入家庭组号 + * */ + int insertFamily(@Param("createUserId") Integer createUserId); + /* + * 验证家庭租号是否存在 + * */ + int existsBycreateUserId(@Param("createUserId") Integer createUserId); + + int insertFamilyUser(@Param("familyId") Integer familyId, + @Param("memberUserId") Integer memberUserId, + @Param("relationType") Integer relationType); + + int deleteFamilyUserByFamilyIdAndMemberUserId(@Param("familyId") Integer familyId, + @Param("memberUserId") Integer memberUserId); + + int deleteFamilyByCreateUserId(@Param("createUserId") Integer createUserId); } \ 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 08e1e81003..1dfdb7e367 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 @@ -78,7 +78,7 @@ public interface PersonService { * * @param id 用户编号 */ - void removePersonFamilyId(Integer id); + void removePersonFamilyId(Integer id, Integer familyid); /** * 根据家庭组号获取所有成员 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 0773227041..15854496f3 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 @@ -59,6 +59,14 @@ public class PersonServiceImpl implements PersonService { .eq(PersonDO::getId, updateReqVO.getId()) .set(PersonDO::getFamilyid, maxfamilyid) .set(PersonDO::getFamilyrelation, updateReqVO.getFamilyrelation())); + //先验证家庭表是否存在这个数据 不存在则插入 + if(personMapper.existsBycreateUserId(maxfamilyid)<=0) + { + //插入家庭组号到家庭表 + personMapper.insertFamily(maxfamilyid); + } + //插入家庭关系 + personMapper.insertFamilyUser(maxfamilyid, updateReqVO.getId(), updateReqVO.getFamilyrelation()); return maxfamilyid; } @Override @@ -98,10 +106,19 @@ public class PersonServiceImpl implements PersonService { .eq(PersonDO::getId, id) .set(PersonDO::getFamilyrelation, familyrelation) .set(PersonDO::getFamilyid, familyid)); + //插入家庭组号到家庭表 + //先验证家庭表是否存在这个数据 不存在则插入 + if(personMapper.existsBycreateUserId(Integer.valueOf(familyid))<=0) + { + personMapper.insertFamily(Integer.valueOf(familyid)); + } + //插入家庭关系 + personMapper.insertFamilyUser(Integer.valueOf(familyid), id, familyrelation); + } @Override - public void removePersonFamilyId(Integer id) { + public void removePersonFamilyId(Integer id, Integer familyid) { // 校验存在 validatePersonExists(id); // 更新 @@ -109,6 +126,10 @@ public class PersonServiceImpl implements PersonService { .eq(PersonDO::getId, id) .set(PersonDO::getFamilyrelation, null) .set(PersonDO::getFamilyid, null)); + //删除家庭组 目前没有删除家庭组的情况 只需要删除家庭关系即可 + // personMapper.deleteFamilyByCreateUserId(familyid); + //删除家庭关系 + personMapper.deleteFamilyUserByFamilyIdAndMemberUserId(familyid, id); } @Override 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 f6478ac0b4..b805e4af96 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 @@ -56,4 +56,29 @@ LEFT JOIN daily_stats stats ON ds.date = stats.vip_date ORDER BY ds.date + + + INSERT INTO tb_family (create_user_id) + VALUES (#{createUserId}) + + + + + + DELETE FROM tb_family + WHERE create_user_id = #{createUserId} + + + + INSERT INTO tb_family_user (family_id, member_user_id, relation_type) + VALUES (#{familyId}, #{memberUserId}, #{relationType}) + + + + DELETE FROM tb_family_user + WHERE family_id = #{familyId} + AND member_user_id = #{memberUserId} + \ No newline at end of file