diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java index 0647e49f..37589b14 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java @@ -32,6 +32,7 @@ import javax.annotation.security.PermitAll; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -145,5 +146,11 @@ public class ScreenController { return success(preferenceService.getPercent()); } + @GetMapping("/getTotalMoney") + @Operation(summary = "获取当天收入和人数") + @PermitAll + public CommonResult> getMoneyAndPeople(Long storeId) { + return success(orderService.getMoneyAndPeople(storeId)); + } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderService.java index 2d94e77f..bb0c2e95 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderService.java @@ -15,6 +15,7 @@ import javax.validation.Valid; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** * 会员订单 Service 接口 @@ -117,4 +118,7 @@ public interface OrderService { * @return */ OrderMoneyRespVO getUserMeney(Long userId); + + + Map getMoneyAndPeople(Long storeId); } \ 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/order/OrderServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java index 9f964201..b2228953 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java @@ -43,10 +43,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -197,7 +194,7 @@ public class OrderServiceImpl implements OrderService { .eqIfPresent(MemberUserDO::getMobile, reqVO.getUserAccount()) .eqIfPresent(MemberUserDO::getCardId, reqVO.getUserJob()) .eqIfPresent(MemberUserDO::getId, reqVO.getUserId()) - .inIfPresent(MemberUserDO::getId,groupMapper.getMemberList(reqVO.getGroupId()))) + .inIfPresent(MemberUserDO::getId, groupMapper.getMemberList(reqVO.getGroupId()))) .stream().map(MemberUserDO::getId).collect(Collectors.toList()); } Map timePeriod = this.getTimePeriod(reqVO.getTimePeriod()); @@ -354,4 +351,22 @@ public class OrderServiceImpl implements OrderService { orderMoneyRespVO.setUserId(userId); return orderMoneyRespVO; } + + @Override + public Map getMoneyAndPeople(Long storeId) { + BigDecimal total = BigDecimal.ZERO; + int size = 0; + List dishOrderDOS = dishOrderMapper.selectList(Wrappers.lambdaQuery() + .eq(DishOrderDO::getStoreId, storeId) + .apply("DATE(create_time) = DATE(NOW())")); + if(CollectionUtil.isNotEmpty(dishOrderDOS)){ + BigDecimal reduce = dishOrderDOS.stream().map(DishOrderDO::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + total = reduce; + size = dishOrderDOS.stream().map(DishOrderDO::getUserId).distinct().collect(Collectors.toList()).size(); + } + Map map = new HashMap<>(); + map.put("total", total); + map.put("size", size); + return map; + } } \ No newline at end of file