skjcmanager/skjcmanager-ops-api/skjcmanager-resource-api/src/main/java/cn/gistack/resource/entity/TextualResearchAttach.java
New file @@ -0,0 +1,59 @@ package cn.gistack.resource.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; /** * 考证附件表 * * @author zhongrj * @date 2023-09-13 */ @Data @TableName(value = "sm_textual_research_attach") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class TextualResearchAttach { /** * id */ @ApiModelProperty(value = "id") @TableId(value = "id",type = IdType.ASSIGN_ID) private Long id; /** * 名称 */ @ApiModelProperty(value = "名称") private String name; /** * 路径 */ @ApiModelProperty(value = "路径") private String path; /** * 水库编号 */ @ApiModelProperty(value = "水库编号") private String resGuid; /** * 创建时间 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private Date createTime; } skjcmanager/skjcmanager-ops-api/skjcmanager-resource-api/src/main/java/cn/gistack/resource/vo/TextualResearchAttachVO.java
New file @@ -0,0 +1,13 @@ package cn.gistack.resource.vo; import cn.gistack.resource.entity.TextualResearchAttach; import lombok.Data; @Data public class TextualResearchAttachVO extends TextualResearchAttach { /** * 是否分页 传值就不分页 */ private Integer isPage; } skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/controller/TextualResearchAttachController.java
New file @@ -0,0 +1,115 @@ package cn.gistack.resource.controller; import cn.gistack.resource.entity.TextualResearchAttach; import cn.gistack.resource.service.TextualResearchAttachService; import cn.gistack.resource.vo.TextualResearchAttachVO; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * 考证附件控制层 * @author zhongrj * @date 2023-05-29 */ @RestController @AllArgsConstructor @RequestMapping("/textualResearchAttach/textualResearchAttach") public class TextualResearchAttachController { private final TextualResearchAttachService textualResearchAttachService; /** * 分页列表查询 * * @param textualResearchAttach * @return */ @ApiOperation(value="考证附件-分页列表查询", notes="考证附件-分页列表查询") @GetMapping(value = "/list") public R queryPageList(TextualResearchAttach textualResearchAttach, Query query) { IPage<TextualResearchAttach> pageList = textualResearchAttachService.page(Condition.getPage(query), Condition.getQueryWrapper(textualResearchAttach)); return R.data(pageList); } /** * 自定义分页列表查询 * @param query * @param textualResearchAttach * @return */ @ApiOperation(value="考证附件-自定义分页列表查询", notes="考证附件-自定义分页列表查询") @GetMapping(value = "/page") public R page(TextualResearchAttachVO textualResearchAttach, Query query) { return R.data( textualResearchAttachService.selectTextualResearchAttachPage(Condition.getPage(query),textualResearchAttach)); } /** * 添加 * * @param textualResearchAttach * @return */ @ApiOperation(value="考证附件-添加", notes="考证附件-添加") @PostMapping(value = "/add") public R add(@RequestBody TextualResearchAttach textualResearchAttach) { return R.data(textualResearchAttachService.save(textualResearchAttach)); } /** * 编辑 * * @param textualResearchAttach * @return */ @ApiOperation(value="考证附件-编辑", notes="考证附件-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public R edit(@RequestBody TextualResearchAttach textualResearchAttach) { return R.data(textualResearchAttachService.updateById(textualResearchAttach)); } /** * 通过id删除 * * @param id * @return */ @ApiOperation(value="考证附件-通过id删除", notes="考证附件-通过id删除") @PostMapping(value = "/delete") public R delete(@RequestParam(name="id",required=true) String id) { return R.data(textualResearchAttachService.removeById(id)); } /** * 批量删除 * * @param ids * @return */ @ApiOperation(value="考证附件-批量删除", notes="考证附件-批量删除") @PostMapping(value = "/deleteBatch") public R deleteBatch(@RequestParam(name="ids",required=true) String ids) { return R.data(this.textualResearchAttachService.removeByIds(Arrays.asList(ids.split(",")))); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value="考证附件-通过id查询", notes="考证附件-通过id查询") @GetMapping(value = "/queryById") public R queryById(@RequestParam(name="id",required=true) String id) { TextualResearchAttach textualResearchAttach = textualResearchAttachService.getById(id); return R.data(textualResearchAttach); } } skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/endpoint/OssEndpoint.java
@@ -17,7 +17,9 @@ package cn.gistack.resource.endpoint; import cn.gistack.resource.builder.oss.OssBuilder; import cn.gistack.resource.entity.TextualResearchAttach; import cn.gistack.resource.service.IAttachService; import cn.gistack.resource.service.TextualResearchAttachService; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; import lombok.SneakyThrows; @@ -33,10 +35,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; /** * 对象存储端点 @@ -59,6 +58,11 @@ * 附件表服务 */ private final IAttachService attachService; /** * 附件表服务 */ private final TextualResearchAttachService textualResearchAttachService; /** * 创建存储桶 @@ -186,6 +190,34 @@ } /** * 考证附件上传并保存 * @param file 文件 * @param resGuid 水库编号 * @return */ @SneakyThrows @PostMapping("/put-file-by-textualResearchAttach") public R putFileByPrefixTextualResearchAttach(@RequestParam MultipartFile file,String resGuid) { BladeFile bladeFile = ossBuilder.templateByPrefixPath("textualResearchAttach").putFile(file.getOriginalFilename(), file.getInputStream()); buildTextualResearchAttach(resGuid,bladeFile); return R.data(bladeFile); } /** * 保存考证附件上传数据 * @param bladeFile */ private void buildTextualResearchAttach(String resGuid,BladeFile bladeFile) { TextualResearchAttach attach = new TextualResearchAttach(); attach.setResGuid(resGuid); attach.setPath(bladeFile.getName()); attach.setName(bladeFile.getOriginalName()); attach.setCreateTime(new Date()); // 保存 textualResearchAttachService.save(attach); } /** * 上传文件 * * @param fileName 存储桶对象名称 skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/mapper/TextualResearchAttachMapper.java
New file @@ -0,0 +1,27 @@ package cn.gistack.resource.mapper; import cn.gistack.resource.entity.TextualResearchAttach; import cn.gistack.resource.vo.TextualResearchAttachVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 考证附件详情mapper映射层 * @author zhongrj * @date 2023-09-13 */ public interface TextualResearchAttachMapper extends BaseMapper<TextualResearchAttach> { /** * 自定义分页列表查询 * @param page * @param textualResearchAttach * @return */ List<TextualResearchAttachVO> selectTextualResearchAttachPage(IPage<TextualResearchAttachVO> page, @Param("textualResearchAttach") TextualResearchAttachVO textualResearchAttach); } skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/mapper/TextualResearchAttachMapper.xml
New file @@ -0,0 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.gistack.resource.mapper.TextualResearchAttachMapper"> <!--自定义分页列表查询--> <select id="selectTextualResearchAttachPage" resultType="cn.gistack.resource.vo.TextualResearchAttachVO"> select * from sm_textual_research_attach where 1=1 <if test="textualResearchAttach.resGuid!=null and textualResearchAttach.resGuid!=''"> and res_guid = #{textualResearchAttach.resGuid} </if> </select> </mapper> skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/service/TextualResearchAttachService.java
New file @@ -0,0 +1,23 @@ package cn.gistack.resource.service; import cn.gistack.resource.entity.TextualResearchAttach; import cn.gistack.resource.vo.TextualResearchAttachVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; /** * 考证附件服务层 * @author zhongrj * @date 2023-09-12 */ public interface TextualResearchAttachService extends IService<TextualResearchAttach> { /** * 自定义分页列表查询 * @param page * @param textualResearchAttach * @return */ Object selectTextualResearchAttachPage(IPage<TextualResearchAttachVO> page, TextualResearchAttachVO textualResearchAttach); } skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/service/impl/TextualResearchAttachServiceImpl.java
New file @@ -0,0 +1,35 @@ package cn.gistack.resource.service.impl; import cn.gistack.resource.entity.TextualResearchAttach; import cn.gistack.resource.mapper.TextualResearchAttachMapper; import cn.gistack.resource.service.TextualResearchAttachService; import cn.gistack.resource.vo.TextualResearchAttachVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * 考证附件服务实现层 * @author zhongrj * @date 2023-09-13 */ @Service public class TextualResearchAttachServiceImpl extends ServiceImpl<TextualResearchAttachMapper, TextualResearchAttach> implements TextualResearchAttachService { /** * 自定义分页列表查询 * @param page * @param textualResearchAttach * @return */ @Override public Object selectTextualResearchAttachPage(IPage<TextualResearchAttachVO> page, TextualResearchAttachVO textualResearchAttach) { if (null!=textualResearchAttach.getIsPage()){ // 不分页 return baseMapper.selectTextualResearchAttachPage(page,textualResearchAttach); } return page.setRecords(baseMapper.selectTextualResearchAttachPage(page,textualResearchAttach)); } }