李进 1 рік тому
батько
коміт
7c379bf2af

+ 8 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceSimMapper.java

@@ -52,4 +52,12 @@ public interface DeviceSimMapper extends BaseMapper<DeviceSim> {
      * @return
      */
     IPage<Long> deviceSimTimeout(IPage page, @Param("query") Map<String, Object> map);
+
+    /**
+     * 查询过期条数
+     *
+     * @param deviceSimTimeoutCount
+     * @return
+     */
+    DeviceSimDto.DeviceSimTimeoutCountVo deviceSimTimeoutCount(@Param("query") DeviceSimDto.DeviceSimTimeoutCount deviceSimTimeoutCount);
 }

+ 17 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/DeviceSimMapper.xml

@@ -179,4 +179,21 @@
         </if>
         GROUP BY di.merc_id
     </select>
+
+    <select id="deviceSimTimeoutCount" resultType="com.xy.dto.DeviceSimDto$DeviceSimTimeoutCountVo">
+        select
+        (select count(*)
+        from device_info di
+				join device_sysinfo ds on(di.device_id = ds.device_id)
+        join device_sim dsim on(ds.sim_iccid = dsim.id)
+        where
+        di.merc_id = #{query.mercId} and dsim.timeout >= #{query.begin1} and dsim.timeout &lt;= #{query.end1}) as beTimeoutCout,
+        (select count(*)
+        from device_info di
+				join device_sysinfo ds on(di.device_id = ds.device_id)
+        join device_sim dsim on(ds.sim_iccid = dsim.id)
+        where
+        di.merc_id = #{query.mercId} and dsim.timeout &lt;= #{query.end2}) as timeoutCout
+        from dual
+    </select>
 </mapper>

+ 15 - 0
device-api-service/src/main/java/com/xy/service/DeviceSimServiceImpl.java

@@ -20,6 +20,7 @@ import com.xy.entity.DeviceSim;
 import com.xy.entity.DeviceSimCharge;
 import com.xy.entity.SysDictRedis;
 import com.xy.mapper.DeviceSimMapper;
+import com.xy.sys.EnumMercCostMsgConfig;
 import com.xy.util.ExcelUtils;
 import com.xy.utils.*;
 import io.swagger.annotations.Api;
@@ -124,6 +125,20 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
         return R.ok();
     }
 
+    @Override
+    @ApiOperation("查询过期条数")
+    public R<DeviceSimDto.DeviceSimTimeoutCountVo> deviceSimTimeoutCount(DeviceSimDto.DeviceSimTimeoutCount deviceSimTimeoutCount) {
+        Map<String, SysDictRedis> stringSysDictRedisMap = SysDictUtils.get(EnumMercCostMsgConfig.Code.CODE.getCode());
+        String now = DataTime.getSring();
+        int day = Integer.valueOf(stringSysDictRedisMap.get(EnumMercCostMsgConfig.DEVICE_SIM_COST_DAY.getCode()).getValue());
+        String end1 = DataTime.getStringAround(0, 0, day, 0, 0, 0, now);
+        deviceSimTimeoutCount.setBegin1(now)
+                .setEnd1(end1)
+                .setEnd2(now);
+        DeviceSimDto.DeviceSimTimeoutCountVo deviceSimTimeoutCountVo = baseMapper.deviceSimTimeoutCount(deviceSimTimeoutCount);
+        return R.ok(deviceSimTimeoutCountVo);
+    }
+
     @PostMapping("page")
     @ApiOperation("分页查询")
     public R<PageBean<DeviceSimDto.PageVo>> page(@RequestBody @Validated DeviceSimDto.Page page) {

+ 29 - 0
device-api/src/main/java/com/xy/dto/DeviceSimDto.java

@@ -152,6 +152,35 @@ public class DeviceSimDto {
         private Boolean isUpdateBatchNo;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class DeviceSimTimeoutCount {
+
+        @NotNull(message = "mercId不能为空")
+        @ApiModelProperty(value = "商户id")
+        private Long mercId;
+
+        @ApiModelProperty(hidden = true)
+        private String begin1;
+
+        @ApiModelProperty(hidden = true)
+        private String end1;
+
+        @ApiModelProperty(hidden = true)
+        private String end2;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class DeviceSimTimeoutCountVo {
+
+        @ApiModelProperty(value = "即将欠费条数")
+        private Integer beTimeoutCout;
+
+        @ApiModelProperty(value = "欠费条数")
+        private Integer timeoutCout;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class Vo {

+ 9 - 0
device-api/src/main/java/com/xy/service/DeviceSimService.java

@@ -35,4 +35,13 @@ public interface DeviceSimService {
      */
     @PostMapping("payNotice")
     R payNotice(@RequestBody @Validated DeviceSimDto.PayNotice payNotice);
+
+    /**
+     * 查询过期条数
+     *
+     * @param deviceSimTimeoutCount
+     * @return
+     */
+    @PostMapping("deviceSimTimeoutCount")
+    R<DeviceSimDto.DeviceSimTimeoutCountVo> deviceSimTimeoutCount(@RequestBody @Validated DeviceSimDto.DeviceSimTimeoutCount deviceSimTimeoutCount);
 }