From 3da4d002c3e8e5cad89a2e49fb5bd2bb6e0e3df1 Mon Sep 17 00:00:00 2001 From: qjq <1766193529@qq.com> Date: Wed, 24 Apr 2024 17:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carteenmoney/vo/CarteenMoneyRespVO.java | 10 ++- .../rechargeamount/RechargeAmountMapper.java | 1 + .../module/member/job/CarteenMoneyJob.java | 37 +++++++++++ .../carteenmoney/CarteenMoneyService.java | 2 + .../carteenmoney/CarteenMoneyServiceImpl.java | 66 ++++++++++++------- 5 files changed, 86 insertions(+), 30 deletions(-) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/CarteenMoneyJob.java diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/carteenmoney/vo/CarteenMoneyRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/carteenmoney/vo/CarteenMoneyRespVO.java index 2442cdd8..fdfa8d80 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/carteenmoney/vo/CarteenMoneyRespVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/carteenmoney/vo/CarteenMoneyRespVO.java @@ -1,13 +1,12 @@ package cn.iocoder.yudao.module.member.controller.admin.carteenmoney.vo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.util.*; +import lombok.Data; + import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 门店流水 Response VO") @Data @@ -19,7 +18,6 @@ public class CarteenMoneyRespVO { private Long id; @Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "927") - @ExcelProperty("门店id") private Long carteenId; @Schema(description = "门店名称", example = "王五") diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/rechargeamount/RechargeAmountMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/rechargeamount/RechargeAmountMapper.java index 077b12bd..8ff5130e 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/rechargeamount/RechargeAmountMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/rechargeamount/RechargeAmountMapper.java @@ -20,6 +20,7 @@ public interface RechargeAmountMapper extends BaseMapperX { .eqIfPresent(RechargeAmountDO::getMoney, reqVO.getMoney()) .eqIfPresent(RechargeAmountDO::getDonateMoney, reqVO.getDonateMoney()) .eqIfPresent(RechargeAmountDO::getStatus, reqVO.getStatus()) + .likeIfPresent(RechargeAmountDO::getName,reqVO.getName()) .betweenIfPresent(RechargeAmountDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(RechargeAmountDO::getId)); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/CarteenMoneyJob.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/CarteenMoneyJob.java new file mode 100644 index 00000000..f283e88b --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/CarteenMoneyJob.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.member.job; + +import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler; +import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; +import cn.iocoder.yudao.module.member.service.carteenmoney.CarteenMoneyService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * @Author:qjq 计算门店流水 + * @Date:2024/4/24 下午3:22 + */ +@Component +@Slf4j +public class CarteenMoneyJob implements JobHandler { + @Resource + private CarteenMoneyService carteenMoneyService; + /** + * 执行任务 + * + * @param param 参数 + * @return 结果 + * @throws Exception 异常 + */ + @Override + @TenantIgnore + public String execute(String param) throws Exception { + try { + carteenMoneyService.insertCarteenMoney(); + } catch (Exception e) { + return "门店流水计算失败"; + } + return "门店流水计算成功"; + } +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyService.java index cebe2d3b..7acd928d 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyService.java @@ -64,4 +64,6 @@ public interface CarteenMoneyService { * @return */ DeviceMoneyRespVO getCarteenMoneyDevice(DeviceMoneyPageReqVO reqVO); + + void insertCarteenMoney(); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyServiceImpl.java index 3b286edc..fc535487 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/carteenmoney/CarteenMoneyServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; @@ -91,31 +92,47 @@ public class CarteenMoneyServiceImpl implements CarteenMoneyService { @Override public PageResult getCarteenMoneyPage(CarteenMoneyPageReqVO pageReqVO) { - List todayCarteenMoney = this.getTodayCarteenMoney(pageReqVO.getCreateTime()[1],pageReqVO.getCarteenId()); - Long size= 0L; - //表示要进行处理 - if(ObjUtil.isNotEmpty(todayCarteenMoney) && (pageReqVO.getPageNo()==1 || pageReqVO.getPageNo()==-1)){ - todayCarteenMoney.forEach(c -> c.setCreateTime(LocalDateTime.now())); - LocalDateTime localDateTime = pageReqVO.getCreateTime()[1]; - LocalDateTime localDateTime1 = pageReqVO.getCreateTime()[0]; - //获取昨天 - LocalDateTime offset = LocalDateTimeUtil.offset(localDateTime, -1, ChronoUnit.DAYS); - LocalDateTime end = LocalDateTimeUtil.endOfDay(offset); - pageReqVO.setCreateTime(new LocalDateTime[]{localDateTime1,end}); - PageResult page = carteenMoneyMapper.selectPage(pageReqVO); - List list = page.getList(); - list.addAll(todayCarteenMoney); - list.sort(Comparator.comparing(CarteenMoneyDO::getCreateTime).reversed()); - page.setList(list); - page.setTotal(page.getTotal() + todayCarteenMoney.size()); - return page; - }else if(ObjUtil.isNotEmpty(todayCarteenMoney)){ - size= (long) todayCarteenMoney.size(); - } - PageResult pageResult = carteenMoneyMapper.selectPage(pageReqVO); - pageResult.setTotal(pageResult.getTotal() + size); - return pageResult; + if(ObjUtil.isNotEmpty(pageReqVO.getCreateTime())){ + //开时间是否为今天 + if(LocalDateTimeUtil.isSameDay(pageReqVO.getCreateTime()[0].toLocalDate(),LocalDateTime.now().toLocalDate())){ + return getCarteenMoneyDOPageResult(pageReqVO); + }else{ + List todayCarteenMoney = this.getTodayCarteenMoney(pageReqVO.getCreateTime()[1],pageReqVO.getCarteenId()); + todayCarteenMoney.forEach(c -> c.setCreateTime(LocalDateTime.now())); + PageResult page = carteenMoneyMapper.selectPage(pageReqVO); + List list = page.getList(); + if(ObjUtil.isEmpty(list)){ + list=new ArrayList<>(); + } + list.addAll(todayCarteenMoney); + list.sort(Comparator.comparing(CarteenMoneyDO::getCreateTime).reversed()); + page.setList(list); + page.setTotal(page.getTotal()+ todayCarteenMoney.size()); + return page; + } + }else{ + LocalDateTime endDate = LocalDateTimeUtil.now(); + LocalDateTime startDate = LocalDateTimeUtil.beginOfDay(endDate); + List dishOrderDO = this.getDishOrderDO(startDate, endDate, pageReqVO.getCarteenId()); + PageResult page=new PageResult<>(); + page.setList(dishOrderDO); + page.setTotal((long) dishOrderDO.size()); + return page; + } + } + @NotNull + private PageResult getCarteenMoneyDOPageResult(CarteenMoneyPageReqVO pageReqVO) { + List todayCarteenMoney = this.getTodayCarteenMoney(pageReqVO.getCreateTime()[1],pageReqVO.getCarteenId()); + PageResult page=new PageResult<>(); + page.setList(todayCarteenMoney); + page.setTotal((long) todayCarteenMoney.size()); + return page; + } + + + + /** * @Description: 获取今日门店流水 * @Author: qjq @@ -139,6 +156,7 @@ public class CarteenMoneyServiceImpl implements CarteenMoneyService { * @Date: 2024/4/1 17:38 * @return */ + @Override public void insertCarteenMoney(){ //计算昨天的门店流水 LocalDateTime now = LocalDateTimeUtil.now();