公会头饰-Guild

This commit is contained in:
khalil
2024-12-18 16:56:44 +08:00
parent 0ac398eaac
commit bc411c8076
8 changed files with 64 additions and 23 deletions

View File

@@ -29,9 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Collectors;
@Service
@@ -50,10 +48,6 @@ public class FamilyManageAdminService {
@Autowired
private FamilyMessageService familyMessageService;
@Autowired
private FamilyMemberGoldExchangeService familyMemberGoldExchangeService;
@Resource(name = "bizExecutor")
private ThreadPoolExecutor bizExecutor;
@Autowired
private FamilyPayAccountService familyPayAccountService;
@Autowired
private FamilyGiftRecordService familyGiftRecordService;

View File

@@ -6,6 +6,7 @@ import com.accompany.admin.vo.guild.GuildAdminVo;
import com.accompany.admin.vo.guild.GuildMemberAdminVo;
import com.accompany.admin.vo.guild.GuildOperateRecordAdminVo;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.event.GuildMemberStatusChangeEvent;
import com.accompany.business.model.guild.Guild;
import com.accompany.business.model.guild.GuildApply;
import com.accompany.business.model.guild.GuildMember;
@@ -28,6 +29,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -54,6 +56,8 @@ public class GuildManageAdminService {
private AdminUserService adminUserService;
@Autowired
private GuildApplyAdminService guildApplyAdminService;
@Autowired
private ApplicationContext applicationContext;
@Transactional(rollbackFor = Exception.class)
public void createGuild(Long erbanNo, Integer adminId) {
@@ -124,6 +128,8 @@ public class GuildManageAdminService {
guildMemberService.save(guildMember);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
guildMessageService.sendCreateSysMsgToGuildOwner(guild.getOwnerUid(), guild.getName());
return guild.getId();
}
@@ -473,6 +479,11 @@ public class GuildManageAdminService {
guildMemberService.dismissMemberByGuildId(guild.getId(), now, adminId);
for (GuildMember guildMember: guildMemberList){
guildMember.setEnable(Boolean.FALSE);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
}
List<Long> uidList = guildMemberList.stream().map(GuildMember::getUid).distinct().collect(Collectors.toList());
guildMessageService.sendDismissSysMsgToMember(uidList, guild.getName());
}
@@ -512,6 +523,9 @@ public class GuildManageAdminService {
.set(GuildMember::getEnable, Boolean.FALSE)
.set(GuildMember::getAdminId, adminId)
.update();
guildMember.setEnable(Boolean.FALSE);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
}
@Transactional(rollbackFor = Exception.class)
@@ -555,5 +569,7 @@ public class GuildManageAdminService {
guildMember.setAdminId(adminId);
guildMemberService.save(guildMember);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
}
}

View File

@@ -1,9 +0,0 @@
package com.accompany.business.event;
import org.springframework.context.ApplicationEvent;
public class FamilyStatusChangeEvent extends ApplicationEvent {
public FamilyStatusChangeEvent(Object source) {
super(source);
}
}

View File

@@ -0,0 +1,9 @@
package com.accompany.business.event;
import org.springframework.context.ApplicationEvent;
public class GuildMemberStatusChangeEvent extends ApplicationEvent {
public GuildMemberStatusChangeEvent(Object source) {
super(source);
}
}

View File

@@ -0,0 +1,29 @@
package com.accompany.business.event.listener;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.event.GuildMemberStatusChangeEvent;
import com.accompany.business.model.guild.GuildMember;
import com.accompany.business.service.guild.GuildDressUpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@Component
public class GuildMemberStatusChangeListener implements ApplicationListener<GuildMemberStatusChangeEvent> {
@Autowired
private GuildDressUpService guildDressUpService;
@Async
@Override
public void onApplicationEvent(GuildMemberStatusChangeEvent event) {
GuildMember gm = (GuildMember) event.getSource();
if (gm.getEnable()){
guildDressUpService.sendGuildHeadwear(gm.getUid(), gm.getPartitionId(), GuildConstant.RoleType.OWNER.equals(gm.getRoleType()));
} else {
guildDressUpService.rollbackGuildHeadwear(gm.getUid());
}
}
}

View File

@@ -2,8 +2,6 @@ package com.accompany.business.service.family;
import com.accompany.business.model.family.FamilyMember;
import com.accompany.business.service.purse.UserPurseService;
import com.accompany.business.service.record.BillRecordService;
import com.accompany.core.enumeration.BillObjTypeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -14,8 +12,6 @@ public class FamilyMemberGoldExchangeService {
@Autowired
private UserPurseService userPurseService;
@Autowired
private BillRecordService billRecordService;
public void goldExchange(FamilyMember familyMember){
double goldNum = userPurseService.excAllGoldToDiamond(familyMember.getUid());

View File

@@ -52,8 +52,6 @@ public class FamilyRelationService {
@Autowired
private FamilyAuthService familyAuthService;
@Autowired
private FamilyMemberGoldExchangeService familyMemberGoldExchangeService;
@Autowired
private GuildApplyService guildApplyService;
@Autowired
private GiveUserService giveUserService;
@@ -267,8 +265,6 @@ public class FamilyRelationService {
familyMemberService.save(familyMember);
applicationContext.publishEvent(new FamilyMemberStatusChangeEvent(familyMember));
familyMemberGoldExchangeService.goldExchange(familyMember);
}
//修改操作记录

View File

@@ -1,6 +1,7 @@
package com.accompany.business.service.guild;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.event.GuildMemberStatusChangeEvent;
import com.accompany.business.model.give.GiveUser;
import com.accompany.business.model.guild.Guild;
import com.accompany.business.model.guild.GuildApply;
@@ -23,6 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
@@ -55,6 +57,8 @@ public class GuildRelationService {
private GuildApplyService guildApplyService;
@Autowired
private GiveUserService giveUserService;
@Autowired
private ApplicationContext applicationContext;
public GuildSkipVo getGuildSkipVo(Long uid) {
GuildSkipVo vo = new GuildSkipVo();
@@ -272,6 +276,8 @@ public class GuildRelationService {
guildMember.setAdminId(null);
guildMemberService.save(guildMember);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
}
//修改操作记录
@@ -484,6 +490,8 @@ public class GuildRelationService {
guildMember.setAdminId(null);
guildMemberService.save(guildMember);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
}
//修改操作记录
@@ -541,6 +549,8 @@ public class GuildRelationService {
guildMember.setAdminId(null);
guildMemberService.updateById(guildMember);
applicationContext.publishEvent(new GuildMemberStatusChangeEvent(guildMember));
GuildOperateRecord record = new GuildOperateRecord();
record.setGuildId(myGuildMember.getGuildId());
record.setUid(myGuildMember.getUid());