This commit is contained in:
seesaw
2024-10-23 11:33:31 +08:00
parent 824527fbc3
commit e003cd1d3a
7 changed files with 93 additions and 0 deletions

View File

@ -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.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.member.controller.admin.customertraffic.vo.CustomerTrafficRespVO; 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.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.DishVO;
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.StoreEvaluateVO; 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.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.CustomerTrafficDO;
import cn.iocoder.yudao.module.member.dal.dataobject.customertraffic.CustomerTrafficDetailDO; 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.customertraffic.CustomerTrafficService;
import cn.iocoder.yudao.module.member.service.devicewarn.DeviceWarnService; import cn.iocoder.yudao.module.member.service.devicewarn.DeviceWarnService;
import cn.iocoder.yudao.module.member.service.order.OrderService; import cn.iocoder.yudao.module.member.service.order.OrderService;
@ -58,6 +61,8 @@ public class ScreenController {
private DeviceWarnService deviceWarnService; private DeviceWarnService deviceWarnService;
@Resource @Resource
private UserPreferenceService preferenceService; private UserPreferenceService preferenceService;
@Resource
private BusinessService businessService;
@GetMapping("/getEvaluate") @GetMapping("/getEvaluate")
@Operation(summary = "获得店铺评价,1-好评2-差评") @Operation(summary = "获得店铺评价,1-好评2-差评")
@ -153,4 +158,21 @@ public class ScreenController {
return success(orderService.getMoneyAndPeople(storeId)); return success(orderService.getMoneyAndPeople(storeId));
} }
@GetMapping("/totalBusiness")
@Operation(summary = "营业数据")
@PermitAll
public CommonResult<BusinessDO> getTotalBusiness(Long storeId) {
return success(businessService.getToday(storeId));
}
@GetMapping("/deviceInfo")
@Operation(summary = "设备数据")
@PermitAll
public CommonResult<List<DeviceInfo>> getDeviceInfo(Long storeId) {
return success(deviceWarnService.getDeviceInfo(storeId));
}
} }

View File

@ -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;
}

View File

@ -5,9 +5,12 @@ import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 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 cn.iocoder.yudao.module.member.dal.dataobject.devicewarn.DeviceWarnDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.*; import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.*;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/** /**
* 设备告警次数 Mapper * 设备告警次数 Mapper
@ -26,4 +29,17 @@ public interface DeviceWarnMapper extends BaseMapperX<DeviceWarnDO> {
.orderByDesc(DeviceWarnDO::getId)); .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<DeviceInfo> getDeviceInfo(@Param("carteenId") Long carteenId);
} }

View File

@ -64,4 +64,6 @@ public interface BusinessService {
BusinessDataVO getWeek(String time,Long carteenId); BusinessDataVO getWeek(String time,Long carteenId);
BusinessDataVO getMonth(String time,Long carteenId); BusinessDataVO getMonth(String time,Long carteenId);
BusinessDO getToday(Long carteenId);
} }

View File

@ -372,4 +372,16 @@ public class BusinessServiceImpl implements BusinessService {
return previousVO; 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<BusinessDO> businessDOS = businessMapper.selectList(Wrappers.<BusinessDO>lambdaQuery()
.between(BusinessDO::getCreateTime, startOfDay, endOfDay)
.eq(BusinessDO::getCarteenId, carteenId));
return businessDOS.get(0);
}
} }

View File

@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.member.service.devicewarn;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.DeviceWarnPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnSaveReqVO; 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.dataobject.devicewarn.DeviceWarnDO;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
/** /**
* 设备告警次数 Service 接口 * 设备告警次数 Service 接口
@ -57,4 +60,6 @@ public interface DeviceWarnService {
void addDeviceWarn(HttpServletRequest request); void addDeviceWarn(HttpServletRequest request);
Long getWarn(Long storeId); Long getWarn(Long storeId);
List<DeviceInfo> getDeviceInfo(Long carteenId);
} }

View File

@ -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.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.DeviceWarnPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.devicewarn.vo.DeviceWarnSaveReqVO; 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.dataobject.devicewarn.DeviceWarnDO;
import cn.iocoder.yudao.module.member.dal.mysql.devicewarn.DeviceWarnMapper; import cn.iocoder.yudao.module.member.dal.mysql.devicewarn.DeviceWarnMapper;
import cn.iocoder.yudao.module.member.util.MemberConstants; 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.DeviceInfoApi;
import cn.iocoder.yudao.module.system.api.deviceInfo.dto.DeviceInfoDto; import cn.iocoder.yudao.module.system.api.deviceInfo.dto.DeviceInfoDto;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -19,6 +21,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -115,4 +118,9 @@ public class DeviceWarnServiceImpl implements DeviceWarnService {
} }
return 0L; return 0L;
} }
@Override
public List<DeviceInfo> getDeviceInfo(Long carteenId) {
return deviceWarnMapper.getDeviceInfo(carteenId);
}
} }