家族功能新增家族介绍字段

This commit is contained in:
tianfeng 2025-12-22 16:56:18 +08:00
parent 04d3b818a0
commit da9570fb80
9 changed files with 42 additions and 50 deletions

View File

@ -61,11 +61,6 @@ public class FamilyRestController extends BaseController {
/** /**
* 创建家族. * 创建家族.
*
* @eo.name 创建家族.
* @eo.url /create
* @eo.method post
* @eo.request-type json
*/ */
@PostMapping("/create") @PostMapping("/create")
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
@ -75,17 +70,20 @@ public class FamilyRestController extends BaseController {
/** /**
* 编辑家族信息. * 编辑家族信息.
*
* @eo.name 编辑家族信息.
* @eo.url /edit
* @eo.method post
* @eo.request-type json
*/ */
@PostMapping("/edit") @PostMapping("/edit")
public void edit(@RequestBody @Validated FamilyInfoEditCmd cmd) { public void edit(@RequestBody @Validated FamilyInfoEditCmd cmd) {
familyService.edit(cmd); familyService.edit(cmd);
} }
/**
* 家族基本信息
*/
@GetMapping("/base-info")
public FamilyBaseInfoCO getBaseInfo(FamilyBaseInfoQueryCmd cmd) {
return familyService.getBaseInfo(cmd);
}
/** /**
* 家族族长信息(与家族成员信息 数据结构一致). * 家族族长信息(与家族成员信息 数据结构一致).
* *
@ -124,18 +122,6 @@ public class FamilyRestController extends BaseController {
return familyService.getMembers(cmd); return familyService.getMembers(cmd);
} }
/**
* 家族基本信息.base_info
*
* @eo.name 家族基本信息.
* @eo.url /base-info
* @eo.method get
* @eo.request-type formdata
*/
@GetMapping("/base-info")
public FamilyBaseInfoCO getBaseInfo(FamilyBaseInfoQueryCmd cmd) {
return familyService.getBaseInfo(cmd);
}
/** /**
* 授权用户家族权限.(grant_user_role) * 授权用户家族权限.(grant_user_role)

View File

@ -52,16 +52,13 @@ public class FamilyBaseInfoExe {
private FamilyBaseInfoCO getFamilyInfoCO(FamilyBaseInfo baseInfo, private FamilyBaseInfoCO getFamilyInfoCO(FamilyBaseInfo baseInfo,
FamilyDetailsDTO familyLevel,FamilyBaseInfoQueryCmd cmd) { FamilyDetailsDTO familyLevel,FamilyBaseInfoQueryCmd cmd) {
BigDecimal amount = Optional.ofNullable(enumConfigCacheService
.getValueBigDecimal(EnumConfigKey.valueOf(OtherConfigEnum.FAMILY_GROUP_CHAT_AMOUNT.getKey()),
cmd.requireReqSysOrigin())).orElse(BigDecimal.ZERO);
return new FamilyBaseInfoCO() return new FamilyBaseInfoCO()
.setAmount(amount)
.setFamilyId(baseInfo.getId()) .setFamilyId(baseInfo.getId())
.setFamilyAccount(baseInfo.getFamilyAccount()) .setFamilyAccount(baseInfo.getFamilyAccount())
.setFamilyAvatar(baseInfo.getFamilyAvatar()) .setFamilyAvatar(baseInfo.getFamilyAvatar())
.setFamilyName(baseInfo.getFamilyName()) .setFamilyName(baseInfo.getFamilyName())
.setFamilyNotice(baseInfo.getFamilyNotice()) .setFamilyNotice(baseInfo.getFamilyNotice())
.setFamilyIntro(baseInfo.getFamilyIntro())
.setCurrentExp( .setCurrentExp(
familyLevelExpService.getExp(baseInfo.getId(), baseInfo.getFamilyLevelId()).longValue()) familyLevelExpService.getExp(baseInfo.getId(), baseInfo.getFamilyLevelId()).longValue())
.setCurrentMember(getFamilyMemberCount(baseInfo.getId())) .setCurrentMember(getFamilyMemberCount(baseInfo.getId()))

View File

@ -74,19 +74,15 @@ public class FamilyCreateExe {
ResponseAssert.isTrue(CommonErrorCode.NOT_REPEATABLE, ResponseAssert.isTrue(CommonErrorCode.NOT_REPEATABLE,
redisService.lock(lockKey(cmd), 30)); redisService.lock(lockKey(cmd), 30));
checkCreateWhereAndPayCandy(cmd);
Long familyId = IdWorkerUtils.getId(); Long familyId = IdWorkerUtils.getId();
createFamily(cmd, levelConfig.getId(), familyId); createFamily(cmd, levelConfig.getId(), familyId);
addFamilyMember(cmd, familyId); addFamilyMember(cmd, familyId);
sendHonor(cmd, levelConfig); checkCreateWhereAndPayCandy(cmd);
addApproveRecord(cmd); // addApproveRecord(cmd);
cacheFamilyLevel(cmd, levelConfig, familyId);
return familyId; return familyId;
@ -134,7 +130,7 @@ public class FamilyCreateExe {
.setMemberRole(FamilyRoleEnum.ADMIN.name()); .setMemberRole(FamilyRoleEnum.ADMIN.name());
familyMemberInfo.setUpdateUser(cmd.getReqUserId()); familyMemberInfo.setUpdateUser(cmd.getReqUserId());
familyMemberInfoService.save(familyMemberInfo); familyMemberInfoService.save(familyMemberInfo);
familyManager.addGroup(familyMemberInfo.getFamilyId(), familyMemberInfo.getMemberUserId()); // familyManager.addGroup(familyMemberInfo.getFamilyId(), familyMemberInfo.getMemberUserId());
} }
private void createFamily(FamilyCreateCmd cmd, Long levelConfigId, Long familyId) { private void createFamily(FamilyCreateCmd cmd, Long levelConfigId, Long familyId) {
@ -146,7 +142,7 @@ public class FamilyCreateExe {
.processImgSaveAsCompressZoom(cmd.getFamilyAvatar(), ImageSizeConst.COVER_HEIGHT) .processImgSaveAsCompressZoom(cmd.getFamilyAvatar(), ImageSizeConst.COVER_HEIGHT)
)) ))
.setFamilyName(cmd.getFamilyName()) .setFamilyName(cmd.getFamilyName())
.setFamilyNotice(cmd.getFamilyNotice()) .setFamilyIntro(cmd.getFamilyIntro())
.setFamilyStatus(FamilyStatusEnum.NORMAL.name()) .setFamilyStatus(FamilyStatusEnum.NORMAL.name())
.setFamilyLevelId(levelConfigId) .setFamilyLevelId(levelConfigId)
.setSysOrigin(cmd.getReqSysOrigin().getOrigin()) .setSysOrigin(cmd.getReqSysOrigin().getOrigin())
@ -164,10 +160,6 @@ public class FamilyCreateExe {
FamilyCreateRules createRules = getCreateRules(cmd); FamilyCreateRules createRules = getCreateRules(cmd);
if (getUserLevelExperience(cmd) >= createRules.getUserWealthLevel()) {
return;
}
if (getCandyBalance(cmd).compareTo(createRules.getPayCandy()) < 0) { if (getCandyBalance(cmd).compareTo(createRules.getPayCandy()) < 0) {
ResponseAssert.failure(WalletErrorCode.INSUFFICIENT_BALANCE); ResponseAssert.failure(WalletErrorCode.INSUFFICIENT_BALANCE);
return; return;
@ -214,10 +206,10 @@ public class FamilyCreateExe {
private void checkParam(FamilyCreateCmd cmd) { private void checkParam(FamilyCreateCmd cmd) {
ResponseAssert.isFalse(ResponseErrorCode.REQUEST_PARAMETER_ERROR, StringUtils.isBlanks( ResponseAssert.isFalse(ResponseErrorCode.REQUEST_PARAMETER_ERROR, StringUtils.isBlanks(
cmd.getFamilyAvatar(), cmd.getFamilyNotice(), cmd.getFamilyName())); cmd.getFamilyAvatar(), cmd.getFamilyIntro(), cmd.getFamilyName()));
//敏感词 //敏感词
ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyName())); // ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyName()));
ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyNotice())); // ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyIntro()));
} }
} }

View File

@ -41,13 +41,14 @@ public class FamilyInfoEditExe {
if (StringUtils.isBlank(cmd.getFamilyAvatar()) && if (StringUtils.isBlank(cmd.getFamilyAvatar()) &&
StringUtils.isBlank(cmd.getFamilyName()) && StringUtils.isBlank(cmd.getFamilyName()) &&
StringUtils.isBlank(cmd.getFamilyNotice())) { StringUtils.isBlank(cmd.getFamilyNotice()) &&
StringUtils.isBlank(cmd.getFamilyIntro())) {
ResponseAssert.failure(CommonErrorCode.UPDATE_FAILURE); ResponseAssert.failure(CommonErrorCode.UPDATE_FAILURE);
} }
//敏感词 //敏感词
ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyName())); // ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyName()));
ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyNotice())); // ResponseAssert.isFalse(DynamicErrorCode.SENSITIVE_WORD_ERROR, SensitiveWordFilter.checkSensitiveWord(cmd.getFamilyNotice()));
ResponseAssert.isTrue(FamilyErrorCode.NOT_EXIST_FAMILY_INFO_DATA, getExistFamilyByUserId(cmd)); ResponseAssert.isTrue(FamilyErrorCode.NOT_EXIST_FAMILY_INFO_DATA, getExistFamilyByUserId(cmd));
@ -69,18 +70,18 @@ public class FamilyInfoEditExe {
if (StringUtils.isNotBlank(cmd.getFamilyNotice())) { if (StringUtils.isNotBlank(cmd.getFamilyNotice())) {
familyBaseInfo.setFamilyNotice(cmd.getFamilyNotice()); familyBaseInfo.setFamilyNotice(cmd.getFamilyNotice());
saveApproval(cmd, DataApprovalTypeEnum.FAMILY_NOTICE);
} }
if (StringUtils.isNotBlank(cmd.getFamilyAvatar())) { if (StringUtils.isNotBlank(cmd.getFamilyAvatar())) {
familyBaseInfo.setFamilyAvatar(ResponseAssert.requiredSuccess( familyBaseInfo.setFamilyAvatar(ResponseAssert.requiredSuccess(
ossServiceClient.processImgSaveAsCompressZoom(cmd.getFamilyAvatar(), ossServiceClient.processImgSaveAsCompressZoom(cmd.getFamilyAvatar(),
ImageSizeConst.COVER_HEIGHT))); ImageSizeConst.COVER_HEIGHT)));
saveApproval(cmd, DataApprovalTypeEnum.FAMILY_AVATAR);
} }
if (StringUtils.isNotBlank(cmd.getFamilyName())) { if (StringUtils.isNotBlank(cmd.getFamilyName())) {
familyBaseInfo.setFamilyName(cmd.getFamilyName()); familyBaseInfo.setFamilyName(cmd.getFamilyName());
saveApproval(cmd, DataApprovalTypeEnum.FAMILY_NICKNAME); }
if (StringUtils.isNotBlank(cmd.getFamilyIntro())) {
familyBaseInfo.setFamilyIntro(cmd.getFamilyIntro());
} }
return familyBaseInfo; return familyBaseInfo;

View File

@ -122,7 +122,7 @@ public class FamilyMessageHandleExe {
.setMemberUserId(userId) .setMemberUserId(userId)
.setMemberRole(FamilyRoleEnum.MEMBER.name()) .setMemberRole(FamilyRoleEnum.MEMBER.name())
); );
familyCommon.addGroup(familyId, userId); // familyCommon.addGroup(familyId, userId);
} }
private FamilyDetailsDTO getFamilyLevel(FamilyMemberInfo familyApproved) { private FamilyDetailsDTO getFamilyLevel(FamilyMemberInfo familyApproved) {

View File

@ -47,6 +47,11 @@ public class FamilyBaseInfoCO extends ClientObject {
*/ */
private String familyName; private String familyName;
/**
* 家族介绍.
*/
private String familyIntro;
/** /**
* 家族公告. * 家族公告.
*/ */

View File

@ -33,8 +33,8 @@ public class FamilyCreateCmd extends AppExtCommand {
private String familyName; private String familyName;
/** /**
* 家族公告. * 家族介绍.
*/ */
private String familyNotice; private String familyIntro;
} }

View File

@ -28,6 +28,11 @@ public class FamilyInfoEditCmd extends AppExtCommand {
*/ */
private String familyName; private String familyName;
/**
* 家族介绍.
*/
private String familyIntro;
/** /**
* 家族公告. * 家族公告.
*/ */

View File

@ -69,6 +69,12 @@ public class FamilyBaseInfo extends TimestampBaseEntity {
@TableField("family_status") @TableField("family_status")
private String familyStatus; private String familyStatus;
/**
* 家族介绍.
*/
@TableField("family_intro")
private String familyIntro;
/** /**
* 家族公告. * 家族公告.
*/ */