修改成员管理相关内容 增加接口

This commit is contained in:
lxd 2025-06-25 16:35:02 +08:00
parent 9b7159f8c1
commit 355593487d
6 changed files with 87 additions and 5 deletions

View File

@ -113,8 +113,8 @@ public class PersonController {
@PutMapping("/remove-members")
@Operation(summary = "根据用户ID移除家庭组号")
@Parameter(name = "id", description = "用户编号", required = true)
public CommonResult<Boolean> removeMembers(@RequestParam("id") Integer id) {
personService.removePersonFamilyId(id);
public CommonResult<Boolean> removeMembers(@RequestParam("id") Integer id,@RequestParam("familyid") Integer familyid) {
personService.removePersonFamilyId(id,familyid);
return success(true);
}

View File

@ -112,4 +112,9 @@ public class PersonDO {
*/
@TableField("vipendtime")
private String vipendtime;
/**
* 微信昵称
*/
@TableField("nick_name")
private String nick_name;
}

View File

@ -39,7 +39,21 @@ public interface PersonMapper extends BaseMapperX<PersonDO> {
}
default PageResult<PersonDO> selectPageNoFamilyid(PersonPageReqVO reqVO) {
return null;
return selectPage(reqVO, new LambdaQueryWrapperX<PersonDO>()
.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<PersonDO> {
* 首页统计 会员增长趋势 一周
* */
List<MemberGrowthVO> 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);
}

View File

@ -78,7 +78,7 @@ public interface PersonService {
*
* @param id 用户编号
*/
void removePersonFamilyId(Integer id);
void removePersonFamilyId(Integer id, Integer familyid);
/**
* 根据家庭组号获取所有成员

View File

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

View File

@ -56,4 +56,29 @@
LEFT JOIN daily_stats stats ON ds.date = stats.vip_date
ORDER BY ds.date
</select>
<!-- 插入家庭表数据-->
<insert id="insertFamily">
INSERT INTO tb_family (create_user_id)
VALUES (#{createUserId})
</insert>
<!-- 验证家庭ID 是否在表存在-->
<select id="existsBycreateUserId" resultType="int">
SELECT COUNT(*) FROM tb_family WHERE create_user_id = #{createUserId}
</select>
<!-- 删除家庭表数据-->
<delete id="deleteFamilyByCreateUserId">
DELETE FROM tb_family
WHERE create_user_id = #{createUserId}
</delete>
<!-- 插入家庭关系表-->
<insert id="insertFamilyUser">
INSERT INTO tb_family_user (family_id, member_user_id, relation_type)
VALUES (#{familyId}, #{memberUserId}, #{relationType})
</insert>
<!-- 删除家庭关系表-->
<delete id="deleteFamilyUserByFamilyIdAndMemberUserId">
DELETE FROM tb_family_user
WHERE family_id = #{familyId}
AND member_user_id = #{memberUserId}
</delete>
</mapper>