From 21b5784829e29b8e3d498336a680f8a56e3f6726 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Thu, 20 Jun 2024 17:02:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=E5=8A=A0?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E5=92=8C=E5=85=85=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/mybatis/entity/TbMemberIn.java | 39 +++++++++++++++++++ .../mybatis/mapper/TbMemberInMapper.java | 10 +++++ .../mybatis/service/TbMemberInService.java | 10 +++++ .../service/impl/TbMemberInServiceImpl.java | 14 +++++++ .../order/TbOrderInfoRepository.java | 11 +++++- .../service/impl/SummaryServiceImpl.java | 28 ++++++++++++- .../cashier/vo/TbOrderPayCountByDayVo.java | 18 +++++++++ 7 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMemberIn.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMemberInMapper.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMemberInService.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMemberInServiceImpl.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMemberIn.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMemberIn.java new file mode 100644 index 00000000..d2d79702 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbMemberIn.java @@ -0,0 +1,39 @@ +package cn.ysk.cashier.mybatis.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author GYJ + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("tb_member_in") +public class TbMemberIn extends Model { + private Integer id; + + private Integer userId; + + private Integer merchantId; + + private String code; + + private BigDecimal amount; + + private String status; + + private String orderNo; + + private String tradeNo; + + private Date createTime; + + private Date updateTime; + + private Integer shopId; +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMemberInMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMemberInMapper.java new file mode 100644 index 00000000..c05c9059 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbMemberInMapper.java @@ -0,0 +1,10 @@ +package cn.ysk.cashier.mybatis.mapper; + +import cn.ysk.cashier.mybatis.entity.TbMemberIn; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @author GYJ + */ +public interface TbMemberInMapper extends BaseMapper { +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMemberInService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMemberInService.java new file mode 100644 index 00000000..8216bfbb --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbMemberInService.java @@ -0,0 +1,10 @@ +package cn.ysk.cashier.mybatis.service; + +import cn.ysk.cashier.mybatis.entity.TbMemberIn; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @author GYJ + */ +public interface TbMemberInService extends IService { +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMemberInServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMemberInServiceImpl.java new file mode 100644 index 00000000..673145d3 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbMemberInServiceImpl.java @@ -0,0 +1,14 @@ +package cn.ysk.cashier.mybatis.service.impl; + +import cn.ysk.cashier.mybatis.entity.TbMemberIn; +import cn.ysk.cashier.mybatis.mapper.TbMemberInMapper; +import cn.ysk.cashier.mybatis.service.TbMemberInService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @author GYJ + */ +@Service +public class TbMemberInServiceImpl extends ServiceImpl implements TbMemberInService { +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java index c17f01ec..57bcebf9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java @@ -28,6 +28,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import javax.persistence.Tuple; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -82,6 +83,14 @@ public interface TbOrderInfoRepository extends JpaRepository queryTbOrderPayCountByDay(@Param("shopId") String shopId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, Pageable pageable); + + // 查询退款总金额 + @Query("SELECT SUM(info.orderAmount) FROM TbOrderInfo info " + + "WHERE info.shopId = :shopId AND info.status = 'refund' " + + "AND info.orderType = 'return' " + + "AND info.tradeDay = :tradeDay") + BigDecimal queryRefundOrderAmountByTradeDay(@Param("shopId") String shopId, @Param("tradeDay") String tradeDay); + @Query(value = "SELECT " + "row_number() over (ORDER BY SUM(num) DESC) AS productId," + "product_name," + @@ -158,4 +167,4 @@ public interface TbOrderInfoRepository extends JpaRepository) tbOrderInfoRepository.queryTbOrderPayCountByDay(summaryDto.getShopId(), start, end, pageable); + Page tPage = (Page) tbOrderInfoRepository.queryTbOrderPayCountByDay(summaryDto.getShopId(), start, end, pageable); + + tPage.getContent().forEach(t -> { + TbOrderPayCountByDayVo tbOrderPayCountByDayVo = (TbOrderPayCountByDayVo) t; + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("status", "7"); + queryWrapper.eq("shop_id", summaryDto.getShopId()); + queryWrapper.ge("create_time", tbOrderPayCountByDayVo.getTradeDay() + " 00:00:00"); + queryWrapper.le("create_time", tbOrderPayCountByDayVo.getTradeDay() + " 23:59:59"); + // 会员充值金额 amount 求和 + queryWrapper.select("IFNULL (sum(amount), 0) AS amountTotal"); + + Map map = tbMemberInService.getMap(queryWrapper); + + tbOrderPayCountByDayVo.setRecharge(new BigDecimal(map.get("amountTotal").toString())); + BigDecimal decimal = tbOrderInfoRepository.queryRefundOrderAmountByTradeDay(summaryDto.getShopId(), tbOrderPayCountByDayVo.getTradeDay()); + tbOrderPayCountByDayVo.setRefund(decimal == null ? new BigDecimal("0.00") : decimal); + }); + + return tPage; } else {//销量 if (summaryDto.getStartTime() == null || summaryDto.getEndTime() == null) { summaryDto.setStartTime(DateUtil.toDate(DateUtil.fromTimeStamp(1704038400L))); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountByDayVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountByDayVo.java index 4f317828..2092cff7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountByDayVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountByDayVo.java @@ -9,6 +9,8 @@ public class TbOrderPayCountByDayVo { private Object wxLite; private Object cash; private Object total; + private Object recharge; + private Object refund; public String getTradeDay() { return tradeDay; @@ -58,6 +60,22 @@ public class TbOrderPayCountByDayVo { this.total = total; } + public Object getRecharge() { + return recharge; + } + + public void setRecharge(Object recharge) { + this.recharge = recharge; + } + + public Object getRefund() { + return refund; + } + + public void setRefund(Object refund) { + this.refund = refund; + } + public TbOrderPayCountByDayVo(String tradeDay, Object scanCode,Object deposit, Object wxLite, Object cash, Object total) { this.tradeDay = tradeDay; this.scanCode = scanCode;