From 5538b26be505fcf27c4440cadd4787e1c975ac62 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 25 Jul 2025 11:52:11 +0800
Subject: [PATCH] fix:修复投票活动群组图片双击上传问题
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 154 insertions(+), 23 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 0bce76e..c90e08c 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,9 +2,7 @@
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.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.LoginUserUtil;
@@ -12,7 +10,6 @@
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.*;
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;
@@ -21,23 +18,26 @@
import cc.mrbird.febs.pay.model.MemberWithdrawalDto;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.apache.xmlbeans.impl.store.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -79,25 +79,17 @@
private final SalemanCouponMapper salemanCouponMapper;
private final MallMemberCouponMapper mallMemberCouponMapper;
private final MallGoodsCouponMapper mallGoodsCouponMapper;
+ private final HappySaleLevelMapper happySaleLevelMapper;
+ private final HappyMemberLevelMapper happyMemberLevelMapper;
+ private final MallOrderInfoMapper mallOrderInfoMapper;
+ private final HappyActivityOrderMapper happyActivityOrderMapper;
+
@Override
public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
- IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
-// if(CollUtil.isNotEmpty(mallMembers.getRecords())){
-// for(MallMember mallMemberTeam : mallMembers.getRecords()){
-// Long salesmansId = mallMemberTeam.getSalesmansId();
-// MallSalesman mallSalesman = mallSalesmanMapper.selectById(salesmansId);
-// if(ObjectUtil.isNotEmpty(mallSalesman)){
-// StringBuffer salesmanName = new StringBuffer();
-// salesmanName.append(mallSalesman.getName());
-// if(2 == mallSalesman.getState()){
-// salesmanName.append("(禁用)");
-// }
-// mallMemberTeam.setSalesmansName(salesmanName.toString());
-// }
-// }
-// }
+// IPage<MallMember> mallMembers = this.baseMapper.selectMallMemberListInPage(page, mallMember);
+ IPage<MallMember> mallMembers = this.baseMapper.selectHappyMemberListInPage(page, mallMember);
return mallMembers;
}
@@ -110,6 +102,17 @@
}
mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_DISABLED);
mallMemberMapper.updateById(mallMember);
+
+ String redisKey = AppContants.XCX_LOGIN_PREFIX + id;
+ String existToken = redisUtils.getString(redisKey);
+ if (StrUtil.isNotBlank(existToken)) {
+ Object o = redisUtils.get(existToken);
+ if (ObjectUtil.isNotEmpty(o)) {
+ redisUtils.del(existToken);
+ }
+ }
+ redisUtils.del(AppContants.XCX_LOGIN_PREFIX + id);
+ redisUtils.del(AppContants.XCX_LOGIN_PHONE_PREFIX + id);
return new FebsResponse().success();
}
@@ -320,6 +323,17 @@
}
@Override
+ public FebsResponse doctorStateChange(Long id) {
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMember)){
+ throw new FebsException("请刷新页面");
+ }
+ mallMember.setDoctorState(mallMember.getDoctorState() == 1 ? 0 : 1);
+ this.baseMapper.updateById(mallMember);
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
public FebsResponse upCoupon(Long id) {
MallMember mallMember = this.baseMapper.selectById(id);
if(ObjectUtil.isEmpty(mallMember)){
@@ -514,12 +528,16 @@
Integer type = mallSystemPayDto.getType();
String filedType = "";
+ Integer flowType = 0;
if (type == 1) {
filedType = "balance";
+ flowType = FlowTypeEnum.BALANCE.getValue();
} else if (type == 2) {
- filedType = "score";
- } else if (type == 3) {
filedType = "prizeScore";
+ flowType = FlowTypeEnum.PRIZE_SCORE.getValue();
+ } else if (type == 3) {
+ filedType = "commission";
+ flowType = FlowTypeEnum.COMMISSION.getValue();
} else {
throw new FebsException("参数错误");
}
@@ -533,7 +551,15 @@
} else {
iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType);
}
- mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type);
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ bigDecimal,
+ ScoreFlowTypeEnum.SYSTEM.getValue(),
+ MallUtils.getOrderNum(),
+ flowType,
+ StrUtil.format(ScoreFlowTypeEnum.SYSTEM.getDesc(),bigDecimal),
+ 2
+ );
return new FebsResponse().success();
}
@@ -949,4 +975,109 @@
return new FebsResponse().success().message("操作成功");
}
+
+ @Override
+ public FebsResponse checkOrder(Long id) {
+
+ MallMember mallMember = this.baseMapper.selectById(id);
+
+ if(ObjectUtil.isNotEmpty(mallMember)){
+ mallMember.setCheckOrder(StateUpDownEnum.DOWN.getCode() == mallMember.getCheckOrder() ? StateUpDownEnum.UP.getCode() : StateUpDownEnum.DOWN.getCode());
+ this.baseMapper.updateById(mallMember);
+ }
+
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse checkLeader(Long id) {
+
+ MallMember mallMember = this.baseMapper.selectById(id);
+ if(ObjectUtil.isNotEmpty(mallMember)){
+ mallMember.setCheckLeader(StateUpDownEnum.DOWN.getCode() == mallMember.getCheckLeader() ? StateUpDownEnum.UP.getCode() : StateUpDownEnum.DOWN.getCode());
+ this.baseMapper.updateById(mallMember);
+ }
+
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ public FebsResponse dataInfo() {
+ AdminDataInfoVo adminDataInfoVo = new AdminDataInfoVo();
+
+ List<MallMember> mallMembers = this.baseMapper.selectList(null);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ adminDataInfoVo.setTotalMember(mallMembers.size() + 64997);
+
+ adminDataInfoVo.setTotalDayMember(
+ Math.toIntExact(mallMembers.stream().filter(mallMember -> DateUtil.compare(mallMember.getCreatedTime(), DateUtil.beginOfDay(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalWeekMember(
+ Math.toIntExact(mallMembers.stream().filter(mallMember -> DateUtil.compare(mallMember.getCreatedTime(), DateUtil.beginOfWeek(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalMonthMember(
+ Math.toIntExact(mallMembers.stream().filter(mallMember -> DateUtil.compare(mallMember.getCreatedTime(), DateUtil.beginOfMonth(new Date())) >= 0).count()));
+ }
+
+
+ BigDecimal totalAmount = BigDecimal.ZERO;//总数
+ BigDecimal totalDayAmount = BigDecimal.ZERO;//新增
+ BigDecimal totalWeekAmount = BigDecimal.ZERO;//本周新增
+ BigDecimal totalMonthAmount = BigDecimal.ZERO;//本月新增
+
+ List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectList(
+ Wrappers.lambdaQuery(MallOrderInfo.class)
+ .eq(MallOrderInfo::getPayResult, "1")
+ );
+ if(CollUtil.isNotEmpty(mallOrderInfos)){
+ totalAmount = totalAmount.add(mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalDayAmount = totalDayAmount.add(
+ mallOrderInfos.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfDay(new Date())) >= 0)
+ .map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalWeekAmount = totalWeekAmount.add(
+ mallOrderInfos.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfWeek(new Date())) >= 0)
+ .map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalMonthAmount = totalMonthAmount.add(
+ mallOrderInfos.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfMonth(new Date())) >= 0)
+ .map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ }
+
+ List<HappyActivityOrder> happyActivityOrders = happyActivityOrderMapper.selectList(
+ Wrappers.lambdaQuery(HappyActivityOrder.class)
+ .eq(HappyActivityOrder::getPayState, StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode())
+ );
+ if(CollUtil.isNotEmpty(happyActivityOrders)){
+ totalAmount = totalAmount.add(happyActivityOrders.stream().map(HappyActivityOrder::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalDayAmount = totalDayAmount.add(
+ happyActivityOrders.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfDay(new Date())) >= 0)
+ .map(HappyActivityOrder::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalWeekAmount = totalWeekAmount.add(
+ happyActivityOrders.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfWeek(new Date())) >= 0)
+ .map(HappyActivityOrder::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ totalMonthAmount = totalMonthAmount.add(
+ happyActivityOrders.stream().filter(entity -> DateUtil.compare(entity.getPayTime(), DateUtil.beginOfMonth(new Date())) >= 0)
+ .map(HappyActivityOrder::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+ }
+ adminDataInfoVo.setTotalAmount(totalAmount);
+ adminDataInfoVo.setTotalDayAmount(totalDayAmount);
+ adminDataInfoVo.setTotalWeekAmount(totalWeekAmount);
+ adminDataInfoVo.setTotalMonthAmount(totalMonthAmount);
+
+ List<HappyActivityOrder> happyActivityDoneOrders = happyActivityOrderMapper.selectList(
+ Wrappers.lambdaQuery(HappyActivityOrder.class)
+ .eq(HappyActivityOrder::getPayState, StateUpDownEnum.PAY_STATE_PAY_SUCCESS.getCode())
+ .eq(HappyActivityOrder::getState, StateUpDownEnum.ORDER_STATE_USED.getCode())
+ );
+
+ if(CollUtil.isNotEmpty(happyActivityDoneOrders)){
+ adminDataInfoVo.setTotalActivityMember(happyActivityDoneOrders.size() + 64997);
+
+ adminDataInfoVo.setTotalActivityDayMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfDay(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalActivityWeekMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfWeek(new Date())) >= 0).count()));
+ adminDataInfoVo.setTotalActivityMonthMember(
+ Math.toIntExact(happyActivityDoneOrders.stream().filter(entity -> DateUtil.compare(entity.getCreatedTime(), DateUtil.beginOfMonth(new Date())) >= 0).count()));
+ }
+
+ return new FebsResponse().success().data(adminDataInfoVo);
+ }
}
--
Gitblit v1.9.1