From f35c2b4c59091f5c4f6a596d25c22f6b8f5de90c Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 17 May 2024 15:19:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8A=A5=E8=A1=A8=20?= =?UTF-8?q?=E6=8C=89=E5=88=86=E7=B1=BB=E5=92=8C=E5=95=86=E5=93=81=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E7=AD=9B=E9=80=89=20=E7=BB=9F=E8=AE=A1=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20=E6=8C=89=E7=8E=B0=E9=87=91=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=20=E7=94=A8=E6=88=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/dto/ShopSummaryDto.java | 21 +++++++-- .../order/TbOrderDetailRepository.java | 8 +++- .../order/TbOrderInfoRepository.java | 5 +- .../repository/shop/TbShopUserRepository.java | 4 +- .../service/impl/SummaryServiceImpl.java | 16 ++++--- .../impl/shopimpl/TbShopUserServiceImpl.java | 4 +- .../cn/ysk/cashier/vo/ShopUserInfoVo.java | 46 ++++++++++++------- .../cashier/vo/TbOrderSalesCountByDayVo.java | 19 +++++++- 8 files changed, 90 insertions(+), 33 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/ShopSummaryDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/ShopSummaryDto.java index 7ef1df16..00feb385 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/ShopSummaryDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/ShopSummaryDto.java @@ -1,14 +1,13 @@ package cn.ysk.cashier.dto; -import cn.ysk.cashier.utils.DateUtil; import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; import java.util.Date; public class ShopSummaryDto { private String shopId; + private String proName; private Integer type; + private Integer cateId; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -22,6 +21,14 @@ public class ShopSummaryDto { this.shopId = shopId; } + public String getProName() { + return proName; + } + + public void setProName(String proName) { + this.proName = proName; + } + public Integer getType() { return type; } @@ -30,6 +37,14 @@ public class ShopSummaryDto { this.type = type; } + public Integer getCateId() { + return cateId; + } + + public void setCateId(Integer cateId) { + this.cateId = cateId; + } + public Date getStartTime() { return startTime; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java index f6c11083..26ad4941 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java @@ -45,16 +45,22 @@ public interface TbOrderDetailRepository extends JpaRepository :startTime AND info.createTime < :endTime " + "AND ((info.status = 'closed') OR ( info.status ='refund')) " + "GROUP BY info.productId,info.productSkuId " + "ORDER BY salesNum DESC") - Page queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime, Pageable pageable); + Page queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId,@Param("cateId")Integer cateId,@Param("proName")String proName, @Param("startTime") Date startTime, @Param("endTime") Date endTime, Pageable pageable); + @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" + "info.productName," + 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 2c28a422..f0bbc61e 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 @@ -146,13 +146,14 @@ public interface TbOrderInfoRepository extends JpaRepository :startTime AND info.tradeDay < :endTime " + + "AND info.orderType = 'cash' " + "AND ((info.status = 'closed') OR ( info.status ='refund' AND info.orderType != 'return' )) ") - TbOrderPayCountVo queryOrderPayCountExt(@Param("shopId") String shopId, @Param("startTime") String startTime, @Param("endTime") String endTime); + TbOrderPayCountVo queryOrderPayCash(@Param("shopId") String shopId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java index 01463bd4..52bcbcea 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java @@ -36,7 +36,7 @@ import java.util.List; public interface TbShopUserRepository extends JpaRepository,JpaSpecificationExecutor { - @Query("SELECT NEW cn.ysk.cashier.vo.ShopUserInfoVo(su.id, su.isVip, u.nickName, u.headImg, u.telephone, su.updatedAt) " + + @Query("SELECT NEW cn.ysk.cashier.vo.ShopUserInfoVo(su.id, u.headImg, u.nickName, u.sex, u.amount, u.totalScore, u.telephone, u.birthDay, u.isVip, su.createdAt, u.lastLogInAt) " + "FROM TbShopUser su " + "LEFT JOIN TbUserInfo u " + "on su.userId = CAST(u.id AS string) " + @@ -45,7 +45,7 @@ public interface TbShopUserRepository extends JpaRepository "AND su.shopId = :shopId") Page findShopUserJoinUserInfo(String shopId,Integer isVip,String phone, Pageable pageable); - @Query("SELECT NEW cn.ysk.cashier.vo.ShopUserInfoVo(su.id, su.isVip, u.nickName, u.headImg, u.telephone, su.updatedAt) " + + @Query("SELECT NEW cn.ysk.cashier.vo.ShopUserInfoVo(su.id, u.headImg, u.nickName, u.sex, u.amount, u.totalScore, u.telephone, u.birthDay, u.isVip, su.createdAt, u.lastLogInAt) " + "FROM TbShopUser su " + "LEFT JOIN TbUserInfo u " + "on su.userId = CAST(u.id AS string) " + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java index 2449b3fe..9976fe85 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java @@ -169,9 +169,9 @@ public class SummaryServiceImpl implements SummaryService { List numList = new ArrayList<>(); for (Object[] o : objects) { CountDateVO countDateVO = new CountDateVO(); - BigInteger integers = (BigInteger)o[1]; + BigInteger integers = (BigInteger) o[1]; countDateVO.setCount(new BigDecimal(integers.toString())); - Date date =(Date)o[2]; + Date date = (Date) o[2]; countDateVO.setTradeDay(date.toString()); numList.add(countDateVO); } @@ -209,9 +209,9 @@ public class SummaryServiceImpl implements SummaryService { } else if (day == 1) { startTime = DateUtil.getDayBegin(); - log.info("1天时间"+startTime.toString()); + log.info("1天时间" + startTime.toString()); endTime = DateUtil.getDayEnd(); - log.info("1天时间末"+endTime.toString()); + log.info("1天时间末" + endTime.toString()); } else { throw new BadRequestException("日期有误"); } @@ -238,7 +238,7 @@ public class SummaryServiceImpl implements SummaryService { Tuple paySum = tbOrderInfoRepository.queryPaySumByDayAll(shopId.toString(), startTimeLong, endTimeLong); map.put("productCount", payCount == null ? 0 : payCount.get(0, BigDecimal.class)); - map.put("productSum", paySum == null ? 0 : paySum.get(0,BigDecimal.class)); + map.put("productSum", paySum == null ? 0 : paySum.get(0, BigDecimal.class)); map.put("totalProduct", list); map.put("total", tuple1 == null ? 0 : tuple1.get(0, BigInteger.class)); return map; @@ -360,7 +360,7 @@ public class SummaryServiceImpl implements SummaryService { summaryDto.setStartTime(DateUtil.toDate(DateUtil.fromTimeStamp(1704038400L))); summaryDto.setEndTime(new Date()); } - return (Page) detailRepository.queryTbOrderSalesCountByDay(Integer.valueOf(summaryDto.getShopId()), summaryDto.getStartTime(), summaryDto.getEndTime(), pageable); + return (Page) detailRepository.queryTbOrderSalesCountByDay(Integer.valueOf(summaryDto.getShopId()),summaryDto.getCateId(),summaryDto.getProName(), summaryDto.getStartTime(), summaryDto.getEndTime(), pageable); } } @@ -394,6 +394,7 @@ public class SummaryServiceImpl implements SummaryService { for (TbOrderSalesCountByDayVo all : tbOrderSalesCountByDayVos) { Map map = new LinkedHashMap<>(); map.put("商品名称", all.getProductName()); + map.put("商品分类", all.getCateName()); map.put("商品规格", StringUtils.isBlank(all.getProductSkuName()) ? "" : all.getProductSkuName()); map.put("销量", all.getSalesNum()); map.put("退单量", all.getRefNum()); @@ -419,6 +420,9 @@ public class SummaryServiceImpl implements SummaryService { TbOrderPayCountVo payCount = tbOrderInfoRepository.queryOrderPayCount(shopId, start, end); payCount.setIcon("el-icon-coin"); list.add(payCount); + TbOrderPayCountVo cashCount = tbOrderInfoRepository.queryOrderPayCash(shopId, start, end); + cashCount.setIcon("el-icon-circle-check"); + list.add(cashCount); TbOrderPayCountVo refCount = tbOrderInfoRepository.queryTbOrderRefund(shopId, start, end); refCount.setPayType("退款金额"); refCount.setIcon("el-icon-money"); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java index f47c7cac..c8ba9744 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java @@ -53,7 +53,7 @@ public class TbShopUserServiceImpl implements TbShopUserService { private final TbShopUserMapper tbShopUserMapper; @Override - public Map queryAllShopUser(TbShopUserQueryCriteria criteria, Pageable pageable) { + public Map queryShopUser(TbShopUserQueryCriteria criteria, Pageable pageable) { Page shopUserJoinUserInfo = tbShopUserRepository.findShopUserJoinUserInfo( criteria.getShopId(), @@ -64,7 +64,7 @@ public class TbShopUserServiceImpl implements TbShopUserService { } @Override - public Map queryShopUser(TbShopUserQueryCriteria criteria, Pageable pageable) { + public Map queryAllShopUser(TbShopUserQueryCriteria criteria, Pageable pageable) { Page shopUserJoinUserInfo = tbShopUserRepository.findAllShopUserJoinUserInfo( criteria.getIsVip(), diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java index 13008ad2..00e22a01 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java @@ -18,34 +18,48 @@ package cn.ysk.cashier.vo; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; -/** -* @author Zheng Jie -* @date 2019-6-10 16:32:18 -*/ @Data public class ShopUserInfoVo implements Serializable { private Integer id; - - private Integer isVip; - - private String nickName; - private String headImg; + private String nickName; + private Object sex; + private BigDecimal amount; + private Integer totalScore; private String telephone; + private String birthDay; + private Integer isVip; + private long createAt; + private long lastLoginAt; - private Long updatedAt; - - public ShopUserInfoVo() { + public Object getSex() { + return sex; } - public ShopUserInfoVo(Integer id, Integer isVip, String nickName, String headImg, String telephone, Long updatedAt) { + public void setSex(Object sex) { + if (sex == null) { + this.sex="未知"; + }else if(sex.equals(1)){ + this.sex = "男"; + }else if(sex.equals(0)){ + this.sex = "女"; + } + } + + public ShopUserInfoVo(Integer id, String headImg, String nickName, Object sex, BigDecimal amount, Integer totalScore, String telephone, String birthDay, Integer isVip, long createAt, long lastLoginAt) { this.id = id; - this.isVip = isVip; - this.nickName = nickName; this.headImg = headImg; + this.nickName = nickName; + setSex(sex); + this.amount = amount; + this.totalScore = totalScore; this.telephone = telephone; - this.updatedAt = updatedAt; + this.birthDay = birthDay; + this.isVip = isVip; + this.createAt = createAt; + this.lastLoginAt = lastLoginAt; } } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java index 47bd0254..8bb2aceb 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java @@ -5,7 +5,7 @@ public class TbOrderSalesCountByDayVo { private String productName; private String productSkuName; - + private String cateName; private Long salesNum; private Long refNum; private Long num; @@ -26,6 +26,14 @@ public class TbOrderSalesCountByDayVo { this.productSkuName = productSkuName; } + public String getCateName() { + return cateName; + } + + public void setCateName(String cateName) { + this.cateName = cateName; + } + public Long getSalesNum() { return salesNum; } @@ -57,4 +65,13 @@ public class TbOrderSalesCountByDayVo { this.refNum = refNum; this.num = num; } + + public TbOrderSalesCountByDayVo(String productName, String productSkuName,String cateName, Long salesNum, Long refNum, Long num) { + this.productName = productName; + this.productSkuName = productSkuName; + this.cateName = cateName; + this.salesNum = salesNum; + this.refNum = refNum; + this.num = num; + } }