Browse Source

技改增加常量数据队列接收

wangzl 3 months ago
parent
commit
584bf712c5

+ 18 - 4
pump-admin/src/main/test/com/tuoren/web/Test1.java

@@ -3,6 +3,8 @@ package com.tuoren.web;
 import com.alibaba.druid.support.json.JSONUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
 import com.google.gson.JsonParser;
 import com.tuoren.TuorenApplication;
 import com.tuoren.common.api.CommonResult;
@@ -11,15 +13,15 @@ import com.tuoren.web.layer.controller.BusPumpController;
 import com.tuoren.web.layer.d0.BusReceiveRecordUpdateDTO;
 import com.tuoren.web.layer.d0.PumpRemoveRequestDTO;
 import com.tuoren.web.layer.d0.PumpVo;
+import com.tuoren.web.layer.entity.BusConstantEntity;
 import com.tuoren.web.layer.entity.BusPatientEntity;
 import com.tuoren.web.layer.entity.BusPumpEntity;
 import com.tuoren.web.layer.entity.BusWordEntity;
-import com.tuoren.web.layer.service.IBusPatientService;
-import com.tuoren.web.layer.service.IBusPumpService;
-import com.tuoren.web.layer.service.IBusReceiveRecordUpdateService;
-import com.tuoren.web.layer.service.IBusWordService;
+import com.tuoren.web.layer.service.*;
 import com.tuoren.web.layer.service.impl.BusPumpServiceImpl;
 import com.tuoren.web.layer.vo.*;
+import com.tuoren.web.rabbit.dto.BusConstantDTO;
+import com.tuoren.web.rabbit.dto.BusConstantValueDTO;
 import lombok.extern.slf4j.Slf4j;
 import org.beetl.ext.simulate.JsonUtil;
 import org.junit.Test;
