From 0ae314753d74b3e0c9caff0744f50642de5321ce Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 27 Oct 2023 14:37:58 +0800 Subject: [PATCH] 版本管理 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 231 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java index cd559c9..514d840 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java @@ -2,18 +2,17 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.mall.YesOrNoEnum; import cc.mrbird.febs.mall.dto.AdminSystemPayDto; -import cc.mrbird.febs.mall.entity.ChatUser; -import cc.mrbird.febs.mall.entity.MemberCoinWithdraw; -import cc.mrbird.febs.mall.mapper.ChatUserMapper; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminChatService; -import cc.mrbird.febs.mall.vo.AdminChatAmountFlowVo; -import cc.mrbird.febs.mall.vo.AdminChatCahrgeVo; -import cc.mrbird.febs.mall.vo.AdminChatUserVo; -import cc.mrbird.febs.mall.vo.AdminChatWithDrawVo; +import cc.mrbird.febs.mall.vo.*; +import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -21,8 +20,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; import java.math.BigDecimal; +import java.util.List; @Slf4j @Service @@ -30,11 +31,45 @@ @Transactional public class AdminChatServiceImpl extends ServiceImpl<ChatUserMapper, ChatUser> implements IAdminChatService { + private final ChatAmountFlowMapper chatAmountFlowMapper; + private final DataDictionaryMapper dataDictionaryMapper; + private final ChatGroupMapper chatGroupMapper; + private final ChatVersionMapper chatVersionMapper; + private final AgentProducer agentProducer; + private final RedisUtils redisUtils; + @Override public IPage<AdminChatUserVo> getUserList(ChatUser chatUser, QueryRequest request) { Page<AdminChatUserVo> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<AdminChatUserVo> chatUserIPage = this.baseMapper.selectUserListInPage(page, chatUser); return chatUserIPage; + } + + @Override + public IPage<AdminChatUserPerkVo> getUserPerkList(ChatUser chatUser, QueryRequest request) { + Page<AdminChatUserPerkVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + log.info(String.valueOf(chatUser.getIsRobot())); + IPage<AdminChatUserPerkVo> chatUserPerkVoIPage = this.baseMapper.selectUserPerkListInPage(page, chatUser); + List<AdminChatUserPerkVo> records = chatUserPerkVoIPage.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(AdminChatUserPerkVo adminChatUserPerkVo : records){ + Long userId = adminChatUserPerkVo.getUserId(); + List<AdminChatRedBagVo> group = this.baseMapper.selectListByMsgType(userId,"GROUP", null); +// adminChatUserPerkVo.setGroupRedBagNum(CollUtil.isEmpty(group) ? 0 : group.size()); + BigDecimal redBagTotalAmount = group.stream().map(AdminChatRedBagVo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + adminChatUserPerkVo.setRedBagTotalAmount(redBagTotalAmount); + BigDecimal redBagAvaAmount = group.stream().map(AdminChatRedBagVo::getAmountAva).reduce(BigDecimal.ZERO, BigDecimal::add); + adminChatUserPerkVo.setRedBagAvaAmount(redBagAvaAmount); + BigDecimal getRedbagAmount = this.baseMapper.selectTotalTypeByUserId(userId,12, null, null); + adminChatUserPerkVo.setGetRedbagAmount(getRedbagAmount); + BigDecimal boomToAmount = this.baseMapper.selectTotalTypeByUserId(userId,10, null, null); + adminChatUserPerkVo.setBoomToAmount(boomToAmount); +// BigDecimal boomFromAmount = this.baseMapper.selectTotalTypeByUserId(userId,9, null, null); +// BigDecimal teamPerkAmount = this.baseMapper.selectTotalTypeByUserId(userId,7, null, null); +// adminChatUserPerkVo.setTeamPerkAmount(teamPerkAmount.add(boomFromAmount)); + } + } + return chatUserPerkVoIPage; } @Override @@ -54,6 +89,14 @@ return new FebsResponse().fail().message("会员信息不存在"); } this.baseMapper.updateStatusByUserId(userId,YesOrNoEnum.NO.getCode()); + if (chatUser != null) { + // 清理token + String token = chatUser.getToken(); + if (!StringUtils.isEmpty(token)) { + String TOKEN_REDIS_APP = "token:app:"; + redisUtils.del(TOKEN_REDIS_APP + token); + } + } return new FebsResponse().success(); } @@ -74,6 +117,16 @@ } //增加用户的余额 this.baseMapper.updateBalanceByUserId(adminSystemPayDto.getId(),addBalance); + + ChatAmountFlow chatAmountFlow = new ChatAmountFlow(); + chatAmountFlow.setAmount(addBalance); + chatAmountFlow.setAvaAmount(balance); + chatAmountFlow.setCreateTime(DateUtil.date()); + chatAmountFlow.setRemark("系统拨付"); + chatAmountFlow.setType(6); + chatAmountFlow.setUserId(chatUser.getUserId()); + chatAmountFlow.setState(1); + chatAmountFlowMapper.insert(chatAmountFlow); return new FebsResponse().success(); } @@ -134,4 +187,174 @@ return new FebsResponse().success(); } + @Override + public FebsResponse openSwitchIsRobot(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateIsRobotByUserId(userId,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeSwitchIsRobot(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateIsRobotByUserId(userId,0); + return new FebsResponse().success(); + } + + @Override + public void updateDataDic(String type, String code, String modelType) { + DataDictionary dic = this.baseMapper.selectDicDataByTypeAndCode(type, code); + if (dic != null) { + dic.setValue(modelType); + dataDictionaryMapper.updateById(dic); + } + } + + @Override + public IPage<AdminGroupVo> getGroupList(ChatUser chatUser, QueryRequest request) { + Page<AdminGroupVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + return this.baseMapper.selectGroupListInPage(page, chatUser); + } + + @Override + public IPage<AdminVersionVo> getVersionList(ChatUser chatUser, QueryRequest request) { + Page<AdminVersionVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + return this.baseMapper.selectVersionListInPage(page, chatUser); + } + + @Override + public FebsResponse closeSwitchUseRobot(String id) { + this.baseMapper.updateIsRobotByGroupId(id,0); + return new FebsResponse().success(); + } + + @Override + public FebsResponse openSwitchUseRobot(String id) { + this.baseMapper.updateIsRobotByGroupId(id,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo) { + ChatGroup chatGroup = chatGroupMapper.selectById(adminGroupInfoVo.getId()); + if(ObjectUtil.isEmpty(chatGroup)) { + return new FebsResponse().fail().message("信息不存在"); + } + chatGroup.setAmountMin(adminGroupInfoVo.getAmountMin()); + chatGroup.setAmountMax(adminGroupInfoVo.getAmountMax()); + chatGroup.setRedBagCnt(adminGroupInfoVo.getRedBagCnt()); + chatGroup.setModelType(adminGroupInfoVo.getModelType()); + chatGroupMapper.updateById(chatGroup); + return new FebsResponse().success(); + } + + @Override + public FebsResponse updateVersionInfo(AdminVersionVo adminVersionVo) { + ChatVersion chatVersion = chatVersionMapper.selectById(adminVersionVo.getId()); + if(ObjectUtil.isEmpty(chatVersion)) { + return new FebsResponse().fail().message("信息不存在"); + } + chatVersion.setVersion(adminVersionVo.getVersion()); + chatVersion.setContent(adminVersionVo.getContent()); + chatVersion.setUrl(adminVersionVo.getUrl()); + chatVersion.setDescr(adminVersionVo.getDescr()); + chatVersionMapper.updateById(chatVersion); + return new FebsResponse().success(); + } + + @Override + public FebsResponse registerMember() { + agentProducer.sendAddRobotMsg("20845477"); + return new FebsResponse().success(); + } + + @Override + public FebsResponse openModelType(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateModelTypeByUserId(userId,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeModelType(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateModelTypeByUserId(userId,2); + return new FebsResponse().success(); + } + + @Override + public FebsResponse updateRegisterMember(AdminRegisterMemberVo adminRegisterMemberVo) { + agentProducer.sendAddRobotMsg(adminRegisterMemberVo.getInviteId()); + return new FebsResponse().success(); + } + + @Override + public FebsResponse openSwitchAutoSend(String id) { + this.baseMapper.updateAutoSendByGroupId(id,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeSwitchAutoSend(String id) { + this.baseMapper.updateAutoSendByGroupId(id,0); + return new FebsResponse().success(); + } + + @Override + public IPage<AdminRedBagVo> getRedBagList(ChatUser chatUser, QueryRequest request) { + Page<AdminRedBagVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + return this.baseMapper.selectRedBagListInPage(page, chatUser); + } + + @Override + public FebsResponse openCreateGroup(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateCreateGroupByUserId(userId,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeCreateGroup(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateCreateGroupByUserId(userId,0); + return new FebsResponse().success(); + } + + @Override + public FebsResponse openSwitchGetBoom(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateGetBoomByUserId(userId,1); + return new FebsResponse().success(); + } + + @Override + public FebsResponse closeSwitchGetBoom(String userId) { + ChatUser chatUser = this.baseMapper.selectByUserId(userId); + if(ObjectUtil.isEmpty(chatUser)) { + return new FebsResponse().fail().message("会员信息不存在"); + } + this.baseMapper.updateGetBoomByUserId(userId,0); + return new FebsResponse().success(); + } } -- Gitblit v1.9.1