diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/controller/CollectFileController.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/controller/CollectFileController.java new file mode 100644 index 0000000..f41797d --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/controller/CollectFileController.java @@ -0,0 +1,154 @@ +package com.intc.collect.controller; + +import java.util.HashMap; +import java.util.List; +import java.io.IOException; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import javax.annotation.Resource; + +import com.intc.common.core.domain.R; +import com.intc.common.core.utils.DateUtils; +import com.intc.system.api.RemoteFileService; +import com.intc.system.api.domain.SysFile; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import com.intc.common.log.annotation.Log; +import com.intc.common.log.enums.BusinessType; +import com.intc.common.security.annotation.RequiresPermissions; +import com.intc.collect.domain.CollectFile; +import com.intc.collect.domain.vo.CollectFileVo; +import com.intc.collect.domain.dto.CollectFileDto; +import com.intc.collect.service.ICollectFileService; +import com.intc.common.core.web.controller.BaseController; +import com.intc.common.core.web.domain.AjaxResult; +import com.intc.common.core.utils.poi.ExcelUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.intc.common.core.web.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 收藏品文件Controller + * + * @author tianyongbao + * @date 2026-02-21 + */ +@Api(tags=" 收藏品文件") +@RestController +@RequestMapping("/collectFile") +public class CollectFileController extends BaseController +{ + @Resource + private ICollectFileService collectFileService; + + @Autowired + private RemoteFileService remoteFileService; + + + /** + * 查询收藏品文件列表 + */ + @ApiOperation(value="查询收藏品文件列表",response = CollectFileVo.class) + @RequiresPermissions("collect:collectFile:list") + @GetMapping("/list") + public TableDataInfo list(CollectFileDto collectFileDto) + { + startPage(); + List list = collectFileService.selectCollectFileList(collectFileDto); + return getDataTable(list); + } + + /** + * 导出收藏品文件列表 + */ + @ApiOperation(value="导出收藏品文件列表") + @RequiresPermissions("collect:collectFile:export") + @Log(title = "收藏品文件", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CollectFileDto collectFileDto) + { + List list = collectFileService.selectCollectFileList(collectFileDto); + ExcelUtil util = new ExcelUtil(CollectFileVo.class); + util.exportExcel(response, list, "收藏品文件数据"); + } + + /** + * 获取收藏品文件详细信息 + */ + @ApiOperation(value="获取收藏品文件详细信息") + @RequiresPermissions("collect:collectFile:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(collectFileService.selectCollectFileById(id)); + } + + /** + * 新增收藏品文件 + */ + @ApiOperation(value="新增收藏品文件") + @RequiresPermissions("collect:collectFile:add") + @Log(title = "收藏品文件", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CollectFile collectFile) + { + return toAjax(collectFileService.insertCollectFile(collectFile)); + } + + /** + * 修改收藏品文件 + */ + @ApiOperation(value="修改收藏品文件") + @RequiresPermissions("collect:collectFile:edit") + @Log(title = "收藏品文件", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CollectFile collectFile) + { + return toAjax(collectFileService.updateCollectFile(collectFile)); + } + + /** + * 删除收藏品文件 + */ + @ApiOperation(value="删除收藏品文件") + @RequiresPermissions("collect:collectFile:remove") + @Log(title = "收藏品文件", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(collectFileService.deleteCollectFileByIds(ids)); + } + + + /** + * 上传收藏品图片 + */ + @ApiOperation(value="上传收藏品图片") + @PostMapping("/uploadFile") + public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) + { + R sysFileR = remoteFileService.upload(file); + SysFile sysFile = sysFileR.getData(); + Map map = new HashMap<>(); + map.put("catalog", DateUtils.datePath()); + map.put("fileName",file.getOriginalFilename()); + map.put("name",sysFile.getName()); + map.put("url",sysFile.getUrl()); + + return AjaxResult.success(map); + + } + + /** + * 新增配电柜图片 + */ + @ApiOperation(value="新增收藏品图片") + @Log(title = "收藏品图片", businessType = BusinessType.INSERT) + @PostMapping("/addFile") + public AjaxResult addFile(@Validated @RequestBody CollectFile collectFile) + { + return toAjax(collectFileService.insertCollectFile(collectFile)); + } +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CollectFile.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CollectFile.java new file mode 100644 index 0000000..06ca9f7 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CollectFile.java @@ -0,0 +1,64 @@ +package com.intc.collect.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.intc.common.core.annotation.Excel; +import com.intc.common.core.web.domain.BaseEntity; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import javax.validation.constraints.*; +/** + * 收藏品文件对象 col_collect_file + * + * @author tianyongbao + * @date 2026-02-21 + */ +@ApiModel("收藏品文件对象") +@Data +public class CollectFile extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + private Long id; + + /** 收藏品id */ + @ApiModelProperty(value="收藏品id") + @Excel(name = "收藏品id") + private Long collectId; + + /** 目录 */ + @ApiModelProperty(value="目录") + @Excel(name = "目录") + private String catelog; + + /** 源文件名 */ + @ApiModelProperty(value="源文件名") + @Excel(name = "源文件名") + private String fileName; + + /** 文件名 */ + @ApiModelProperty(value="文件名") + @Excel(name = "文件名") + private String name; + + /** url */ + @ApiModelProperty(value="url") + @Excel(name = "url") + private String url; + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("collectId", getCollectId()) + .append("catelog", getCatelog()) + .append("fileName", getFileName()) + .append("name", getName()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("url", getUrl()) + .toString(); + } +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CommemorativeCoin.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CommemorativeCoin.java index 60cb528..953e679 100644 --- a/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CommemorativeCoin.java +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/CommemorativeCoin.java @@ -1,6 +1,8 @@ package com.intc.collect.domain; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -77,6 +79,9 @@ public class CommemorativeCoin extends BaseEntity /** 删除标志(0代表存在 1代表删除) */ private String delFlag; + /** 文件信息 */ + private List collectFileList; + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -97,6 +102,7 @@ public class CommemorativeCoin extends BaseEntity .append("updateTime", getUpdateTime()) .append("delFlag", getDelFlag()) .append("remark", getRemark()) + .append("collectFileList", getCollectFileList()) .toString(); } } diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/dto/CollectFileDto.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/dto/CollectFileDto.java new file mode 100644 index 0000000..bd2f002 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/dto/CollectFileDto.java @@ -0,0 +1,39 @@ +package com.intc.collect.domain.dto; + +import lombok.Data; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +/** + * 收藏品文件Dto对象 col_collect_file + * + * @author tianyongbao + * @date 2026-02-21 + */ +@ApiModel("收藏品文件Dto对象") +@Data +public class CollectFileDto implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 收藏品id */ + @ApiModelProperty(value="收藏品id") + private Long collectId; + + /** 目录 */ + @ApiModelProperty(value="目录") + private String catelog; + + /** 源文件名 */ + @ApiModelProperty(value="源文件名") + private String fileName; + + /** 文件名 */ + @ApiModelProperty(value="文件名") + private String name; + + /** url */ + @ApiModelProperty(value="url") + private String url; + +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/vo/CollectFileVo.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/vo/CollectFileVo.java new file mode 100644 index 0000000..c3b84a0 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/domain/vo/CollectFileVo.java @@ -0,0 +1,17 @@ +package com.intc.collect.domain.vo; + +import com.intc.collect.domain.CollectFile; +import lombok.Data; +import io.swagger.annotations.ApiModel; +/** + * 收藏品文件Vo对象 col_collect_file + * + * @author tianyongbao + * @date 2026-02-21 + */ +@ApiModel("收藏品文件Vo对象") +@Data +public class CollectFileVo extends CollectFile +{ + +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/mapper/CollectFileMapper.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/mapper/CollectFileMapper.java new file mode 100644 index 0000000..f44a468 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/mapper/CollectFileMapper.java @@ -0,0 +1,96 @@ +package com.intc.collect.mapper; + +import java.util.List; +import com.intc.collect.domain.CollectFile; +import com.intc.collect.domain.dto.CollectFileDto; +import com.intc.collect.domain.vo.CollectFileVo; + +/** + * 收藏品文件Mapper接口 + * + * @author tianyongbao + * @date 2026-02-21 + */ +public interface CollectFileMapper +{ + /** + * 查询收藏品文件 + * + * @param id 收藏品文件主键 + * @return 收藏品文件 + */ + public CollectFileVo selectCollectFileById(Long id); + + /** + * 查询收藏品文件列表 + * + * @param collectFileDto 收藏品文件 + * @return 收藏品文件集合 + */ + public List selectCollectFileList(CollectFileDto collectFileDto); + + /** + * 新增收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + public int insertCollectFile(CollectFile collectFile); + + /** + * 修改收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + public int updateCollectFile(CollectFile collectFile); + + /** + * 删除收藏品文件 + * + * @param id 收藏品文件主键 + * @return 结果 + */ + public int deleteCollectFileById(Long id); + + /** + * 批量删除收藏品文件 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCollectFileByIds(Long[] ids); + + /** + * 逻辑删除收藏品文件 + * + * @param id 收藏品文件主键 + * @return 结果 + */ + public int removeCollectFileById(Long id); + + /** + * 批量逻辑删除收藏品文件 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int removeCollectFileByIds(Long[] ids); + + /** + * 批量新增信息 + * + * @param collectFileList 信息列表 + * @return 结果 + */ + public int batchInsertCollectFile(List collectFileList); + + /** + * 通过主键删除信息 + * + * @param id ID + * @return 结果 + */ + public int deleteCollectFileByCollectId(Long id); + +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/service/ICollectFileService.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/ICollectFileService.java new file mode 100644 index 0000000..a7ee337 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/ICollectFileService.java @@ -0,0 +1,63 @@ +package com.intc.collect.service; + +import java.util.List; +import com.intc.collect.domain.CollectFile; +import com.intc.collect.domain.dto.CollectFileDto; +import com.intc.collect.domain.vo.CollectFileVo; + +/** + * 收藏品文件Service接口 + * + * @author tianyongbao + * @date 2026-02-21 + */ +public interface ICollectFileService +{ + /** + * 查询收藏品文件 + * + * @param id 收藏品文件主键 + * @return 收藏品文件 + */ + public CollectFileVo selectCollectFileById(Long id); + + /** + * 查询收藏品文件列表 + * + * @param collectFileDto 收藏品文件 + * @return 收藏品文件集合 + */ + public List selectCollectFileList(CollectFileDto collectFileDto); + + /** + * 新增收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + public int insertCollectFile(CollectFile collectFile); + + /** + * 修改收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + public int updateCollectFile(CollectFile collectFile); + + /** + * 批量删除收藏品文件 + * + * @param ids 需要删除的收藏品文件主键集合 + * @return 结果 + */ + public int deleteCollectFileByIds(Long[] ids); + + /** + * 删除收藏品文件信息 + * + * @param id 收藏品文件主键 + * @return 结果 + */ + public int deleteCollectFileById(Long id); +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CollectFileServiceImpl.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CollectFileServiceImpl.java new file mode 100644 index 0000000..fa8f948 --- /dev/null +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CollectFileServiceImpl.java @@ -0,0 +1,101 @@ +package com.intc.collect.service.impl; + +import java.util.List; +import com.intc.common.core.utils.DateUtils; +import com.intc.common.security.utils.SecurityUtils; +import com.intc.common.core.utils.IdWorker; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import com.intc.collect.mapper.CollectFileMapper; +import com.intc.collect.domain.CollectFile; +import com.intc.collect.domain.dto.CollectFileDto; +import com.intc.collect.domain.vo.CollectFileVo; +import com.intc.collect.service.ICollectFileService; + +/** + * 收藏品文件Service业务层处理 + * + * @author tianyongbao + * @date 2026-02-21 + */ +@Service +public class CollectFileServiceImpl implements ICollectFileService +{ + @Resource + private CollectFileMapper collectFileMapper; + + /** + * 查询收藏品文件 + * + * @param id 收藏品文件主键 + * @return 收藏品文件 + */ + @Override + public CollectFileVo selectCollectFileById(Long id) + { + return collectFileMapper.selectCollectFileById(id); + } + + /** + * 查询收藏品文件列表 + * + * @param collectFileDto 收藏品文件 + * @return 收藏品文件 + */ + @Override + public List selectCollectFileList(CollectFileDto collectFileDto) + { + return collectFileMapper.selectCollectFileList(collectFileDto); + } + + /** + * 新增收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + @Override + public int insertCollectFile(CollectFile collectFile) + { + collectFile.setId(IdWorker.getId()); + collectFile.setCreateTime(DateUtils.getNowDate()); + collectFile.setCreateBy(SecurityUtils.getUsername()); + return collectFileMapper.insertCollectFile(collectFile); + } + + /** + * 修改收藏品文件 + * + * @param collectFile 收藏品文件 + * @return 结果 + */ + @Override + public int updateCollectFile(CollectFile collectFile) + { + return collectFileMapper.updateCollectFile(collectFile); + } + + /** + * 批量删除收藏品文件 + * + * @param ids 需要删除的收藏品文件主键 + * @return 结果 + */ + @Override + public int deleteCollectFileByIds(Long[] ids) + { + return collectFileMapper.removeCollectFileByIds(ids); + } + + /** + * 删除收藏品文件信息 + * + * @param id 收藏品文件主键 + * @return 结果 + */ + @Override + public int deleteCollectFileById(Long id) + { + return collectFileMapper.removeCollectFileById(id); + } +} diff --git a/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CommemorativeCoinServiceImpl.java b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CommemorativeCoinServiceImpl.java index 47082bd..8a3402c 100644 --- a/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CommemorativeCoinServiceImpl.java +++ b/intc-modules/intc-collect/src/main/java/com/intc/collect/service/impl/CommemorativeCoinServiceImpl.java @@ -1,7 +1,12 @@ package com.intc.collect.service.impl; +import java.util.ArrayList; import java.util.List; + +import com.intc.collect.domain.CollectFile; +import com.intc.collect.mapper.CollectFileMapper; import com.intc.common.core.utils.DateUtils; +import com.intc.common.core.utils.StringUtils; import com.intc.common.security.utils.SecurityUtils; import com.intc.common.core.utils.IdWorker; import javax.annotation.Resource; @@ -24,6 +29,9 @@ public class CommemorativeCoinServiceImpl implements ICommemorativeCoinService @Resource private CommemorativeCoinMapper commemorativeCoinMapper; + @Resource + private CollectFileMapper collectFileMapper; + /** * 查询流通纪念币 * @@ -60,7 +68,36 @@ public class CommemorativeCoinServiceImpl implements ICommemorativeCoinService commemorativeCoin.setId(IdWorker.getId()); commemorativeCoin.setCreateBy(SecurityUtils.getUsername()); commemorativeCoin.setCreateTime(DateUtils.getNowDate()); - return commemorativeCoinMapper.insertCommemorativeCoin(commemorativeCoin); + int rows =commemorativeCoinMapper.insertCommemorativeCoin(commemorativeCoin); + insertCollectFile(commemorativeCoin); + return rows; + } + + /** + * 新增文件信息 + * + * @param commemorativeCoin 对象 + */ + public void insertCollectFile(CommemorativeCoin commemorativeCoin) + { + List collectFileList = commemorativeCoin.getCollectFileList(); + Long id = commemorativeCoin.getId(); + if (StringUtils.isNotNull(collectFileList)) + { + List list = new ArrayList(); + for (CollectFile collectFile : collectFileList) + { + collectFile.setCollectId(id); + collectFile.setCreateTime(DateUtils.getNowDate()); + collectFile.setCreateBy(SecurityUtils.getUsername()); + collectFile.setId(IdWorker.getId()); + list.add(collectFile); + } + if (list.size() > 0) + { + collectFileMapper.batchInsertCollectFile(list); + } + } } /** @@ -74,6 +111,7 @@ public class CommemorativeCoinServiceImpl implements ICommemorativeCoinService { commemorativeCoin.setUpdateBy(SecurityUtils.getUsername()); commemorativeCoin.setUpdateTime(DateUtils.getNowDate()); + insertCollectFile(commemorativeCoin);; return commemorativeCoinMapper.updateCommemorativeCoin(commemorativeCoin); } diff --git a/intc-modules/intc-collect/src/main/resources/mapper/collect/CollectFileMapper.xml b/intc-modules/intc-collect/src/main/resources/mapper/collect/CollectFileMapper.xml new file mode 100644 index 0000000..8fa1516 --- /dev/null +++ b/intc-modules/intc-collect/src/main/resources/mapper/collect/CollectFileMapper.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + select a.id, a.collect_id, a.catelog, a.file_name, a.name, a.create_time, a.create_by, a.url from col_collect_file a + + + + + + + + insert into col_collect_file + + id, + collect_id, + catelog, + file_name, + name, + create_time, + create_by, + url, + + + #{id}, + #{collectId}, + #{catelog}, + #{fileName}, + #{name}, + #{createTime}, + #{createBy}, + #{url}, + + + + + update col_collect_file + + collect_id = #{collectId}, + catelog = #{catelog}, + file_name = #{fileName}, + name = #{name}, + create_time = #{createTime}, + create_by = #{createBy}, + url = #{url}, + + where id = #{id} + + + + delete from col_collect_file where id = #{id} + + + + delete from col_collect_file where id in + + #{id} + + + + update col_collect_file set del_flag='1' where id = #{id} + + + + update col_collect_file set del_flag='1' where id in + + #{id} + + + + + insert into col_collect_file( id, collect_id, catelog, file_name, name, create_time, create_by,url) values + + ( #{item.id}, #{item.collectId}, #{item.catelog}, #{item.fileName}, #{item.name}, #{item.createTime}, #{item.createBy}, #{item.url}) + + + + + + delete from col_collect_file where collect_id = #{id} + + diff --git a/intc-modules/intc-collect/src/main/resources/mapper/collect/CommemorativeCoinMapper.xml b/intc-modules/intc-collect/src/main/resources/mapper/collect/CommemorativeCoinMapper.xml index 1a1b456..f4b8a08 100644 --- a/intc-modules/intc-collect/src/main/resources/mapper/collect/CommemorativeCoinMapper.xml +++ b/intc-modules/intc-collect/src/main/resources/mapper/collect/CommemorativeCoinMapper.xml @@ -24,8 +24,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + - select a.id, a.type, a.full_name, a.short_name, a.face_value, a.issue_date, a.issue_year, a.series, a.set_number, a.block_type, a.shape, a.create_by, a.create_time, a.update_by, a.update_time, a.del_flag, a.remark from col_commemorative_coin a + select a.id, a.type, a.full_name, a.short_name, a.face_value, a.issue_date, + a.issue_year, a.series, a.set_number, a.block_type, a.shape, a.create_by, + a.create_time, a.update_by, a.update_time, a.del_flag, a.remark, + b.id as sub_id, b.collect_id as sub_collect_id, b.catelog as sub_catelog, b.file_name as sub_file_name, + b.name as sub_name, b.create_by as sub_create_by, b.create_time as sub_create_time, b.url as sub_url + from col_commemorative_coin a + left join col_collect_file b on b.collect_id=a.id +