From 041f8683651a19ebe041c239a3ca19822c53470c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 28 Sep 2021 20:39:24 +0800 Subject: [PATCH] 20210928 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 227 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index 6a0273e..bc930bc 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -2,20 +2,29 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.mall.dto.*; +import cc.mrbird.febs.mall.entity.AppVersion; +import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallMember; -import cc.mrbird.febs.mall.mapper.MallMemberMapper; -import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper; +import cc.mrbird.febs.mall.entity.MallMoneyFlow; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallMemberService; -import cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo; -import cc.mrbird.febs.mall.vo.AdminMallOrderRefundOperationVo; -import cc.mrbird.febs.mall.vo.MallMemberVo; +import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; +import cc.mrbird.febs.mall.vo.*; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; /** * @author wzy @@ -24,11 +33,20 @@ @Slf4j @Service @RequiredArgsConstructor +@Transactional public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService { private final MallMemberMapper mallMemberMapper; private final MallMoneyFlowMapper mallMoneyFlowMapper; + + private final MallMemberPaymentMapper mallMemberPaymentMapper; + + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + + private final IApiMallMemberWalletService iApiMallMemberWalletService; + + private final AppVersionMapper appVersionMapper; @Override public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) { @@ -38,6 +56,7 @@ } @Override + @Transactional public FebsResponse closeAccount(Long id) { MallMember mallMember = mallMemberMapper.selectById(id); if(ObjectUtil.isEmpty(mallMember)) { @@ -49,6 +68,7 @@ } @Override + @Transactional public FebsResponse openAccount(Long id) { MallMember mallMember = mallMemberMapper.selectById(id); if(ObjectUtil.isEmpty(mallMember)) { @@ -72,4 +92,206 @@ return adminMallMoneyFlowVos; } + @Override + public IPage<AdminMoneyFlowListVo> getMoneyFlowListInPage(MoneyFlowListDto moneyFlowListDto, QueryRequest request) { + Page<AdminMoneyFlowListVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMoneyFlowListVo> adminMoneyFlowListVos = mallMoneyFlowMapper.getMoneyFlowListInPage(page, moneyFlowListDto); + return adminMoneyFlowListVos; + } + + @Override + public IPage<AdminMoneyChargeListVo> getMoneyChargeListInPage(MoneyChargeListDto moneyChargeListDto, QueryRequest request) { + Page<AdminMoneyChargeListVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMoneyChargeListVo> adminMoneyChargeListVos = mallMoneyFlowMapper.getMoneyChargeListInPage(page, moneyChargeListDto); + return adminMoneyChargeListVos; + } + + @Override + @Transactional + public FebsResponse chargeAgree(Long id) { + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMoneyFlow)){ + return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); + } + if(1 != mallMoneyFlow.getStatus()){ + return new FebsResponse().fail().message("当前状态不是提现中"); + } + mallMoneyFlow.setStatus(2); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + return new FebsResponse().success(); + } + + @Override + @Transactional + public FebsResponse chargeDisagree(Long id) { + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); + if(ObjectUtil.isEmpty(mallMoneyFlow)){ + return new FebsResponse().fail().message("系统繁忙,请刷新后重试"); + } + if(1 != mallMoneyFlow.getStatus()){ + return new FebsResponse().fail().message("当前状态不是提现中"); + } + mallMoneyFlow.setStatus(3); + mallMoneyFlowMapper.updateById(mallMoneyFlow); + + //用户钱包增加对应的余额 + iApiMallMemberWalletService.addBalance(mallMoneyFlow.getAmount().negate(),mallMoneyFlow.getMemberId()); + return new FebsResponse().success(); + } + + @Override + public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) { + AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id); + AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId()); + if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ + adminMallMemberPaymentVo = adminMallMemberPaymentVoa; + } + return adminMallMemberPaymentVo; + } + + @Override + public IPage<AdminAgentVo> getAgentList(AgentDto agentDto, QueryRequest request) { + Page<AdminAgentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminAgentVo> adminAgentVos = this.baseMapper.getAgentListInPage(page, agentDto); + List<AdminAgentVo> records = adminAgentVos.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(AdminAgentVo adminAgentVo : records){ + String inviteId = adminAgentVo.getInviteId(); + //直接下级 + List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId); + adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size()); + + //获取总数 + List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId); + adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size()); + } + } + return adminAgentVos; + } + + @Override + public IPage<AdminAgentLevelVo> getAgentLevelList(AgentLevelDto agentLevelDto, QueryRequest request) { + Page<AdminAgentLevelVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminAgentLevelVo> adminAgentVos = this.baseMapper.getAgentLevelListInPage(page, agentLevelDto); + return adminAgentVos; + } + + @Override + public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) { + AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo(); + DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); + String value = dataDictionaryCustom.getValue(); + //{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2} + JSONObject jsonObject = JSONObject.parseObject(value); + adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString())); + adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString())); + adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString())); + adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString())); + adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString())); + adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString())); + adminAgentLevelUpdateInfoVo.setId(id); + return adminAgentLevelUpdateInfoVo; + } + + @Override + public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) { + DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId()); + AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto(); + agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome()); + agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt()); + agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt()); + agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome()); + agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType()); + agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType()); + JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson); + dataDictionaryCustom.setValue(jsonObject.toString()); + dataDictionaryCustomMapper.updateById(dataDictionaryCustom); + return new FebsResponse().success(); + } + + @Override + public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() { + return dataDictionaryCustomMapper.getAgentLevelOption(); + } + + @Override + public IPage<AdminAgentMemberVo> agentChild(QueryRequest request, MallMember mallMember) { + Long memberId = mallMember.getId(); + mallMember = mallMemberMapper.selectById(memberId); + Page<AdminAgentMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminAgentMemberVo> adminAgentMemberVos = this.baseMapper.getAgentChildInPage(page, mallMember); + List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(AdminAgentMemberVo agentMemberVo : records){ + String inviteId = agentMemberVo.getInviteId(); + BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId); + agentMemberVo.setAmount(amount); + } + } + return adminAgentMemberVos; + } + + @Override + public IPage<AdminRankAwardVo> getRankAwardList(RankAwardDto rankAwardDto, QueryRequest request) { + Page<AdminRankAwardVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminRankAwardVo> adminRankAwardVos = this.baseMapper.getRankAwardListInPage(page, rankAwardDto); + return adminRankAwardVos; + } + + @Override + public AdminRankAwardUpdateInfoVo getRankAwardUpdateInfoById(long id) { + AdminRankAwardUpdateInfoVo adminRankAwardUpdateInfoVo = dataDictionaryCustomMapper.getRankAwardUpdateInfoById(id); + return adminRankAwardUpdateInfoVo; + } + + @Override + public FebsResponse rankAwardUpdate(RankAwardUpdateDto rankAwardUpdateDto) { + DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(rankAwardUpdateDto.getId()); + dataDictionaryCustom.setValue(rankAwardUpdateDto.getValue()); + dataDictionaryCustom.setDescription(rankAwardUpdateDto.getDescription()); + dataDictionaryCustomMapper.updateById(dataDictionaryCustom); + return new FebsResponse().success(); + } + + @Override + public IPage<AppVersion> getAppVersionList(AppVersion appVersion, QueryRequest request) { + Page<AppVersion> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AppVersion> appVersions = this.baseMapper.getAppVersionListInPage(page, appVersion); + return appVersions; + } + + @Override + public FebsResponse delCategary(Long id) { + AppVersion appVersion = appVersionMapper.selectById(id); + if(ObjectUtil.isEmpty(appVersion)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + appVersionMapper.deleteById(id); + return new FebsResponse().success(); + } + + @Override + public FebsResponse addAppVersion(AppVersion appVersion) { + appVersion.setCreatetime(new Date()); + appVersionMapper.insert(appVersion); + return new FebsResponse().success(); + } + + @Override + public AppVersion getAppVersionInfoById(long id) { + return appVersionMapper.selectById(id); + } + + @Override + public FebsResponse updateAppVersion(AppVersion appVersion) { + AppVersion appVersionBefore = appVersionMapper.selectById(appVersion.getId()); + if(ObjectUtil.isEmpty(appVersionBefore)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + appVersion.setCreatetime(new Date()); + appVersionMapper.updateById(appVersion); + return new FebsResponse().success(); + } + } -- Gitblit v1.9.1