From 2fb853a634505d02defc6b3e3e5b830e91fe8dfd Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Thu, 29 Aug 2024 19:30:54 +0800 Subject: [PATCH] 1、新增附件管理模块 --- dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileRelateMapper.java | 64 ++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java | 133 ++++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java | 138 ++++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java | 40 + dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileInfoBO.java | 17 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileRelate.java | 89 ++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml | 214 +++++++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileRelateWebController.java | 190 ++++++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java | 64 ++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileRelateMapper.xml | 163 +++++++ dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileRelateBO.java | 17 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java | 133 ++++++ 12 files changed, 1,262 insertions(+), 0 deletions(-) diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java new file mode 100644 index 0000000..088af92 --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java @@ -0,0 +1,40 @@ +package cn.huge.module.file.controller.web; + +import cn.huge.base.common.utils.ReturnFailUtils; +import cn.huge.base.common.utils.ReturnSucUtils; +import cn.huge.module.file.domain.po.FileInfo; +import cn.huge.module.file.service.FileInfoService; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @title: 附件信息表接口api-web端 + * @description: 附件信息表接口api-web端 + * @company: hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:18 + * @version: 1.0.0 + */ +@Slf4j +@RestController +@RequestMapping("/api/web/fileInfo") +public class FileInfoWebController { + + @Autowired(required = false) + private HttpServletRequest request; + + @Autowired + private FileInfoService service; + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileRelateWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileRelateWebController.java new file mode 100644 index 0000000..17c8f03 --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileRelateWebController.java @@ -0,0 +1,190 @@ +package cn.huge.module.file.controller.web; + +import cn.huge.base.common.utils.ReturnFailUtils; +import cn.huge.base.common.utils.ReturnSucUtils; +import cn.huge.module.file.domain.po.FileRelate; +import cn.huge.module.file.service.FileRelateService; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @title: 附件关系表接口api-web端 + * @description: 附件关系表接口api-web端 + * @company: hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:19 + * @version: 1.0.0 + */ +@Slf4j +@RestController +@RequestMapping("/api/web/fileRelate") +public class FileRelateWebController { + + @Autowired(required = false) + private HttpServletRequest request; + + @Autowired + private FileRelateService service; + + /** + * 获取请求URL参数 + * @return Map<String, Object> + */ + private Map<String, Object> getParameter(){ + Map<String, Object> terms = Maps.newHashMap(); + // 附件关系编号 + String id = request.getParameter("id"); + if (StringUtils.isNotBlank(id)){ + terms.put("id", id); + } + // 附件编号 + String fileId = request.getParameter("fileId"); + if (StringUtils.isNotBlank(fileId)){ + terms.put("fileId", fileId); + } + // 所属业务编号 + String ownerId = request.getParameter("ownerId"); + if (StringUtils.isNotBlank(ownerId)){ + terms.put("ownerId", ownerId); + } + // 所属业务大类 + String ownerCat = request.getParameter("ownerCat"); + if (StringUtils.isNotBlank(ownerCat)){ + terms.put("ownerCat", ownerCat); + } + // 所属业务类型 + String ownerType = request.getParameter("ownerType"); + if (StringUtils.isNotBlank(ownerType)){ + terms.put("ownerType", ownerType); + } + // 上传人编号 + String uploaderId = request.getParameter("uploaderId"); + if (StringUtils.isNotBlank(uploaderId)){ + terms.put("uploaderId", uploaderId); + } + // 上传人姓名 + String uploaderName = request.getParameter("uploaderName"); + if (StringUtils.isNotBlank(uploaderName)){ + terms.put("uploaderName", uploaderName); + } + // 上传人类型,1:工作人员,2:申请方,3:被申请方 + String uploaderType = request.getParameter("uploaderType"); + if (StringUtils.isNotBlank(uploaderType)){ + terms.put("uploaderType", uploaderType); + } + // 顾客编号 + String custId = request.getParameter("custId"); + if (StringUtils.isNotBlank(custId)){ + terms.put("custId", custId); + } + // 创建时间区间 + String createStart = request.getParameter("createStart"); + String createEnd = request.getParameter("createEnd"); + if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) { + terms.put("createStart", createStart); + terms.put("createEnd", createEnd); + } + // 更新时间区间 + String updateStart = request.getParameter("updateStart"); + String updateEnd = request.getParameter("updateEnd"); + if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) { + terms.put("updateStart", updateStart); + terms.put("updateEnd", updateEnd); + } + return terms; + } + + /** + * 条件查询多个 + * @url {ctx}/api/web/fileRelate/listQuery + * @return Object + */ + @GetMapping("/listQuery") + public Object listQuery() { + try { + Map<String, Object> terms = getParameter(); + return ReturnSucUtils.getRepInfo(service.listTerms(terms)); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * 条件分页查询 + * @url {ctx}/api/web/fileRelate/pageQuery + * @param page 页码 + * @param size 每页数量 + * @return Object + */ + @GetMapping("/pageQuery") + public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { + try { + Map<String, Object> terms = getParameter(); + Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); + PageRequest pageRequest = PageRequest.of(page-1, size, sort); + Page<FileRelate> fileRelatePage = service.pageQuery(pageRequest, terms); + return ReturnSucUtils.getRepInfo( "处理成功", fileRelatePage); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * 根据编号查询单个 + * @url {ctx}/api/web/fileRelate/getById + * @param id 主键编号 + * @return Object + */ + @GetMapping("/getById") + public Object getById(@RequestParam(value = "id") String id) { + try { + return ReturnSucUtils.getRepInfo(service.getById(id)); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * 根据主键单个 + * @url {ctx}/api/web/fileRelate/deleteById + * @param id 主键编号 + * @return Object + */ + @GetMapping("/deleteById") + public Object deleteById(@RequestParam(value = "id") String id) { + try { + service.removeById(id); + return ReturnSucUtils.getRepInfo(); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + + /** + * 新增或更新对象 + * @url {ctx}/api/web/fileRelate/saveFileRelate + * @param fileRelate 实体对象 + * @return Object + */ + @PostMapping("/saveFileRelate") + public Object saveFileRelate(@RequestBody FileRelate fileRelate) { + try { + service.saveFileRelate(fileRelate); + return ReturnSucUtils.getRepInfo(); + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(); + } + } + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java new file mode 100644 index 0000000..ed67232 --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileInfoMapper.java @@ -0,0 +1,64 @@ +package cn.huge.module.file.dao.mapper; + +import cn.huge.module.file.domain.po.FileInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** +* @title: 附件信息表持久层业务处理 +* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 +* @company: hugeinfo +* @author: liyj +* @time: 2024-08-28 20:06:18 +* @version 1.0.0 +*/ +@Repository +public interface FileInfoMapper extends BaseMapper<FileInfo>{ + + /** + * 更新对象 + * @param entity 对象 + */ + void updateFileInfo(@Param("entity") FileInfo entity); + + /** + * 条件更新对象 + * @param entity 对象 + * @param terms 条件 + */ + void updateFileInfoTerms(@Param("entity") FileInfo entity, @Param("terms") Map<String, Object> terms); + + /** + * 根据编号物理删除 + * @param id 查询条件集合 + */ + void deleteFileInfo(@Param("id") String id); + + /** + * 按条件查询结果集 + * @param terms 查询条件集合 + * @return List<FileInfo> + */ + List<FileInfo> listTerms(@Param("terms") Map<String, Object> terms); + + /** + * 按条件查询实体总数 + * @param terms 查询条件集合 + * @return long + */ + long countTerms(@Param("terms") Map<String, Object> terms); + + /** + * 按条件查询实体分页结果集 + * @param page 分页对象 + * @param terms 查询条件集合 + * @return List<FileInfo> + */ + List<FileInfo> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileRelateMapper.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileRelateMapper.java new file mode 100644 index 0000000..458ad9e --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/FileRelateMapper.java @@ -0,0 +1,64 @@ +package cn.huge.module.file.dao.mapper; + +import cn.huge.module.file.domain.po.FileRelate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** +* @title: 附件关系表持久层业务处理 +* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 +* @company: hugeinfo +* @author: liyj +* @time: 2024-08-28 20:06:19 +* @version 1.0.0 +*/ +@Repository +public interface FileRelateMapper extends BaseMapper<FileRelate>{ + + /** + * 更新对象 + * @param entity 对象 + */ + void updateFileRelate(@Param("entity") FileRelate entity); + + /** + * 条件更新对象 + * @param entity 对象 + * @param terms 条件 + */ + void updateFileRelateTerms(@Param("entity") FileRelate entity, @Param("terms") Map<String, Object> terms); + + /** + * 根据编号物理删除 + * @param id 查询条件集合 + */ + void deleteFileRelate(@Param("id") String id); + + /** + * 按条件查询结果集 + * @param terms 查询条件集合 + * @return List<FileRelate> + */ + List<FileRelate> listTerms(@Param("terms") Map<String, Object> terms); + + /** + * 按条件查询实体总数 + * @param terms 查询条件集合 + * @return long + */ + long countTerms(@Param("terms") Map<String, Object> terms); + + /** + * 按条件查询实体分页结果集 + * @param page 分页对象 + * @param terms 查询条件集合 + * @return List<FileRelate> + */ + List<FileRelate> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml new file mode 100644 index 0000000..0800d8d --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileInfoMapper.xml @@ -0,0 +1,214 @@ +<?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"> +<!-- + * @title: 附件信息表 + * @description: 自定义sql,请自行实现业务逻辑 + * @company: hugeinfo + * @author: liyj + * @time:2024-08-28 20:06:18 + * @version 1.0.0 +--> +<mapper namespace="cn.huge.module.file.dao.mapper.FileInfoMapper"> + <!-- 结果集 --> + <resultMap id="dataResult" type="cn.huge.module.file.domain.po.FileInfo"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="trueName" column="true_name"/> + <result property="fileName" column="file_name"/> + <result property="suffix" column="suffix"/> + <result property="cat" column="cat"/> + <result property="size" column="size"/> + <result property="unit" column="unit"/> + <result property="md5Code" column="md5_code"/> + <result property="storeWay" column="store_way"/> + <result property="path" column="path"/> + <result property="fullPath" column="full_path"/> + <result property="showUrl" column="show_url"/> + <result property="downUrl" column="down_url"/> + <result property="zipUrl" column="zip_url"/> + <result property="deleteStatus" column="delete_status"/> + <result property="custId" column="cust_id"/> + <result property="updateTime" column="update_time"/> + <result property="createTime" column="create_time"/> + </resultMap> + <!-- 表 --> + <sql id='table-name'>dyh_file_info</sql> + <!-- 字段 --> + <sql id="column-part"> + id, + name, + true_name, + file_name, + suffix, + cat, + size, + unit, + md5_code, + store_way, + path, + full_path, + show_url, + down_url, + zip_url, + delete_status, + cust_id, + update_time, + create_time + </sql> + <!-- 更新实体字段 --> + <sql id="set-part"> + <if test="entity.name != null">name = #{entity.name},</if> + <if test="entity.trueName != null">true_name = #{entity.trueName},</if> + <if test="entity.fileName != null">file_name = #{entity.fileName},</if> + <if test="entity.suffix != null">suffix = #{entity.suffix},</if> + <if test="entity.cat != null">cat = #{entity.cat},</if> + <if test="entity.size != null">size = #{entity.size},</if> + <if test="entity.unit != null">unit = #{entity.unit},</if> + <if test="entity.md5Code != null">md5_code = #{entity.md5Code},</if> + <if test="entity.storeWay != null">store_way = #{entity.storeWay},</if> + <if test="entity.path != null">path = #{entity.path},</if> + <if test="entity.fullPath != null">full_path = #{entity.fullPath},</if> + <if test="entity.showUrl != null">show_url = #{entity.showUrl},</if> + <if test="entity.downUrl != null">down_url = #{entity.downUrl},</if> + <if test="entity.zipUrl != null">zip_url = #{entity.zipUrl},</if> + <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if> + <if test="entity.custId != null">cust_id = #{entity.custId},</if> + <if test="entity.updateTime != null">update_time = #{entity.updateTime},</if> + <if test="entity.createTime != null">create_time = #{entity.createTime}</if> + </sql> + <!-- 条件 --> + <sql id="where-part"> + <if test="terms != null"> + <where> + <if test="terms.id != null and terms.id !=''"> + and id = #{terms.id} + </if> + <if test="terms.name != null and terms.name !=''"> + and name = #{terms.name} + </if> + <if test="terms.trueName != null and terms.trueName !=''"> + and true_name = #{terms.trueName} + </if> + <if test="terms.fileName != null and terms.fileName !=''"> + and file_name = #{terms.fileName} + </if> + <if test="terms.suffix != null and terms.suffix !=''"> + and suffix = #{terms.suffix} + </if> + <if test="terms.cat != null and terms.cat !=''"> + and cat = #{terms.cat} + </if> + <if test="terms.size != null and terms.size !=''"> + and size = #{terms.size} + </if> + <if test="terms.unit != null and terms.unit !=''"> + and unit = #{terms.unit} + </if> + <if test="terms.md5Code != null and terms.md5Code !=''"> + and md5_code = #{terms.md5Code} + </if> + <if test="terms.storeWay != null and terms.storeWay !=''"> + and store_way = #{terms.storeWay} + </if> + <if test="terms.path != null and terms.path !=''"> + and path = #{terms.path} + </if> + <if test="terms.fullPath != null and terms.fullPath !=''"> + and full_path = #{terms.fullPath} + </if> + <if test="terms.showUrl != null and terms.showUrl !=''"> + and show_url = #{terms.showUrl} + </if> + <if test="terms.downUrl != null and terms.downUrl !=''"> + and down_url = #{terms.downUrl} + </if> + <if test="terms.zipUrl != null and terms.zipUrl !=''"> + and zip_url = #{terms.zipUrl} + </if> + <if test="terms.deleteStatus = null and terms.deleteStatus =''"> + and delete_status = '0' + </if> + <if test="terms.deleteStatus != null and terms.deleteStatus !=''"> + and delete_status = #{terms.deleteStatus} + </if> + <if test="terms.custId != null and terms.custId !=''"> + and cust_id = #{terms.custId} + </if> + <if test="terms.updateTime != null and terms.updateTime !=''"> + and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime} + </if> + <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''"> + and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} + and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd}) + </if> + <if test="terms.createTime != null and terms.createTime !=''"> + and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime} + </if> + <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> + and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart} + and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd}) + </if> + </where> + </if> + </sql> + <!-- 更新对象 --> + <update id="updateFileInfo"> + update + <include refid="table-name"/> + <set> + <include refid="set-part"/> + </set> + <where> + id = #{entity.id} + </where> + </update> + <!-- 条件更新对象 --> + <update id="updateFileInfoTerms"> + update + <include refid="table-name"/> + <set> + <include refid="set-part"/> + </set> + <include refid="where-part"/> + </update> + <!-- 根据编号物理删除 --> + <delete id="deleteFileInfo"> + delete from + <include refid="table-name" /> + where id = #{id} + </delete> + <!-- 根据条件查询 --> + <select id="listTerms" resultMap="dataResult"> + select + <include refid="column-part"/> + from + <include refid="table-name" /> + <include refid="where-part"/> + </select> + <!-- 根据条件统计 --> + <select id="countTerms" resultType="java.lang.Long"> + select + COUNT(1) + from + <include refid="table-name" /> + <include refid="where-part"/> + </select> + <!-- 根据条件分页查询 --> + <select id="pageTerms" resultMap="dataResult"> + SELECT + <include refid="column-part"/> + FROM + <include refid="table-name" /> + <include refid="where-part"/> + <if test="page.sort != null"> + <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> + isnull(${s.property}), ${s.property} ${s.direction} + </foreach> + </if> + <if test="page.sort == null"> + order by isnull(create_time), create_time desc + </if> + limit #{page.offset}, #{page.size} + </select> + +</mapper> \ No newline at end of file diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileRelateMapper.xml b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileRelateMapper.xml new file mode 100644 index 0000000..bb7588a --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/dao/mapper/xml/FileRelateMapper.xml @@ -0,0 +1,163 @@ +<?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"> +<!-- + * @title: 附件关系表 + * @description: 自定义sql,请自行实现业务逻辑 + * @company: hugeinfo + * @author: liyj + * @time:2024-08-28 20:06:19 + * @version 1.0.0 +--> +<mapper namespace="cn.huge.module.file.dao.mapper.FileRelateMapper"> + <!-- 结果集 --> + <resultMap id="dataResult" type="cn.huge.module.file.domain.po.FileRelate"> + <result property="id" column="id"/> + <result property="fileId" column="file_id"/> + <result property="ownerId" column="owner_id"/> + <result property="ownerCat" column="owner_cat"/> + <result property="ownerType" column="owner_type"/> + <result property="uploaderId" column="uploader_id"/> + <result property="uploaderName" column="uploader_name"/> + <result property="uploaderType" column="uploader_type"/> + <result property="custId" column="cust_id"/> + <result property="createTime" column="create_time"/> + <result property="updateTime" column="update_time"/> + </resultMap> + <!-- 表 --> + <sql id='table-name'>dyh_file_relate</sql> + <!-- 字段 --> + <sql id="column-part"> + id, + file_id, + owner_id, + owner_cat, + owner_type, + uploader_id, + uploader_name, + uploader_type, + cust_id, + create_time, + update_time + </sql> + <!-- 更新实体字段 --> + <sql id="set-part"> + <if test="entity.fileId != null">file_id = #{entity.fileId},</if> + <if test="entity.ownerId != null">owner_id = #{entity.ownerId},</if> + <if test="entity.ownerCat != null">owner_cat = #{entity.ownerCat},</if> + <if test="entity.ownerType != null">owner_type = #{entity.ownerType},</if> + <if test="entity.uploaderId != null">uploader_id = #{entity.uploaderId},</if> + <if test="entity.uploaderName != null">uploader_name = #{entity.uploaderName},</if> + <if test="entity.uploaderType != null">uploader_type = #{entity.uploaderType},</if> + <if test="entity.custId != null">cust_id = #{entity.custId},</if> + <if test="entity.createTime != null">create_time = #{entity.createTime},</if> + <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if> + </sql> + <!-- 条件 --> + <sql id="where-part"> + <if test="terms != null"> + <where> + <if test="terms.id != null and terms.id !=''"> + and id = #{terms.id} + </if> + <if test="terms.fileId != null and terms.fileId !=''"> + and file_id = #{terms.fileId} + </if> + <if test="terms.ownerId != null and terms.ownerId !=''"> + and owner_id = #{terms.ownerId} + </if> + <if test="terms.ownerCat != null and terms.ownerCat !=''"> + and owner_cat = #{terms.ownerCat} + </if> + <if test="terms.ownerType != null and terms.ownerType !=''"> + and owner_type = #{terms.ownerType} + </if> + <if test="terms.uploaderId != null and terms.uploaderId !=''"> + and uploader_id = #{terms.uploaderId} + </if> + <if test="terms.uploaderName != null and terms.uploaderName !=''"> + and uploader_name = #{terms.uploaderName} + </if> + <if test="terms.uploaderType != null and terms.uploaderType !=''"> + and uploader_type = #{terms.uploaderType} + </if> + <if test="terms.custId != null and terms.custId !=''"> + and cust_id = #{terms.custId} + </if> + <if test="terms.createTime != null and terms.createTime !=''"> + and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime} + </if> + <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> + and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart} + and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd}) + </if> + <if test="terms.updateTime != null and terms.updateTime !=''"> + and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime} + </if> + <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''"> + and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} + and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd}) + </if> + </where> + </if> + </sql> + <!-- 更新对象 --> + <update id="updateFileRelate"> + update + <include refid="table-name"/> + <set> + <include refid="set-part"/> + </set> + <where> + id = #{entity.id} + </where> + </update> + <!-- 条件更新对象 --> + <update id="updateFileRelateTerms"> + update + <include refid="table-name"/> + <set> + <include refid="set-part"/> + </set> + <include refid="where-part"/> + </update> + <!-- 根据编号物理删除 --> + <delete id="deleteFileRelate"> + delete from + <include refid="table-name" /> + where id = #{id} + </delete> + <!-- 根据条件查询 --> + <select id="listTerms" resultMap="dataResult"> + select + <include refid="column-part"/> + from + <include refid="table-name" /> + <include refid="where-part"/> + </select> + <!-- 根据条件统计 --> + <select id="countTerms" resultType="java.lang.Long"> + select + COUNT(1) + from + <include refid="table-name" /> + <include refid="where-part"/> + </select> + <!-- 根据条件分页查询 --> + <select id="pageTerms" resultMap="dataResult"> + SELECT + <include refid="column-part"/> + FROM + <include refid="table-name" /> + <include refid="where-part"/> + <if test="page.sort != null"> + <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> + isnull(${s.property}), ${s.property} ${s.direction} + </foreach> + </if> + <if test="page.sort == null"> + order by isnull(create_time), create_time desc + </if> + limit #{page.offset}, #{page.size} + </select> + +</mapper> \ No newline at end of file diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileInfoBO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileInfoBO.java new file mode 100644 index 0000000..af2bdba --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileInfoBO.java @@ -0,0 +1,17 @@ +package cn.huge.module.file.domain.bo; + +import cn.huge.module.file.domain.po.FileInfo; + +/** + * @title: 附件信息表业务扩展类 + * @description: 附件信息表业务扩展类 + * @company: hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:18 + * @version: 1.0.0 + * @see cn.huge.module.file.domain.po.FileInfo + */ +public class FileInfoBO extends FileInfo { + + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileRelateBO.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileRelateBO.java new file mode 100644 index 0000000..5d78dce --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/bo/FileRelateBO.java @@ -0,0 +1,17 @@ +package cn.huge.module.file.domain.bo; + +import cn.huge.module.file.domain.po.FileRelate; + +/** + * @title: 附件关系表业务扩展类 + * @description: 附件关系表业务扩展类 + * @company: hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:19 + * @version: 1.0.0 + * @see cn.huge.module.file.domain.po.FileRelate + */ +public class FileRelateBO extends FileRelate { + + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java new file mode 100644 index 0000000..65f464c --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileInfo.java @@ -0,0 +1,138 @@ +package cn.huge.module.file.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * @title: 附件信息表数据库对应关系类 + * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 + * @company:hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:18 + * @version 1.0.0 + */ +@TableName(value = "dyh_file_info") +@Data +public class FileInfo { + + /** + * 附件编号 + */ + @TableId(value = "id") + private String id; + + /** + * 附件展示名称(不带后缀) + */ + @TableField(value = "name") + private String name; + + /** + * 附件原本名称(不带后缀) + */ + @TableField(value = "true_name") + private String trueName; + + /** + * 附件存储名称(带后缀),保持唯一性 + */ + @TableField(value = "file_name") + private String fileName; + + /** + * 附件后缀(不带.),jpg|png|pdf|doc|docx|xsl|xslx 等 + */ + @TableField(value = "suffix") + private String suffix; + + /** + * 附件分类,音频|视频|图片等 + */ + @TableField(value = "cat") + private String cat; + + /** + * 附件大小 + */ + @TableField(value = "size") + private Double size; + + /** + * 单位 + */ + @TableField(value = "unit") + private String unit; + + /** + * 附件md5验证码 + */ + @TableField(value = "md5_code") + private String md5Code; + + /** + * 附件存储方式 + */ + @TableField(value = "store_way") + private String storeWay; + + /** + * 附件存储服务器路径 + */ + @TableField(value = "path") + private String path; + + /** + * 附件存储服务器完整路径 + */ + @TableField(value = "full_path") + private String fullPath; + + /** + * 附件查看地址 + */ + @TableField(value = "show_url") + private String showUrl; + + /** + * 附件下载地址 + */ + @TableField(value = "down_url") + private String downUrl; + + /** + * 压缩预览地址 + */ + @TableField(value = "zip_url") + private String zipUrl; + + /** + * 删除状态,0:已删除,1:未删除 + */ + @TableLogic + @TableField(value = "delete_status") + private Integer deleteStatus; + + /** + * 顾客编号 + */ + @TableField(value = "cust_id") + private String custId; + + /** + * 状态时间 + */ + @TableField(value = "update_time") + private Date updateTime; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private Date createTime; + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileRelate.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileRelate.java new file mode 100644 index 0000000..e6eb19f --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/domain/po/FileRelate.java @@ -0,0 +1,89 @@ +package cn.huge.module.file.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * @title: 附件关系表数据库对应关系类 + * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 + * @company:hugeinfo + * @author: liyj + * @time: 2024-08-28 20:06:19 + * @version 1.0.0 + */ +@TableName(value = "dyh_file_relate") +@Data +public class FileRelate { + + /** + * 附件关系编号 + */ + @TableId(value = "id") + private String id; + + /** + * 附件编号 + */ + @TableField(value = "file_id") + private String fileId; + + /** + * 所属业务编号 + */ + @TableField(value = "owner_id") + private String ownerId; + + /** + * 所属业务大类 + */ + @TableField(value = "owner_cat") + private String ownerCat; + + /** + * 所属业务类型 + */ + @TableField(value = "owner_type") + private String ownerType; + + /** + * 上传人编号 + */ + @TableField(value = "uploader_id") + private String uploaderId; + + /** + * 上传人姓名 + */ + @TableField(value = "uploader_name") + private String uploaderName; + + /** + * 上传人类型,1:工作人员,2:申请方,3:被申请方 + */ + @TableField(value = "uploader_type") + private Integer uploaderType; + + /** + * 顾客编号 + */ + @TableField(value = "cust_id") + private String custId; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + private Date createTime; + + /** + * 状态时间 + */ + @TableField(value = "update_time") + private Date updateTime; + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java new file mode 100644 index 0000000..a8018fd --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java @@ -0,0 +1,133 @@ +package cn.huge.module.file.service; + +import cn.huge.base.common.exception.ServiceException; +import cn.huge.base.common.utils.DateUtils; +import cn.huge.base.common.utils.IdUtils; +import cn.huge.module.client.api.impl.UtilsClientImpl; +import cn.huge.module.file.dao.mapper.FileInfoMapper; +import cn.huge.module.file.domain.po.FileInfo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @title: 附件信息表业务逻辑处理 + * @Description 附件信息表业务逻辑处理 + * @company hugeinfo + * @author liyj + * @Time 2024-08-28 20:06:18 + * @version 1.0.0 + */ +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class FileInfoService extends ServiceImpl<FileInfoMapper, FileInfo>{ + + @Autowired + private FileInfoMapper mapper; + + @Autowired + private UtilsClientImpl utilsClient; + + /** + * 更新对象 + * @param entity 对象 + */ + public void updateFileInfo(FileInfo entity){ + try{ + mapper.updateFileInfo(entity); + }catch (Exception e){ + log.error("[FileInfoService.updateFileInfo]调用失败,异常信息:"+e, e); + throw new ServiceException("FileInfoService.updateFileInfo", e); + } + } + + /** + * 条件更新对象 + * @param entity 对象 + * @param terms 条件 + */ + public void updateFileInfoTerms(FileInfo entity, Map<String, Object> terms){ + try{ + mapper.updateFileInfoTerms(entity, terms); + }catch (Exception e){ + log.error("[FileInfoService.updateFileInfoTerms]调用失败,异常信息:"+e, e); + throw new ServiceException("FileInfoService.updateFileInfoTerms", e); + } + } + + /** + * 根据编号物理删除 + * @param id 查询条件集合 + */ + public void deleteFileInfo(String id){ + try{ + mapper.deleteFileInfo(id); + }catch (Exception e){ + log.error("[FileInfoService.deleteFileInfo]调用失败,异常信息:"+e, e); + throw new ServiceException("FileInfoService.deleteFileInfo", e); + } + } + + /** + * 按条件查询 + * @param terms 条件 + * @return List + */ + public List<FileInfo> listTerms(Map<String, Object> terms){ + return mapper.listTerms(terms); + } + + /** + * 按条件统计 + * @param terms 条件 + * @return long + */ + public long countTerms(Map<String, Object> terms){ + return mapper.countTerms(terms); + } + + /** + * 按条件分页查询 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FileInfo> pageQuery(PageRequest page, Map<String, Object> terms){ + long total = mapper.countTerms(terms); + List<FileInfo> content = mapper.pageTerms(page, terms); + return new PageImpl<FileInfo>(content, page, total); + } + + /** + * 新增或更新对象 + * @param fileInfo 实体对象 + */ + public void saveFileInfo(FileInfo fileInfo){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 判断是否新增 + if (IdUtils.checkNewId(fileInfo.getId())){ + fileInfo.setId(utilsClient.getNewTimeId()); + fileInfo.setCreateTime(nowDate); + } + fileInfo.setUpdateTime(nowDate); + this.saveOrUpdate(fileInfo); + }catch (Exception e){ + log.error("[FileInfoService.saveFileInfo]调用失败,异常信息:"+e, e); + throw new ServiceException("FileInfoService.saveFileInfo", e); + } + } + +} diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java new file mode 100644 index 0000000..0bf31e4 --- /dev/null +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileRelateService.java @@ -0,0 +1,133 @@ +package cn.huge.module.file.service; + +import cn.huge.base.common.exception.ServiceException; +import cn.huge.base.common.utils.DateUtils; +import cn.huge.base.common.utils.IdUtils; +import cn.huge.module.client.api.impl.UtilsClientImpl; +import cn.huge.module.file.dao.mapper.FileRelateMapper; +import cn.huge.module.file.domain.po.FileRelate; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @title: 附件关系表业务逻辑处理 + * @Description 附件关系表业务逻辑处理 + * @company hugeinfo + * @author liyj + * @Time 2024-08-28 20:06:19 + * @version 1.0.0 + */ +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class FileRelateService extends ServiceImpl<FileRelateMapper, FileRelate>{ + + @Autowired + private FileRelateMapper mapper; + + @Autowired + private UtilsClientImpl utilsClient; + + /** + * 更新对象 + * @param entity 对象 + */ + public void updateFileRelate(FileRelate entity){ + try{ + mapper.updateFileRelate(entity); + }catch (Exception e){ + log.error("[FileRelateService.updateFileRelate]调用失败,异常信息:"+e, e); + throw new ServiceException("FileRelateService.updateFileRelate", e); + } + } + + /** + * 条件更新对象 + * @param entity 对象 + * @param terms 条件 + */ + public void updateFileRelateTerms(FileRelate entity, Map<String, Object> terms){ + try{ + mapper.updateFileRelateTerms(entity, terms); + }catch (Exception e){ + log.error("[FileRelateService.updateFileRelateTerms]调用失败,异常信息:"+e, e); + throw new ServiceException("FileRelateService.updateFileRelateTerms", e); + } + } + + /** + * 根据编号物理删除 + * @param id 查询条件集合 + */ + public void deleteFileRelate(String id){ + try{ + mapper.deleteFileRelate(id); + }catch (Exception e){ + log.error("[FileRelateService.deleteFileRelate]调用失败,异常信息:"+e, e); + throw new ServiceException("FileRelateService.deleteFileRelate", e); + } + } + + /** + * 按条件查询 + * @param terms 条件 + * @return List + */ + public List<FileRelate> listTerms(Map<String, Object> terms){ + return mapper.listTerms(terms); + } + + /** + * 按条件统计 + * @param terms 条件 + * @return long + */ + public long countTerms(Map<String, Object> terms){ + return mapper.countTerms(terms); + } + + /** + * 按条件分页查询 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FileRelate> pageQuery(PageRequest page, Map<String, Object> terms){ + long total = mapper.countTerms(terms); + List<FileRelate> content = mapper.pageTerms(page, terms); + return new PageImpl<FileRelate>(content, page, total); + } + + /** + * 新增或更新对象 + * @param fileRelate 实体对象 + */ + public void saveFileRelate(FileRelate fileRelate){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 判断是否新增 + if (IdUtils.checkNewId(fileRelate.getId())){ + fileRelate.setId(utilsClient.getNewTimeId()); + fileRelate.setCreateTime(nowDate); + } + fileRelate.setUpdateTime(nowDate); + this.saveOrUpdate(fileRelate); + }catch (Exception e){ + log.error("[FileRelateService.saveFileRelate]调用失败,异常信息:"+e, e); + throw new ServiceException("FileRelateService.saveFileRelate", e); + } + } + +} -- Gitblit v1.8.0