From 5ee5ffed59bfd34fe940cd93fa6d2253b2c327bf Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 10 八月 2024 11:44:46 +0800 Subject: [PATCH] 管理后台活动费用统计代码提交 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index b30e82f..ab1b1d6 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -1,10 +1,18 @@ package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; +import com.ruoyi.order.api.query.TActivityStatisticsQuery; +import com.ruoyi.order.api.vo.TActivityStatisticslVO; +import com.ruoyi.order.api.vo.TActivityVO; import com.ruoyi.order.mapper.TShoppingOrderMapper; import com.ruoyi.order.service.TShoppingOrderService; import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.List; /** * <p> @@ -17,4 +25,100 @@ @Service public class TShoppingOrderServiceImpl extends ServiceImpl<TShoppingOrderMapper, TShoppingOrder> implements TShoppingOrderService { + @Override + public TActivityVO activityStatistics(TActivityStatisticsQuery dto) { + TActivityVO res = new TActivityVO(); + + + + PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); + List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto); + list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime())); + // 优惠券金额 + BigDecimal coupon = new BigDecimal("0"); + // 会员抵扣金额 + BigDecimal discount = new BigDecimal("0"); + // 会员活动金额 + BigDecimal vipActivity = new BigDecimal("0"); + // 赠送会员 + BigDecimal grantVip = new BigDecimal("0"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + for (TActivityStatisticslVO tActivityStatisticslVO : list) { + // 判断享有了哪些类型 + switch (tActivityStatisticslVO.getOrderType()){ + case 1: + StringBuilder stringBuilder = new StringBuilder(); + + // 充电订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder.append("会员抵扣").append("+"); + } + stringBuilder.deleteCharAt(stringBuilder.length()-1); + tActivityStatisticslVO.setType(stringBuilder.toString()); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 2: + StringBuilder stringBuilder1 = new StringBuilder(); + + // 购物订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder1.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder1.append("会员抵扣").append("+"); + } + stringBuilder1.deleteCharAt(stringBuilder1.length()-1); + tActivityStatisticslVO.setType(stringBuilder1.toString()); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 3: + // 会员订单 优惠金额大于0 + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); + } + tActivityStatisticslVO.setType("会员活动"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + break; + case 4: + // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员 + if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){ + grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + }else{ + // 赠送 + grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime())); + } + break; + } + } + pageInfo.setRecords(list); + res.setList(pageInfo); + res.setTotal(coupon.add(discount).add(vipActivity).add(grantVip)); + res.setCoupon(coupon); + res.setDiscount(discount); + res.setVipActivity(vipActivity); + res.setGrantVip(grantVip); + return res; + } } -- Gitblit v1.7.1