大屏
This commit is contained in:
		| @ -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<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)); | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -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; | ||||
| } | ||||
| @ -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<DeviceWarnDO> { | ||||
|                 .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); | ||||
| } | ||||
| @ -64,4 +64,6 @@ public interface BusinessService { | ||||
|     BusinessDataVO getWeek(String time,Long carteenId); | ||||
|  | ||||
|     BusinessDataVO getMonth(String time,Long carteenId); | ||||
|  | ||||
|     BusinessDO getToday(Long carteenId); | ||||
| } | ||||
| @ -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<BusinessDO> businessDOS = businessMapper.selectList(Wrappers.<BusinessDO>lambdaQuery() | ||||
|                 .between(BusinessDO::getCreateTime, startOfDay, endOfDay) | ||||
|                 .eq(BusinessDO::getCarteenId, carteenId)); | ||||
|         return businessDOS.get(0); | ||||
|     } | ||||
| } | ||||
| @ -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<DeviceInfo> getDeviceInfo(Long carteenId); | ||||
| } | ||||
| @ -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<DeviceInfo> getDeviceInfo(Long carteenId) { | ||||
|         return deviceWarnMapper.getDeviceInfo(carteenId); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 seesaw
					seesaw