Bladeren bron

Merge branch 'master' into test

李进 1 jaar geleden
bovenliggende
commit
f1d2436ba0

+ 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>

+ 21 - 3
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;
@@ -41,7 +42,9 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -124,6 +127,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) {
@@ -304,13 +321,14 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
         public void doAfterAllAnalysed(AnalysisContext context) {
             LocalDateTime now = LocalDateTime.now();
             JList<DeviceSim> saveDeviceSims = new JArrayList<>();
+            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             sims.forEach(uploadSim -> {
                 DeviceSim deviceSim = new DeviceSim()
                         .setId(uploadSim.getSimId().trim().replace("\"", "").replace("'", ""))
                         .setType(uploadSim.getType())
-                        .setActivateTime(DataTime.toLocal(uploadSim.getActivateTime()))
-                        .setTimeout(DataTime.toLocal(uploadSim.getTimeout()))
-                        .setLastRenewalTime(DataTime.toLocal(uploadSim.getLastRenewalTime()))
+                        .setActivateTime(LocalDate.parse(uploadSim.getActivateTime(), df).atTime(0, 0, 0))
+                        .setTimeout(LocalDate.parse(uploadSim.getTimeout(), df).atTime(0, 0, 0))
+                        .setLastRenewalTime(LocalDate.parse(uploadSim.getLastRenewalTime(), df).atTime(0, 0, 0))
                         .setCreateTime(now)
                         .setUpdateTime(now);
                 deviceSim.setLastRenewalTime(deviceSim.getActivateTime());

+ 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);
 }