diff --git a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvBasicApi.java b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvBasicApi.java new file mode 100644 index 0000000..b7ddbca --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvBasicApi.java @@ -0,0 +1,208 @@ +package com.docus.server.api.recovery; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.DeleteRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; +import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + + +/** + * 患者信息表 API + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@FeignClient(value = "docus-recovery", contextId = "docus-recovery.RcvBasicApi") +@RequestMapping("/rcv/basic") +public interface RcvBasicApi { + + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + @GetMapping("/find/{id}") + RcvBasicVO findById(@PathVariable(value = "id") Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键集合ids + * @return 实体 + */ + @PostMapping("/findByIds") + List findByIds(@RequestBody List ids); + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProp") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProps") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProp") + RcvBasicVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProps") + RcvBasicVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体 + */ + @GetMapping("/findAll") + List findAll(); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @PostMapping("/search") + PageResult search(@RequestBody SearchDTO searchDTO); + + /** + * 新增 + * + * @param addRcvBasicDTO 新增参数 + */ + @PostMapping("/add") + void add(@RequestBody AddRcvBasicDTO addRcvBasicDTO); + + /** + * 批量新增 + * + * @param addRcvBasicDTOList 新增参数 + */ + @PostMapping("/addBatch") + void addBatch(@RequestBody List addRcvBasicDTOList); + + /** + * 新增或编辑 + * + * @param editRcvBasicDTO 新增或编辑参数 + */ + @PostMapping("/addOrEdit") + void addOrEdit(@RequestBody EditRcvBasicDTO editRcvBasicDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvBasicDTOList 新增或编辑参数 + */ + @PostMapping("/addOrEditBatch") + void addOrEditBatch(@RequestBody List editRcvBasicDTOList); + + /** + * 编辑 + * + * @param editRcvBasicDTO 编辑参数 + */ + @PutMapping("/edit") + void edit(@RequestBody EditRcvBasicDTO editRcvBasicDTO); + + /** + * 批量编辑 + * + * @param editRcvBasicDTO 编辑参数 + */ + @PutMapping("/editBatchById") + void editBatchById(@RequestBody List editRcvBasicDTO); + + /** + * 批量删除 + * + * @param deleteRcvBasicDTO 删除参数 + */ + @DeleteMapping("/delete") + void delete(@RequestBody DeleteRcvBasicDTO deleteRcvBasicDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @DeleteMapping("/deleteById/{id}") + void deleteById(@PathVariable(value = "id") Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @DeleteMapping("/deleteByProp") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @DeleteMapping("/deleteByProps") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @DeleteMapping("/deleteByIds") + void deleteByIds(@RequestBody Collection ids); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @GetMapping("/findByIdAndName") + int findByIdAndName(@RequestParam("id") Serializable id, @RequestParam("name") String name); +} diff --git a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysParamApi.java b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysParamApi.java new file mode 100644 index 0000000..bb57fc2 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysParamApi.java @@ -0,0 +1,208 @@ +package com.docus.server.api.recovery; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvsysparam.AddRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.DeleteRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.EditRcvSysParamDTO; +import com.docus.server.vo.recovery.rcvsysparam.RcvSysParamVO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + + +/** + * 系统参数表 API + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@FeignClient(value = "docus-recovery", contextId = "docus-recovery.RcvSysParamApi") +@RequestMapping("/rcv/sysParam") +public interface RcvSysParamApi { + + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + @GetMapping("/find/{id}") + RcvSysParamVO findById(@PathVariable(value = "id") Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键集合ids + * @return 实体 + */ + @PostMapping("/findByIds") + List findByIds(@RequestBody List ids); + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProp") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProps") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProp") + RcvSysParamVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProps") + RcvSysParamVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体 + */ + @GetMapping("/findAll") + List findAll(); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @PostMapping("/search") + PageResult search(@RequestBody SearchDTO searchDTO); + + /** + * 新增 + * + * @param addRcvSysParamDTO 新增参数 + */ + @PostMapping("/add") + void add(@RequestBody AddRcvSysParamDTO addRcvSysParamDTO); + + /** + * 批量新增 + * + * @param addRcvSysParamDTOList 新增参数 + */ + @PostMapping("/addBatch") + void addBatch(@RequestBody List addRcvSysParamDTOList); + + /** + * 新增或编辑 + * + * @param editRcvSysParamDTO 新增或编辑参数 + */ + @PostMapping("/addOrEdit") + void addOrEdit(@RequestBody EditRcvSysParamDTO editRcvSysParamDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvSysParamDTOList 新增或编辑参数 + */ + @PostMapping("/addOrEditBatch") + void addOrEditBatch(@RequestBody List editRcvSysParamDTOList); + + /** + * 编辑 + * + * @param editRcvSysParamDTO 编辑参数 + */ + @PutMapping("/edit") + void edit(@RequestBody EditRcvSysParamDTO editRcvSysParamDTO); + + /** + * 批量编辑 + * + * @param editRcvSysParamDTO 编辑参数 + */ + @PutMapping("/editBatchById") + void editBatchById(@RequestBody List editRcvSysParamDTO); + + /** + * 批量删除 + * + * @param deleteRcvSysParamDTO 删除参数 + */ + @DeleteMapping("/delete") + void delete(@RequestBody DeleteRcvSysParamDTO deleteRcvSysParamDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @DeleteMapping("/deleteById/{id}") + void deleteById(@PathVariable(value = "id") Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @DeleteMapping("/deleteByProp") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @DeleteMapping("/deleteByProps") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @DeleteMapping("/deleteByIds") + void deleteByIds(@RequestBody Collection ids); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @GetMapping("/findByIdAndName") + int findByIdAndName(@RequestParam("id") Serializable id, @RequestParam("name") String name); +} diff --git a/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java new file mode 100644 index 0000000..14b86e0 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/api/recovery/RcvSysUserApi.java @@ -0,0 +1,208 @@ +package com.docus.server.api.recovery; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; +import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + + +/** + * 系统登录用户表 API + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@FeignClient(value = "docus-recovery", contextId = "docus-recovery.RcvSysUserApi") +@RequestMapping("/rcv/sysUser") +public interface RcvSysUserApi { + + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + @GetMapping("/find/{id}") + RcvSysUserVO findById(@PathVariable(value = "id") Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键集合ids + * @return 实体 + */ + @PostMapping("/findByIds") + List findByIds(@RequestBody List ids); + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProp") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @GetMapping("/findByProps") + List findBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProp") + RcvSysUserVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @GetMapping("/findOneByProps") + RcvSysUserVO findOneBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体 + */ + @GetMapping("/findAll") + List findAll(); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @PostMapping("/search") + PageResult search(@RequestBody SearchDTO searchDTO); + + /** + * 新增 + * + * @param addRcvSysUserDTO 新增参数 + */ + @PostMapping("/add") + void add(@RequestBody AddRcvSysUserDTO addRcvSysUserDTO); + + /** + * 批量新增 + * + * @param addRcvSysUserDTOList 新增参数 + */ + @PostMapping("/addBatch") + void addBatch(@RequestBody List addRcvSysUserDTOList); + + /** + * 新增或编辑 + * + * @param editRcvSysUserDTO 新增或编辑参数 + */ + @PostMapping("/addOrEdit") + void addOrEdit(@RequestBody EditRcvSysUserDTO editRcvSysUserDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvSysUserDTOList 新增或编辑参数 + */ + @PostMapping("/addOrEditBatch") + void addOrEditBatch(@RequestBody List editRcvSysUserDTOList); + + /** + * 编辑 + * + * @param editRcvSysUserDTO 编辑参数 + */ + @PutMapping("/edit") + void edit(@RequestBody EditRcvSysUserDTO editRcvSysUserDTO); + + /** + * 批量编辑 + * + * @param editRcvSysUserDTO 编辑参数 + */ + @PutMapping("/editBatchById") + void editBatchById(@RequestBody List editRcvSysUserDTO); + + /** + * 批量删除 + * + * @param deleteRcvSysUserDTO 删除参数 + */ + @DeleteMapping("/delete") + void delete(@RequestBody DeleteRcvSysUserDTO deleteRcvSysUserDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @DeleteMapping("/deleteById/{id}") + void deleteById(@PathVariable(value = "id") Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @DeleteMapping("/deleteByProp") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Object propertyValue); + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @DeleteMapping("/deleteByProps") + void deleteBy(@RequestParam("propertyName") String propertyName, @RequestParam("propertyValue") Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @DeleteMapping("/deleteByIds") + void deleteByIds(@RequestBody Collection ids); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @GetMapping("/findByIdAndName") + int findByIdAndName(@RequestParam("id") Serializable id, @RequestParam("name") String name); +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/AddRcvBasicDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/AddRcvBasicDTO.java new file mode 100644 index 0000000..f59f271 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/AddRcvBasicDTO.java @@ -0,0 +1,98 @@ +package com.docus.server.dto.recovery.rcvbasic; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 患者信息表 AddDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="AddRcvBasicDTO对象", description="患者信息表") +public class AddRcvBasicDTO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "病案主键") + private String patientId; + + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + + @ApiModelProperty(value = "病案号") + private String inpatientNo; + + @ApiModelProperty(value = "记账号(省中医住院就诊号)") + private String jzh; + + @ApiModelProperty(value = "住院号") + private String admissId; + + @ApiModelProperty(value = "患者姓名") + private String name; + + @ApiModelProperty(value = "流水号") + private String serialNumber; + + @ApiModelProperty(value = "住院日期") + private Date admissDate; + + @ApiModelProperty(value = "住院科室") + private String admissDept; + + @ApiModelProperty(value = "住院科室名称") + private String admissDeptName; + + @ApiModelProperty(value = "出院日期") + private Date disDate; + + @ApiModelProperty(value = "出院科室") + private String disDept; + + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + + @ApiModelProperty(value = "实际住院天数") + private Integer admissDays; + + @ApiModelProperty(value = "住院医师") + private String attendingName; + + @ApiModelProperty(value = "1 现场扫描,2 其他来源") + private Integer fileSource; + + @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") + private String recoveryState; + + @ApiModelProperty(value = "回收时间") + private Date revoveryTime; + + @ApiModelProperty(value = "回收人") + private String revoveryUser; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/DeleteRcvBasicDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/DeleteRcvBasicDTO.java new file mode 100644 index 0000000..8545e15 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/DeleteRcvBasicDTO.java @@ -0,0 +1,34 @@ +package com.docus.server.dto.recovery.rcvbasic; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.List; + +/** +* +* 患者信息表 DeleteDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="DeleteRcvBasicDTO对象", description="患者信息表") +public class DeleteRcvBasicDTO implements Serializable { + + @ApiModelProperty(value = "ids") + private List ids; + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/EditRcvBasicDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/EditRcvBasicDTO.java new file mode 100644 index 0000000..1d5eb45 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvbasic/EditRcvBasicDTO.java @@ -0,0 +1,98 @@ +package com.docus.server.dto.recovery.rcvbasic; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 患者信息表 EditDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="EditRcvBasicDTO对象", description="患者信息表") +public class EditRcvBasicDTO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "病案主键") + private String patientId; + + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + + @ApiModelProperty(value = "病案号") + private String inpatientNo; + + @ApiModelProperty(value = "记账号(省中医住院就诊号)") + private String jzh; + + @ApiModelProperty(value = "住院号") + private String admissId; + + @ApiModelProperty(value = "患者姓名") + private String name; + + @ApiModelProperty(value = "流水号") + private String serialNumber; + + @ApiModelProperty(value = "住院日期") + private Date admissDate; + + @ApiModelProperty(value = "住院科室") + private String admissDept; + + @ApiModelProperty(value = "住院科室名称") + private String admissDeptName; + + @ApiModelProperty(value = "出院日期") + private Date disDate; + + @ApiModelProperty(value = "出院科室") + private String disDept; + + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + + @ApiModelProperty(value = "实际住院天数") + private Integer admissDays; + + @ApiModelProperty(value = "住院医师") + private String attendingName; + + @ApiModelProperty(value = "1 现场扫描,2 其他来源") + private Integer fileSource; + + @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") + private String recoveryState; + + @ApiModelProperty(value = "回收时间") + private Date revoveryTime; + + @ApiModelProperty(value = "回收人") + private String revoveryUser; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/AddRcvSysParamDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/AddRcvSysParamDTO.java new file mode 100644 index 0000000..eb2e712 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/AddRcvSysParamDTO.java @@ -0,0 +1,65 @@ +package com.docus.server.dto.recovery.rcvsysparam; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统参数表 AddDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="AddRcvSysParamDTO对象", description="系统参数表") +public class AddRcvSysParamDTO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "父主键") + private Long parentId; + + @ApiModelProperty(value = "系统参数编号") + private String paramCode; + + @ApiModelProperty(value = "系统参数名称") + private String paramName; + + @ApiModelProperty(value = "系统参数说明,如说明参数值得格式要求") + private String paramInfo; + + @ApiModelProperty(value = "系统参数值") + private String paramValue; + + @ApiModelProperty(value = "系统参数分组") + private String paramGroup; + + @ApiModelProperty(value = "排序号,用于分组内排序") + private Integer sortNo; + + @ApiModelProperty(value = "是否需要加密,0:不需要,1:需要") + private String needEncrypt; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/DeleteRcvSysParamDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/DeleteRcvSysParamDTO.java new file mode 100644 index 0000000..4e05f55 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/DeleteRcvSysParamDTO.java @@ -0,0 +1,34 @@ +package com.docus.server.dto.recovery.rcvsysparam; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.List; + +/** +* +* 系统参数表 DeleteDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="DeleteRcvSysParamDTO对象", description="系统参数表") +public class DeleteRcvSysParamDTO implements Serializable { + + @ApiModelProperty(value = "ids") + private List ids; + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/EditRcvSysParamDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/EditRcvSysParamDTO.java new file mode 100644 index 0000000..7ddf936 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysparam/EditRcvSysParamDTO.java @@ -0,0 +1,65 @@ +package com.docus.server.dto.recovery.rcvsysparam; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统参数表 EditDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="EditRcvSysParamDTO对象", description="系统参数表") +public class EditRcvSysParamDTO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "父主键") + private Long parentId; + + @ApiModelProperty(value = "系统参数编号") + private String paramCode; + + @ApiModelProperty(value = "系统参数名称") + private String paramName; + + @ApiModelProperty(value = "系统参数说明,如说明参数值得格式要求") + private String paramInfo; + + @ApiModelProperty(value = "系统参数值") + private String paramValue; + + @ApiModelProperty(value = "系统参数分组") + private String paramGroup; + + @ApiModelProperty(value = "排序号,用于分组内排序") + private Integer sortNo; + + @ApiModelProperty(value = "是否需要加密,0:不需要,1:需要") + private String needEncrypt; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/AddRcvSysUserDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/AddRcvSysUserDTO.java new file mode 100644 index 0000000..aa94071 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/AddRcvSysUserDTO.java @@ -0,0 +1,68 @@ +package com.docus.server.dto.recovery.rcvsysuser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统登录用户表 AddDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="AddRcvSysUserDTO对象", description="系统登录用户表") +public class AddRcvSysUserDTO implements Serializable { + + @ApiModelProperty(value = "") + private Long userId; + + @ApiModelProperty(value = "登陆名") + private String userName; + + @ApiModelProperty(value = "用户密码") + private String userPwd; + + @ApiModelProperty(value = "性别") + private Integer userSex; + + @ApiModelProperty(value = "年龄") + private Integer userAge; + + @ApiModelProperty(value = "电话") + private String userTel; + + @ApiModelProperty(value = "邮箱") + private String userEmail; + + @ApiModelProperty(value = "头像路径") + private String userHead; + + @ApiModelProperty(value = "职位") + private String userPosition; + + @ApiModelProperty(value = "是否有效,0:无效,1:有效") + private Integer effective; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/DeleteRcvSysUserDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/DeleteRcvSysUserDTO.java new file mode 100644 index 0000000..0ecb197 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/DeleteRcvSysUserDTO.java @@ -0,0 +1,34 @@ +package com.docus.server.dto.recovery.rcvsysuser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.List; + +/** +* +* 系统登录用户表 DeleteDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="DeleteRcvSysUserDTO对象", description="系统登录用户表") +public class DeleteRcvSysUserDTO implements Serializable { + + @ApiModelProperty(value = "ids") + private List ids; + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/EditRcvSysUserDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/EditRcvSysUserDTO.java new file mode 100644 index 0000000..442ab74 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/recovery/rcvsysuser/EditRcvSysUserDTO.java @@ -0,0 +1,68 @@ +package com.docus.server.dto.recovery.rcvsysuser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统登录用户表 EditDTO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="EditRcvSysUserDTO对象", description="系统登录用户表") +public class EditRcvSysUserDTO implements Serializable { + + @ApiModelProperty(value = "") + private Long userId; + + @ApiModelProperty(value = "登陆名") + private String userName; + + @ApiModelProperty(value = "用户密码") + private String userPwd; + + @ApiModelProperty(value = "性别") + private Integer userSex; + + @ApiModelProperty(value = "年龄") + private Integer userAge; + + @ApiModelProperty(value = "电话") + private String userTel; + + @ApiModelProperty(value = "邮箱") + private String userEmail; + + @ApiModelProperty(value = "头像路径") + private String userHead; + + @ApiModelProperty(value = "职位") + private String userPosition; + + @ApiModelProperty(value = "是否有效,0:无效,1:有效") + private Integer effective; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java new file mode 100644 index 0000000..79c786b --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvBasic.java @@ -0,0 +1,125 @@ +package com.docus.server.entity.recovery; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +/** +* +* 患者信息表 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = false) +@TableName("rcv_basic") +@ApiModel(value="RcvBasic对象", description="患者信息表") +public class RcvBasic implements Serializable { + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private Long id; + + @ApiModelProperty(value = "病案主键") + @TableField("patient_id") + private String patientId; + + @ApiModelProperty(value = "住院次数") + @TableField("admiss_times") + private Integer admissTimes; + + @ApiModelProperty(value = "病案号") + @TableField("inpatient_no") + private String inpatientNo; + + @ApiModelProperty(value = "记账号(省中医住院就诊号)") + @TableField("jzh") + private String jzh; + + @ApiModelProperty(value = "住院号") + @TableField("admiss_id") + private String admissId; + + @ApiModelProperty(value = "患者姓名") + @TableField("name") + private String name; + + @ApiModelProperty(value = "流水号") + @TableField("serial_number") + private String serialNumber; + + @ApiModelProperty(value = "住院日期") + @TableField("admiss_date") + private Date admissDate; + + @ApiModelProperty(value = "住院科室") + @TableField("admiss_dept") + private String admissDept; + + @ApiModelProperty(value = "住院科室名称") + @TableField("admiss_dept_name") + private String admissDeptName; + + @ApiModelProperty(value = "出院日期") + @TableField("dis_date") + private Date disDate; + + @ApiModelProperty(value = "出院科室") + @TableField("dis_dept") + private String disDept; + + @ApiModelProperty(value = "出院科室名称") + @TableField("dis_dept_name") + private String disDeptName; + + @ApiModelProperty(value = "实际住院天数") + @TableField("admiss_days") + private Integer admissDays; + + @ApiModelProperty(value = "住院医师") + @TableField("attending_name") + private String attendingName; + + @ApiModelProperty(value = "1 现场扫描,2 其他来源") + @TableField("file_source") + private Integer fileSource; + + @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") + @TableField("recovery_state") + private String recoveryState; + + @ApiModelProperty(value = "回收时间") + @TableField("revovery_time") + private Date revoveryTime; + + @ApiModelProperty(value = "回收人") + @TableField("revovery_user") + private String revoveryUser; + + @ApiModelProperty(value = "修改时间") + @TableField("update_time") + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysParam.java b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysParam.java new file mode 100644 index 0000000..d78d826 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysParam.java @@ -0,0 +1,81 @@ +package com.docus.server.entity.recovery; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +/** +* +* 系统参数表 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = false) +@TableName("rcv_sys_param") +@ApiModel(value="RcvSysParam对象", description="系统参数表") +public class RcvSysParam implements Serializable { + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private Long id; + + @ApiModelProperty(value = "父主键") + @TableField("parent_id") + private Long parentId; + + @ApiModelProperty(value = "系统参数编号") + @TableField("param_code") + private String paramCode; + + @ApiModelProperty(value = "系统参数名称") + @TableField("param_name") + private String paramName; + + @ApiModelProperty(value = "系统参数说明,如说明参数值得格式要求") + @TableField("param_info") + private String paramInfo; + + @ApiModelProperty(value = "系统参数值") + @TableField("param_value") + private String paramValue; + + @ApiModelProperty(value = "系统参数分组") + @TableField("param_group") + private String paramGroup; + + @ApiModelProperty(value = "排序号,用于分组内排序") + @TableField("sort_no") + private Integer sortNo; + + @ApiModelProperty(value = "是否需要加密,0:不需要,1:需要") + @TableField("need_encrypt") + private String needEncrypt; + + @ApiModelProperty(value = "入库时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + @TableField("update_time") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java new file mode 100644 index 0000000..87b959e --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/entity/recovery/RcvSysUser.java @@ -0,0 +1,85 @@ +package com.docus.server.entity.recovery; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +/** +* +* 系统登录用户表 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = false) +@TableName("rcv_sys_user") +@ApiModel(value="RcvSysUser对象", description="系统登录用户表") +public class RcvSysUser implements Serializable { + + @ApiModelProperty(value = "") + @TableId(value = "user_id", type = IdType.ASSIGN_UUID) + private Long userId; + + @ApiModelProperty(value = "登陆名") + @TableField("user_name") + private String userName; + + @ApiModelProperty(value = "用户密码") + @TableField("user_pwd") + private String userPwd; + + @ApiModelProperty(value = "性别") + @TableField("user_sex") + private Integer userSex; + + @ApiModelProperty(value = "年龄") + @TableField("user_age") + private Integer userAge; + + @ApiModelProperty(value = "电话") + @TableField("user_tel") + private String userTel; + + @ApiModelProperty(value = "邮箱") + @TableField("user_email") + private String userEmail; + + @ApiModelProperty(value = "头像路径") + @TableField("user_head") + private String userHead; + + @ApiModelProperty(value = "职位") + @TableField("user_position") + private String userPosition; + + @ApiModelProperty(value = "是否有效,0:无效,1:有效") + @TableField("effective") + private Integer effective; + + @ApiModelProperty(value = "入库时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + @TableField("update_time") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java new file mode 100644 index 0000000..ec8fbb7 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvbasic/RcvBasicVO.java @@ -0,0 +1,98 @@ +package com.docus.server.vo.recovery.rcvbasic; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 患者信息表 VO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="RcvBasicVO对象", description="患者信息表") +public class RcvBasicVO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "病案主键") + private String patientId; + + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + + @ApiModelProperty(value = "病案号") + private String inpatientNo; + + @ApiModelProperty(value = "记账号(省中医住院就诊号)") + private String jzh; + + @ApiModelProperty(value = "住院号") + private String admissId; + + @ApiModelProperty(value = "患者姓名") + private String name; + + @ApiModelProperty(value = "流水号") + private String serialNumber; + + @ApiModelProperty(value = "住院日期") + private Date admissDate; + + @ApiModelProperty(value = "住院科室") + private String admissDept; + + @ApiModelProperty(value = "住院科室名称") + private String admissDeptName; + + @ApiModelProperty(value = "出院日期") + private Date disDate; + + @ApiModelProperty(value = "出院科室") + private String disDept; + + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + + @ApiModelProperty(value = "实际住院天数") + private Integer admissDays; + + @ApiModelProperty(value = "住院医师") + private String attendingName; + + @ApiModelProperty(value = "1 现场扫描,2 其他来源") + private Integer fileSource; + + @ApiModelProperty(value = "回收状态 0:待回收 1:已回收") + private String recoveryState; + + @ApiModelProperty(value = "回收时间") + private Date revoveryTime; + + @ApiModelProperty(value = "回收人") + private String revoveryUser; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysparam/RcvSysParamVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysparam/RcvSysParamVO.java new file mode 100644 index 0000000..b6b00ab --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysparam/RcvSysParamVO.java @@ -0,0 +1,65 @@ +package com.docus.server.vo.recovery.rcvsysparam; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统参数表 VO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="RcvSysParamVO对象", description="系统参数表") +public class RcvSysParamVO implements Serializable { + + @ApiModelProperty(value = "主键") + private Long id; + + @ApiModelProperty(value = "父主键") + private Long parentId; + + @ApiModelProperty(value = "系统参数编号") + private String paramCode; + + @ApiModelProperty(value = "系统参数名称") + private String paramName; + + @ApiModelProperty(value = "系统参数说明,如说明参数值得格式要求") + private String paramInfo; + + @ApiModelProperty(value = "系统参数值") + private String paramValue; + + @ApiModelProperty(value = "系统参数分组") + private String paramGroup; + + @ApiModelProperty(value = "排序号,用于分组内排序") + private Integer sortNo; + + @ApiModelProperty(value = "是否需要加密,0:不需要,1:需要") + private String needEncrypt; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java new file mode 100644 index 0000000..32f23d9 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/recovery/rcvsysuser/RcvSysUserVO.java @@ -0,0 +1,68 @@ +package com.docus.server.vo.recovery.rcvsysuser; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import com.docus.server.enums.*; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* 系统登录用户表 VO +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value="RcvSysUserVO对象", description="系统登录用户表") +public class RcvSysUserVO implements Serializable { + + @ApiModelProperty(value = "") + private Long userId; + + @ApiModelProperty(value = "登陆名") + private String userName; + + @ApiModelProperty(value = "用户密码") + private String userPwd; + + @ApiModelProperty(value = "性别") + private Integer userSex; + + @ApiModelProperty(value = "年龄") + private Integer userAge; + + @ApiModelProperty(value = "电话") + private String userTel; + + @ApiModelProperty(value = "邮箱") + private String userEmail; + + @ApiModelProperty(value = "头像路径") + private String userHead; + + @ApiModelProperty(value = "职位") + private String userPosition; + + @ApiModelProperty(value = "是否有效,0:无效,1:有效") + private Integer effective; + + @ApiModelProperty(value = "入库时间") + private Date createTime; + + @ApiModelProperty(value = "入库更新时间") + private Date updateTime; + + +} diff --git a/docus-recovery/WinSW.exe b/docus-recovery/WinSW.exe new file mode 100644 index 0000000..6806bb4 Binary files /dev/null and b/docus-recovery/WinSW.exe differ diff --git a/docus-recovery/assembly.xml b/docus-recovery/assembly.xml new file mode 100644 index 0000000..cbd39ff --- /dev/null +++ b/docus-recovery/assembly.xml @@ -0,0 +1,73 @@ + + + exe + + dir + + false + + + + + /lib + ${basedir}/target/lib + + + + /config + ${basedir}/target/resources + 0755 + + *.xml + *.yml + *.properties + + + + + /dataConfig + ${basedir}/target/dataConfig + 0755 + + *.json + + + + + / + ${basedir}/target/resources/bin + 0755 + + *.bat + + + + + / + ${basedir}/target/resources/bin + 0755 + + *.xml + + + + + / + ${basedir} + 0755 + + *.exe + + + + + ${basedir}/target + / + 0755 + + ${project.build.finalName}.jar + + + + \ No newline at end of file diff --git a/docus-recovery/pom.xml b/docus-recovery/pom.xml new file mode 100644 index 0000000..132d558 --- /dev/null +++ b/docus-recovery/pom.xml @@ -0,0 +1,185 @@ + + + docus-collector-server + com.docus + 1.0-SNAPSHOT + + 4.0.0 + docus-recovery + Archetype - docus-recovery + http://maven.apache.org + + + + com.docus + docus-api-common + 1.0-SNAPSHOT + compile + + + + org.freemarker + freemarker + 2.3.30 + + + + cn.smallbun.screw + screw-core + 1.0.3 + + + + + + + src/main/resources + true + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.4.4 + + ZIP + + + non-exists + non-exists + + + + + + + repackage + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + + target/lib + false + false + runtime + + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.2.0 + + + copy-resources + package + + copy-resources + + + + + src/main/resources + + **/*.* + + + + ${project.build.directory}/resources + + + + copy-bin + package + + copy-resources + + + + + src/main/resources + true + + bin/*.xml + bin/*.bat + *.yml + *.ftl + + + + ${project.build.directory}/resources + + + + copy-data-config + package + + copy-resources + + + + + ../../dataConfig + true + + + ${project.build.directory}/dataConfig + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + **/*.yml + + + + + + maven-assembly-plugin + + + + ${project.artifactId} + false + + assembly.xml + + + make-assembly + package + + single + + + + + + + + + + diff --git a/docus-recovery/src/main/java/com/docus/server/CodeGenerator.java b/docus-recovery/src/main/java/com/docus/server/CodeGenerator.java new file mode 100644 index 0000000..8319c97 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/CodeGenerator.java @@ -0,0 +1,35 @@ +package com.docus.server; + +import com.baomidou.mybatisplus.generator.AutoGenerator; +import com.baomidou.mybatisplus.generator.config.rules.DateType; +import com.docus.infrastructure.generator.BaseCodeGenerator; + +import java.util.HashMap; +import java.util.Map; + +public class CodeGenerator { + public static void main(String[] args) { + //字段名和枚举名的映射,不区分表名 + Map enumColumnMap = new HashMap<>(); + enumColumnMap.put("PROFILE_ITЕM", "AdminProfileItemEnum"); + + enumColumnMap.put("ORGANIZATION_TYPE", "OrganizationTypeEnum "); + enumColumnMap.put("OPERATE_STATUS", "OperateStatusEnum"); + enumColumnMap.put("STATE", "StateEnum"); + enumColumnMap.put("PRIVILEGE_LEVEL", "PrivilegeLevelEnum"); + enumColumnMap.put("FLAG", "FlagEnum"); + enumColumnMap.put("collect_type", "CollectTypeEnum"); + BaseCodeGenerator.setEnumColumnMap(enumColumnMap); + BaseCodeGenerator.setModuleName("docus-recovery");//多个module,需要指定modulename + //指定entity生成到独立module里,并生成 api interface + BaseCodeGenerator.setClientInterfaceModuleName("docus-client-interface"); + BaseCodeGenerator.setClientInterfaceSubFolder("recovery");//文件夹 + BaseCodeGenerator.setClientInterfaceBasePackage("com.docus.server"); + AutoGenerator defaultConfig = BaseCodeGenerator.getDefaultConfig(); + defaultConfig.getGlobalConfig().setSwagger2(true); + defaultConfig.getGlobalConfig().setDateType(DateType.ONLY_DATE); + defaultConfig.getStrategy().setEntityLombokModel(true); + defaultConfig.getStrategy().setInclude("rcv_basic","rcv_sys_param","rcv_sys_user");//需要生成的表,可指定多个,留空为全部生成 + BaseCodeGenerator.generate(defaultConfig); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/RecoveryBootstrap.java b/docus-recovery/src/main/java/com/docus/server/RecoveryBootstrap.java new file mode 100644 index 0000000..429b7db --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/RecoveryBootstrap.java @@ -0,0 +1,18 @@ +package com.docus.server; + +import com.docus.log.EnableTrackGroup; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; + +@EnableTrackGroup +@EnableAsync +@EnableFeignClients(basePackages = {"com.docus.core.excel.feign", "com.docus.server.api"}) +@SpringBootApplication(scanBasePackages = {"com.docus"}) +public class RecoveryBootstrap { + public static void main(String[] args) { + System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); + SpringApplication.run(RecoveryBootstrap.class, args); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/common/event/FlowEvent.java b/docus-recovery/src/main/java/com/docus/server/common/event/FlowEvent.java new file mode 100644 index 0000000..6ce2a70 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/common/event/FlowEvent.java @@ -0,0 +1,58 @@ +package com.docus.server.common.event; + +import com.docus.infrastructure.core.db.enums.IIntegerEnum; +import lombok.Getter; +import org.springframework.context.ApplicationEvent; + +/** + * 流程事件 + */ +@Getter +public class FlowEvent extends ApplicationEvent { + /** + * 业务系统病案主键 + */ + private final String patientId; + /** + * 自动分段流程类型 + */ + private final FlowTypeEnum flowTypeEnum; + + public FlowEvent(Object source, String patientId, FlowTypeEnum flowTypeEnum) { + super(source); + this.patientId = patientId; + this.flowTypeEnum = flowTypeEnum; + } + + + public enum FlowTypeEnum implements IIntegerEnum { + //正式 + START_SEGMENT(1, "开始分段事件"), + START_OCR(2, "开始OCR事件"), + START_UPLOAD(3, "开始上传归档系统事件"), + + //调试 + START_SEGMENT_TEST(4, "开始分段测试事件"), + START_OCR_TEST(5, "开始OCR测试事件"), + START_UPLOAD_TEST(6, "开始上传归档系统测试事件"); + + private Integer value; + private String display; + + FlowTypeEnum(Integer value, String display) { + this.value = value; + this.display = display; + } + + @Override + public Integer getValue() { + return this.value; + } + + @Override + public String getDisplay() { + return this.display; + } + } + +} diff --git a/docus-recovery/src/main/java/com/docus/server/common/event/FlowEventListener.java b/docus-recovery/src/main/java/com/docus/server/common/event/FlowEventListener.java new file mode 100644 index 0000000..38bb060 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/common/event/FlowEventListener.java @@ -0,0 +1,26 @@ +package com.docus.server.common.event; + +import com.docus.log.executor.TrackRetrySpringExecutor; +import com.docus.log.handler.IJobHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class FlowEventListener { + + @EventListener + @Async("threadPoolExecutor") + public void flowListen(FlowEvent fileEvent) throws Exception { + + FlowEvent.FlowTypeEnum flowTypeEnum = fileEvent.getFlowTypeEnum(); + + IJobHandler jobHandler = TrackRetrySpringExecutor.loadJobHandler(flowTypeEnum.name()); + + jobHandler.execute(fileEvent.getPatientId()); + + } + +} diff --git a/docus-recovery/src/main/java/com/docus/server/common/utils/StartUpExeUtils.java b/docus-recovery/src/main/java/com/docus/server/common/utils/StartUpExeUtils.java new file mode 100644 index 0000000..cdb387e --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/common/utils/StartUpExeUtils.java @@ -0,0 +1,198 @@ +package com.docus.server.common.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class StartUpExeUtils { + + public static void main(String[] args) throws Exception { +// startUpExeOnly("H:\\tools\\Navicat Premium 12免安装\\Navicat Premium 12\\navicat.exe"); +// killExeOnly("navicat.exe"); + +// startUpExe("H:\\tools\\Navicat Premium 12免安装\\Navicat Premium 12\\navicat.exe", "navicat.exe"); + restartTerminal(""); + } + + private static boolean startExeStatus = true;//exe启动状态 + + //重启终端 + public static String restartTerminal(String bat) throws IOException, InterruptedException { + Process process = Runtime.getRuntime().exec(bat); + + int exitCode = process.waitFor(); + + if (exitCode == 0) { + System.out.println("Command executed successfully."); + return "Command executed successfully."; + } else { + System.out.println("Command execution failed."); + return "Command executed failed."; + } + } + + //重启虚拟机 + public static String restartComputer() throws IOException, InterruptedException { + Process process = Runtime.getRuntime().exec("shutdown /r /t 0"); + + int exitCode = process.waitFor(); + + if (exitCode == 0) { + System.out.println("Command executed successfully."); + return "Command executed successfully."; + } else { + System.out.println("Command execution failed."); + return "Command executed failed."; + } + } + + //仅启动exe客户端,不检查进程 + public static void startUpExeOnly(String exePath) throws IOException { + if (exePath != "") { + Runtime.getRuntime().exec(exePath); + } + } + + /** + * 仅kill指定进程 + * + * @param procName + * @throws IOException + */ + public static void killExeOnly(String procName) throws IOException { + if (procName != "") { + String command = "taskkill /F /IM " + procName; + Runtime.getRuntime().exec("cmd /c " + command); + } + } + + //启动exe客户端 + public static boolean startUpExe(String exePath, String procName) { + if (exePath != "" && procName != "") { + String result = checkProcess(procName);//检查exe进程 + if (result.isEmpty()) { + try { + Runtime.getRuntime().exec(exePath); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("程序:" + exePath + "不存在!"); + } + } + } + return startExeStatus; + } + + //启动exe客户端,并传参 + public static boolean startUpExe(String exePath, String procName, int subId, String curModeId, String riskSet1, String riskSet2, String riskSet3) { + if (exePath != "" && procName != "") { + String result = checkProcess(procName);//检查exe进程 + if (result.isEmpty()) { + try { + //启动exe执行程序 + String[] cmd = {exePath, subId + "", curModeId, riskSet1, riskSet2, riskSet3}; + Runtime.getRuntime().exec(cmd); + } catch (Exception e) { + e.printStackTrace(); + System.out.println("程序:" + exePath + "不存在!"); + } + } + } + return startExeStatus; + } + + /** + * 检查进程是否存在,存在则杀死进程 + * + * @param procName + */ + public static String checkProcess(String procName) { + String result = ""; + //判断是否存在进程 + Boolean existProc = false; + BufferedReader bufferedReader = null; + try { + Process proc = Runtime.getRuntime().exec("tasklist -fi " + '"' + "imagename eq " + procName + '"'); + bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream())); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + if (line.contains(procName)) { + existProc = true;//存在 + } + } + } catch (Exception ex) { + result = "查询程序进程异常:" + ex.getMessage(); + System.out.println("查询程序进程异常:" + ex.getMessage()); + return result; + } finally { + if (bufferedReader != null) { + try { + bufferedReader.close(); + } catch (Exception ex) { + } + } + } + + // 存在,则先杀死该进程 + if (existProc) { + BufferedReader br = null; + try { + if (procName != "") { + //执行cmd命令 + String command = "taskkill /F /IM " + procName; + Runtime runtime = Runtime.getRuntime(); + Process process = runtime.exec("cmd /c " + command); + br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8")); + String line = null; + StringBuilder build = new StringBuilder(); + while ((line = br.readLine()) != null) { + build.append(line); + } + } + } catch (Exception e) { + result = "关闭程序进程异常:" + e.getMessage(); + System.out.println("关闭程序进程异常:" + e.getMessage()); + return result; + } finally { + if (br != null) { + try { + br.close(); + } catch (Exception ex) { + } + } + } + } + return result; + } + + /** + * 仅检查进程是否存在 + * + * @param procName + */ + public static boolean checkProcessOnly(String procName) { + //判断是否存在进程 + Boolean existProc = false; + BufferedReader bufferedReader = null; + try { + Process proc = Runtime.getRuntime().exec("tasklist -fi " + '"' + "imagename eq " + procName + '"'); + bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream())); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + if (line.contains(procName)) { + existProc = true;//存在 + } + } + } catch (Exception ex) { + System.out.println("查询程序进程异常:" + ex.getMessage()); + return existProc; + } finally { + if (bufferedReader != null) { + try { + bufferedReader.close(); + } catch (Exception ex) { + } + } + } + return existProc; + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/common/utils/SystemInfoUtils.java b/docus-recovery/src/main/java/com/docus/server/common/utils/SystemInfoUtils.java new file mode 100644 index 0000000..9219cc6 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/common/utils/SystemInfoUtils.java @@ -0,0 +1,313 @@ +package com.docus.server.common.utils; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.hardware.NetworkIF; +import oshi.software.os.FileSystem; +import oshi.software.os.OSFileStore; +import oshi.software.os.OperatingSystem; +import oshi.util.Util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.DecimalFormat; +import java.util.Formatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Properties; +import java.util.StringTokenizer; + +/** + * 系统消息工具类 + **/ +public class SystemInfoUtils { + + private static final int OSHI_WAIT_SECOND = 1000; + private static final int SLEEP_TIME = 2 * 1000; + private static SystemInfo systemInfo = new SystemInfo(); + private static HardwareAbstractionLayer hardware = systemInfo.getHardware(); + private static OperatingSystem operatingSystem = systemInfo.getOperatingSystem(); + + public static void main(String[] args) throws Exception { + JSONObject info = getInfo(); + System.out.println(info); + } + + public static JSONObject getCpuInfo() { + JSONObject cpuInfo = new JSONObject(); + CentralProcessor processor = hardware.getProcessor(); + // CPU信息 + long[] prevTicks = processor.getSystemCpuLoadTicks(); + Util.sleep(OSHI_WAIT_SECOND); + long[] ticks = processor.getSystemCpuLoadTicks(); + long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()]; + long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()]; + long softirq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; + long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()]; + long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()]; + long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()]; + long iowait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; + long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()]; + long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal; + //cpu核数 + cpuInfo.put("cpuNum", processor.getLogicalProcessorCount()); + //cpu系统使用率 + cpuInfo.put("cSys", new DecimalFormat("#.##%").format(cSys * 1.0 / totalCpu)); + //cpu用户使用率 + cpuInfo.put("user", new DecimalFormat("#.##%").format(user * 1.0 / totalCpu)); + //cpu当前等待率 + cpuInfo.put("iowait", new DecimalFormat("#.##%").format(iowait * 1.0 / totalCpu)); + //cpu当前使用率 + cpuInfo.put("idle", new DecimalFormat("#.##%").format(1.0 - (idle * 1.0 / totalCpu))); + return cpuInfo; + } + + /** + * 系统jvm信息 + */ + public static JSONObject getJvmInfo() { + JSONObject cpuInfo = new JSONObject(); + Properties props = System.getProperties(); + Runtime runtime = Runtime.getRuntime(); + long jvmTotalMemoryByte = runtime.totalMemory(); + long freeMemoryByte = runtime.freeMemory(); + //jvm总内存 + cpuInfo.put("total", formatByte(runtime.totalMemory())); + //空闲空间 + cpuInfo.put("free", formatByte(runtime.freeMemory())); + //jvm最大可申请 + cpuInfo.put("max", formatByte(runtime.maxMemory())); + //vm已使用内存 + cpuInfo.put("user", formatByte(jvmTotalMemoryByte - freeMemoryByte)); + //jvm内存使用率 + cpuInfo.put("usageRate", new DecimalFormat("#.##%").format((jvmTotalMemoryByte - freeMemoryByte) * 1.0 / jvmTotalMemoryByte)); + //jdk版本 + cpuInfo.put("jdkVersion", props.getProperty("java.version")); + //jdk路径 + cpuInfo.put("jdkHome", props.getProperty("java.home")); + return cpuInfo; + } + + /** + * 系统内存信息 + */ + public static JSONObject getMemInfo() { + JSONObject cpuInfo = new JSONObject(); + GlobalMemory memory = systemInfo.getHardware().getMemory(); + //总内存 + long totalByte = memory.getTotal(); + //剩余 + long acaliableByte = memory.getAvailable(); + //总内存 + cpuInfo.put("total", formatByte(totalByte)); + //使用 + cpuInfo.put("used", formatByte(totalByte - acaliableByte)); + //剩余内存 + cpuInfo.put("free", formatByte(acaliableByte)); + //使用率 + cpuInfo.put("usageRate", new DecimalFormat("#.##%").format((totalByte - acaliableByte) * 1.0 / totalByte)); + return cpuInfo; + } + + /** + * 带宽 + */ + public static JSONArray networkIFs() throws Exception { + JSONObject cpuInfo; + JSONArray sysFiles = new JSONArray(); + + List networkIFs = systemInfo.getHardware().getNetworkIFs(); + for (NetworkIF networkIF : networkIFs) { + String name = networkIF.getName(); + long receiveBytes = networkIF.getBytesRecv(); + long transmitBytes = networkIF.getBytesSent(); + + cpuInfo = new JSONObject(); + //名称 + cpuInfo.put("name", name); + //网络接收 + cpuInfo.put("receiveBytes", formatNumber(receiveBytes / (1024.0 * (2 * 1000 / 1000)))); + //网络发送 + cpuInfo.put("transmitBytes", formatNumber(transmitBytes / (1024.0 * (2 * 1000 / 1000)))); + + sysFiles.add(cpuInfo); + } + return sysFiles; + } + + public static JSONObject getNetWork() { + JSONObject networkInfo = new JSONObject(); + Properties props = System.getProperties(); + String os = props.getProperty("os.name").toLowerCase(); + os = os.startsWith("win") ? "windows" : "linux"; + Map result = new HashMap<>(); + Process pro = null; + Runtime r = Runtime.getRuntime(); + BufferedReader input = null; + try { + String command = "windows".equals(os) ? "netstat -e" : "ifconfig"; + pro = r.exec(command); + input = new BufferedReader(new InputStreamReader(pro.getInputStream())); + long result1[] = readInLine(input, os); + Thread.sleep(SLEEP_TIME); + pro.destroy(); + input.close(); + pro = r.exec(command); + input = new BufferedReader(new InputStreamReader(pro.getInputStream())); + long result2[] = readInLine(input, os); + String rxPercent = formatNumber((result2[0] - result1[0]) / (1024.0 * (SLEEP_TIME / 1000)));// 下行速率(kB/s) + String txPercent = formatNumber((result2[1] - result1[1]) / (1024.0 * (SLEEP_TIME / 1000)));// 上行速率(kB/s) + networkInfo.put("rxPercent", rxPercent); + networkInfo.put("txPercent", txPercent); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (input != null) { + try { + input.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + Optional.ofNullable(pro).ifPresent(p -> p.destroy()); + } + return networkInfo; + } + + private static long[] readInLine(BufferedReader input, String osType) { + long arr[] = new long[2]; + StringTokenizer tokenStat = null; + try { + if (osType.equals("linux")) { // 获取linux环境下的网口上下行速率 + long rx = 0, tx = 0; + String line = null; + //RX packets:4171603 errors:0 dropped:0 overruns:0 frame:0 + //TX packets:4171603 errors:0 dropped:0 overruns:0 carrier:0 + while ((line = input.readLine()) != null) { + if (line.indexOf("RX packets") >= 0) { + rx += Long.parseLong(line.substring(line.indexOf("RX packets") + 11, line.indexOf(" ", line.indexOf("RX packets") + 11))); + } else if (line.indexOf("TX packets") >= 0) { + tx += Long.parseLong(line.substring(line.indexOf("TX packets") + 11, line.indexOf(" ", line.indexOf("TX packets") + 11))); + } + } + arr[0] = rx; + arr[1] = tx; + } else { // 获取windows环境下的网口上下行速率 + input.readLine(); + input.readLine(); + input.readLine(); + input.readLine(); + tokenStat = new StringTokenizer(input.readLine()); + tokenStat.nextToken(); + arr[0] = Long.parseLong(tokenStat.nextToken()); + arr[1] = Long.parseLong(tokenStat.nextToken()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return arr; + } + + + private static String formatNumber(double f) { + return new Formatter().format("%.2f", f).toString(); + } + + /** + * 系统盘符信息 + */ + public static JSONArray getSysFileInfo() { + JSONObject cpuInfo; + JSONArray sysFiles = new JSONArray(); + FileSystem fileSystem = operatingSystem.getFileSystem(); + List fsArray = fileSystem.getFileStores(); + for (OSFileStore fs : fsArray) { + cpuInfo = new JSONObject(); + //盘符路径 + cpuInfo.put("dirName", fs.getMount()); + //盘符类型 + cpuInfo.put("sysTypeName", fs.getType()); + //文件类型 + cpuInfo.put("typeName", fs.getName()); + //总大小 + cpuInfo.put("total", formatByte(fs.getTotalSpace())); + //剩余大小 + cpuInfo.put("free", formatByte(fs.getUsableSpace())); + //已经使用量 + cpuInfo.put("used", formatByte(fs.getTotalSpace() - fs.getUsableSpace())); + if (fs.getTotalSpace() == 0) { + //资源的使用率 + cpuInfo.put("usage", 0); + } else { + cpuInfo.put("usage", new DecimalFormat("#.##%").format((fs.getTotalSpace() - fs.getUsableSpace()) * 1.0 / fs.getTotalSpace())); + } + sysFiles.add(cpuInfo); + } + return sysFiles; + } + + /** + * 系统信息 + */ + public static JSONObject getSysInfo() throws UnknownHostException { + JSONObject cpuInfo = new JSONObject(); + Properties props = System.getProperties(); + //操作系统名 + cpuInfo.put("osName", props.getProperty("os.name")); + //系统架构 + cpuInfo.put("osArch", props.getProperty("os.arch")); + //服务器名称 + cpuInfo.put("computerName", InetAddress.getLocalHost().getHostName()); + //服务器Ip + cpuInfo.put("computerIp", InetAddress.getLocalHost().getHostAddress()); + //项目路径 + cpuInfo.put("userDir", props.getProperty("user.dir")); + return cpuInfo; + } + + + /** + * 所有系统信息 + */ + public static JSONObject getInfo() throws Exception { + JSONObject info = new JSONObject(); + info.put("cpuInfo", getCpuInfo()); + info.put("jvmInfo", getJvmInfo()); + info.put("memInfo", getMemInfo()); + info.put("sysInfo", getSysInfo()); + info.put("sysFileInfo", getSysFileInfo()); + info.put("networkInfo", getNetWork()); + return info; + } + + /** + * 单位转换 + */ + private static String formatByte(long byteNumber) { + //换算单位 + double FORMAT = 1024.0; + double kbNumber = byteNumber / FORMAT; + if (kbNumber < FORMAT) { + return new DecimalFormat("#.##KB").format(kbNumber); + } + double mbNumber = kbNumber / FORMAT; + if (mbNumber < FORMAT) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + double gbNumber = mbNumber / FORMAT; + if (gbNumber < FORMAT) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + double tbNumber = gbNumber / FORMAT; + return new DecimalFormat("#.##TB").format(tbNumber); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvBasicController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvBasicController.java new file mode 100644 index 0000000..f1a7e50 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvBasicController.java @@ -0,0 +1,267 @@ +package com.docus.server.controller; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.api.recovery.RcvBasicApi; +import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.DeleteRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; +import com.docus.server.service.IRcvBasicService; +import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 患者信息表 控制器类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Api(value = "患者信息表", tags = "患者信息表") +@RestController +public class RcvBasicController implements RcvBasicApi { + @Resource + private IRcvBasicService iRcvBasicService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @ApiOperation("按主键查询") + @Override + public RcvBasicVO findById(Serializable id) { + return iRcvBasicService.findById(id); + } + + /** + * 按主键集合查询 + * + * @param ids 主键Ids + * @return 实体列表 + */ + @ApiOperation("按主键集合查询") + @Override + public List findByIds(List ids) { + return iRcvBasicService.findByIds(ids); + } + + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询多实体") + @Override + public List findBy(String propertyName, Object propertyValue) { + return iRcvBasicService.findBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public List findBy(String propertyName, Collection propertyValue) { + return iRcvBasicService.findBy(propertyName, propertyValue); + } + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询单实体") + @Override + public RcvBasicVO findOneBy(String propertyName, Object propertyValue) { + return iRcvBasicService.findOneBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public RcvBasicVO findOneBy(String propertyName, Collection propertyValue) { + return iRcvBasicService.findOneBy(propertyName, propertyValue); + } + + /** + * 查询所有 + * + * @return 实体 + */ + @ApiOperation("查询所有") + @Override + public List findAll() { + return iRcvBasicService.findAll(); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @ApiOperation("关键字搜索") + @Override + public PageResult search(SearchDTO searchDTO) { + return iRcvBasicService.search(searchDTO); + } + + /** + * 新增 + * + * @param addRcvBasicDTO 编辑参数 + */ + @ApiOperation("新增") + @Override + public void add(AddRcvBasicDTO addRcvBasicDTO) { + iRcvBasicService.add(addRcvBasicDTO); + } + + /** + * 批量新增 + * + * @param addRcvBasicDTO 编辑参数 + */ + @ApiOperation("批量新增") + @Override + public void addBatch(List addRcvBasicDTO) { + iRcvBasicService.addBatch(addRcvBasicDTO); + } + + /** + * 新增或编辑 + * + * @param editRcvBasicDTO 新增或编辑参数 + */ + @ApiOperation("新增或编辑") + @Override + public void addOrEdit(EditRcvBasicDTO editRcvBasicDTO) { + iRcvBasicService.addOrEdit(editRcvBasicDTO); + } + + /** + * 批量新增或编辑 + * + * @param editRcvBasicDTOList 编辑参数 + */ + @ApiOperation("批量新增或编辑") + @Override + public void addOrEditBatch(List editRcvBasicDTOList) { + iRcvBasicService.addOrEditBatch(editRcvBasicDTOList); + } + + /** + * 编辑 + * + * @param editRcvBasicDTO 编辑参数 + */ + @ApiOperation("编辑") + @Override + public void edit(EditRcvBasicDTO editRcvBasicDTO) { + iRcvBasicService.edit(editRcvBasicDTO); + } + + /** + * 批量编辑 + * + * @param editRcvBasicDTO 编辑参数 + */ + @ApiOperation("批量编辑") + @Override + public void editBatchById(List editRcvBasicDTO) { + iRcvBasicService.editBatchById(editRcvBasicDTO); + } + + /** + * 批量删除 + * + * @param deleteRcvBasicDTO 删除参数 + */ + @ApiOperation("批量删除") + @Override + public void delete(DeleteRcvBasicDTO deleteRcvBasicDTO) { + iRcvBasicService.delete(deleteRcvBasicDTO); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @ApiOperation("按主键删除") + @Override + public void deleteById(Serializable id) { + iRcvBasicService.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @ApiOperation("按属性删除") + @Override + public void deleteBy(String propertyName, Object propertyValue) { + iRcvBasicService.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @ApiOperation("按属性值集合删除") + @Override + public void deleteBy(String propertyName, Collection propertyValue) { + iRcvBasicService.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @ApiOperation("按主键集合批量删除") + @Override + public void deleteByIds(Collection ids) { + iRcvBasicService.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @ApiOperation("名称不重复") + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvBasicService.findByIdAndName(id, name); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysParamController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysParamController.java new file mode 100644 index 0000000..76d0fd6 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysParamController.java @@ -0,0 +1,267 @@ +package com.docus.server.controller; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.api.recovery.RcvSysParamApi; +import com.docus.server.dto.recovery.rcvsysparam.AddRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.DeleteRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.EditRcvSysParamDTO; +import com.docus.server.service.IRcvSysParamService; +import com.docus.server.vo.recovery.rcvsysparam.RcvSysParamVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统参数表 控制器类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Api(value = "系统参数表", tags = "系统参数表") +@RestController +public class RcvSysParamController implements RcvSysParamApi { + @Resource + private IRcvSysParamService iRcvSysParamService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @ApiOperation("按主键查询") + @Override + public RcvSysParamVO findById(Serializable id) { + return iRcvSysParamService.findById(id); + } + + /** + * 按主键集合查询 + * + * @param ids 主键Ids + * @return 实体列表 + */ + @ApiOperation("按主键集合查询") + @Override + public List findByIds(List ids) { + return iRcvSysParamService.findByIds(ids); + } + + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询多实体") + @Override + public List findBy(String propertyName, Object propertyValue) { + return iRcvSysParamService.findBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public List findBy(String propertyName, Collection propertyValue) { + return iRcvSysParamService.findBy(propertyName, propertyValue); + } + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询单实体") + @Override + public RcvSysParamVO findOneBy(String propertyName, Object propertyValue) { + return iRcvSysParamService.findOneBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public RcvSysParamVO findOneBy(String propertyName, Collection propertyValue) { + return iRcvSysParamService.findOneBy(propertyName, propertyValue); + } + + /** + * 查询所有 + * + * @return 实体 + */ + @ApiOperation("查询所有") + @Override + public List findAll() { + return iRcvSysParamService.findAll(); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @ApiOperation("关键字搜索") + @Override + public PageResult search(SearchDTO searchDTO) { + return iRcvSysParamService.search(searchDTO); + } + + /** + * 新增 + * + * @param addRcvSysParamDTO 编辑参数 + */ + @ApiOperation("新增") + @Override + public void add(AddRcvSysParamDTO addRcvSysParamDTO) { + iRcvSysParamService.add(addRcvSysParamDTO); + } + + /** + * 批量新增 + * + * @param addRcvSysParamDTO 编辑参数 + */ + @ApiOperation("批量新增") + @Override + public void addBatch(List addRcvSysParamDTO) { + iRcvSysParamService.addBatch(addRcvSysParamDTO); + } + + /** + * 新增或编辑 + * + * @param editRcvSysParamDTO 新增或编辑参数 + */ + @ApiOperation("新增或编辑") + @Override + public void addOrEdit(EditRcvSysParamDTO editRcvSysParamDTO) { + iRcvSysParamService.addOrEdit(editRcvSysParamDTO); + } + + /** + * 批量新增或编辑 + * + * @param editRcvSysParamDTOList 编辑参数 + */ + @ApiOperation("批量新增或编辑") + @Override + public void addOrEditBatch(List editRcvSysParamDTOList) { + iRcvSysParamService.addOrEditBatch(editRcvSysParamDTOList); + } + + /** + * 编辑 + * + * @param editRcvSysParamDTO 编辑参数 + */ + @ApiOperation("编辑") + @Override + public void edit(EditRcvSysParamDTO editRcvSysParamDTO) { + iRcvSysParamService.edit(editRcvSysParamDTO); + } + + /** + * 批量编辑 + * + * @param editRcvSysParamDTO 编辑参数 + */ + @ApiOperation("批量编辑") + @Override + public void editBatchById(List editRcvSysParamDTO) { + iRcvSysParamService.editBatchById(editRcvSysParamDTO); + } + + /** + * 批量删除 + * + * @param deleteRcvSysParamDTO 删除参数 + */ + @ApiOperation("批量删除") + @Override + public void delete(DeleteRcvSysParamDTO deleteRcvSysParamDTO) { + iRcvSysParamService.delete(deleteRcvSysParamDTO); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @ApiOperation("按主键删除") + @Override + public void deleteById(Serializable id) { + iRcvSysParamService.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @ApiOperation("按属性删除") + @Override + public void deleteBy(String propertyName, Object propertyValue) { + iRcvSysParamService.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @ApiOperation("按属性值集合删除") + @Override + public void deleteBy(String propertyName, Collection propertyValue) { + iRcvSysParamService.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @ApiOperation("按主键集合批量删除") + @Override + public void deleteByIds(Collection ids) { + iRcvSysParamService.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @ApiOperation("名称不重复") + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvSysParamService.findByIdAndName(id, name); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java new file mode 100644 index 0000000..f9e403a --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/controller/RcvSysUserController.java @@ -0,0 +1,267 @@ +package com.docus.server.controller; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.api.recovery.RcvSysUserApi; +import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; +import com.docus.server.service.IRcvSysUserService; +import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统登录用户表 控制器类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Api(value = "系统登录用户表", tags = "系统登录用户表") +@RestController +public class RcvSysUserController implements RcvSysUserApi { + @Resource + private IRcvSysUserService iRcvSysUserService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @ApiOperation("按主键查询") + @Override + public RcvSysUserVO findById(Serializable id) { + return iRcvSysUserService.findById(id); + } + + /** + * 按主键集合查询 + * + * @param ids 主键Ids + * @return 实体列表 + */ + @ApiOperation("按主键集合查询") + @Override + public List findByIds(List ids) { + return iRcvSysUserService.findByIds(ids); + } + + + /** + * 按属性查询多实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询多实体") + @Override + public List findBy(String propertyName, Object propertyValue) { + return iRcvSysUserService.findBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public List findBy(String propertyName, Collection propertyValue) { + return iRcvSysUserService.findBy(propertyName, propertyValue); + } + + /** + * 按属性查询单实体 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性查询单实体") + @Override + public RcvSysUserVO findOneBy(String propertyName, Object propertyValue) { + return iRcvSysUserService.findOneBy(propertyName, propertyValue); + } + + /** + * 按属性值集合查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @ApiOperation("按属性值集合查询") + @Override + public RcvSysUserVO findOneBy(String propertyName, Collection propertyValue) { + return iRcvSysUserService.findOneBy(propertyName, propertyValue); + } + + /** + * 查询所有 + * + * @return 实体 + */ + @ApiOperation("查询所有") + @Override + public List findAll() { + return iRcvSysUserService.findAll(); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @ApiOperation("关键字搜索") + @Override + public PageResult search(SearchDTO searchDTO) { + return iRcvSysUserService.search(searchDTO); + } + + /** + * 新增 + * + * @param addRcvSysUserDTO 编辑参数 + */ + @ApiOperation("新增") + @Override + public void add(AddRcvSysUserDTO addRcvSysUserDTO) { + iRcvSysUserService.add(addRcvSysUserDTO); + } + + /** + * 批量新增 + * + * @param addRcvSysUserDTO 编辑参数 + */ + @ApiOperation("批量新增") + @Override + public void addBatch(List addRcvSysUserDTO) { + iRcvSysUserService.addBatch(addRcvSysUserDTO); + } + + /** + * 新增或编辑 + * + * @param editRcvSysUserDTO 新增或编辑参数 + */ + @ApiOperation("新增或编辑") + @Override + public void addOrEdit(EditRcvSysUserDTO editRcvSysUserDTO) { + iRcvSysUserService.addOrEdit(editRcvSysUserDTO); + } + + /** + * 批量新增或编辑 + * + * @param editRcvSysUserDTOList 编辑参数 + */ + @ApiOperation("批量新增或编辑") + @Override + public void addOrEditBatch(List editRcvSysUserDTOList) { + iRcvSysUserService.addOrEditBatch(editRcvSysUserDTOList); + } + + /** + * 编辑 + * + * @param editRcvSysUserDTO 编辑参数 + */ + @ApiOperation("编辑") + @Override + public void edit(EditRcvSysUserDTO editRcvSysUserDTO) { + iRcvSysUserService.edit(editRcvSysUserDTO); + } + + /** + * 批量编辑 + * + * @param editRcvSysUserDTO 编辑参数 + */ + @ApiOperation("批量编辑") + @Override + public void editBatchById(List editRcvSysUserDTO) { + iRcvSysUserService.editBatchById(editRcvSysUserDTO); + } + + /** + * 批量删除 + * + * @param deleteRcvSysUserDTO 删除参数 + */ + @ApiOperation("批量删除") + @Override + public void delete(DeleteRcvSysUserDTO deleteRcvSysUserDTO) { + iRcvSysUserService.delete(deleteRcvSysUserDTO); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + */ + @ApiOperation("按主键删除") + @Override + public void deleteById(Serializable id) { + iRcvSysUserService.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + */ + @ApiOperation("按属性删除") + @Override + public void deleteBy(String propertyName, Object propertyValue) { + iRcvSysUserService.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性值集合删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + */ + @ApiOperation("按属性值集合删除") + @Override + public void deleteBy(String propertyName, Collection propertyValue) { + iRcvSysUserService.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + */ + @ApiOperation("按主键集合批量删除") + @Override + public void deleteByIds(Collection ids) { + iRcvSysUserService.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @ApiOperation("名称不重复") + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvSysUserService.findByIdAndName(id, name); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java b/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java new file mode 100644 index 0000000..a5021e5 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/convert/RcvBasicConvert.java @@ -0,0 +1,49 @@ +package com.docus.server.convert; + +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvBasic; + import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; + import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; + import com.docus.server.dto.recovery.rcvbasic.DeleteRcvBasicDTO; +import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; + +import org.mapstruct.Mapper; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* +* 患者信息表 服务转换器 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Mapper +public interface RcvBasicConvert { + + RcvBasicConvert INSTANCE = Mappers.getMapper(RcvBasicConvert.class); + + @Mappings({}) + RcvBasic convertDO(AddRcvBasicDTO addRcvBasicDTO); + + @Mappings({}) + RcvBasic convertDO(EditRcvBasicDTO editRcvBasicDTO); + + @Mappings({}) + List convertAddDOList(List addRcvBasicDTO); + + @Mappings({}) + List convertEditDOList(List editRcvBasicDTO); + + @Mappings({}) + RcvBasicVO convertVO(RcvBasic rcvBasic); + + @Mappings({}) + List convertVO(List rcvBasicList); + + @Mappings({}) + PageResult convertVO(PageResult pageResult); +} + diff --git a/docus-recovery/src/main/java/com/docus/server/convert/RcvSysParamConvert.java b/docus-recovery/src/main/java/com/docus/server/convert/RcvSysParamConvert.java new file mode 100644 index 0000000..1144c19 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/convert/RcvSysParamConvert.java @@ -0,0 +1,49 @@ +package com.docus.server.convert; + +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysParam; + import com.docus.server.dto.recovery.rcvsysparam.AddRcvSysParamDTO; + import com.docus.server.dto.recovery.rcvsysparam.EditRcvSysParamDTO; + import com.docus.server.dto.recovery.rcvsysparam.DeleteRcvSysParamDTO; +import com.docus.server.vo.recovery.rcvsysparam.RcvSysParamVO; + +import org.mapstruct.Mapper; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* +* 系统参数表 服务转换器 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Mapper +public interface RcvSysParamConvert { + + RcvSysParamConvert INSTANCE = Mappers.getMapper(RcvSysParamConvert.class); + + @Mappings({}) + RcvSysParam convertDO(AddRcvSysParamDTO addRcvSysParamDTO); + + @Mappings({}) + RcvSysParam convertDO(EditRcvSysParamDTO editRcvSysParamDTO); + + @Mappings({}) + List convertAddDOList(List addRcvSysParamDTO); + + @Mappings({}) + List convertEditDOList(List editRcvSysParamDTO); + + @Mappings({}) + RcvSysParamVO convertVO(RcvSysParam rcvSysParam); + + @Mappings({}) + List convertVO(List rcvSysParamList); + + @Mappings({}) + PageResult convertVO(PageResult pageResult); +} + diff --git a/docus-recovery/src/main/java/com/docus/server/convert/RcvSysUserConvert.java b/docus-recovery/src/main/java/com/docus/server/convert/RcvSysUserConvert.java new file mode 100644 index 0000000..ec36e29 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/convert/RcvSysUserConvert.java @@ -0,0 +1,49 @@ +package com.docus.server.convert; + +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysUser; + import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; + import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; + import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; +import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; + +import org.mapstruct.Mapper; +import org.mapstruct.Mappings; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** +* +* 系统登录用户表 服务转换器 +* +* @author AutoGenerator +* @since 2023-09-13 +*/ +@Mapper +public interface RcvSysUserConvert { + + RcvSysUserConvert INSTANCE = Mappers.getMapper(RcvSysUserConvert.class); + + @Mappings({}) + RcvSysUser convertDO(AddRcvSysUserDTO addRcvSysUserDTO); + + @Mappings({}) + RcvSysUser convertDO(EditRcvSysUserDTO editRcvSysUserDTO); + + @Mappings({}) + List convertAddDOList(List addRcvSysUserDTO); + + @Mappings({}) + List convertEditDOList(List editRcvSysUserDTO); + + @Mappings({}) + RcvSysUserVO convertVO(RcvSysUser rcvSysUser); + + @Mappings({}) + List convertVO(List rcvSysUserList); + + @Mappings({}) + PageResult convertVO(PageResult pageResult); +} + diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/cache/TaskCacheLayer.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/cache/TaskCacheLayer.java new file mode 100644 index 0000000..6fea6c6 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/cache/TaskCacheLayer.java @@ -0,0 +1,7 @@ +package com.docus.server.infrastructure.cache; + +import com.docus.server.annotation.CacheLayer; + +@CacheLayer("schetaskCacheLayer") +public class TaskCacheLayer { +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/client/DownLoadAPI.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/client/DownLoadAPI.java new file mode 100644 index 0000000..56f84f1 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/client/DownLoadAPI.java @@ -0,0 +1,4 @@ +package com.docus.server.infrastructure.client; + +public class DownLoadAPI { +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvBasicDao.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvBasicDao.java new file mode 100644 index 0000000..42bcc6a --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvBasicDao.java @@ -0,0 +1,59 @@ +package com.docus.server.infrastructure.dao; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvBasic; + +import java.io.Serializable; +import java.util.Collection; + +/** + * 患者信息表 数据访问接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvBasicDao extends IBaseDao { + + /** + * 新增 + * + * @param rcvBasic 新增参数 + * @return 成功或失败 + */ + boolean add(RcvBasic rcvBasic); + + /** + * 编辑 + * + * @param rcvBasic 编辑参数 + * @return 成功或失败 + */ + boolean edit(RcvBasic rcvBasic); + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + int delete(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysParamDao.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysParamDao.java new file mode 100644 index 0000000..1b2c6fc --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysParamDao.java @@ -0,0 +1,59 @@ +package com.docus.server.infrastructure.dao; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysParam; + +import java.io.Serializable; +import java.util.Collection; + +/** + * 系统参数表 数据访问接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvSysParamDao extends IBaseDao { + + /** + * 新增 + * + * @param rcvSysParam 新增参数 + * @return 成功或失败 + */ + boolean add(RcvSysParam rcvSysParam); + + /** + * 编辑 + * + * @param rcvSysParam 编辑参数 + * @return 成功或失败 + */ + boolean edit(RcvSysParam rcvSysParam); + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + int delete(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysUserDao.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysUserDao.java new file mode 100644 index 0000000..e813a07 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/IRcvSysUserDao.java @@ -0,0 +1,59 @@ +package com.docus.server.infrastructure.dao; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysUser; + +import java.io.Serializable; +import java.util.Collection; + +/** + * 系统登录用户表 数据访问接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvSysUserDao extends IBaseDao { + + /** + * 新增 + * + * @param rcvSysUser 新增参数 + * @return 成功或失败 + */ + boolean add(RcvSysUser rcvSysUser); + + /** + * 编辑 + * + * @param rcvSysUser 编辑参数 + * @return 成功或失败 + */ + boolean edit(RcvSysUser rcvSysUser); + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + int delete(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvBasicDaoImpl.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvBasicDaoImpl.java new file mode 100644 index 0000000..5614b5b --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvBasicDaoImpl.java @@ -0,0 +1,115 @@ +package com.docus.server.infrastructure.dao.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.docus.infrastructure.core.db.dao.impl.BaseDaoImpl; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvBasic; +import com.docus.server.infrastructure.dao.IRcvBasicDao; +import com.docus.server.infrastructure.mapper.RcvBasicMapper; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Repository; + +import java.io.Serializable; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 患者信息表 数据访问实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Repository +public class RcvBasicDaoImpl extends BaseDaoImpl implements IRcvBasicDao { + + + /** + * 新增 + * + * @param rcvBasic 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean add(RcvBasic rcvBasic) { + return super.save(rcvBasic); + } + + /** + * 编辑 + * + * @param rcvBasic 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean edit(RcvBasic rcvBasic) { + return super.updateById(rcvBasic); + } + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + @Override + public int delete(Collection ids) { + return super.deleteByIds(ids); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + //分页 + PageHelper.startPage(searchDTO.getPageNum(), searchDTO.getPageSize()); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + //时间范围,默认按createTime + if (searchDTO.getBeginTime() != null) { + query.ge(RcvBasic::getCreateTime, searchDTO.getBeginTime()); + } + if (searchDTO.getEndTime() != null) { + Date endTime = searchDTO.getEndTime(); + query.le(RcvBasic::getCreateTime, endTime); + } + //关键字比较,多个列or + //if (!StringUtils.isEmpty(searchDTO.getKeyword())) { + //单个列用like + //query. like(RcvBasic::getxxx, searchDTO.getKeyword()); + //多个列用like + //query. and(sub -> sub.like(RcvBasic::getxx1, searchDTO.getKeyword()) + // оr(). like(RcvBasic::getXX2, searchDTO.getKeyword())) + //); + //} + //默认createTime倒序排序 + query.orderByDesc(RcvBasic::getCreateTime); + List list = super.find(query); + return new PageResult<>(list); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (id != null) { + query.ne(RcvBasic::getId, id); + } + //if (Func.isNotBlank(name)) { + // query.eq(RcvBasic::getName, name); + //} + + return baseMapper.selectCount(query); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysParamDaoImpl.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysParamDaoImpl.java new file mode 100644 index 0000000..21d7f78 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysParamDaoImpl.java @@ -0,0 +1,115 @@ +package com.docus.server.infrastructure.dao.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.docus.infrastructure.core.db.dao.impl.BaseDaoImpl; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysParam; +import com.docus.server.infrastructure.dao.IRcvSysParamDao; +import com.docus.server.infrastructure.mapper.RcvSysParamMapper; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Repository; + +import java.io.Serializable; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 系统参数表 数据访问实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Repository +public class RcvSysParamDaoImpl extends BaseDaoImpl implements IRcvSysParamDao { + + + /** + * 新增 + * + * @param rcvSysParam 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean add(RcvSysParam rcvSysParam) { + return super.save(rcvSysParam); + } + + /** + * 编辑 + * + * @param rcvSysParam 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean edit(RcvSysParam rcvSysParam) { + return super.updateById(rcvSysParam); + } + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + @Override + public int delete(Collection ids) { + return super.deleteByIds(ids); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + //分页 + PageHelper.startPage(searchDTO.getPageNum(), searchDTO.getPageSize()); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + //时间范围,默认按createTime + if (searchDTO.getBeginTime() != null) { + query.ge(RcvSysParam::getCreateTime, searchDTO.getBeginTime()); + } + if (searchDTO.getEndTime() != null) { + Date endTime = searchDTO.getEndTime(); + query.le(RcvSysParam::getCreateTime, endTime); + } + //关键字比较,多个列or + //if (!StringUtils.isEmpty(searchDTO.getKeyword())) { + //单个列用like + //query. like(RcvSysParam::getxxx, searchDTO.getKeyword()); + //多个列用like + //query. and(sub -> sub.like(RcvSysParam::getxx1, searchDTO.getKeyword()) + // оr(). like(RcvSysParam::getXX2, searchDTO.getKeyword())) + //); + //} + //默认createTime倒序排序 + query.orderByDesc(RcvSysParam::getCreateTime); + List list = super.find(query); + return new PageResult<>(list); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (id != null) { + query.ne(RcvSysParam::getId, id); + } + //if (Func.isNotBlank(name)) { + // query.eq(RcvSysParam::getName, name); + //} + + return baseMapper.selectCount(query); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysUserDaoImpl.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysUserDaoImpl.java new file mode 100644 index 0000000..b09dec8 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/dao/impl/RcvSysUserDaoImpl.java @@ -0,0 +1,115 @@ +package com.docus.server.infrastructure.dao.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.docus.infrastructure.core.db.dao.impl.BaseDaoImpl; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.entity.recovery.RcvSysUser; +import com.docus.server.infrastructure.dao.IRcvSysUserDao; +import com.docus.server.infrastructure.mapper.RcvSysUserMapper; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Repository; + +import java.io.Serializable; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 系统登录用户表 数据访问实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Repository +public class RcvSysUserDaoImpl extends BaseDaoImpl implements IRcvSysUserDao { + + + /** + * 新增 + * + * @param rcvSysUser 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean add(RcvSysUser rcvSysUser) { + return super.save(rcvSysUser); + } + + /** + * 编辑 + * + * @param rcvSysUser 编辑参数 + * @return 成功或失败 + */ + @Override + public boolean edit(RcvSysUser rcvSysUser) { + return super.updateById(rcvSysUser); + } + + /** + * 批量删除 + * + * @param ids 主键ids + * @return 成功或失败 + */ + @Override + public int delete(Collection ids) { + return super.deleteByIds(ids); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + //分页 + PageHelper.startPage(searchDTO.getPageNum(), searchDTO.getPageSize()); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + //时间范围,默认按createTime + if (searchDTO.getBeginTime() != null) { + query.ge(RcvSysUser::getCreateTime, searchDTO.getBeginTime()); + } + if (searchDTO.getEndTime() != null) { + Date endTime = searchDTO.getEndTime(); + query.le(RcvSysUser::getCreateTime, endTime); + } + //关键字比较,多个列or + //if (!StringUtils.isEmpty(searchDTO.getKeyword())) { + //单个列用like + //query. like(RcvSysUser::getxxx, searchDTO.getKeyword()); + //多个列用like + //query. and(sub -> sub.like(RcvSysUser::getxx1, searchDTO.getKeyword()) + // оr(). like(RcvSysUser::getXX2, searchDTO.getKeyword())) + //); + //} + //默认createTime倒序排序 + query.orderByDesc(RcvSysUser::getCreateTime); + List list = super.find(query); + return new PageResult<>(list); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (id != null) { + query.ne(RcvSysUser::getUserId, id); + } + //if (Func.isNotBlank(name)) { + // query.eq(RcvSysUser::getName, name); + //} + + return baseMapper.selectCount(query); + } +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvBasicMapper.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvBasicMapper.java new file mode 100644 index 0000000..62ff0c5 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvBasicMapper.java @@ -0,0 +1,16 @@ +package com.docus.server.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.docus.server.entity.recovery.RcvBasic; +import org.apache.ibatis.annotations.Mapper; + +/** + * 患者信息表 Mapper 接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Mapper +public interface RcvBasicMapper extends BaseMapper { + +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysParamMapper.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysParamMapper.java new file mode 100644 index 0000000..98879f0 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysParamMapper.java @@ -0,0 +1,16 @@ +package com.docus.server.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.docus.server.entity.recovery.RcvSysParam; +import org.apache.ibatis.annotations.Mapper; + +/** + * 系统参数表 Mapper 接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Mapper +public interface RcvSysParamMapper extends BaseMapper { + +} diff --git a/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysUserMapper.java b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysUserMapper.java new file mode 100644 index 0000000..66e0114 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/infrastructure/mapper/RcvSysUserMapper.java @@ -0,0 +1,16 @@ +package com.docus.server.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.docus.server.entity.recovery.RcvSysUser; +import org.apache.ibatis.annotations.Mapper; + +/** + * 系统登录用户表 Mapper 接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Mapper +public interface RcvSysUserMapper extends BaseMapper { + +} diff --git a/docus-recovery/src/main/java/com/docus/server/service/IRcvBasicService.java b/docus-recovery/src/main/java/com/docus/server/service/IRcvBasicService.java new file mode 100644 index 0000000..b5012d4 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/IRcvBasicService.java @@ -0,0 +1,186 @@ +package com.docus.server.service; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.DeleteRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; +import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 患者信息表 服务接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvBasicService { + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + RcvBasicVO findById(Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + List findByIds(List ids); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Collection propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvBasicVO findOneBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvBasicVO findOneBy(String propertyName, Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体列表 + */ + List findAll(); + + /** + * 新增 + * + * @param addRcvBasicDTO 新增参数 + * @return 成功或失败 + */ + boolean add(AddRcvBasicDTO addRcvBasicDTO); + + /** + * 批量新增 + * + * @param addRcvBasicDTO 新增参数 + * @return 成功或失败 + */ + boolean addBatch(List addRcvBasicDTO); + + /** + * 新增或编辑 + * + * @param editRcvBasicDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEdit(EditRcvBasicDTO editRcvBasicDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvBasicDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEditBatch(List editRcvBasicDTO); + + /** + * 编辑 + * + * @param editRcvBasicDTO 编辑参数 + * @return 成功或失败 + */ + boolean edit(EditRcvBasicDTO editRcvBasicDTO); + + /** + * 批量编辑 + * + * @param editRcvBasicDTO 编辑参数 + * @return 成功或失败 + */ + boolean editBatchById(List editRcvBasicDTO); + + /** + * 批量删除 + * + * @param deleteRcvBasicDTO 删除参数 + * @return 成功或失败 + */ + int delete(DeleteRcvBasicDTO deleteRcvBasicDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + int delete(Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Object propertyValue); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + int deleteByIds(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/service/IRcvSysParamService.java b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysParamService.java new file mode 100644 index 0000000..9cdf1b2 --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysParamService.java @@ -0,0 +1,186 @@ +package com.docus.server.service; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvsysparam.AddRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.DeleteRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.EditRcvSysParamDTO; +import com.docus.server.vo.recovery.rcvsysparam.RcvSysParamVO; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统参数表 服务接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvSysParamService { + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + RcvSysParamVO findById(Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + List findByIds(List ids); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Collection propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvSysParamVO findOneBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvSysParamVO findOneBy(String propertyName, Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体列表 + */ + List findAll(); + + /** + * 新增 + * + * @param addRcvSysParamDTO 新增参数 + * @return 成功或失败 + */ + boolean add(AddRcvSysParamDTO addRcvSysParamDTO); + + /** + * 批量新增 + * + * @param addRcvSysParamDTO 新增参数 + * @return 成功或失败 + */ + boolean addBatch(List addRcvSysParamDTO); + + /** + * 新增或编辑 + * + * @param editRcvSysParamDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEdit(EditRcvSysParamDTO editRcvSysParamDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvSysParamDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEditBatch(List editRcvSysParamDTO); + + /** + * 编辑 + * + * @param editRcvSysParamDTO 编辑参数 + * @return 成功或失败 + */ + boolean edit(EditRcvSysParamDTO editRcvSysParamDTO); + + /** + * 批量编辑 + * + * @param editRcvSysParamDTO 编辑参数 + * @return 成功或失败 + */ + boolean editBatchById(List editRcvSysParamDTO); + + /** + * 批量删除 + * + * @param deleteRcvSysParamDTO 删除参数 + * @return 成功或失败 + */ + int delete(DeleteRcvSysParamDTO deleteRcvSysParamDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + int delete(Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Object propertyValue); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + int deleteByIds(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java new file mode 100644 index 0000000..ae3d1de --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/IRcvSysUserService.java @@ -0,0 +1,186 @@ +package com.docus.server.service; + +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; +import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统登录用户表 服务接口 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +public interface IRcvSysUserService { + /** + * 按主键查询 + * + * @param id 主键id + * @return 实体 + */ + RcvSysUserVO findById(Serializable id); + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + List findByIds(List ids); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + List findBy(String propertyName, Collection propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvSysUserVO findOneBy(String propertyName, Object propertyValue); + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + RcvSysUserVO findOneBy(String propertyName, Collection propertyValue); + + /** + * 查询所有 + * + * @return 实体列表 + */ + List findAll(); + + /** + * 新增 + * + * @param addRcvSysUserDTO 新增参数 + * @return 成功或失败 + */ + boolean add(AddRcvSysUserDTO addRcvSysUserDTO); + + /** + * 批量新增 + * + * @param addRcvSysUserDTO 新增参数 + * @return 成功或失败 + */ + boolean addBatch(List addRcvSysUserDTO); + + /** + * 新增或编辑 + * + * @param editRcvSysUserDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEdit(EditRcvSysUserDTO editRcvSysUserDTO); + + /** + * 批量新增或编辑 + * + * @param editRcvSysUserDTO 新增或编辑参数 + * @return 成功或失败 + */ + boolean addOrEditBatch(List editRcvSysUserDTO); + + /** + * 编辑 + * + * @param editRcvSysUserDTO 编辑参数 + * @return 成功或失败 + */ + boolean edit(EditRcvSysUserDTO editRcvSysUserDTO); + + /** + * 批量编辑 + * + * @param editRcvSysUserDTO 编辑参数 + * @return 成功或失败 + */ + boolean editBatchById(List editRcvSysUserDTO); + + /** + * 批量删除 + * + * @param deleteRcvSysUserDTO 删除参数 + * @return 成功或失败 + */ + int delete(DeleteRcvSysUserDTO deleteRcvSysUserDTO); + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + int delete(Serializable id); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Object propertyValue); + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + int deleteBy(String propertyName, Collection propertyValue); + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + int deleteByIds(Collection ids); + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + PageResult search(SearchDTO searchDTO); + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + int findByIdAndName(Serializable id, String name); +} diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java new file mode 100644 index 0000000..969228d --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvBasicServiceImpl.java @@ -0,0 +1,324 @@ +package com.docus.server.service.impl; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.redis.service.IdService; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.convert.RcvBasicConvert; +import com.docus.server.dto.recovery.rcvbasic.AddRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.DeleteRcvBasicDTO; +import com.docus.server.dto.recovery.rcvbasic.EditRcvBasicDTO; +import com.docus.server.entity.recovery.RcvBasic; +import com.docus.server.infrastructure.dao.IRcvBasicDao; +import com.docus.server.service.IRcvBasicService; +import com.docus.server.vo.recovery.rcvbasic.RcvBasicVO; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 患者信息表 服务实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Service +public class RcvBasicServiceImpl implements IRcvBasicService { + @Resource + private IRcvBasicDao iRcvBasicDao; + @Resource + private IdService idService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @Override + public RcvBasicVO findById(Serializable id) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findById(id)); + } + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + @Override + public List findByIds(List ids) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findByIds(ids)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Object propertyValue) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Collection propertyValue) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvBasicVO findOneBy(String propertyName, Object propertyValue) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvBasicVO findOneBy(String propertyName, Collection propertyValue) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 查询所有 + * + * @return 实体列表 + */ + @Override + public List findAll() { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.findAll()); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + return RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.search(searchDTO)); + + //PageResult result = RcvBasicConvert.INSTANCE.convertVO(iRcvBasicDao.search(searchDTO)); + + //if (CollectionUtils.isEmpty(result.getList())) { + //return new PageResult<>(); + //} + + //Map map = iSchSystemParamsService.find(ListUtils.distinctSelect(result.getList(), SchCollectorVO::getCollectorId)); + + //result.getList().forEach(p -> { + // String collectorId = String.valueOf(p.getCollectorId()); + // if (map.containsKey(collectorId)) { + // p.setCollectorName(map.get(collectorId).getParamName()); + // } + //}); + + //return result; + } + + /** + * 新增 + * + * @param addRcvBasicDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(AddRcvBasicDTO addRcvBasicDTO) { + RcvBasic rcvBasic = RcvBasicConvert.INSTANCE.convertDO(addRcvBasicDTO); + rcvBasic.setId(idService.getDateSeq()); + return iRcvBasicDao.add(rcvBasic); + + // String name = addRcvBasicDTO.getName(); + + //RcvBasic rcvBasic = iRcvBasicDao.findOneBy("name", name); + + //if (Func.notNull(rcvBasic)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "患者信息表已经存在"); + // } + + // RcvBasic rcvBasic =RcvBasicConvert.INSTANCE.convertDO(addRcvBasicDTO); + // rcvBasic.setId(idService.getDateSeq()); + + // return iRcvBasicDao.add(schCollector); + + } + + /** + * 批量新增 + * + * @param addRcvBasicDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addBatch(List addRcvBasicDTOList) { + + List rcvBasicList = RcvBasicConvert.INSTANCE.convertAddDOList(addRcvBasicDTOList); + + rcvBasicList.forEach(p -> { + p.setId(idService.getDateSeq()); + }); + + return iRcvBasicDao.saveBatch(rcvBasicList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 新增或编辑 + * + * @param editRcvBasicDTO 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEdit(EditRcvBasicDTO editRcvBasicDTO) { + RcvBasic rcvBasic = RcvBasicConvert.INSTANCE.convertDO(editRcvBasicDTO); + return iRcvBasicDao.saveOrUpdate(rcvBasic); + } + + /** + * 批量新增或编辑 + * + * @param editRcvBasicDTOList 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEditBatch(List editRcvBasicDTOList) { + List rcvBasicList = RcvBasicConvert.INSTANCE.convertEditDOList(editRcvBasicDTOList); + return iRcvBasicDao.saveOrUpdateBatch(rcvBasicList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 编辑 + * + * @param editRcvBasicDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean edit(EditRcvBasicDTO editRcvBasicDTO) { + RcvBasic rcvBasic = RcvBasicConvert.INSTANCE.convertDO(editRcvBasicDTO); + return iRcvBasicDao.edit(rcvBasic); + + // Long id = editRcvBasicDTO.getId(); + + // RcvBasic rcvBasic = iRcvBasicDao.findById(id); + + // if (Func.isNull(rcvBasic)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "患者信息表,无法更新!"); + // } + + // rcvBasic.setUpdateTime(LocalDateTime.now()); + // return iRcvBasicDao.edit(rcvBasic); + } + + /** + * 批量编辑 + * + * @param editRcvBasicDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean editBatchById(List editRcvBasicDTOList) { + List rcvBasicList = RcvBasicConvert.INSTANCE.convertEditDOList(editRcvBasicDTOList); + return iRcvBasicDao.updateBatchById(rcvBasicList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 批量删除 + * + * @param deleteRcvBasicDTO 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(DeleteRcvBasicDTO deleteRcvBasicDTO) { + return iRcvBasicDao.delete(deleteRcvBasicDTO.getIds()); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(Serializable id) { + return iRcvBasicDao.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Object propertyValue) { + return iRcvBasicDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Collection propertyValue) { + return iRcvBasicDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + @Override + public int deleteByIds(Collection ids) { + return iRcvBasicDao.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvBasicDao.findByIdAndName(id, name); + } + +} + diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysParamServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysParamServiceImpl.java new file mode 100644 index 0000000..94f358e --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysParamServiceImpl.java @@ -0,0 +1,324 @@ +package com.docus.server.service.impl; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.redis.service.IdService; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.convert.RcvSysParamConvert; +import com.docus.server.dto.recovery.rcvsysparam.AddRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.DeleteRcvSysParamDTO; +import com.docus.server.dto.recovery.rcvsysparam.EditRcvSysParamDTO; +import com.docus.server.entity.recovery.RcvSysParam; +import com.docus.server.infrastructure.dao.IRcvSysParamDao; +import com.docus.server.service.IRcvSysParamService; +import com.docus.server.vo.recovery.rcvsysparam.RcvSysParamVO; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统参数表 服务实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Service +public class RcvSysParamServiceImpl implements IRcvSysParamService { + @Resource + private IRcvSysParamDao iRcvSysParamDao; + @Resource + private IdService idService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @Override + public RcvSysParamVO findById(Serializable id) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findById(id)); + } + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + @Override + public List findByIds(List ids) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findByIds(ids)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Object propertyValue) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Collection propertyValue) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvSysParamVO findOneBy(String propertyName, Object propertyValue) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvSysParamVO findOneBy(String propertyName, Collection propertyValue) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 查询所有 + * + * @return 实体列表 + */ + @Override + public List findAll() { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.findAll()); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + return RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.search(searchDTO)); + + //PageResult result = RcvSysParamConvert.INSTANCE.convertVO(iRcvSysParamDao.search(searchDTO)); + + //if (CollectionUtils.isEmpty(result.getList())) { + //return new PageResult<>(); + //} + + //Map map = iSchSystemParamsService.find(ListUtils.distinctSelect(result.getList(), SchCollectorVO::getCollectorId)); + + //result.getList().forEach(p -> { + // String collectorId = String.valueOf(p.getCollectorId()); + // if (map.containsKey(collectorId)) { + // p.setCollectorName(map.get(collectorId).getParamName()); + // } + //}); + + //return result; + } + + /** + * 新增 + * + * @param addRcvSysParamDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(AddRcvSysParamDTO addRcvSysParamDTO) { + RcvSysParam rcvSysParam = RcvSysParamConvert.INSTANCE.convertDO(addRcvSysParamDTO); + rcvSysParam.setId(idService.getDateSeq()); + return iRcvSysParamDao.add(rcvSysParam); + + // String name = addRcvSysParamDTO.getName(); + + //RcvSysParam rcvSysParam = iRcvSysParamDao.findOneBy("name", name); + + //if (Func.notNull(rcvSysParam)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "系统参数表已经存在"); + // } + + // RcvSysParam rcvSysParam =RcvSysParamConvert.INSTANCE.convertDO(addRcvSysParamDTO); + // rcvSysParam.setId(idService.getDateSeq()); + + // return iRcvSysParamDao.add(schCollector); + + } + + /** + * 批量新增 + * + * @param addRcvSysParamDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addBatch(List addRcvSysParamDTOList) { + + List rcvSysParamList = RcvSysParamConvert.INSTANCE.convertAddDOList(addRcvSysParamDTOList); + + rcvSysParamList.forEach(p -> { + p.setId(idService.getDateSeq()); + }); + + return iRcvSysParamDao.saveBatch(rcvSysParamList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 新增或编辑 + * + * @param editRcvSysParamDTO 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEdit(EditRcvSysParamDTO editRcvSysParamDTO) { + RcvSysParam rcvSysParam = RcvSysParamConvert.INSTANCE.convertDO(editRcvSysParamDTO); + return iRcvSysParamDao.saveOrUpdate(rcvSysParam); + } + + /** + * 批量新增或编辑 + * + * @param editRcvSysParamDTOList 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEditBatch(List editRcvSysParamDTOList) { + List rcvSysParamList = RcvSysParamConvert.INSTANCE.convertEditDOList(editRcvSysParamDTOList); + return iRcvSysParamDao.saveOrUpdateBatch(rcvSysParamList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 编辑 + * + * @param editRcvSysParamDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean edit(EditRcvSysParamDTO editRcvSysParamDTO) { + RcvSysParam rcvSysParam = RcvSysParamConvert.INSTANCE.convertDO(editRcvSysParamDTO); + return iRcvSysParamDao.edit(rcvSysParam); + + // Long id = editRcvSysParamDTO.getId(); + + // RcvSysParam rcvSysParam = iRcvSysParamDao.findById(id); + + // if (Func.isNull(rcvSysParam)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "系统参数表,无法更新!"); + // } + + // rcvSysParam.setUpdateTime(LocalDateTime.now()); + // return iRcvSysParamDao.edit(rcvSysParam); + } + + /** + * 批量编辑 + * + * @param editRcvSysParamDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean editBatchById(List editRcvSysParamDTOList) { + List rcvSysParamList = RcvSysParamConvert.INSTANCE.convertEditDOList(editRcvSysParamDTOList); + return iRcvSysParamDao.updateBatchById(rcvSysParamList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 批量删除 + * + * @param deleteRcvSysParamDTO 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(DeleteRcvSysParamDTO deleteRcvSysParamDTO) { + return iRcvSysParamDao.delete(deleteRcvSysParamDTO.getIds()); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(Serializable id) { + return iRcvSysParamDao.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Object propertyValue) { + return iRcvSysParamDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Collection propertyValue) { + return iRcvSysParamDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + @Override + public int deleteByIds(Collection ids) { + return iRcvSysParamDao.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvSysParamDao.findByIdAndName(id, name); + } + +} + diff --git a/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java new file mode 100644 index 0000000..56f12bb --- /dev/null +++ b/docus-recovery/src/main/java/com/docus/server/service/impl/RcvSysUserServiceImpl.java @@ -0,0 +1,324 @@ +package com.docus.server.service.impl; + +import com.docus.infrastructure.core.db.dao.IBaseDao; +import com.docus.infrastructure.redis.service.IdService; +import com.docus.infrastructure.web.request.SearchDTO; +import com.docus.infrastructure.web.response.PageResult; +import com.docus.server.convert.RcvSysUserConvert; +import com.docus.server.dto.recovery.rcvsysuser.AddRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.DeleteRcvSysUserDTO; +import com.docus.server.dto.recovery.rcvsysuser.EditRcvSysUserDTO; +import com.docus.server.entity.recovery.RcvSysUser; +import com.docus.server.infrastructure.dao.IRcvSysUserDao; +import com.docus.server.service.IRcvSysUserService; +import com.docus.server.vo.recovery.rcvsysuser.RcvSysUserVO; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + +/** + * 系统登录用户表 服务实现类 + * + * @author AutoGenerator + * @since 2023-09-13 + */ +@Service +public class RcvSysUserServiceImpl implements IRcvSysUserService { + @Resource + private IRcvSysUserDao iRcvSysUserDao; + @Resource + private IdService idService; + + /** + * 按主键查询 + * + * @param id 主键Id + * @return 实体 + */ + @Override + public RcvSysUserVO findById(Serializable id) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findById(id)); + } + + /** + * 按主键集合查询 + * + * @param ids 主键ids + * @return 实体列表 + */ + @Override + public List findByIds(List ids) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findByIds(ids)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Object propertyValue) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体列表 + */ + @Override + public List findBy(String propertyName, Collection propertyValue) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvSysUserVO findOneBy(String propertyName, Object propertyValue) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 按属性查询 + * + * @param propertyName 属性名 + * @param propertyValue 属性值 + * @return 实体 + */ + @Override + public RcvSysUserVO findOneBy(String propertyName, Collection propertyValue) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findOneBy(propertyName, propertyValue)); + } + + /** + * 查询所有 + * + * @return 实体列表 + */ + @Override + public List findAll() { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.findAll()); + } + + /** + * 关键字搜索 + * + * @param searchDTO 搜索参数 + * @return 分页列表 + */ + @Override + public PageResult search(SearchDTO searchDTO) { + return RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.search(searchDTO)); + + //PageResult result = RcvSysUserConvert.INSTANCE.convertVO(iRcvSysUserDao.search(searchDTO)); + + //if (CollectionUtils.isEmpty(result.getList())) { + //return new PageResult<>(); + //} + + //Map map = iSchSystemParamsService.find(ListUtils.distinctSelect(result.getList(), SchCollectorVO::getCollectorId)); + + //result.getList().forEach(p -> { + // String collectorId = String.valueOf(p.getCollectorId()); + // if (map.containsKey(collectorId)) { + // p.setCollectorName(map.get(collectorId).getParamName()); + // } + //}); + + //return result; + } + + /** + * 新增 + * + * @param addRcvSysUserDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(AddRcvSysUserDTO addRcvSysUserDTO) { + RcvSysUser rcvSysUser = RcvSysUserConvert.INSTANCE.convertDO(addRcvSysUserDTO); + rcvSysUser.setUserId(idService.getDateSeq()); + return iRcvSysUserDao.add(rcvSysUser); + + // String name = addRcvSysUserDTO.getName(); + + //RcvSysUser rcvSysUser = iRcvSysUserDao.findOneBy("name", name); + + //if (Func.notNull(rcvSysUser)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "系统登录用户表已经存在"); + // } + + // RcvSysUser rcvSysUser =RcvSysUserConvert.INSTANCE.convertDO(addRcvSysUserDTO); + // rcvSysUser.setId(idService.getDateSeq()); + + // return iRcvSysUserDao.add(schCollector); + + } + + /** + * 批量新增 + * + * @param addRcvSysUserDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addBatch(List addRcvSysUserDTOList) { + + List rcvSysUserList = RcvSysUserConvert.INSTANCE.convertAddDOList(addRcvSysUserDTOList); + + rcvSysUserList.forEach(p -> { + p.setUserId(idService.getDateSeq()); + }); + + return iRcvSysUserDao.saveBatch(rcvSysUserList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 新增或编辑 + * + * @param editRcvSysUserDTO 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEdit(EditRcvSysUserDTO editRcvSysUserDTO) { + RcvSysUser rcvSysUser = RcvSysUserConvert.INSTANCE.convertDO(editRcvSysUserDTO); + return iRcvSysUserDao.saveOrUpdate(rcvSysUser); + } + + /** + * 批量新增或编辑 + * + * @param editRcvSysUserDTOList 新增或编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addOrEditBatch(List editRcvSysUserDTOList) { + List rcvSysUserList = RcvSysUserConvert.INSTANCE.convertEditDOList(editRcvSysUserDTOList); + return iRcvSysUserDao.saveOrUpdateBatch(rcvSysUserList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 编辑 + * + * @param editRcvSysUserDTO 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean edit(EditRcvSysUserDTO editRcvSysUserDTO) { + RcvSysUser rcvSysUser = RcvSysUserConvert.INSTANCE.convertDO(editRcvSysUserDTO); + return iRcvSysUserDao.edit(rcvSysUser); + + // Long id = editRcvSysUserDTO.getId(); + + // RcvSysUser rcvSysUser = iRcvSysUserDao.findById(id); + + // if (Func.isNull(rcvSysUser)) { + // throw new ApiException(ExceptionCode.ParamIllegal.getCode(), "系统登录用户表,无法更新!"); + // } + + // rcvSysUser.setUpdateTime(LocalDateTime.now()); + // return iRcvSysUserDao.edit(rcvSysUser); + } + + /** + * 批量编辑 + * + * @param editRcvSysUserDTOList 编辑参数 + * @return 成功或失败 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean editBatchById(List editRcvSysUserDTOList) { + List rcvSysUserList = RcvSysUserConvert.INSTANCE.convertEditDOList(editRcvSysUserDTOList); + return iRcvSysUserDao.updateBatchById(rcvSysUserList, IBaseDao.DEFAULT_BATCH_SIZE); + } + + /** + * 批量删除 + * + * @param deleteRcvSysUserDTO 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(DeleteRcvSysUserDTO deleteRcvSysUserDTO) { + return iRcvSysUserDao.delete(deleteRcvSysUserDTO.getIds()); + } + + /** + * 按主键删除 + * + * @param id 删除参数 + * @return 成功或失败 + */ + @Override + public int delete(Serializable id) { + return iRcvSysUserDao.delete(id); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Object propertyValue) { + return iRcvSysUserDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按属性删除 + * + * @param propertyName 删除属性名 + * @param propertyValue 删除属性值集合 + * @return 成功或失败 + */ + @Override + public int deleteBy(String propertyName, Collection propertyValue) { + return iRcvSysUserDao.deleteBy(propertyName, propertyValue); + } + + /** + * 按主键集合批量删除 + * + * @param ids 删除参数 + * @return 成功或失败 + */ + @Override + public int deleteByIds(Collection ids) { + return iRcvSysUserDao.deleteByIds(ids); + } + + /** + * 名称不重复 + * + * @param id 主键 + * @param name 名称 + * @return 名称重复数量 + */ + @Override + public int findByIdAndName(Serializable id, String name) { + return iRcvSysUserDao.findByIdAndName(id, name); + } + +} + diff --git a/docus-recovery/src/main/resources/application.properties b/docus-recovery/src/main/resources/application.properties new file mode 100644 index 0000000..8543a33 --- /dev/null +++ b/docus-recovery/src/main/resources/application.properties @@ -0,0 +1,9 @@ +#当前项目的根package +api.base-package=com.docus.server + +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.url=jdbc:mysql://db.docus.cn:3306/docus_recovery?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai +spring.datasource.username=docus +spring.datasource.password=docus702 + +mybatis-plus.type-enums-package=com.docus.server.enums diff --git a/docus-recovery/src/main/resources/bin/auto.bat b/docus-recovery/src/main/resources/bin/auto.bat new file mode 100644 index 0000000..b07af42 --- /dev/null +++ b/docus-recovery/src/main/resources/bin/auto.bat @@ -0,0 +1,6 @@ +@echo off + + +WinSW.exe status|findstr NonExistent && winsw install + +WinSW.exe status|findstr stopped && winsw start diff --git a/docus-recovery/src/main/resources/bin/jenkins-update.bat b/docus-recovery/src/main/resources/bin/jenkins-update.bat new file mode 100644 index 0000000..19d3f53 --- /dev/null +++ b/docus-recovery/src/main/resources/bin/jenkins-update.bat @@ -0,0 +1,21 @@ +@echo off + +set deployDir=%1\@project.artifactId@ +if %deployDir%=="" set deployDir=d:\webroot\@project.artifactId@ + +set curr_file=%cd% +cd /d %deployDir% +call stop.bat +sc query @project.artifactId@ |Find "RUNNING" && ping 127.0.0.1 -n 10 >nul +cd %curr_file% +rd/s/q %deployDir%\lib +rd/s/q %deployDir%\dataConfig +rd/s/q %deployDir%\config +rd/s/q %deployDir%\mybatis.mapper +del /s/q %deployDir%\*.jar +xcopy /Y/E/I * %deployDir% + +cd /d %deployDir% +call auto.bat +cd %curr_file% + diff --git a/docus-recovery/src/main/resources/bin/start.bat b/docus-recovery/src/main/resources/bin/start.bat new file mode 100644 index 0000000..58c25cb --- /dev/null +++ b/docus-recovery/src/main/resources/bin/start.bat @@ -0,0 +1,21 @@ +set java_opts=-Xms512m -Xmx512m +set key="java_opts" + + +rem 文件不存在,就跳过 +if not exist java-ops.ini goto end + +for /f "tokens=1,2 delims==" %%i in (java-ops.ini) do ( + if "%%i"==%key% set java_opts=%%j) +echo java_opts is : %java_opts% + +:end + +rem 启动java + +java %java_opts% -Dfile.encoding=utf-8 -jar -Dspring.profiles.active=@profile.name@ -Dloader.path=config,lib @project.build.finalName@.jar + + + + + diff --git a/docus-recovery/src/main/resources/bin/stop.bat b/docus-recovery/src/main/resources/bin/stop.bat new file mode 100644 index 0000000..1e224c0 --- /dev/null +++ b/docus-recovery/src/main/resources/bin/stop.bat @@ -0,0 +1,3 @@ +@echo off + +winsw stop diff --git a/docus-recovery/src/main/resources/bin/update.bat b/docus-recovery/src/main/resources/bin/update.bat new file mode 100644 index 0000000..67730ec --- /dev/null +++ b/docus-recovery/src/main/resources/bin/update.bat @@ -0,0 +1,47 @@ +@echo off + +set curr_file=%cd% + +set parentDir=%1 +if %parentDir%=="" set deployDir=d:\webroot + + +set deployDir=%parentDir%\@project.artifactId@ + +set backupDir=%parentDir%\backup + +set dateStr=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% + + +cd /d %deployDir% + +call stop.bat +sc query @project.artifactId@ |Find "RUNNING" && ping 127.0.0.1 -n 10 >nul + +cd /d %parentDir% + +xcopy /Y/E/I project.artifactId@\lib %backupDir%\%dateStr%\@project.artifactId@lib +xcopy /Y/E/I project.artifactId@\config %backupDir%\%dateStr%\@project.artifactId@config +xcopy /Y/E/I project.artifactId@\*.jar %backupDir%\%dateStr%\@project.artifactId@ +xcopy /Y/E/I project.artifactId@\*.bat %backupDir%\%dateStr%\@project.artifactId@ +xcopy /Y/E/I project.artifactId@\*.exe %backupDir%\%dateStr%\@project.artifactId@ +xcopy /Y/E/I project.artifactId@\*.xml %backupDir%\%dateStr%\@project.artifactId@ + + +cd %curr_file% + +rd/s/q %deployDir%\lib +rd/s/q %deployDir%\config +del /s/q %deployDir%\*.jar + + +xcopy /Y/E/I lib %deployDir%\lib +xcopy /Y/E/I config %deployDir%\config +xcopy /Y/E/I *.jar %deployDir% +xcopy /Y/E/I *.bat %deployDir% +xcopy /Y/E/I *.exe %deployDir% +xcopy /Y/E/I *.xml %deployDir% + +cd /d %deployDir% +call auto.bat +cd %curr_file% \ No newline at end of file diff --git a/docus-recovery/src/main/resources/bin/winsw.xml b/docus-recovery/src/main/resources/bin/winsw.xml new file mode 100644 index 0000000..b3f546e --- /dev/null +++ b/docus-recovery/src/main/resources/bin/winsw.xml @@ -0,0 +1,8 @@ + + docus-recovery + 生产-回收查询(docus-recovery)-服务 + 生产-回收查询(docus-recovery)-服务 + Automatic + %BASE%\start.bat + + \ No newline at end of file diff --git a/docus-recovery/src/main/resources/bootstrap.yml b/docus-recovery/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..4092aab --- /dev/null +++ b/docus-recovery/src/main/resources/bootstrap.yml @@ -0,0 +1,65 @@ +server: + port: 9116 +spring: + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + profiles: + active: dev + application: + name: @artifactId@ + datasource: + dynamic: + primary: master #设置默认的数据源,默认值为master + strict: false #是否弃用严格模式,如果启用在味匹配到指定数据源时抛出异常 + datasource: + #公司病案的文件服务数据库 + master: + url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_recovery?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: docus + password: docus702 + driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy + type: com.alibaba.druid.pool.DruidDataSource + servlet: + multipart: + max-file-size: 100MB + max-request-size: 200MB + redis: + host: redis.docus.cn + password: JSdocus@702 + cloud: + nacos: + discovery: + server-addr: nacos.docus.cn + namespace: 34acdf7a-9fc6-4bbd-8aea-9a47c8007ad5 + config: + server-addr: ${spring.cloud.nacos.discovery.server-addr} + namespace: 34acdf7a-9fc6-4bbd-8aea-9a47c8007ad5 + file-extension: yml + shared-configs: + - comm.${spring.cloud.nacos.config.file-extension} + +mybatis-plus: + configuration: + map-underscore-to-camel-case: true + call-setters-on-nulls: true + jdbc-type-for-null: null + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + update-strategy: ignored + field-strategy: NOT_EMPTY + db-type: MYSQL + mapper-locations: classpath*:/mapper/*Mapper.xml + type-enums-package: com.docus.server.enums + +file: + uploadFolder: D://docus/source/ + uploadCompressFolder: D://docus/compress/ + uploadCutFolder: D://docus/cut/ + +ocr: + api-url: http://192.168.16.85:9999/uploadfile + +download: + api-url: http://localhost:9291/api/downplatform/uploadFileBatch \ No newline at end of file diff --git a/docus-recovery/src/main/resources/log4jdbc.log4j2.properties b/docus-recovery/src/main/resources/log4jdbc.log4j2.properties new file mode 100644 index 0000000..5cb6f99 --- /dev/null +++ b/docus-recovery/src/main/resources/log4jdbc.log4j2.properties @@ -0,0 +1,2 @@ +# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger +log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator \ No newline at end of file diff --git a/docus-recovery/src/main/resources/logback.xml b/docus-recovery/src/main/resources/logback.xml new file mode 100644 index 0000000..9757aac --- /dev/null +++ b/docus-recovery/src/main/resources/logback.xml @@ -0,0 +1,104 @@ + + + docus-recovery + + + + + [%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%contextName] [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n + + + + + + %message%n + + + + + + + [%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%X{traceId}] [%L] [%-5p] %m%n + utf-8 + + + + + ${log.path}%d.%i.log + + 500MB + + 30 + + + + + + [%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%X{traceId}] [%L] [%-5p] %m%n + utf-8 + + + + + ${log.path}external%d.%i.log + + 500MB + + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrBasicMapper.xml b/docus-recovery/src/main/resources/mapper/OcrBasicMapper.xml new file mode 100644 index 0000000..1a214fc --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrBasicMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id, patient_id, inpatient_no, name, admiss_date, admiss_dept, admiss_dept_name, dis_date, dis_dept, dis_dept_name, ocr_statue, ocr_finish_time, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrBasicTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrBasicTestMapper.xml new file mode 100644 index 0000000..ebebc30 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrBasicTestMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id, patient_id, inpatient_no, name, admiss_date, admiss_dept, admiss_dept_name, dis_date, dis_dept, dis_dept_name, ocr_statue, ocr_finish_time, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrCutConfigMapper.xml b/docus-recovery/src/main/resources/mapper/OcrCutConfigMapper.xml new file mode 100644 index 0000000..51c9488 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrCutConfigMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + id, height, width_start, width_end, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrCutConfigTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrCutConfigTestMapper.xml new file mode 100644 index 0000000..5ce45f2 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrCutConfigTestMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + id, height, width_start, width_end, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrFileInfoMapper.xml b/docus-recovery/src/main/resources/mapper/OcrFileInfoMapper.xml new file mode 100644 index 0000000..49ce62b --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrFileInfoMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, patient_id, file_title, pic_name, file_type, sort, serial_number, pic_url, pic_compress_url,pic_cut_url, angle, ocr_text, ocr_finish_time, ocr_status, assort_id, assort_name, rule_id,hit_key,rate,file_size,height,width, x,y, json_str,create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrFileInfoTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrFileInfoTestMapper.xml new file mode 100644 index 0000000..bfc96a3 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrFileInfoTestMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, patient_id, file_title, pic_name, file_type, sort, serial_number, pic_url,pic_compress_url, pic_cut_url, angle, ocr_text, ocr_finish_time, ocr_status, assort_id, assort_name, rule_id, hit_key, rate,file_size,height,width, x,y,json_str,create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrRuleMapper.xml b/docus-recovery/src/main/resources/mapper/OcrRuleMapper.xml new file mode 100644 index 0000000..e79e098 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrRuleMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + id, assort_id, match_ratio, key_word, json, version, is_use_second, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrRuleTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrRuleTestMapper.xml new file mode 100644 index 0000000..e1644f0 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrRuleTestMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + id, assort_id, match_ratio, key_word, json, version, is_use_second, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrSpecialDetailMapper.xml b/docus-recovery/src/main/resources/mapper/OcrSpecialDetailMapper.xml new file mode 100644 index 0000000..4f54614 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrSpecialDetailMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + id, special_id, match_ratio, key_word, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrSpecialRuleMapper.xml b/docus-recovery/src/main/resources/mapper/OcrSpecialRuleMapper.xml new file mode 100644 index 0000000..d9e3586 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrSpecialRuleMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + id, name, assort_id, start_json, end_json, version, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrSpecialRuleTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrSpecialRuleTestMapper.xml new file mode 100644 index 0000000..e7746ed --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrSpecialRuleTestMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + id, name, assort_id, start_json, end_json, version, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrUrlConfigMapper.xml b/docus-recovery/src/main/resources/mapper/OcrUrlConfigMapper.xml new file mode 100644 index 0000000..e739736 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrUrlConfigMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + id, url, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrUrlConfigTestMapper.xml b/docus-recovery/src/main/resources/mapper/OcrUrlConfigTestMapper.xml new file mode 100644 index 0000000..c6b9e93 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrUrlConfigTestMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + id, url, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/OcrVersionMapper.xml b/docus-recovery/src/main/resources/mapper/OcrVersionMapper.xml new file mode 100644 index 0000000..88a97e0 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/OcrVersionMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + id, version, release_note, is_enable, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/RcvBasicMapper.xml b/docus-recovery/src/main/resources/mapper/RcvBasicMapper.xml new file mode 100644 index 0000000..79c58b1 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/RcvBasicMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, patient_id, admiss_times, inpatient_no, jzh, admiss_id, name, serial_number, admiss_date, admiss_dept, admiss_dept_name, dis_date, dis_dept, dis_dept_name, admiss_days, attending_name, file_source, recovery_state, revovery_time, revovery_user, update_time, create_time + + + diff --git a/docus-recovery/src/main/resources/mapper/RcvSysParamMapper.xml b/docus-recovery/src/main/resources/mapper/RcvSysParamMapper.xml new file mode 100644 index 0000000..59d4c3f --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/RcvSysParamMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + id, parent_id, param_code, param_name, param_info, param_value, param_group, sort_no, need_encrypt, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/RcvSysUserMapper.xml b/docus-recovery/src/main/resources/mapper/RcvSysUserMapper.xml new file mode 100644 index 0000000..8275468 --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/RcvSysUserMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + user_id, user_name, user_pwd, user_sex, user_age, user_tel, user_email, user_head, user_position, effective, create_time, update_time + + + diff --git a/docus-recovery/src/main/resources/mapper/ZdAssortMapper.xml b/docus-recovery/src/main/resources/mapper/ZdAssortMapper.xml new file mode 100644 index 0000000..625e28a --- /dev/null +++ b/docus-recovery/src/main/resources/mapper/ZdAssortMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + assort_id, assort_name, assort_sort, effective, is_check, assort_code, level, type_code, recall_role, collect_id, assort_source + + + diff --git a/docus-recovery/src/test/java/com/docus/server/Example.java b/docus-recovery/src/test/java/com/docus/server/Example.java new file mode 100644 index 0000000..5a836ed --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/Example.java @@ -0,0 +1,56 @@ +package com.docus.server; + +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.hardware.NetworkIF; +import oshi.software.os.FileSystem; +import oshi.software.os.OSFileStore; + +import java.util.Arrays; +import java.util.List; + +public class Example { + public static void main(String[] args) { + SystemInfo systemInfo = new SystemInfo(); + CentralProcessor processor = systemInfo.getHardware().getProcessor(); + int logicalProcessorCount = processor.getLogicalProcessorCount(); + String cpuModel = processor.getProcessorIdentifier().getName(); + long[] systemCpuLoadTicks = processor.getSystemCpuLoadTicks(); + + System.out.println(logicalProcessorCount); + System.out.println(cpuModel); + System.out.println(Arrays.asList(systemCpuLoadTicks)); + + GlobalMemory memory = systemInfo.getHardware().getMemory(); + long totalMemorySize = memory.getTotal(); + long availableMemorySize = memory.getAvailable(); + double memoryUsage = (totalMemorySize - availableMemorySize) * 100.0 / totalMemorySize; + System.out.println(totalMemorySize); + System.out.println(availableMemorySize); + System.out.println(memoryUsage); + + HardwareAbstractionLayer hal = systemInfo.getHardware(); + FileSystem fileSystem = systemInfo.getOperatingSystem().getFileSystem(); + List fileStores = fileSystem.getFileStores(); + for (OSFileStore store : fileStores) { + long totalSpace = store.getTotalSpace(); + long usableSpace = store.getUsableSpace(); + double usage = (totalSpace - usableSpace) * 100.0 / totalSpace; + System.out.println(totalSpace); + System.out.println(usableSpace); + System.out.println(usage); + } + + List networkIFs = systemInfo.getHardware().getNetworkIFs(); + for (NetworkIF networkIF : networkIFs) { + String name = networkIF.getName(); + long receiveBytes = networkIF.getBytesRecv(); + long transmitBytes = networkIF.getBytesSent(); + System.out.println(name); + System.out.println(receiveBytes); + System.out.println(transmitBytes); + } + } +} diff --git a/docus-recovery/src/test/java/com/docus/server/FileController.java b/docus-recovery/src/test/java/com/docus/server/FileController.java new file mode 100644 index 0000000..fdb8f49 --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/FileController.java @@ -0,0 +1,83 @@ +package com.docus.server; + +import cn.hutool.core.util.ZipUtil; +import cn.hutool.http.HttpRequest; + +import com.google.common.collect.Lists; +import io.swagger.annotations.ApiOperation; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.web.bind.annotation.PostMapping; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +/** + * 文件上传下载 API + * + * @author AutoGenerator + * @since 2023-07-15 + */ +@SpringBootTest +public class FileController { + + + + + public static void test1() throws Exception { + ZipUtil.unzip("/Users/linruifeng/Desktop/collector_packages/collector.zip", "/Users/linruifeng/Desktop/collector_packages"); +// ZipUtil.unGzip(new GZIPInputStream(new FileInputStream(new File("/Users/linruifeng/Desktop/collector_packages/index.tar.gz")))); +// FileUtils.unTarGz("/Users/linruifeng/Desktop/collector_packages/", "/Users/linruifeng/Desktop/collector_packages/test"); + } + + @ApiOperation("test") + @PostMapping("/test") + public void test2() throws Exception { + File file = new File("D:\\docus\\cut\\segmentation\\20230822\\c6b03e5767814895a2c155c32f174051\\麻醉.jpg"); + File file1 = new File("D:\\docus\\cut\\segmentation\\20230822\\c6b03e5767814895a2c155c32f174052\\麻醉.jpg"); + + Map data = new HashMap<>(); + data.put("files", file); + data.put("filetype", "jpg"); + + ArrayList files = Lists.newArrayList(file, file1); + + String body = HttpRequest.post("http://localhost:9115/file/upload") + .form("files", files.toArray(new File[files.size()])) + .form("pathKey", "{\n" + + " \"success\": true,\n" + + " \"datas\": [\n" + + " {\n" + + " \"index\": 0,\n" + + " \"file_type\": \"string\",\n" + + " \"angle\": \"string\",\n" + + " \"decline\": true,\n" + + " \"hand_shadow\": true,\n" + + " \"sort\": [\n" + + " \"string\"\n" + + " ],\n" + + " \"data\": [\n" + + " {\n" + + " \"boxes\": {\n" + + " \"left\": 0,\n" + + " \"right\": 0,\n" + + " \"top\": 0,\n" + + " \"bottom\": 0\n" + + " },\n" + + " \"text\": \"string\"\n" + + " }\n" + + " ]\n" + + " }\n" + + " ],\n" + + " \"time\": 0,\n" + + " \"message\": \"string\"\n" + + "}") + .contentType("multipart/form-data") + .execute() + .body(); + + System.out.println(body); + + } +} diff --git a/docus-recovery/src/test/java/com/docus/server/FileUtils.java b/docus-recovery/src/test/java/com/docus/server/FileUtils.java new file mode 100644 index 0000000..2010beb --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/FileUtils.java @@ -0,0 +1,162 @@ +package com.docus.server; + +import org.apache.tools.tar.TarInputStream; + +import java.io.*; +import java.util.zip.GZIPInputStream; + +/** + * @program: JavaCode + * @ClassName FileUtils + * @description: + * @author: ltcz99 + * @create: 2023-04-16 + * @Version 1.0 + **/ +public class FileUtils { + + + /** + * 解压tar.gz文件到指定目录 + * + * @param sourceDir 源文件夹 + * @param destDir 解压后的目标文件夹 + */ + public static void unTarGz(String sourceDir, String destDir) throws Exception { + File outFile = new File(sourceDir); + File[] files = outFile.listFiles(); + try { + //创建输出目录 + createDirectory(destDir, null); + TarInputStream tarIn; + int index = 1; + for (File file : files) { + if (file.getName().contains("tar.gz")) { + tarIn = new TarInputStream(new GZIPInputStream( + new BufferedInputStream(new FileInputStream(file))), + 1024 * 2); + + String outFileName = destDir + "/" + file.getName(); + OutputStream out = new FileOutputStream(new File(outFileName)); + int length = 0; + byte[] b = new byte[2048]; + while ((length = tarIn.read(b)) != -1) { + out.write(b, 0, length); + } + out.close(); + tarIn.close(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + + /** + * 解压gz到指定的文件夹下面 + * + * @param sourceDir + * @param destDir + */ + public static void unGzipFile(String sourceDir, String destDir) { + //创建输出目录 + createDirectory(destDir, null); + File sourceFile = new File(sourceDir); + File[] files = sourceFile.listFiles(); + try { + int index = 1; + for (File file : files) { + if (file.getName().contains("gz")) { + FileInputStream fin = new FileInputStream(file); + //建立gzip解压工作流 + GZIPInputStream gzin = new GZIPInputStream(fin); + //建立解压文件输出流 + File tmpFile = new File(destDir + "/" + index++ + ".log"); + FileOutputStream fout = new FileOutputStream(tmpFile); + int length; + byte[] buf = new byte[2048]; + while ((length = gzin.read(buf, 0, buf.length)) != -1) { + fout.write(buf, 0, length); + } + gzin.close(); + fout.close(); + fin.close(); + } + } + } catch (Exception ex) { + System.err.println(ex); + } + } + + /** + * 读取文件到指定的文件夹下面 + * + * @param sourceLogPath + * @param destLogPath + */ + public static void readFileToDestLogPath(String sourceLogPath, String destLogPath) { + File sourceFile = new File(sourceLogPath); + File[] files = sourceFile.listFiles(); + for (File file : files) { + String fileName = destLogPath + "/" + file.getName(); + File destFile = new File(fileName); + if (file.getName().contains("log") && !fileName.contains("gz")) { + try { + if (destFile.exists()) { + destFile.delete(); + } + String logFile = sourceFile + "/" + file.getName(); + FileInputStream fis = new FileInputStream(logFile); + FileOutputStream fos = new FileOutputStream(destFile); + BufferedInputStream bis = new BufferedInputStream(fis); + BufferedOutputStream bos = new BufferedOutputStream(fos); + int len = 0; + while ((len = bis.read()) != -1) { + bos.write(len); + } + bos.flush(); + // 关闭资源 + fis.close(); + bis.close(); + fos.close(); + bos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + } + + /** + * 创建目录 + * + * @param outputDir + * @param subDir + */ + public static void createDirectory(String outputDir, String subDir) { + File file = new File(outputDir); + //子目录不为空 + if (!(subDir == null || subDir.trim().equals(""))) { + file = new File(outputDir + "/" + subDir); + } + if (!file.exists()) { + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + file.mkdirs(); + } + } + + public static void main(String[] args) throws Exception { + String sourceDir = "/Users/ltcz99/Downloads/templog"; + String destDir = "/Users/ltcz99/Downloads/unzip/"; + //解压.gz文件到指定的文件件下面 + unGzipFile(sourceDir, destDir); + // 解压tar.gz文件到指定的文件夹下面 + unTarGz(sourceDir, destDir); + //读取特定的文件到指定的文件夹下面 + readFileToDestLogPath(sourceDir, destDir); + } +} diff --git a/docus-recovery/src/test/java/com/docus/server/ImageProcessingExample.java b/docus-recovery/src/test/java/com/docus/server/ImageProcessingExample.java new file mode 100644 index 0000000..a6ebf7c --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/ImageProcessingExample.java @@ -0,0 +1,60 @@ +package com.docus.server; + +import cn.hutool.core.img.ImgUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +public class ImageProcessingExample { + + public static void main(String[] args) throws Exception { + +// UploadBatchFileRequest uploadBatchFileParam = new UploadBatchFileRequest(); +// System.out.println(JSON.toJSON(uploadBatchFileParam)); +// +// FileDTO fileDto = new FileDTO(); +// System.out.println(JSON.toJSON(fileDto)); +// +// List fileDtoList = new ArrayList<>(); +// System.out.println(JSON.toJSON(fileDtoList)); + + + // 1. 调整图片大小 + ImgUtil.scale(FileUtil.file("C:\\Users\\dataexa\\Desktop\\麻醉.jpg"), FileUtil.file("C:\\Users\\dataexa\\Desktop\\output-麻醉.jpg"), 0.5f); + + // 2. 裁剪图片 +// ImgUtil.cut(FileUtil.file("C:\\Users\\dataexa\\Desktop\\麻醉.jpg"), FileUtil.file("C:\\Users\\dataexa\\Desktop\\output1.jpg"), new Rectangle(50, 50, 2400, (3527 / 2) / 2)); // 从input.jpg中裁剪出一个200x200的区域,保存为output.jpg + + // 5. 图片旋转 +// Image image = ImgUtil.rotate(ImageIO.read(FileUtil.file("C:\\Users\\dataexa\\Desktop\\麻醉.jpg")), 90); +// ImgUtil.write(image, FileUtil.file("C:\\Users\\dataexa\\Desktop\\output2.jpg")); + +// uploadByte("D:\\docus\\cut\\segmentation\\20230822\\c6b03e5767814895a2c155c32f174051\\麻醉.jpg"); + } + + public static void uploadByte(String path) { + File toFile = new File(path); + Map data = new HashMap(); + data.put("file", toFile); + data.put("filetype", "jpg"); + String body = HttpRequest.post("http://192.168.16.85:9999/uploadfile") + .form(data) + .contentType("multipart/form-data") + .execute() + .body(); + if (StrUtil.isNotBlank(body)) { +// OcrResponse jsonRootBean = JSON.parseObject(body, OcrResponse.class); +// System.out.println(jsonRootBean); + } + +// Boolean success = (Boolean)result.get("success"); +// BigDecimal time = (BigDecimal)result.get("time"); + + } + + +} diff --git a/docus-recovery/src/test/java/com/docus/server/SystemInfoUtils.java b/docus-recovery/src/test/java/com/docus/server/SystemInfoUtils.java new file mode 100644 index 0000000..a3f2ceb --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/SystemInfoUtils.java @@ -0,0 +1,313 @@ +package com.docus.server; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.hardware.NetworkIF; +import oshi.software.os.FileSystem; +import oshi.software.os.OSFileStore; +import oshi.software.os.OperatingSystem; +import oshi.util.Util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.DecimalFormat; +import java.util.Formatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Properties; +import java.util.StringTokenizer; + +/** + * 系统消息工具类 + **/ +public class SystemInfoUtils { + + private static final int OSHI_WAIT_SECOND = 1000; + private static final int SLEEP_TIME = 2 * 1000; + private static SystemInfo systemInfo = new SystemInfo(); + private static HardwareAbstractionLayer hardware = systemInfo.getHardware(); + private static OperatingSystem operatingSystem = systemInfo.getOperatingSystem(); + + public static void main(String[] args) throws Exception { + JSONObject info = getInfo(); + System.out.println(info); + } + + public static JSONObject getCpuInfo() { + JSONObject cpuInfo = new JSONObject(); + CentralProcessor processor = hardware.getProcessor(); + // CPU信息 + long[] prevTicks = processor.getSystemCpuLoadTicks(); + Util.sleep(OSHI_WAIT_SECOND); + long[] ticks = processor.getSystemCpuLoadTicks(); + long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()]; + long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()]; + long softirq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; + long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()]; + long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()]; + long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()]; + long iowait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; + long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()]; + long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal; + //cpu核数 + cpuInfo.put("cpuNum", processor.getLogicalProcessorCount()); + //cpu系统使用率 + cpuInfo.put("cSys", new DecimalFormat("#.##%").format(cSys * 1.0 / totalCpu)); + //cpu用户使用率 + cpuInfo.put("user", new DecimalFormat("#.##%").format(user * 1.0 / totalCpu)); + //cpu当前等待率 + cpuInfo.put("iowait", new DecimalFormat("#.##%").format(iowait * 1.0 / totalCpu)); + //cpu当前使用率 + cpuInfo.put("idle", new DecimalFormat("#.##%").format(1.0 - (idle * 1.0 / totalCpu))); + return cpuInfo; + } + + /** + * 系统jvm信息 + */ + public static JSONObject getJvmInfo() { + JSONObject cpuInfo = new JSONObject(); + Properties props = System.getProperties(); + Runtime runtime = Runtime.getRuntime(); + long jvmTotalMemoryByte = runtime.totalMemory(); + long freeMemoryByte = runtime.freeMemory(); + //jvm总内存 + cpuInfo.put("total", formatByte(runtime.totalMemory())); + //空闲空间 + cpuInfo.put("free", formatByte(runtime.freeMemory())); + //jvm最大可申请 + cpuInfo.put("max", formatByte(runtime.maxMemory())); + //vm已使用内存 + cpuInfo.put("user", formatByte(jvmTotalMemoryByte - freeMemoryByte)); + //jvm内存使用率 + cpuInfo.put("usageRate", new DecimalFormat("#.##%").format((jvmTotalMemoryByte - freeMemoryByte) * 1.0 / jvmTotalMemoryByte)); + //jdk版本 + cpuInfo.put("jdkVersion", props.getProperty("java.version")); + //jdk路径 + cpuInfo.put("jdkHome", props.getProperty("java.home")); + return cpuInfo; + } + + /** + * 系统内存信息 + */ + public static JSONObject getMemInfo() { + JSONObject cpuInfo = new JSONObject(); + GlobalMemory memory = systemInfo.getHardware().getMemory(); + //总内存 + long totalByte = memory.getTotal(); + //剩余 + long acaliableByte = memory.getAvailable(); + //总内存 + cpuInfo.put("total", formatByte(totalByte)); + //使用 + cpuInfo.put("used", formatByte(totalByte - acaliableByte)); + //剩余内存 + cpuInfo.put("free", formatByte(acaliableByte)); + //使用率 + cpuInfo.put("usageRate", new DecimalFormat("#.##%").format((totalByte - acaliableByte) * 1.0 / totalByte)); + return cpuInfo; + } + + /** + * 带宽 + */ + public static JSONArray networkIFs() throws Exception { + JSONObject cpuInfo; + JSONArray sysFiles = new JSONArray(); + + List networkIFs = systemInfo.getHardware().getNetworkIFs(); + for (NetworkIF networkIF : networkIFs) { + String name = networkIF.getName(); + long receiveBytes = networkIF.getBytesRecv(); + long transmitBytes = networkIF.getBytesSent(); + + cpuInfo = new JSONObject(); + //名称 + cpuInfo.put("name", name); + //网络接收 + cpuInfo.put("receiveBytes", formatNumber(receiveBytes / (1024.0 * (2 * 1000 / 1000)))); + //网络发送 + cpuInfo.put("transmitBytes", formatNumber(transmitBytes / (1024.0 * (2 * 1000 / 1000)))); + + sysFiles.add(cpuInfo); + } + return sysFiles; + } + + public static JSONObject getNetWork() { + JSONObject networkInfo = new JSONObject(); + Properties props = System.getProperties(); + String os = props.getProperty("os.name").toLowerCase(); + os = os.startsWith("win") ? "windows" : "linux"; + Map result = new HashMap<>(); + Process pro = null; + Runtime r = Runtime.getRuntime(); + BufferedReader input = null; + try { + String command = "windows".equals(os) ? "netstat -e" : "ifconfig"; + pro = r.exec(command); + input = new BufferedReader(new InputStreamReader(pro.getInputStream())); + long result1[] = readInLine(input, os); + Thread.sleep(SLEEP_TIME); + pro.destroy(); + input.close(); + pro = r.exec(command); + input = new BufferedReader(new InputStreamReader(pro.getInputStream())); + long result2[] = readInLine(input, os); + String rxPercent = formatNumber((result2[0] - result1[0]) / (1024.0 * (SLEEP_TIME / 1000)));// 下行速率(kB/s) + String txPercent = formatNumber((result2[1] - result1[1]) / (1024.0 * (SLEEP_TIME / 1000)));// 上行速率(kB/s) + networkInfo.put("rxPercent", rxPercent); + networkInfo.put("txPercent", txPercent); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (input != null) { + try { + input.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + Optional.ofNullable(pro).ifPresent(p -> p.destroy()); + } + return networkInfo; + } + + private static long[] readInLine(BufferedReader input, String osType) { + long arr[] = new long[2]; + StringTokenizer tokenStat = null; + try { + if (osType.equals("linux")) { // 获取linux环境下的网口上下行速率 + long rx = 0, tx = 0; + String line = null; + //RX packets:4171603 errors:0 dropped:0 overruns:0 frame:0 + //TX packets:4171603 errors:0 dropped:0 overruns:0 carrier:0 + while ((line = input.readLine()) != null) { + if (line.indexOf("RX packets") >= 0) { + rx += Long.parseLong(line.substring(line.indexOf("RX packets") + 11, line.indexOf(" ", line.indexOf("RX packets") + 11))); + } else if (line.indexOf("TX packets") >= 0) { + tx += Long.parseLong(line.substring(line.indexOf("TX packets") + 11, line.indexOf(" ", line.indexOf("TX packets") + 11))); + } + } + arr[0] = rx; + arr[1] = tx; + } else { // 获取windows环境下的网口上下行速率 + input.readLine(); + input.readLine(); + input.readLine(); + input.readLine(); + tokenStat = new StringTokenizer(input.readLine()); + tokenStat.nextToken(); + arr[0] = Long.parseLong(tokenStat.nextToken()); + arr[1] = Long.parseLong(tokenStat.nextToken()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return arr; + } + + + private static String formatNumber(double f) { + return new Formatter().format("%.2f", f).toString(); + } + + /** + * 系统盘符信息 + */ + public static JSONArray getSysFileInfo() { + JSONObject cpuInfo; + JSONArray sysFiles = new JSONArray(); + FileSystem fileSystem = operatingSystem.getFileSystem(); + List fsArray = fileSystem.getFileStores(); + for (OSFileStore fs : fsArray) { + cpuInfo = new JSONObject(); + //盘符路径 + cpuInfo.put("dirName", fs.getMount()); + //盘符类型 + cpuInfo.put("sysTypeName", fs.getType()); + //文件类型 + cpuInfo.put("typeName", fs.getName()); + //总大小 + cpuInfo.put("total", formatByte(fs.getTotalSpace())); + //剩余大小 + cpuInfo.put("free", formatByte(fs.getUsableSpace())); + //已经使用量 + cpuInfo.put("used", formatByte(fs.getTotalSpace() - fs.getUsableSpace())); + if (fs.getTotalSpace() == 0) { + //资源的使用率 + cpuInfo.put("usage", 0); + } else { + cpuInfo.put("usage", new DecimalFormat("#.##%").format((fs.getTotalSpace() - fs.getUsableSpace()) * 1.0 / fs.getTotalSpace())); + } + sysFiles.add(cpuInfo); + } + return sysFiles; + } + + /** + * 系统信息 + */ + public static JSONObject getSysInfo() throws UnknownHostException { + JSONObject cpuInfo = new JSONObject(); + Properties props = System.getProperties(); + //操作系统名 + cpuInfo.put("osName", props.getProperty("os.name")); + //系统架构 + cpuInfo.put("osArch", props.getProperty("os.arch")); + //服务器名称 + cpuInfo.put("computerName", InetAddress.getLocalHost().getHostName()); + //服务器Ip + cpuInfo.put("computerIp", InetAddress.getLocalHost().getHostAddress()); + //项目路径 + cpuInfo.put("userDir", props.getProperty("user.dir")); + return cpuInfo; + } + + + /** + * 所有系统信息 + */ + public static JSONObject getInfo() throws Exception { + JSONObject info = new JSONObject(); + info.put("cpuInfo", getCpuInfo()); + info.put("jvmInfo", getJvmInfo()); + info.put("memInfo", getMemInfo()); + info.put("sysInfo", getSysInfo()); + info.put("sysFileInfo", getSysFileInfo()); + info.put("networkInfo", getNetWork()); + return info; + } + + /** + * 单位转换 + */ + private static String formatByte(long byteNumber) { + //换算单位 + double FORMAT = 1024.0; + double kbNumber = byteNumber / FORMAT; + if (kbNumber < FORMAT) { + return new DecimalFormat("#.##KB").format(kbNumber); + } + double mbNumber = kbNumber / FORMAT; + if (mbNumber < FORMAT) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + double gbNumber = mbNumber / FORMAT; + if (gbNumber < FORMAT) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + double tbNumber = gbNumber / FORMAT; + return new DecimalFormat("#.##TB").format(tbNumber); + } +} diff --git a/docus-recovery/src/test/java/com/docus/server/TsmsAuthApiApplicationTests.java b/docus-recovery/src/test/java/com/docus/server/TsmsAuthApiApplicationTests.java new file mode 100644 index 0000000..9ecbf9c --- /dev/null +++ b/docus-recovery/src/test/java/com/docus/server/TsmsAuthApiApplicationTests.java @@ -0,0 +1,87 @@ +package com.docus.server; + +import cn.smallbun.screw.core.Configuration; +import cn.smallbun.screw.core.engine.EngineConfig; +import cn.smallbun.screw.core.engine.EngineFileType; +import cn.smallbun.screw.core.engine.EngineTemplateType; +import cn.smallbun.screw.core.execute.DocumentationExecute; +import cn.smallbun.screw.core.process.ProcessConfig; +import com.docus.server.api.ocr.OcrApi; +import com.docus.server.vo.ocr.OcrResponse; +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.ApplicationContext; + +import javax.annotation.Resource; +import javax.sql.DataSource; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +@SpringBootTest +class ScrewTests { + + @Autowired + private ApplicationContext applicationContext; + @Resource + private OcrApi ocrApi; + + @Test + void test() { + + HikariConfig hikariConfig = new HikariConfig(); + hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver"); + hikariConfig.setJdbcUrl("jdbc:mysql://db.docus.cn:3306/docus-collector-scheduling?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); + hikariConfig.setUsername("docus"); + hikariConfig.setPassword("docus702"); + //设置可以获取tables remarks信息 + hikariConfig.addDataSourceProperty("useInformationSchema", "true"); + hikariConfig.setMinimumIdle(2); + hikariConfig.setMaximumPoolSize(5); + DataSource dataSource = new HikariDataSource(hikariConfig); + + //生成文件配置 + EngineConfig engineConfig = EngineConfig + .builder() + //文件生成路径 + .fileOutputDir("h:\\file") + //打开目录 + .openOutputDir(false) + //文件类型 + .fileType(EngineFileType.HTML) + //生成模板实现 + .produceType(EngineTemplateType.freemarker) + .build(); + //配置想要生成的表 + ProcessConfig processConfig = ProcessConfig + .builder() + //根据名称指定表生成 + .designatedTableName(new ArrayList<>()) + //根据表前缀生成 + .designatedTablePrefix(new ArrayList<>()) + //根据表后缀生成 + .designatedTableSuffix(new ArrayList<>()) + //忽略表名 + .ignoreTableName(new ArrayList<>()) + //忽略表前缀 + .ignoreTablePrefix(new ArrayList<>()) + //忽略表后缀 + .ignoreTableSuffix(new ArrayList<>()) + .build(); + //生成文档配置 + Configuration configuration = Configuration.builder() + .version("1.0.0") + .description("描述") + .dataSource(dataSource) + .engineConfig(engineConfig) + .produceConfig(processConfig) + .build(); + + //生成 + new DocumentationExecute(configuration).execute(); + } +} diff --git a/pom.xml b/pom.xml index ae5d526..10ea70e 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,9 @@ docus-collector-server pom - - docus-segmentation + + + docus-recovery docus-api-common docus-client-interface