Browse Source

添加设备统计feign

李进 2 years ago
parent
commit
6534cf1bd3

+ 31 - 6
device-api-service/src/main/java/com/xy/service/DeviceDataServiceImpl.java

@@ -169,7 +169,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public DeviceDataDto.Vo getByDay(Long deviceId, Long mercId, String dateValue) {
-         return getOneData(EnumDeviceDataType.DAY.getCode(), deviceId, mercId, dateValue);
+        return getOneData(EnumDeviceDataType.DAY.getCode(), deviceId, mercId, dateValue);
     }
 
     /**
@@ -180,7 +180,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public List<DeviceDataDto.Vo> getMercDataOneDay(Long mercId, String dateValue) {
-         return getMercListData(EnumDeviceDataType.DAY.getCode(), mercId, dateValue);
+        return getMercListData(EnumDeviceDataType.DAY.getCode(), mercId, dateValue);
     }
 
 
@@ -192,7 +192,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public List<DeviceDataDto.Vo> getMercDataOneMonth(Long mercId, String dateValue) {
-         return getMercListData(EnumDeviceDataType.MONTH.getCode(), mercId, dateValue);
+        return getMercListData(EnumDeviceDataType.MONTH.getCode(), mercId, dateValue);
     }
 
     /**
@@ -204,7 +204,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public DeviceDataDto.Vo getByMonth(Long deviceId, Long mercId, String dateValue) {
-         return getOneData(EnumDeviceDataType.MONTH.getCode(), deviceId, mercId, dateValue);
+        return getOneData(EnumDeviceDataType.MONTH.getCode(), deviceId, mercId, dateValue);
     }
 
     /**
@@ -216,7 +216,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public DeviceDataDto.Vo getByYear(Long deviceId, Long mercId, String dateValue) {
-         return getOneData(EnumDeviceDataType.YEAR.getCode(), deviceId, mercId, dateValue);
+        return getOneData(EnumDeviceDataType.YEAR.getCode(), deviceId, mercId, dateValue);
     }
 
     /**
@@ -265,7 +265,7 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
      * @return
      */
     public List<DeviceDataDto.Vo> getListByDay(Long deviceId, Integer startDateValue, Integer endDateValue) {
-         return getListData(EnumDeviceDataType.DAY.getCode(), deviceId, startDateValue, endDateValue);
+        return getListData(EnumDeviceDataType.DAY.getCode(), deviceId, startDateValue, endDateValue);
     }
 
     /**
@@ -327,6 +327,31 @@ public class DeviceDataServiceImpl extends ServiceImpl<DeviceDataMapper, DeviceD
         return R.ok(list);
     }
 
+    @Override
+    @ApiOperation("商户日期维度查询")
+    public R<PageBean<DeviceDataDto.Vo>> pageByMercAndDate(DeviceDataDto.PageByMercAndDate pageByMercAndDate) {
+        PageBean pageBean = pageByMercAndDate.getPage();
+        LambdaQueryWrapper<DeviceData> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(pageByMercAndDate, DeviceData.class)
+                .in(DeviceData::getDeviceId)
+                .in(DeviceData::getDateValue)
+                .build()
+                .orderByDesc(DeviceData::getCreateTime);
+        IPage<DeviceData> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(DeviceDataDto.Vo.class, iPage));
+    }
+
+    @Override
+    @ApiOperation("商户日期维度统计查询")
+    public R<Long> pageByMercAndDateCount(DeviceDataDto.PageByMercAndDate pageByMercAndDate) {
+        LambdaQueryWrapper<DeviceData> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(pageByMercAndDate, DeviceData.class)
+                .in(DeviceData::getDeviceId)
+                .in(DeviceData::getDateValue)
+                .build()
+                .orderByDesc(DeviceData::getCreateTime);
+        long count = count(lambdaQueryWrapper);
+        return R.ok(count);
+    }
+
     public static class SaveOrAccum {
 
         public R saveOrAccum(DeviceDataDto.SaveOrAccum saveOrAccum, DeviceDataServiceImpl deviceDataService) {

+ 27 - 3
device-api/src/main/java/com/xy/dto/DeviceDataDto.java

@@ -8,6 +8,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -30,18 +32,18 @@ public class DeviceDataDto {
         @ApiModelProperty(value = "商户ID")
         private Long mercId;
 
-        @ApiModelProperty(value = "统计类型(day,month,year)",required = true)
+        @ApiModelProperty(value = "统计类型(day,month,year)", required = true)
         @NotNull(message = "统计类型不能为空")
         private String type;
 
         @NotNull(message = "开始时间不能为空")
-        @ApiModelProperty(value = "开始时间",required = true)
+        @ApiModelProperty(value = "开始时间", required = true)
         @JsonFormat(pattern = "yyyy-MM-dd")
         private LocalDate beginDate;
 
         @NotNull(message = "结束时间不能为空")
         @JsonFormat(pattern = "yyyy-MM-dd")
-        @ApiModelProperty(value = "结束时间",required = true)
+        @ApiModelProperty(value = "结束时间", required = true)
         private LocalDate endDate;
 
         public Integer getBeginInt() {
@@ -72,6 +74,7 @@ public class DeviceDataDto {
             return BigDecimal.valueOf(totalMoney).divide(new BigDecimal(100));
         }
     }
+
     @Data
     @Accessors(chain = true)
     public static class SumCountVo {
@@ -358,5 +361,26 @@ public class DeviceDataDto {
 
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class PageByMercAndDate {
+
+        @ApiModelProperty(value = "分页信息", required = true)
+        private PageBean page;
+
+        @NotNull(message = "mercId不能为空")
+        @ApiModelProperty(value = "商户ID")
+        private Long mercId;
+
+        @NotBlank(message = "type不能为空")
+        @ApiModelProperty(value = "统计类型;year|month|day")
+        private String type;
+
+        @NotEmpty(message = "mercId不能为空")
+        @ApiModelProperty(value = "日期")
+        private List<String> dateValue;
 
+        @ApiModelProperty(value = "设备ID")
+        private List<Long> deviceId;
+    }
 }

+ 19 - 0
device-api/src/main/java/com/xy/service/DeviceDataService.java

@@ -2,6 +2,7 @@ package com.xy.service;
 
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.DeviceDataDto;
+import com.xy.utils.PageBean;
 import com.xy.utils.R;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -41,4 +42,22 @@ public interface DeviceDataService {
     @PostMapping("dayChart")
     R<List<DeviceDataDto.DayChartVo>> dayChart(@RequestBody DeviceDataDto.DayChartDto dto);
 
+    /**
+     * 商户日期维度查询
+     *
+     * @param pageByMercAndDate
+     * @return
+     */
+    @PostMapping("pageByMercAndDate")
+    R<PageBean<DeviceDataDto.Vo>> pageByMercAndDate(@RequestBody @Validated DeviceDataDto.PageByMercAndDate pageByMercAndDate);
+
+    /**
+     * 商户日期维度统计查询
+     *
+     * @param pageByMercAndDate
+     * @return
+     */
+    @PostMapping("pageByMercAndDateCount")
+    R<Long> pageByMercAndDateCount(@RequestBody @Validated DeviceDataDto.PageByMercAndDate pageByMercAndDate);
+
 }