@@ -66,6 +68,9 @@ public class Test1 {
     @Resource
     private IBusWordService iBusWordService;
 
+    @Resource
+    private IBusConstantService iBusConstantService;
+
     @Test
     public void test() throws Exception {
         rabbitTemplate.convertAndSend("removePump","123412412", Arrays.asList("12","23","3455"));
@@ -163,4 +168,13 @@ public class Test1 {
         param.setTimeRange(objects);
         iBusPumpService.queryPumpInfoNew(param);
     }
+
+    @Test
+    public void test9(){
+        BusConstantParam param = new BusConstantParam();
+        param.setHospitalCode("5490dd8896e54ecab824b006074361de");
+        param.setType(0);
+        List<BusConstantEntity> constantList = iBusConstantService.getConstantList(param);
+        System.out.println(constantList);
+    }
 }

+ 3 - 0
pump-common/src/main/java/com/tuoren/common/constant/CommonConstant.java

@@ -26,4 +26,7 @@ public final class CommonConstant {
 	public static final String MQBREATH_ONLINE = "1"; // 消息队列监听在线
 
 	public static final String MQBREATH_OFFLINE = "0"; // 消息队列监听离线
+
+	// 常量信息队列
+	public static final String QUEUE_CONSTANT = "cloud.constant";
 }

+ 100 - 0
pump-web/src/main/java/com/tuoren/web/layer/controller/BusConstantController.java

@@ -0,0 +1,100 @@
+package com.tuoren.web.layer.controller;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.crypto.SecureUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.tuoren.common.api.CommonResult;
+import com.tuoren.web.layer.entity.BusConstantEntity;
+import com.tuoren.web.layer.service.IBusConstantService;
+import com.tuoren.web.layer.vo.BusConstantParam;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @description: TODO
+ * @author wangzl
+ * @date 2025/9/2 15:13
+ */
+
+@Api(tags = "BusConstantController", description = "常量值内容处理")
+@Slf4j
+@RestController
+@RequestMapping("/bus/constant")
+public class BusConstantController {
+
+    @Autowired
+    private  IBusConstantService iBusConstantService;
+
+    @ApiOperation("获取常量内容")
+    @PostMapping("/getConstant")
+    public CommonResult<List<BusConstantEntity>> getConstantList(@RequestBody@Validated BusConstantParam param){
+        List<BusConstantEntity> list = iBusConstantService.getConstantList(param);
+        if(CollectionUtil.isNotEmpty(list)){
+            return CommonResult.success(list);
+        }
+        return CommonResult.noData();
+    }
+
+    @ApiOperation("修改常量内容")
+    @PostMapping("/update")
+    public CommonResult update(@RequestBody BusConstantEntity busConstantEntity){
+
+        try {
+            String md5 = SecureUtil.md5(busConstantEntity.getHospitalCode() + busConstantEntity.getContent());
+            busConstantEntity.setMd5(md5);
+            return CommonResult.success(this.iBusConstantService.updateById(busConstantEntity),"修改成功");
+        } catch (Exception e) {
+            log.error("出现错误, {}",e.getMessage());
+            return CommonResult.failed("修改失败");
+        }
+    }
+    @ApiOperation("新增常量内容")
+    @PostMapping("/insert")
+    public CommonResult insert(@RequestBody BusConstantEntity busConstantEntity){
+        try {
+            String md5 = SecureUtil.md5(busConstantEntity.getHospitalCode() + busConstantEntity.getContent());
+            busConstantEntity.setMd5(md5);
+            BusConstantEntity entity = iBusConstantService.getBaseMapper().selectOne(new LambdaQueryWrapper<BusConstantEntity>()
+                    .eq(BusConstantEntity::getMd5, md5).last("limit 1"));
+            if(ObjectUtil.isNotEmpty(entity)){
+                return CommonResult.failed("该内容已存在");
+            }
+            return CommonResult.success(this.iBusConstantService.save(busConstantEntity),"新增成功");
+        } catch (Exception e) {
+            log.error("出现错误, {}",e.getMessage());
+            return CommonResult.failed("新增失败");
+        }
+    }
+    /**
+     * 删除数据
+     *
+     * @param ids 主键集合
+     * @return 删除结果
+     */
+    @ApiOperation("删除数据")
+    @PostMapping("/removeByIds")
+    public CommonResult delete(@RequestBody Collection<Long> ids) {
+        try{
+            if(CollectionUtil.isEmpty(ids)){
+                return CommonResult.failed("请选择要删除的数据");
+            }
+            boolean update = this.iBusConstantService.update(null, new LambdaUpdateWrapper<BusConstantEntity>()
+                    .set(BusConstantEntity::getIsDelete, Boolean.TRUE)
+                    .in(BusConstantEntity::getId, ids));
+            return CommonResult.success(update,"删除成功");
+        } catch ( Exception e) {
+            log.error("出现错误, {}",e.getMessage());
+            return CommonResult.failed("删除失败");
+        }
+    }
+
+}

+ 54 - 0
pump-web/src/main/java/com/tuoren/web/layer/entity/BusConstantEntity.java

@@ -0,0 +1,54 @@
+package com.tuoren.web.layer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 10:01
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName(value = "bus_constant",autoResultMap = true)
+@Builder
+@ApiModel(value = "BusConstantEntity对象", description = "")
+public class BusConstantEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "医院编号")
+    private String hospitalCode;
+
+    @ApiModelProperty(value = "常量值")
+    private String content;
+
+    @ApiModelProperty(value = "医院编码+常量值MD5")
+    private String md5;
+
+    @ApiModelProperty(value = "类型  0、病区;1、手术名称; 2、手术医生 ;3、麻醉医生;4、麻醉方式;5、镇痛方式; 6、配方")
+    private Integer type;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime gmtCreate;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime gmtModified;
+
+    @ApiModelProperty(value = "是否删除")
+    private Boolean isDelete;
+}

+ 16 - 0
pump-web/src/main/java/com/tuoren/web/layer/mapper/BusConstantMapper.java

@@ -0,0 +1,16 @@
+package com.tuoren.web.layer.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.tuoren.web.layer.entity.BusConstantEntity;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 10:13
+ */
+public interface BusConstantMapper  extends BaseMapper<BusConstantEntity> {
+
+}

+ 17 - 0
pump-web/src/main/java/com/tuoren/web/layer/service/IBusConstantService.java

@@ -0,0 +1,17 @@
+package com.tuoren.web.layer.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.tuoren.web.layer.entity.BusConstantEntity;
+import com.tuoren.web.layer.vo.BusConstantParam;
+
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 10:14
+ */
+public interface IBusConstantService  extends IService<BusConstantEntity> {
+
+    List<BusConstantEntity> getConstantList(BusConstantParam param);
+}

+ 36 - 0
pump-web/src/main/java/com/tuoren/web/layer/service/impl/BusConstantServiceImpl.java

