死亡判定相关接口新增死亡判定说明、扩展
器官分配相关接口新增记录状态、附件、扩展
器官获取相关接口新增附件、扩展
新开发去态查询API接口
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.web.controller.common; |
| | | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.project.domain.BaseAnnextype; |
| | | import com.ruoyi.project.domain.GiApi; |
| | | import com.ruoyi.project.domain.dto.ApiDTO; |
| | | import com.ruoyi.project.service.IApiService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @Api(description = "apiæå¡") |
| | | @RestController |
| | | @RequestMapping("/api") |
| | | public class ApiController { |
| | | @Autowired |
| | | private IApiService service; |
| | | @ApiOperation("API->apiæ¥è¯¢å表") |
| | | @PostMapping("/{path}") |
| | | public AjaxResult getApiList(@PathVariable("path") String path, @RequestBody ApiDTO DTO){ |
| | | List<Map<String,Object>> lists=new ArrayList<>(); |
| | | if(ObjectUtils.isNotEmpty(path)) { |
| | | GiApi tempSql= service.getCode(path); |
| | | if(tempSql!=null&&ObjectUtils.isNotEmpty(tempSql.getApiSql())) { |
| | | String SQL_REG_EXP = ".*(\\b(insert|into|update|delete|trancate" + |
| | | "|drop|execute|grant|use)\\b).*"; |
| | | if (tempSql.getApiSql().toLowerCase().matches(SQL_REG_EXP)) { |
| | | return AjaxResult.error("sql䏿鿳å符,åªåºè®¸select"); |
| | | } |
| | | return AjaxResult.success(service.getListSql(tempSql.getApiSql(),DTO)); |
| | | }else |
| | | return AjaxResult.error("sqlä»£ç æ²¡æå¯¹åºçsqlè¯·æ ¸å¯¹"); |
| | | }else { |
| | | return AjaxResult.error("表åä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation("API->apiæ¥è¯¢object") |
| | | @PostMapping("/s/{path}") |
| | | public AjaxResult getStringSql(@PathVariable("path") String path, @RequestBody ApiDTO DTO){ |
| | | List<Map<String,Object>> lists=new ArrayList<>(); |
| | | if(ObjectUtils.isNotEmpty(path)) { |
| | | GiApi tempSql= service.getCode(path); |
| | | if(tempSql!=null&&ObjectUtils.isNotEmpty(tempSql.getApiSql())) { |
| | | String SQL_REG_EXP = ".*(\\b(insert|into|update|delete|trancate" + |
| | | "|drop|execute|grant|use)\\b).*"; |
| | | if (tempSql.getApiSql().toLowerCase().matches(SQL_REG_EXP)) { |
| | | return AjaxResult.error("sql䏿鿳å符,åªåºè®¸select"); |
| | | } |
| | | |
| | | return AjaxResult.success(service.getStringSql(tempSql.getApiSql(), DTO)); |
| | | |
| | | }else |
| | | return AjaxResult.error("sqlä»£ç æ²¡æå¯¹åºçsqlè¯·æ ¸å¯¹"); |
| | | }else { |
| | | return AjaxResult.error("表åä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.project.domain; |
| | | |
| | | |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | |
| | | import lombok.Data; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | /** |
| | | * apiæ¥å£ å®ä½ç±» |
| | | * 2026-02-27 15:57:47 sinake |
| | | */ |
| | | @Data |
| | | @ApiModel("apiæ¥å£") |
| | | public class GiApi { |
| | | |
| | | @ApiModelProperty("id") |
| | | @TableId(type = IdType.AUTO) |
| | | private String id; |
| | | |
| | | @ApiModelProperty("ç¶ç±»id") |
| | | private String parentId; |
| | | |
| | | @ApiModelProperty("æºæä»£ç ") |
| | | private String orginId; |
| | | |
| | | @ApiModelProperty("æ¥å£ä»£ç ") |
| | | private String apiCode; |
| | | |
| | | @ApiModelProperty("æ¥å£åç§°") |
| | | private String apiName; |
| | | |
| | | @ApiModelProperty("æ¥å£æ°æ®æº") |
| | | private String apiTable; |
| | | |
| | | @ApiModelProperty("æ¥å£è¯å¥") |
| | | private String apiSql; |
| | | |
| | | @ApiModelProperty("æ¥å£æ¹å¼0list1string") |
| | | private String apiWay; |
| | | |
| | | @ApiModelProperty("æ¯å¦å é¤0å¦1æ¯") |
| | | private Integer isDel; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | private String creator; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹ç¨æ·") |
| | | private String updater; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date updateTime; |
| | | } |
| | | |
| | |
| | | @Excel(name = "è´è´£äººå§å") |
| | | private String responsibleusername; |
| | | |
| | | /** è´è´£äººå§å */ |
| | | @ApiModelProperty("æ»äº¡å¤å®è¯´æ") |
| | | @Excel(name = "æ»äº¡å¤å®è¯´æ") |
| | | private String judgmentDescription; |
| | | |
| | | /** è´è´£äººå§å */ |
| | | @ApiModelProperty("æ©å±") |
| | | @Excel(name = "æ©å±") |
| | | private String extContent; |
| | | } |
| | | |
| | |
| | | @Excel(name = "é¢è®¡æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date estimatedtime; |
| | | |
| | | /** è®°å½ç¶æ */ |
| | | @ApiModelProperty("è®°å½ç¶æ") |
| | | @Excel(name = "è®°å½ç¶æ") |
| | | private String recordstate; |
| | | |
| | | /** éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼ */ |
| | | @ApiModelProperty("éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | @Excel(name = "éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | private String fileName; |
| | | |
| | | /** æ©å± */ |
| | | @ApiModelProperty("æ©å±") |
| | | @Excel(name = "æ©å±") |
| | | private String extContent; |
| | | |
| | | } |
| | | |
| | |
| | | @Excel(name = "å¨å®è·åå¼å§æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date organStartTime; |
| | | |
| | | /** éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼ */ |
| | | @ApiModelProperty("éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | @Excel(name = "éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | private String fileName; |
| | | |
| | | /** æ©å± */ |
| | | @ApiModelProperty("æ©å±") |
| | | @Excel(name = "æ©å±") |
| | | private String extContent; |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.project.domain.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import io.swagger.annotations.Tag; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.ToString; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @Data |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @ApiModel("ApiDTOç¸å
³jsonåæ°") |
| | | public class ApiDTO { |
| | | @ApiModelProperty("ç¸å
³åæ°") |
| | | Map<String, Object> params; |
| | | |
| | | } |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date coordinatorSignTime; |
| | | |
| | | |
| | | /** éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼ */ |
| | | @ApiModelProperty("éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | @Excel(name = "éä»¶è·¯å¾,å¤å¼ ç¨;å·éå¼") |
| | | private String fileName; |
| | | |
| | | /** æ©å± */ |
| | | @ApiModelProperty("æ©å±") |
| | | @Excel(name = "æ©å±") |
| | | private String extContent; |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.project.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.project.domain.GiApi; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface ApiMapper extends BaseMapper<GiApi> { |
| | | |
| | | /** |
| | | * æ¥è¯¢sql |
| | | * @param sql |
| | | * @return |
| | | */ |
| | | @Select({"${sql}"}) |
| | | List<Map<String, Object>> executeSql(@Param("sql") String sql); |
| | | |
| | | |
| | | @Select({"${sql}"}) |
| | | String getClob(@Param("sql") String sql); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.project.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.project.domain.GiApi; |
| | | import com.ruoyi.project.domain.dto.ApiDTO; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface IApiService extends IService<GiApi>{ |
| | | |
| | | public GiApi getCode(String code); |
| | | |
| | | public List<Map<String,Object>> getListSql(String sql, ApiDTO DTO); |
| | | |
| | | public Object getStringSql(String sql,ApiDTO DTO); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.project.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.project.domain.GiApi; |
| | | import com.ruoyi.project.domain.dto.ApiDTO; |
| | | import com.ruoyi.project.mapper.ApiMapper; |
| | | import com.ruoyi.project.service.IApiService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | public class ApiServiceImpl extends ServiceImpl<ApiMapper, GiApi> implements IApiService { |
| | | @Autowired |
| | | ApiMapper mapper; |
| | | /** |
| | | * 䏻鮿¥è¯¢è¯¦ç» |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public GiApi getCode(String code){ |
| | | QueryWrapper <GiApi> wrapper=new QueryWrapper<>(); |
| | | wrapper.eq("api_Code",code); |
| | | return mapper.selectOne(wrapper); |
| | | } |
| | | |
| | | public String buildSql(HttpServletRequest request, String sql) { |
| | | |
| | | // JSONArray requestParams = JSON.parseArray(config.getParams()); |
| | | // for (int i = 0; i < requestParams.size(); i++) { |
| | | // JSONObject jo = requestParams.getJSONObject(i); |
| | | // String name = jo.getString("name"); |
| | | // String type = jo.getString("type"); |
| | | // String old = '$' + name; |
| | | // |
| | | // String value = request.getParameter(name); |
| | | // |
| | | // //䏿¯æ°åç±»åçå¼è¦å åå¼å· |
| | | // if (!"number".equals(type)) { |
| | | // value = String.format("'%s'", value); |
| | | // } |
| | | // |
| | | // sql = sql.replace(old, value); |
| | | // } |
| | | |
| | | return sql; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ°æ®å表 |
| | | * @param DTO |
| | | * @return |
| | | */ |
| | | public List<Map<String,Object>> getListSql(String sql, ApiDTO DTO) { |
| | | if(DTO.getParams()!=null) { |
| | | for (String key : DTO.getParams().keySet()) { |
| | | sql = sql.replace("@" + key, DTO.getParams().get(key) + ""); |
| | | } |
| | | } |
| | | return mapper.executeSql(sql); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ°æ®å表 |
| | | * @param DTO |
| | | * @return |
| | | */ |
| | | public String getStringSql(String sql, ApiDTO DTO) { |
| | | if(DTO.getParams()!=null) { |
| | | for (String key : DTO.getParams().keySet()) { |
| | | sql = sql.replace("@" + key, DTO.getParams().get(key) + ""); |
| | | } |
| | | } |
| | | return mapper.getClob(sql); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.project.mapper.ApiMapper"> |
| | | |
| | | </mapper> |
| | |
| | | create_by, |
| | | create_time, |
| | | update_by, |
| | | update_time |
| | | update_time, |
| | | judgment_description, |
| | | ext_content |
| | | from service_deathinfo |
| | | </sql> |
| | | |
| | |
| | | create_time, |
| | | update_by, |
| | | update_time, |
| | | EstimatedTime |
| | | EstimatedTime, |
| | | recordstate, |
| | | file_name, |
| | | ext_content |
| | | from service_donateorgan_base |
| | | </sql> |
| | | |
| | |
| | | update_time, |
| | | OrganDonation, |
| | | OrganDonation_Other, |
| | | DonationCategory |
| | | donationcategory |
| | | from service_donationwitness |
| | | </sql> |
| | | |
| | |
| | | update_by, |
| | | caseno, |
| | | name, |
| | | update_time |
| | | update_time, |
| | | file_name, |
| | | ext_content |
| | | from service_donationwitnessorgan |
| | | </sql> |
| | | |