From e83a86dafca1dac779c1fecdbead60be1a2457de Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 02 Jun 2022 15:54:25 +0800
Subject: [PATCH] 20220528
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 204 insertions(+), 24 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 486b316..91fb9a4 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,19 +2,23 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.dto.*;
-import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
-import cc.mrbird.febs.mall.entity.MallMember;
-import cc.mrbird.febs.mall.entity.MallMoneyFlow;
-import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberMapper;
-import cc.mrbird.febs.mall.mapper.MallMemberPaymentMapper;
-import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.entity.MallNewsInfo;
+import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.mall.vo.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,6 +29,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
/**
@@ -34,9 +39,12 @@
@Slf4j
@Service
@RequiredArgsConstructor
+@Transactional
public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService {
private final MallMemberMapper mallMemberMapper;
+
+ private final MallMemberWalletMapper mallMemberWalletMapper;
private final MallMoneyFlowMapper mallMoneyFlowMapper;
@@ -45,6 +53,13 @@
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
private final IApiMallMemberWalletService iApiMallMemberWalletService;
+
+ private final AppVersionMapper appVersionMapper;
+
+ private final MallNewsInfoMapper mallNewsInfoMapper;
+ private final MallShopApplyMapper mallShopApplyMapper;
+
+ private final IMallMoneyFlowService mallMoneyFlowService;
@Override
public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -177,17 +192,10 @@
@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 adminAgentLevelUpdateInfoVo = JSONObject.parseObject(value, AdminAgentLevelUpdateInfoVo.class);
adminAgentLevelUpdateInfoVo.setId(id);
return adminAgentLevelUpdateInfoVo;
}
@@ -195,15 +203,9 @@
@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());
+
+ agentLevelUpdateDto.setId(null);
+ dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto));
dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
return new FebsResponse().success();
}
@@ -219,7 +221,185 @@
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();
+ }
+
+ @Override
+ public FebsResponse activateAccount(Long id) {
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+ String level = mallMember.getLevel();
+ if(StrUtil.isEmpty(level) || !AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())){
+ return new FebsResponse().fail().message("该用户无法激活");
+ }
+ mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
+ mallMemberMapper.updateById(mallMember);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) {
+ Long memberId = mallSystemPayDto.getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+
+ BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+ if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){
+ return new FebsResponse().fail().message("拨付数目需要大于0");
+ }
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal));
+ mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet);
+
+ mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, FlowTypeEnum.BALANCE.getValue());
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) {
+ AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id);
+ return adminAgentLevelSetInfoVo;
+ }
+
+ @Override
+ public FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
+ Long memberId = agentLevelSetUpdateDto.getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+ mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode());
+ mallMemberMapper.updateById(mallMember);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse resetPwd(Long id) {
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if (mallMember == null) {
+ throw new FebsException("用户不存在");
+ }
+
+ String pwd = SecureUtil.md5("a123456");
+ mallMember.setPassword(pwd);
+ this.baseMapper.updateById(mallMember);
+ return new FebsResponse().success().message("重置成功");
+ }
+
+ @Override
+ public IPage<MallDataVo> getMallDataList(MallMember mallMember, QueryRequest request) {
+ Page<MallDataVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MallDataVo> mallDataVos = this.baseMapper.getMallDataListInPage(page, mallMember);
+ return mallDataVos;
+ }
+
+ @Override
+ public IPage<MallShopApply> findShopApplyListInPage(MallShopApply mallShopApply, QueryRequest request) {
+ Page<MallShopApply> page = new Page<>(request.getPageNum(), request.getPageSize());
+
+ return mallShopApplyMapper.selectShopApplyInPage(mallShopApply, page);
+ }
+
+ @Override
+ public MallShopApply findShopApplyById(Long id) {
+ return mallShopApplyMapper.selectById(id);
+ }
+
+ @Override
+ public void applyCheckAgree(Long id) {
+ MallShopApply apply = mallShopApplyMapper.selectById(id);
+ if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) {
+ throw new FebsException("申请已审核, 请勿重复操作");
+ }
+
+ apply.setStatus(MallShopApply.APPLY_AGREE);
+ mallShopApplyMapper.updateById(apply);
+ }
+
+ @Override
+ public void applyCheckDisAgree(Long id) {
+ MallShopApply apply = mallShopApplyMapper.selectById(id);
+ if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) {
+ throw new FebsException("申请已审核, 请勿重复操作");
+ }
+
+ apply.setStatus(MallShopApply.APPLY_DISAGREE);
+ mallShopApplyMapper.updateById(apply);
+ }
}
--
Gitblit v1.9.1