@@ -0,0 +1,36 @@
+package com.tuoren.web.layer.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tuoren.web.layer.entity.BusConstantEntity;
+import com.tuoren.web.layer.mapper.BusConstantMapper;
+import com.tuoren.web.layer.service.IBusConstantService;
+import com.tuoren.web.layer.vo.BusConstantParam;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 10:15
+ */
+@Service
+public class BusConstantServiceImpl extends ServiceImpl<BusConstantMapper, BusConstantEntity> implements IBusConstantService {
+
+    @Override
+    public List<BusConstantEntity> getConstantList(BusConstantParam param) {
+        LambdaQueryWrapper<BusConstantEntity> queryWrapper = new LambdaQueryWrapper<BusConstantEntity>();
+        if(StrUtil.isNotBlank(param.getHospitalCode())){
+            queryWrapper.eq(BusConstantEntity::getHospitalCode, param.getHospitalCode());
+        }
+        if(ObjectUtil.isNotEmpty(param.getType())){
+           queryWrapper.eq(BusConstantEntity::getType, param.getType());
+        }
+        queryWrapper.eq(BusConstantEntity::getIsDelete, Boolean.FALSE);
+        return this.baseMapper.selectList(queryWrapper);
+    }
+}

+ 26 - 0
pump-web/src/main/java/com/tuoren/web/layer/vo/BusConstantParam.java

@@ -0,0 +1,26 @@
+package com.tuoren.web.layer.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 15:16
+ */
+@Data
+@ApiModel("获取常量内容参数")
+public class BusConstantParam {
+
+    @ApiModelProperty("医院编码")
+    @NotBlank(message = "医院编码")
+    private String hospitalCode;
+
+    @ApiModelProperty("类型  0、病区;1、手术名称; 2、手术医生 ;3、麻醉医生;4、麻醉方式;5、镇痛方式; 6、配方")
+    @NotEmpty(message = "类型 不能为空")
+    private Integer type;
+}

+ 69 - 26
pump-web/src/main/java/com/tuoren/web/rabbit/RabbitHandle.java

@@ -1,49 +1,42 @@
 package com.tuoren.web.rabbit;
 
-import java.io.UnsupportedEncodingException;
-import java.time.LocalDateTime;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.lang.TypeReference;
 import cn.hutool.core.util.NumberUtil;
-import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.gson.Gson;
-import com.rabbitmq.client.AMQP;
-import com.rabbitmq.client.Channel;
+import com.tuoren.common.api.CommonResult;
+import com.tuoren.common.api.ResultCode;
+import com.tuoren.common.constant.CommonConstant;
 import com.tuoren.common.utils.ConstastUtils;
+import com.tuoren.common.utils.LocalDateTimeUtil;
 import com.tuoren.web.layer.d0.PumpRemovePushRabbitDTO;
 import com.tuoren.web.layer.d0.PumpRemoveUserPushRabbitDTO;
 import com.tuoren.web.layer.entity.*;
+import com.tuoren.web.layer.mapper.BusConstantMapper;
 import com.tuoren.web.layer.service.*;
-
 import com.tuoren.web.push.PushInfo;
-import com.tuoren.web.utils.DataUtils;
+import com.tuoren.web.rabbit.dto.BusConstantDTO;
+import com.tuoren.web.rabbit.helper.BusConstantHelper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-
-import org.springframework.amqp.core.Exchange;
 import org.springframework.amqp.rabbit.annotation.Queue;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.amqp.rabbit.connection.CorrelationData;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Component;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.tuoren.common.api.CommonResult;
