| | |
| | | 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; |
| | | import cc.mrbird.febs.common.utils.MallUtils; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | |
| | | 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 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 org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | private final MallGoodsCouponMapper mallGoodsCouponMapper; |
| | | private final HappySaleLevelMapper happySaleLevelMapper; |
| | | private final HappyMemberLevelMapper happyMemberLevelMapper; |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | private final HappyActivityOrderMapper happyActivityOrderMapper; |
| | | |
| | | |
| | | @Override |
| | |
| | | } |
| | | 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(); |
| | | } |
| | | |
| | |
| | | public FebsResponse checkOrder(Long id) { |
| | | |
| | | MallMember mallMember = this.baseMapper.selectById(id); |
| | | mallMember.setCheckOrder(StateUpDownEnum.DOWN.getCode() == mallMember.getCheckOrder() ? StateUpDownEnum.UP.getCode() : StateUpDownEnum.DOWN.getCode()); |
| | | this.baseMapper.updateById(mallMember); |
| | | |
| | | 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); |
| | | } |
| | | } |