From e003cd1d3aad8110259e25cd3bece637d33a9acd Mon Sep 17 00:00:00 2001 From: seesaw Date: Wed, 23 Oct 2024 11:33:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/screen/ScreenController.java | 22 +++++++++++++++ .../admin/screen/vo/DeviceInfo.java | 28 +++++++++++++++++++ .../mysql/devicewarn/DeviceWarnMapper.java | 16 +++++++++++ .../service/business/BusinessService.java | 2 ++ .../service/business/BusinessServiceImpl.java | 12 ++++++++ .../service/devicewarn/DeviceWarnService.java | 5 ++++ .../devicewarn/DeviceWarnServiceImpl.java | 8 ++++++ 7 files changed, 93 insertions(+) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java 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 37589b14..e79c3ace 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 @@ -6,11 +6,14 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.controller.admin.customertraffic.vo.CustomerTrafficRespVO; import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO; +import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DeviceInfo; import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DishVO; import cn.iocoder.yudao.module.member.controller.admin.screen.vo.StoreEvaluateVO; import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferencePercentVO; +import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO; import cn.iocoder.yudao.module.member.dal.dataobject.customertraffic.CustomerTrafficDO; import cn.iocoder.yudao.module.member.dal.dataobject.customertraffic.CustomerTrafficDetailDO; +import cn.iocoder.yudao.module.member.service.business.BusinessService; import cn.iocoder.yudao.module.member.service.customertraffic.CustomerTrafficService; import cn.iocoder.yudao.module.member.service.devicewarn.DeviceWarnService; import cn.iocoder.yudao.module.member.service.order.OrderService; @@ -58,6 +61,8 @@ public class ScreenController { private DeviceWarnService deviceWarnService; @Resource private UserPreferenceService preferenceService; + @Resource + private BusinessService businessService; @GetMapping("/getEvaluate") @Operation(summary = "获得店铺评价,1-好评,2-差评") @@ -153,4 +158,21 @@ public class ScreenController { return success(orderService.getMoneyAndPeople(storeId)); } + + @GetMapping("/totalBusiness") + @Operation(summary = "营业数据") + @PermitAll + public CommonResult getTotalBusiness(Long storeId) { + return success(businessService.getToday(storeId)); + } + + @GetMapping("/deviceInfo") + @Operation(summary = "设备数据") + @PermitAll + public CommonResult> getDeviceInfo(Long storeId) { + return success(deviceWarnService.getDeviceInfo(storeId)); + } + + + } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java new file mode 100644 index 00000000..ccc3b85e --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.member.controller.admin.screen.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DeviceInfo { + + @Schema(description = "设备名") + private String deviceName; + + @Schema(description = "菜品名") + private String dishesName; + + @Schema(description = "单价") + private BigDecimal dishesSumPrice; + + @Schema(description = "总重量") + private BigDecimal totalWeight; + + @Schema(description = "已售量") + private BigDecimal diff; + + @Schema(description = "余量") + private BigDecimal remWeight; +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java index 08020b3e..8095e1d1 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java @@ -5,9 +5,12 @@ import java.util.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DeviceInfo; import cn.iocoder.yudao.module.member.dal.dataobject.devicewarn.DeviceWarnDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.*; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 设备告警次数 Mapper @@ -26,4 +29,17 @@ public interface DeviceWarnMapper extends BaseMapperX { .orderByDesc(DeviceWarnDO::getId)); } + + + @Select("select di.device_name, ds.dishes_name, ds.dishes_sum_price, dn.total_weight, dn.diff, dn.rem_weight\n" + + "from t_device_info di\n" + + " left join (select d.device_sn, d.rem_weight, d.diff, d.total_weight, d.dishes_id\n" + + " from t_devuce d\n" + + " where d.bind = true\n" + + " and d.deleted = false) dn\n" + + " on dn.device_sn = di.device_ip\n" + + " left join t_dishes ds on ds.id = dn.dishes_id\n" + + "where di.carteen_id = #{carteenId}\n" + + " and di.deleted = false") + List getDeviceInfo(@Param("carteenId") Long carteenId); } \ 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/business/BusinessService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessService.java index 411f3f63..408171ee 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessService.java @@ -64,4 +64,6 @@ public interface BusinessService { BusinessDataVO getWeek(String time,Long carteenId); BusinessDataVO getMonth(String time,Long carteenId); + + BusinessDO getToday(Long carteenId); } \ 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/business/BusinessServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java index d17a3870..428ff99a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java @@ -372,4 +372,16 @@ public class BusinessServiceImpl implements BusinessService { return previousVO; } + @Override + public BusinessDO getToday(Long carteenId) { + // 获取今天的开始时间 + LocalDateTime startOfDay = LocalDate.now().atStartOfDay(); + // 获取今天的结束时间 (23:59:59.999) + LocalDateTime endOfDay = LocalDateTime.of(LocalDate.now(), LocalTime.MAX); + + List businessDOS = businessMapper.selectList(Wrappers.lambdaQuery() + .between(BusinessDO::getCreateTime, startOfDay, endOfDay) + .eq(BusinessDO::getCarteenId, carteenId)); + return businessDOS.get(0); + } } \ 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/devicewarn/DeviceWarnService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnService.java index 2e415641..fac8759f 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnService.java @@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.member.service.devicewarn; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnSaveReqVO; +import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DeviceInfo; import cn.iocoder.yudao.module.member.dal.dataobject.devicewarn.DeviceWarnDO; +import org.apache.ibatis.annotations.Param; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; +import java.util.List; /** * 设备告警次数 Service 接口 @@ -57,4 +60,6 @@ public interface DeviceWarnService { void addDeviceWarn(HttpServletRequest request); Long getWarn(Long storeId); + + List getDeviceInfo(Long carteenId); } \ 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/devicewarn/DeviceWarnServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnServiceImpl.java index bbb8eaef..9f4d71d2 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/devicewarn/DeviceWarnServiceImpl.java @@ -6,12 +6,14 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnSaveReqVO; +import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DeviceInfo; import cn.iocoder.yudao.module.member.dal.dataobject.devicewarn.DeviceWarnDO; import cn.iocoder.yudao.module.member.dal.mysql.devicewarn.DeviceWarnMapper; import cn.iocoder.yudao.module.member.util.MemberConstants; import cn.iocoder.yudao.module.system.api.deviceInfo.DeviceInfoApi; import cn.iocoder.yudao.module.system.api.deviceInfo.dto.DeviceInfoDto; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -19,6 +21,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -115,4 +118,9 @@ public class DeviceWarnServiceImpl implements DeviceWarnService { } return 0L; } + + @Override + public List getDeviceInfo(Long carteenId) { + return deviceWarnMapper.getDeviceInfo(carteenId); + } } \ No newline at end of file