-import com.tuoren.common.api.ResultCode;
-import com.tuoren.common.constant.CommonConstant;
-import com.tuoren.common.utils.LocalDateTimeUtil;
-
-import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 
 /**
@@ -73,6 +66,11 @@ public class RabbitHandle {
 
 	private final IBusWordService iBusWordService;
 
+	private final IBusConstantService iBusConstantService;
+
+	@Resource
+	private  BusConstantMapper busConstantMapper;
+
 	PushInfo pushInfo;
 	/**
 	 * @Description 监听呼吸队列
@@ -265,6 +263,51 @@ public class RabbitHandle {
 		log.info("======phoneAnalgesicScoreQueueHandle======:"+message);
 		System.out.println(message);
 	}
+	/**
+	 * @description: 监听常量队列
+	 * @author wangzl
+	 * @date 2025/9/2
+	 */
+	@RabbitListener(queuesToDeclare = @Queue(CommonConstant.QUEUE_CONSTANT))
+	public void constantHandle(byte[] bytes) {
+		String message = byteToString(bytes);
+		log.info("======constantHandle 常量队列消息======:"+message);
+		BusConstantDTO constantDTO = JSONObject.parseObject(message, BusConstantDTO.class);
+
+		List<BusConstantEntity> busConstantEntities = BusConstantHelper.dealConstant(constantDTO);
+		if(CollectionUtil.isNotEmpty(busConstantEntities)){
+			List<String> md5s = busConstantEntities.stream().map(BusConstantEntity::getMd5).collect(Collectors.toList());
+			//先查询md5存在的
+			List<BusConstantEntity> list = iBusConstantService.list(new LambdaQueryWrapper<BusConstantEntity>()
+					.in(BusConstantEntity::getMd5,md5s));
+			//去掉已经存储的数据
+			List<BusConstantEntity> collect = busConstantEntities.stream()
+					.filter(item -> {
+						// 查找是否有匹配的已删除记录
+						Optional<BusConstantEntity> deletedEntity = list.stream()
+								.filter(entity -> entity.getMd5().equals(item.getMd5()) &&
+										Boolean.TRUE.equals(entity.getIsDelete()))
+								.findFirst();
+						if (deletedEntity.isPresent()) {
+							// 恢复已删除记录
+							item.setId(deletedEntity.get().getId());
+							item.setIsDelete(false);
+							return true;
+						}
+						// 检查是否已存在且未删除
+						boolean exists = list.stream()
+								.anyMatch(entity -> entity.getMd5().equals(item.getMd5()) &&
+										!Boolean.TRUE.equals(entity.getIsDelete()));
+						// 只有在不存在或已删除时才保留
+						return !exists;
+					})
+					.collect(Collectors.toList());
+			log.info("保存的常量数据个数:{}", collect.size());
+			if(CollectionUtil.isNotEmpty(collect)){
+				iBusConstantService.saveOrUpdateBatch(collect);
+			}
+		}
+	}
 
 	private Boolean existHospital(String hospital) {
 		QueryWrapper<BusHospitalEntity> wrapper = new QueryWrapper<>();

+ 39 - 0
pump-web/src/main/java/com/tuoren/web/rabbit/dto/BusConstantDTO.java

@@ -0,0 +1,39 @@
+package com.tuoren.web.rabbit.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 9:31
+ */
+@Data
+@ApiModel("常量队列接收对象")
+public class BusConstantDTO {
+
+    @ApiModelProperty(value = "病区",position = 1)
+    private List<BusConstantValueDTO> wardCode;
+
+    @ApiModelProperty(value = "手术",position = 2)
+    private List<BusConstantValueDTO> operationName;
+
+    @ApiModelProperty(value = "手术医生",position = 3)
+    private List<BusConstantValueDTO> operationDoctor;
+
+    @ApiModelProperty(value = "麻醉医生",position = 4)
+    private List<BusConstantValueDTO> anesthesiaDoctor;
+
+    @ApiModelProperty(value = "麻醉方式",position = 5)
+    private List<BusConstantValueDTO> anesthesiaMode;
+
+    @ApiModelProperty(value = "镇痛方式",position = 6)
+    private List<BusConstantValueDTO> easyMode;
+
+    @ApiModelProperty(value = "配方",position = 7)
+    private List<BusConstantValueDTO> formula;
+
+}

+ 23 - 0
pump-web/src/main/java/com/tuoren/web/rabbit/dto/BusConstantValueDTO.java

@@ -0,0 +1,23 @@
+package com.tuoren.web.rabbit.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 9:32
+ */
+@Data
+@ApiModel("常量具体内容")
+public class BusConstantValueDTO {
+
+    @ApiModelProperty(value = "医院编码")
+    private String hospitalCode;
+
+    @ApiModelProperty(value = "内容")
+    private List<String> content;
+}

+ 88 - 0
pump-web/src/main/java/com/tuoren/web/rabbit/helper/BusConstantHelper.java

@@ -0,0 +1,88 @@
+package com.tuoren.web.rabbit.helper;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.TypeReference;
+import cn.hutool.core.util.EnumUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.json.JSONUtil;
+import com.tuoren.web.layer.entity.BusConstantEntity;
+import com.tuoren.web.rabbit.dto.BusConstantDTO;
+import com.tuoren.web.rabbit.dto.BusConstantValueDTO;
+import com.tuoren.web.utils.enums.BusConstantEnum;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 10:27
+ */
+@Slf4j
+public class BusConstantHelper {
+
+    public static List<BusConstantEntity> dealConstant(BusConstantDTO busConstantDTO) {
+        Map<String, Object> constantMap = BeanUtil.beanToMap(busConstantDTO);
+        return constantMap.entrySet().stream()
+                .filter(entry -> entry.getValue() != null) // 过滤空值
+                .flatMap(entry -> {
+                    List<BusConstantEntity> entities = generateConstant(
+                            entry.getValue(),
+                            BusConstantEnum.getType(entry.getKey())
+                    );
+                    return entities != null ? entities.stream() : Stream.empty();
+                })
+                .collect(Collectors.toList());
+    }
+
+
+    public static List<BusConstantEntity> generateConstant(Object obj, int type) {
+        if (type == -1) {
+            return null;
+        }
+        if (!(obj instanceof List<?>)) {
+            log.info("类型错误: expected List but got {}", obj != null ? obj.getClass().getSimpleName() : "null");
+            return null;
+        }
+        // 安全地处理列表数据
+        List<?> rawList = (List<?>) obj;
+        if (rawList.isEmpty()) {
+            return new ArrayList<>();
+        }
+
+        // 验证列表中的元素类型
+        if (!rawList.stream().allMatch(item -> item instanceof BusConstantValueDTO)) {
+            log.warn("列表中包含非 BusConstantValueDTO 类型元素");
+            return null;
+        }
+
+        @SuppressWarnings("unchecked")
+        List<BusConstantValueDTO> valueDTOS = (List<BusConstantValueDTO>) rawList;
+
+        return valueDTOS.stream()
+                .filter(Objects::nonNull) // 过滤空元素
+                .flatMap(item -> {
+                    if (item.getHospitalCode() == null || item.getContent() == null) {
+                        return Stream.empty();
+                    }
+                    return item.getContent().stream()
+                            .filter(Objects::nonNull) // 过滤空内容
+                            .map(content -> {
+                                String md5 = SecureUtil.md5(item.getHospitalCode() + content);
+                                return BusConstantEntity.builder()
+                                        .hospitalCode(item.getHospitalCode())
+                                        .content(content)
+                                        .md5(md5)
+                                        .type(type)
+                                        .build();
+                            });
+                })
+                .collect(Collectors.toList());
+    }
+
+}

+ 38 - 0
pump-web/src/main/java/com/tuoren/web/utils/enums/BusConstantEnum.java

@@ -0,0 +1,38 @@
+package com.tuoren.web.utils.enums;
+
+import lombok.Data;
+import lombok.Getter;
+
+/**
+ * @author wangzl
+ * @description: TODO
+ * @date 2025/9/2 9:56
+ */
+@Getter
+public enum BusConstantEnum {
+    //类型  0、病区;1、手术名称; 2、手术医生 ;3、麻醉医生;4、麻醉方式;5、镇痛方式; 6、配方
+    wardCode("wardCode",0),
+    operationName("operationName",1),
+    operationDoctor("operationDoctor",2),
+    anesthesiaDoctor("anesthesiaDoctor",3),
+    anesthesiaMode("anesthesiaMode",4),
+    easyMode("easyMode",5),
+    formula("formula",6);
+
+    private final String name;
+    private final int type;
+
+    BusConstantEnum(String name ,int type) {
+        this.name = name;
+        this.type = type;
+    }
+
+    public static int getType(String name) {
+        for (BusConstantEnum c : BusConstantEnum.values()) {
+            if (c.getName().equals(name)) {
+                return c.type;
+            }
+        }
+        return -1;
+    }
+}

+ 17 - 0
pump-web/src/main/resources/mapper/BusConstantEntityMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.tuoren.web.layer.mapper.BusConstantMapper">
+    <resultMap id="BaseResultMap" type="com.tuoren.web.layer.entity.BusConstantEntity">
+        <id column="id" property="id" />
+        <result column="hospital_code" property="hospitalCode" />
+        <result column="content" property="content" />
+        <result column="md5" property="md5" />
+        <result column="type" property="type" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="is_delete" property="isDelete" />
+    </resultMap>
+    <sql id="BaseColumn">
+        id,hospital_code,content,md5,type,gmt_create,gmt_modified,is_delete
+    </sql>
+</mapper>