Explorar el Código

Merge branch 'master' into test

李进 hace 1 año
padre
commit
fc76b2a4a5

+ 6 - 0
device-api-service/src/main/java/com/xy/entity/DeviceSim.java

@@ -42,6 +42,12 @@ public class DeviceSim implements Serializable {
     @ApiModelProperty(value = "最后续费时间")
     private LocalDateTime lastRenewalTime;
 
+    @ApiModelProperty(value = "批次号")
+    private String batchNo;
+
+    @ApiModelProperty(value = "待续费")
+    private Boolean waitHandle;
+
     @ApiModelProperty(value = "创建时间")
     private LocalDateTime createTime;
 

+ 14 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/DeviceChargingMapper.xml

@@ -35,4 +35,18 @@
         GROUP BY di.merc_id
     </select>
 
+    <select id="deviceChargingTimeoutCount" resultType="map">
+        select
+        (select count(*)
+        from device_info di
+        join device_charging dc on(di.device_id = dc.device_id)
+        where
+        di.merc_id = #{query.mercId} and dc.timeout >= #{query.begin1} and dc.timeout &lt;= #{query.end1}) as count1,
+        (select count(*)
+        from device_info di
+        join device_charging dc on(di.device_id = dc.device_id)
+        where
+        di.merc_id = #{query.mercId} and dc.timeout &lt;= #{query.end2}) as count2
+        from dual
+    </select>
 </mapper>

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

@@ -93,6 +93,12 @@
                 and dsim.activate_time is null
             </if>
         </if>
+        <if test="queryPage.batchNo != null and queryPage.batchNo != ''">
+            dsim.batch_no = #{queryPage.batchNo}
+        </if>
+        <if test="queryPage.waitHandle != null">
+            dsim.wait_handle = #{queryPage.waitHandle}
+        </if>
         order by dsim.timeout asc
     </select>
 
@@ -146,6 +152,12 @@
                 and dsim.activate_time is null
             </if>
         </if>
+        <if test="queryPage.batchNo != null and queryPage.batchNo != ''">
+            dsim.batch_no = #{queryPage.batchNo}
+        </if>
+        <if test="queryPage.waitHandle != null">
+            dsim.wait_handle = #{queryPage.waitHandle}
+        </if>
     </select>
 
     <select id="deviceSimTimeout" resultType="java.lang.Long">

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

@@ -23,6 +23,7 @@ import com.xy.mapper.DeviceSimMapper;
 import com.xy.util.ExcelUtils;
 import com.xy.utils.*;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -116,6 +117,7 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
                 newTimeout = DataTime.getStringAround(0, 0, (int) d, 0, 0, 0, newTimeout);
             }
             deviceSim.setTimeout(DataTime.toLocal(newTimeout))
+                    .setWaitHandle(true)
                     .setLastRenewalTime(now)
                     .setUpdateTime(now);
         });
@@ -210,6 +212,7 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
         String path = fileConfig.getPath() + File.separator + name;
         ExcelUtils.SheetAndData<UploadSim> sheetAndData = ExcelUtils.create(path, UploadSim.class);
         sheetAndData.sheet("流量卡数据", () -> {
+            //生成导出数据
             Map<String, SysDictRedis> simConfig = SysDictUtils.get(EnumSimConfig.Code.CODE.getCode());
             Integer value = Integer.valueOf(simConfig.get(EnumSimConfig.N_200.getCode()).getValue());
             String theTime = DataTime.getStringAround(0, 0, value, 0, 0, 0);
@@ -224,9 +227,23 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
                     uploadSim.setType(sim.getType());
                     uploadSim.setActivateTime(DataTime.toString(sim.getActivateTime()));
                     uploadSim.setTimeout(DataTime.toString(sim.getTimeout()));
+                    uploadSim.setBatchNo(sim.getBatchNo());
                 }
                 uploadSims.add(uploadSim);
             });
+            //修改批次号
+            if (Emptys.check(page.getBatchNo()) && Emptys.check(page.getIsUpdateBatchNo()) && page.getIsUpdateBatchNo()) {
+                LocalDateTime now = LocalDateTime.now();
+                List<DeviceSim> deviceSims = new ArrayList<>(uploadSims.size());
+                uploadSims.forEach(uploadSim -> {
+                    DeviceSim deviceSim = new DeviceSim()
+                            .setId(uploadSim.getSimId())
+                            .setBatchNo(page.getBatchNo())
+                            .setWaitHandle(false)
+                            .setUpdateTime(now);
+                });
+                updateBatchById(deviceSims);
+            }
             return uploadSims;
         }).builder();
         //下载文件
@@ -293,6 +310,7 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
                         .setType(uploadSim.getType())
                         .setActivateTime(DataTime.toLocal(uploadSim.getActivateTime()))
                         .setTimeout(DataTime.toLocal(uploadSim.getTimeout()))
+                        .setLastRenewalTime(DataTime.toLocal(uploadSim.getLastRenewalTime()))
                         .setCreateTime(now)
                         .setUpdateTime(now);
                 deviceSim.setLastRenewalTime(deviceSim.getActivateTime());
@@ -313,6 +331,10 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
         @ExcelProperty(value = "类型")
         private String type;
 
+        @ColumnWidth(25)
+        @ExcelProperty(value = "批次号")
+        private String batchNo;
+
         @ColumnWidth(50)
         @ExcelProperty(value = "激活时间")
         private String activateTime;
@@ -321,5 +343,9 @@ public class DeviceSimServiceImpl extends ServiceImpl<DeviceSimMapper, DeviceSim
         @ExcelProperty(value = "过期时间")
         private String timeout;
 
+        @ColumnWidth(50)
+        @ExcelProperty(value = "最后续费时间")
+        private String lastRenewalTime;
+
     }
 }

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

@@ -89,6 +89,15 @@ public class DeviceSimDto {
         @ApiModelProperty("商户id")
         private Long mercId;
 
+        @ApiModelProperty(value = "批次号")
+        private String batchNo;
+
+        @ApiModelProperty(value = "是否更新批次号以及待续费")
+        private Boolean isUpdateBatchNo;
+
+        @ApiModelProperty(value = "待续费")
+        private Boolean waitHandle;
+
         @ApiModelProperty("状态类型 字典=device_charging_query_type")
         private Integer chargingStatus;
 
@@ -119,6 +128,12 @@ public class DeviceSimDto {
         @ApiModelProperty("商户id")
         private Long mercId;
 
+        @ApiModelProperty(value = "批次号")
+        private String batchNo;
+
+        @ApiModelProperty(value = "待续费")
+        private Boolean waitHandle;
+
         @ApiModelProperty(value = "状态类型", hidden = true)
         private Integer chargingStatus;
 
@@ -154,6 +169,12 @@ public class DeviceSimDto {
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime lastRenewalTime;
 
+        @ApiModelProperty(value = "批次号")
+        private String batchNo;
+
+        @ApiModelProperty(value = "待续费")
+        private Boolean waitHandle;
+
         @ApiModelProperty(value = "创建时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime createTime;