فهرست منبع

fix(依赖):
远程配置调整

18339543638 2 سال پیش
والد
کامیت
26703047a1

+ 0 - 23
nb-service-api/web-service-api/src/main/java/com/nb/web/api/entity/BusConfigLogEntity.java

@@ -1,23 +0,0 @@
-package com.nb.web.api.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-/**
- * @author zsl
- * @version 1.0.0
- * @ClassName BusConfigLogEntity.java
- * @Description TODO
- * @createTime 2023/7/614:02
- */
-@EqualsAndHashCode(callSuper = true)
-@Data
-@TableName(value = "bus_config_log",autoResultMap = true)
-@ApiModel(value="设备报警操作信息", description="设备报警信息记录")
-@ToString
-public class BusConfigLogEntity extends BusDeviceConfigurationEntity{
-
-}

+ 3 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/entity/BusDeviceEntity.java

@@ -81,6 +81,9 @@ public class BusDeviceEntity extends TenantGenericEntity<String,String> {
     @ApiModelProperty(value = "设备在线状态,0未激活,1在线,2离线",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
     private DeviceStatusEnum2 status;
 
+    @ApiModelProperty("远程配置id")
+    private String remoteConfigId;
+
     @TableField(value = "tenant_id",typeHandler = TenantNameHandler.class,updateStrategy = FieldStrategy.NEVER,insertStrategy = FieldStrategy.NEVER)
     private String tenantName;
 

+ 1 - 1
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/NoticeMsgController.java

@@ -38,7 +38,7 @@ public class NoticeMsgController {
     @ApiOperation("查询绑定申请消息详情")
     public R<AssistantUserBindResult> bindMsg(@PathVariable("bindId") String bindId){
         AssistantUserBindEntity userBind = userBindClient.findById(bindId);
-        if(bindId==null){
+        if(userBind==null){
             throw new CustomException("该绑定关系不存在,请刷新后重试");
         }
         AssistantUserBindResult result = BeanUtil.toBean(userBind, AssistantUserBindResult.class);

+ 0 - 34
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/BusConfigLogController.java

@@ -1,34 +0,0 @@
-package com.nb.web.service.bus.controller;
-
-import com.baomidou.mybatisplus.core.mapper.Mapper;
-import com.nb.common.crud.BaseService;
-import com.nb.common.crud.controller.BaseCrudController;
-import com.nb.web.api.entity.BusConfigLogEntity;
-import com.nb.web.service.bus.service.LocalBusConfigLogService;
-import io.swagger.annotations.Api;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author zsl
- * @version 1.0.0
- * @ClassName BusConfigLogController.java
- * @Description TODO
- * @createTime 2023/7/614:10
- */
-
-@Slf4j
-@RestController
-@AllArgsConstructor
-@RequestMapping("/bus/remote/configLog")
-@Api(tags = "设备远程配置日志管理",description = "统一权限前缀(device:configLog)")
-public class BusConfigLogController  extends BaseCrudController<BusConfigLogEntity, String> {
-    private final LocalBusConfigLogService configLogService;
-
-    @Override
-    public BaseService<? extends Mapper<BusConfigLogEntity>, BusConfigLogEntity, String> getService() {
-        return configLogService;
-    }
-}

+ 15 - 6
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/BusDeviceConfigurationController.java

@@ -2,6 +2,7 @@ package com.nb.web.service.bus.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.mapper.Mapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.nb.common.crud.BaseService;
 import com.nb.common.crud.controller.BaseCrudController;
 import com.nb.common.crud.controller.BaseQueryController;
@@ -37,6 +38,20 @@ import java.util.List;
 public class BusDeviceConfigurationController  implements BaseQueryController<BusDeviceConfigurationEntity, String> {
     private final LocalBusDeviceConfigurationService configurationService;
 
+    @SaCheckPermission("device:configuration:list")
+    @ApiOperation(value = "远程配置管理查询",notes = "权限【无】")
+    @PostMapping("/query/no_page")
+    public R<List<DeviceConfigurationResult>> list(@RequestBody DeviceConfigurationQuery query){
+        return R.success(configurationService.selectAll(query));
+    }
+
+    @SaCheckPermission("device:configuration:list")
+    @ApiOperation(value = "远程配置管理记录查询",notes = "权限【device:configuration:list】")
+    @PostMapping("/query/record/page")
+    public R<IPage<DeviceConfigurationResult>> page(@RequestBody DeviceConfigurationQuery query){
+        return R.success(configurationService.selectRecordPage(query));
+    }
+
     /**
      * 权限控制前缀
      * @return
@@ -46,12 +61,6 @@ public class BusDeviceConfigurationController  implements BaseQueryController<Bu
         return "device:configuration";
     }
 
-     @SaCheckPermission("device:configuration:list")
-    @ApiOperation(value = "远程配置管理查询",notes = "权限【device:configuration:list】")
-    public R<List<DeviceConfigurationResult>> list(@RequestBody DeviceConfigurationQuery query){
-        return R.success(configurationService.selectAll(query));
-    }
-
     @PostMapping("/update")
     @SaCheckPermission("device:configuration:update")
     @ApiOperation(value = "编辑远程配置管理",notes = "权限【device:configuration:update】")

+ 0 - 17
nb-service/web-service/src/main/java/com/nb/web/service/bus/mapper/BusCinfigLogMapper.java

@@ -1,17 +0,0 @@
-package com.nb.web.service.bus.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.nb.web.api.entity.BusConfigLogEntity;
-import com.nb.web.api.entity.BusDeviceConfigurationEntity;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author zsl
- * @version 1.0.0
- * @ClassName BusCinfigLogMapper.java
- * @Description TODO
- * @createTime 2023/7/614:03
- */
-@Mapper
-public interface BusCinfigLogMapper extends BaseMapper<BusConfigLogEntity> {
-}

+ 5 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/mapper/BusDeviceConfigurationMapper.java

@@ -1,6 +1,7 @@
 package com.nb.web.service.bus.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.nb.web.api.entity.BusDeviceConfigurationEntity;
 import com.nb.web.service.bus.service.dto.DeviceConfigurationQuery;
 import com.nb.web.service.bus.service.dto.DeviceConfigurationResult;
@@ -15,7 +16,11 @@ public interface BusDeviceConfigurationMapper extends BaseMapper<BusDeviceConfig
     List<DeviceConfigurationResult> selectByQuery(@Param("query") DeviceConfigurationQuery query);
 
 
+    @Deprecated
     int insertNew(@Param("entity") BusDeviceConfigurationEntity entity);
 
+    @Deprecated
     int updateByDeviceId(@Param("entity") BusDeviceConfigurationEntity entity);
+
+    IPage<DeviceConfigurationResult> selectRecordPage(@Param("query") DeviceConfigurationQuery query);
 }

+ 0 - 39
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusConfigLogService.java

@@ -1,39 +0,0 @@
-package com.nb.web.service.bus.service;
-
-import com.nb.common.crud.BaseService;
-import com.nb.web.api.entity.BusConfigLogEntity;
-import com.nb.web.api.entity.BusHospitalLogEntity;
-import com.nb.web.api.feign.IHospitalLogClient;
-import com.nb.web.service.bus.mapper.BusCinfigLogMapper;
-import com.nb.web.service.bus.mapper.BusHospitalLogMapper;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-/**
- * @author zsl
- * @version 1.0.0
- * @ClassName LocalBusConfigLogService.java
- * @Description TODO
- * @createTime 2023/7/614:06
- */
-@Service
-@Slf4j
-@AllArgsConstructor
-public class LocalBusConfigLogService extends BaseService<BusCinfigLogMapper, BusConfigLogEntity,String>{
-    @Override
-    public void validateBeforeSave(BusConfigLogEntity entity) {
-
-    }
-
-    @Override
-    public void validateBeforeUpdate(BusConfigLogEntity entity) {
-
-    }
-
-    @Override
-    public void validateBeforeDelete(String id) {
-
-    }
-
-}

+ 30 - 52
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusDeviceConfigurationService.java

@@ -1,12 +1,10 @@
 package com.nb.web.service.bus.service;
 
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.nb.common.crud.BaseService;
-import com.nb.web.api.entity.BusConfigLogEntity;
+import com.nb.web.api.entity.BusDeviceEntity;
 import com.nb.web.service.bus.controller.vo.ConfigurationParamVo;
-import com.nb.web.service.bus.mapper.BusCinfigLogMapper;
 import com.nb.web.service.bus.mapper.BusDeviceConfigurationMapper;
 import com.nb.web.api.entity.BusDeviceConfigurationEntity;
 import com.nb.web.service.bus.service.dto.DeviceConfigurationQuery;
@@ -31,9 +29,10 @@ import java.util.stream.Collectors;
  */
 @Service
 public class LocalBusDeviceConfigurationService extends BaseService<BusDeviceConfigurationMapper, BusDeviceConfigurationEntity,String> {
+
     @Autowired
     @Lazy
-    private BusCinfigLogMapper busCinfigLogMapper;
+    private LocalBusDeviceService busDeviceService;
 
     @Override
     public void validateBeforeSave(BusDeviceConfigurationEntity entity) {
@@ -51,65 +50,44 @@ public class LocalBusDeviceConfigurationService extends BaseService<BusDeviceCon
     }
 
     public List<DeviceConfigurationResult> selectAll(DeviceConfigurationQuery query){
-
         return  baseMapper.selectByQuery(query);
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public int updateConfiguration(ConfigurationParamVo configurationParamVo, List<BusDeviceConfigurationEntity> deviceConfigurationEntitys) {
-        if(CollectionUtil.isEmpty(deviceConfigurationEntitys)){
+    public int updateConfiguration(ConfigurationParamVo configurationParamVo, List<BusDeviceConfigurationEntity> deviceConfigurationList) {
+        if(CollectionUtil.isEmpty(deviceConfigurationList)){
             return 0;
         }
-//        int i = 0;
-        Set<String> deviceIds = deviceConfigurationEntitys.stream()
-                .map(BusDeviceConfigurationEntity::getDeviceId)
-                .collect(Collectors.toSet());
-        List<BusDeviceConfigurationEntity> existDevice = this.list(new LambdaQueryWrapper<BusDeviceConfigurationEntity>()
-                .in(BusDeviceConfigurationEntity::getDeviceId, deviceIds));
-        //更新
-        Map<String, BusDeviceConfigurationEntity> deviceMap = existDevice.stream()
-                .collect(Collectors.groupingBy(BusDeviceConfigurationEntity::getDeviceId, Collectors.collectingAndThen(Collectors.toList(), CollectionUtil::getFirst)));
-
-        List<BusDeviceConfigurationEntity> batchUpdate = new ArrayList<>();
-        List<BusDeviceConfigurationEntity> batchInsert = new ArrayList<>();
-        for (BusDeviceConfigurationEntity entity : deviceConfigurationEntitys) {
-            String deviceId = entity.getDeviceId();
+        for (BusDeviceConfigurationEntity entity: deviceConfigurationList) {
             entity.setMaxDose(configurationParamVo.getMaxDose());
             entity.setFirstDose(configurationParamVo.getFirstDose());
             entity.setContinueDose(configurationParamVo.getContinueDose());
             entity.setAppendDose(configurationParamVo.getAppendDose());
             entity.setSelfControlLockTime(configurationParamVo.getSelfControlLockTime());
             entity.setTotalDose(configurationParamVo.getTotalDose());
-            BusDeviceConfigurationEntity deviceConfiguration = deviceMap.get(deviceId);
-            if(ObjectUtil.isNotNull(deviceConfiguration)){
-                entity.setId(deviceConfiguration.getId());
-                batchUpdate.add(entity);
-            }else {
-                batchInsert.add(entity);
-            }
         }
-        this.updateBatchById(batchUpdate);
-        this.saveBatch(batchInsert);
-//        //插入
-//        for (BusDeviceConfigurationEntity entity: deviceConfigurationEntitys
-//             ) {
-//            entity.setMaxDose(configurationParamVo.getMaxDose());
-//            entity.setFirstDose(configurationParamVo.getFirstDose());
-//            entity.setContinueDose(configurationParamVo.getContinueDose());
-//            entity.setAppendDose(configurationParamVo.getAppendDose());
-//            entity.setSelfControlLockTime(configurationParamVo.getSelfControlLockTime());
-//            entity.setTotalDose(configurationParamVo.getTotalDose());
-//
-//            int i1 = baseMapper.insertNew(entity);
-//
-//            if( i1 ==0 ){
-//                i1 = baseMapper.updateByDeviceId(entity);
-//            }
-//    //        busCinfigLogMapper.insert((BusConfigLogEntity) entity);
-//            i +=i1;
-//
-//        }
-
-        return CollectionUtil.size(deviceConfigurationEntitys);
+        saveBatch(deviceConfigurationList);
+
+        //更新设备信息
+        Set<String> deviceIds = deviceConfigurationList.stream()
+                .map(BusDeviceConfigurationEntity::getDeviceId)
+                .collect(Collectors.toSet());
+        List<BusDeviceEntity> devices = busDeviceService.listByIds(deviceIds);
+        //更新
+        Map<String, BusDeviceEntity> deviceMap = devices.stream()
+                .collect(Collectors.groupingBy(BusDeviceEntity::getDeviceId, Collectors.collectingAndThen(Collectors.toList(), CollectionUtil::getFirst)));
+
+        for (BusDeviceConfigurationEntity deviceConfiguration : deviceConfigurationList) {
+            String deviceId = deviceConfiguration.getDeviceId();
+            BusDeviceEntity device = deviceMap.get(deviceId);
+            device.setRemoteConfigId(deviceConfiguration.getId());
+        }
+        busDeviceService.updateBatchById(devices);
+
+        return CollectionUtil.size(deviceConfigurationList);
+    }
+
+    public IPage<DeviceConfigurationResult> selectRecordPage(DeviceConfigurationQuery query) {
+        return  baseMapper.selectRecordPage(query);
     }
 }

+ 28 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/dto/DeviceConfigurationRecordQuery.java

@@ -0,0 +1,28 @@
+package com.nb.web.service.bus.service.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zsl
+ * @version 1.0.0
+ * @ClassName DeviceConfigurationQuery.java
+ * @Description TODO
+ * @createTime 2023/6/309:43
+ */
+@ApiModel("远程升级")
+@Data
+public class DeviceConfigurationRecordQuery {
+    @ApiModelProperty("设备id")
+    private String deviceId;
+
+    @ApiModelProperty("设备别名")
+    private String alias;
+
+    @ApiModelProperty("设备类型集合")
+    private List<Integer> deviceTypes;
+
+}

+ 52 - 25
nb-service/web-service/src/main/resources/mapper/bus/BusDeviceConfigurationMapper.xml

@@ -19,31 +19,26 @@
 
     <select id="selectByQuery" resultMap="deviceConfigurationResult" parameterType="com.nb.web.service.bus.service.dto.DeviceConfigurationQuery">
         SELECT
-            dc.id AS id,
-            d.device_id AS device_id,
-            d.alias AS alias,
-            d.type AS type,
-            dc.total_dose as total_dose,
-            dc.first_dose as first_dose,
-            dc.max_dose as max_dose,
-            dc.append_dose as append_dose,
-            dc.continue_dose as continue_dose,
-            dc.self_control_lock_time as self_control_lock_time,
-            dc.patient_code as patient_code
-        FROM
-            (select * from bus_device
-            <where>
-                is_delete = 0 and status != '0'
-                <if test="query.deviceId!=null">
-                    and device_id = #{query.deviceId}
-                </if>
-                <if test="query.alias!=null">
-                    and alias like concat('%',#{query.alias},'%')
-                </if>
-            </where>
-                )AS d
-                LEFT JOIN bus_device_configuration AS dc ON d.device_id = dc.device_id
+            bdc.id AS id,
+            bd.device_id AS device_id,
+            bd.alias AS alias,
+            bd.type AS type,
+            bdc.total_dose as total_dose,
+            bdc.first_dose as first_dose,
+            bdc.max_dose as max_dose,
+            bdc.append_dose as append_dose,
+            bdc.continue_dose as continue_dose,
+            bdc.self_control_lock_time as self_control_lock_time,
+            bdc.patient_code as patient_code
+        from bus_device as bd left join bus_device_configuration as bdc on bd.remote_config_id = bdc.id
         <where>
+            bd.status != '0'
+            <if test="query.deviceId!=null">
+                and bd.device_id = #{query.deviceId}
+            </if>
+            <if test="query.alias!=null">
+                and bd.alias like concat('%',#{query.alias},'%')
+            </if>
             <if test="query.deviceTypes != null and query.deviceTypes.size > 0">
                 d.type in
                 <foreach item="type" index="index" collection="query.deviceTypes" open="(" separator="," close=")">
@@ -52,8 +47,40 @@
             </if>
         </where>
         ORDER BY
-            device_id
+            bd.device_id
     </select>
+
+    <select id="selectRecordPage" resultMap="deviceConfigurationResult" parameterType="com.nb.web.service.bus.service.dto.DeviceConfigurationQuery">
+        SELECT
+        bdc.id AS id,
+        bd.device_id AS device_id,
+        bd.alias AS alias,
+        bd.type AS type,
+        bdc.total_dose as total_dose,
+        bdc.first_dose as first_dose,
+        bdc.max_dose as max_dose,
+        bdc.append_dose as append_dose,
+        bdc.continue_dose as continue_dose,
+        bdc.self_control_lock_time as self_control_lock_time,
+        bdc.patient_code as patient_code
+        from bus_device as bd join bus_device_configuration as bdc on bd.remote_config_id = bdc.id
+        <where>
+            bd.status != '0'
+            <if test="query.deviceId!=null">
+                and bd.device_id = #{query.deviceId}
+            </if>
+            <if test="query.alias!=null">
+                and bd.alias like concat('%',#{query.alias},'%')
+            </if>
+            <if test="query.deviceTypes != null and query.deviceTypes.size > 0">
+                d.type in
+                <foreach item="type" index="index" collection="query.deviceTypes" open="(" separator="," close=")">
+                    #{type, jdbcType=VARCHAR}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
     <insert id="insertNew" parameterType="com.nb.web.api.entity.BusDeviceConfigurationEntity">
         INSERT INTO bus_device_configuration ( device_id, alias, type, tenant_id, total_dose, first_dose, max_dose, append_dose, continue_dose, self_control_lock_time, patient_code ) SELECT
         #{entity.deviceId},