add:工作组在研项目
This commit is contained in:
+152
-61
@@ -2,6 +2,8 @@ package com.jero.project.controller;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -9,14 +11,16 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.entity.PayResearchProject;
|
||||
import com.jero.project.service.IPayResearchProjectService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -36,13 +40,15 @@ public class PayResearchProjectController extends JeroController<PayResearchProj
|
||||
@Autowired
|
||||
private IPayResearchProjectService payResearchProjectService;
|
||||
|
||||
@Autowired
|
||||
private IOSSFileService iossFileService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param payResearchProject
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "在研项目-分页列表查询")
|
||||
@@ -50,11 +56,19 @@ public class PayResearchProjectController extends JeroController<PayResearchProj
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(PayResearchProject payResearchProject,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<PayResearchProject> queryWrapper = QueryGenerator.initQueryWrapper(payResearchProject, req.getParameterMap());
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize
|
||||
) {
|
||||
QueryWrapper<PayResearchProject> queryWrapper = new QueryWrapper<>();
|
||||
if(StringUtils.isNotBlank(payResearchProject.getWorkingGroupId())){
|
||||
queryWrapper.eq("working_group_id",payResearchProject.getWorkingGroupId());
|
||||
}else {
|
||||
return Result.error("工作组id为空!");
|
||||
}
|
||||
if(StringUtils.isNotBlank(payResearchProject.getProjectName())){
|
||||
queryWrapper.like("project_name",payResearchProject.getProjectName());
|
||||
}
|
||||
Page<PayResearchProject> page = new Page<PayResearchProject>(pageNo, pageSize);
|
||||
IPage<PayResearchProject> pageList = payResearchProjectService.page(page, queryWrapper);
|
||||
IPage<PayResearchProject> pageList = payResearchProjectService.pageList(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@@ -94,16 +108,85 @@ public class PayResearchProjectController extends JeroController<PayResearchProj
|
||||
payResearchProjectService.downLoad(fileId,fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @param payResearchProject
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
@AutoLog(value = "在研项目-新增")
|
||||
@ApiOperation(value="在研项目-新增", notes="在研项目-新增")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayResearchProject payResearchProject) {
|
||||
QueryWrapper<PayResearchProject> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("project_name",payResearchProject.getProjectName());
|
||||
int count = payResearchProjectService.count(queryWrapper);
|
||||
if (count>0) {
|
||||
return Result.error("项目名称已存在");
|
||||
}
|
||||
payResearchProjectService.save(payResearchProject);
|
||||
QueryWrapper<PayResearchProject> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("project_name",payResearchProject.getProjectName());
|
||||
PayResearchProject one = payResearchProjectService.getOne(queryWrapper2);
|
||||
if(StringUtils.isNotBlank(payResearchProject.getFiles())){
|
||||
String files = payResearchProject.getFiles();
|
||||
List<String> filesList = Arrays.asList(files.split(","));
|
||||
for(String s:filesList){
|
||||
UUID uuid = UUID.randomUUID();
|
||||
payResearchProjectService.saveFile(uuid.toString(),s,one.getId());
|
||||
}
|
||||
}
|
||||
return Result.OK("新增成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param payResearchProject
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
@AutoLog(value = "在研项目-编辑")
|
||||
@ApiOperation(value="在研项目-编辑", notes="在研项目-编辑")
|
||||
@PutMapping(value = "/edit")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayResearchProject payResearchProject) {
|
||||
QueryWrapper<PayResearchProject> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("project_name",payResearchProject.getProjectName());
|
||||
queryWrapper.ne("id",payResearchProject.getId());
|
||||
int count = payResearchProjectService.count(queryWrapper);
|
||||
if (count>0) {
|
||||
return Result.error("项目名称已存在");
|
||||
}
|
||||
//删除关联文件表
|
||||
payResearchProjectService.deleteFile(payResearchProject.getId());
|
||||
//删除文件表
|
||||
PayResearchProject byId = payResearchProjectService.getById(payResearchProject.getId());
|
||||
if(StringUtils.isNotBlank(byId.getFiles())){
|
||||
List<String> filesList = Arrays.asList(byId.getFiles().split(","));
|
||||
if(StringUtils.isNotBlank(payResearchProject.getFiles())) {
|
||||
List<String> newFilesList = Arrays.asList(payResearchProject.getFiles().split(","));
|
||||
for(String s:filesList){
|
||||
//旧文件包含在新文件中则不删除
|
||||
if(!newFilesList.contains(s)){
|
||||
iossFileService.removeById(s);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//新文件为空则全部删除旧文件
|
||||
iossFileService.removeByIds(filesList);
|
||||
}
|
||||
}
|
||||
//重新加入关系表
|
||||
if(StringUtils.isNotBlank(payResearchProject.getFiles())){
|
||||
String files = payResearchProject.getFiles();
|
||||
List<String> filesList = Arrays.asList(files.split(","));
|
||||
for(String s:filesList){
|
||||
UUID uuid = UUID.randomUUID();
|
||||
payResearchProjectService.saveFile(uuid.toString(),s,payResearchProject.getId());
|
||||
}
|
||||
}
|
||||
//更新
|
||||
payResearchProjectService.updateById(payResearchProject);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
@@ -116,64 +199,72 @@ public class PayResearchProjectController extends JeroController<PayResearchProj
|
||||
*/
|
||||
@AutoLog(value = "在研项目-通过id删除")
|
||||
@ApiOperation(value="在研项目-通过id删除", notes="在研项目-通过id删除")
|
||||
@DeleteMapping(value = "/delete")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
//删除关联文件表
|
||||
payResearchProjectService.deleteFile(id);
|
||||
//删除文件表
|
||||
PayResearchProject byId = payResearchProjectService.getById(id);
|
||||
if(StringUtils.isNotBlank(byId.getFiles())){
|
||||
List<String> filesList = Arrays.asList(byId.getFiles().split(","));
|
||||
iossFileService.removeByIds(filesList);
|
||||
}
|
||||
payResearchProjectService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "在研项目-批量删除")
|
||||
@ApiOperation(value="在研项目-批量删除", notes="在研项目-批量删除")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.payResearchProjectService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "在研项目-通过id查询")
|
||||
@ApiOperation(value="在研项目-通过id查询", notes="在研项目-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
PayResearchProject payResearchProject = payResearchProjectService.getById(id);
|
||||
if(payResearchProject==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(payResearchProject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param payResearchProject
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayResearchProject payResearchProject) {
|
||||
return super.exportXls(request, payResearchProject, PayResearchProject.class, "在研项目");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, PayResearchProject.class);
|
||||
}
|
||||
// /**
|
||||
// * 批量删除
|
||||
// *
|
||||
// * @param ids
|
||||
// * @return
|
||||
// */
|
||||
// @AutoLog(value = "在研项目-批量删除")
|
||||
// @ApiOperation(value="在研项目-批量删除", notes="在研项目-批量删除")
|
||||
// @DeleteMapping(value = "/deleteBatch")
|
||||
// public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
// this.payResearchProjectService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
// return Result.OK("批量删除成功!");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 通过id查询
|
||||
// *
|
||||
// * @param id
|
||||
// * @return
|
||||
// */
|
||||
// @AutoLog(value = "在研项目-通过id查询")
|
||||
// @ApiOperation(value="在研项目-通过id查询", notes="在研项目-通过id查询")
|
||||
// @GetMapping(value = "/queryById")
|
||||
// public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
// PayResearchProject payResearchProject = payResearchProjectService.getById(id);
|
||||
// if(payResearchProject==null) {
|
||||
// return Result.error("未找到对应数据");
|
||||
// }
|
||||
// return Result.OK(payResearchProject);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出excel
|
||||
// *
|
||||
// * @param request
|
||||
// * @param payResearchProject
|
||||
// */
|
||||
// @RequestMapping(value = "/exportXls")
|
||||
// public ModelAndView exportXls(HttpServletRequest request, PayResearchProject payResearchProject) {
|
||||
// return super.exportXls(request, payResearchProject, PayResearchProject.class, "在研项目");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 通过excel导入数据
|
||||
// *
|
||||
// * @param request
|
||||
// * @param response
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
// return super.importExcel(request, response, PayResearchProject.class);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
+21
@@ -1,9 +1,13 @@
|
||||
package com.jero.project.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.data.entity.Files;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -13,6 +17,9 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* @Description: pay_research_project
|
||||
* @Author: jeecg-boot
|
||||
@@ -28,11 +35,18 @@ public class PayResearchProject implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private java.lang.String id;
|
||||
/**工作组id*/
|
||||
@NotNull(message ="工作组id不能为空")
|
||||
@ApiModelProperty(value = "工作组id")
|
||||
private java.lang.String workingGroupId;
|
||||
/**项目名称*/
|
||||
@Excel(name = "项目名称", width = 15)
|
||||
@NotNull(message ="项目名称不能为空")
|
||||
@Size(max = 50,message = "项目名称长度不超过50个字符")
|
||||
@ApiModelProperty(value = "项目名称")
|
||||
private java.lang.String projectName;
|
||||
/**主要起草单位*/
|
||||
@@ -43,6 +57,13 @@ public class PayResearchProject implements Serializable {
|
||||
@Excel(name = "过程文件", width = 15)
|
||||
@ApiModelProperty(value = "过程文件(多个都好隔开)")
|
||||
private java.lang.String files;
|
||||
|
||||
/**文件集合*/
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "文件集合", width = 15)
|
||||
@ApiModelProperty(value = "文件集合")
|
||||
private List<Files> filesList;
|
||||
|
||||
/**项目进度*/
|
||||
@Excel(name = "项目进度", width = 15)
|
||||
@ApiModelProperty(value = "项目进度")
|
||||
|
||||
+12
@@ -1,7 +1,13 @@
|
||||
package com.jero.project.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.project.entity.PayResearchProject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.yaml.snakeyaml.scanner.Constant;
|
||||
|
||||
/**
|
||||
* @Description: pay_research_project
|
||||
@@ -11,4 +17,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface PayResearchProjectMapper extends BaseMapper<PayResearchProject> {
|
||||
|
||||
IPage<PayResearchProject> pageList(Page<PayResearchProject> page,@Param(Constants.WRAPPER) QueryWrapper<PayResearchProject> queryWrapper);
|
||||
|
||||
void saveFile(@Param("id")String id,@Param("fileId")String fileId,@Param("projectId") String projectId);
|
||||
|
||||
void deleteFile(@Param("id")String id);
|
||||
|
||||
}
|
||||
|
||||
+26
@@ -1,5 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.project.mapper.PayResearchProjectMapper">
|
||||
<select id="pageList" resultMap="page">
|
||||
select * from pay_research_project
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<resultMap id="page" type="com.jero.project.entity.PayResearchProject">
|
||||
<id property="id" column="id" />
|
||||
<result property="projectName" column="project_name" />
|
||||
<result property="draftCompany" column="draft_company" />
|
||||
<result property="files" column="files" />
|
||||
<result property="projectSchedule" column="project_schedule" />
|
||||
<collection property="filesList" ofType="com.jero.data.entity.Files" select="pageFile" javaType="java.util.List" column="id=id" >
|
||||
<result property="fileId" column="fileId" />
|
||||
<result property="fileName" column="file_name" />
|
||||
<result property="createTime" column="create_time" />
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="pageFile" resultType="com.jero.data.entity.Files">
|
||||
select oof.id AS fileId,oof.file_name,oof.create_time from pay_research_project_file prpf left join oss_file oof on(prpf.file_id=oof.id) where prpf.project_id=#{id}
|
||||
</select>
|
||||
|
||||
<insert id="saveFile" >
|
||||
insert into pay_research_project_file (id,project_id,file_id) value (#{id},#{projectId},#{fileId})
|
||||
</insert>
|
||||
<delete id="deleteFile" >
|
||||
delete from pay_research_project_file where pay_research_project_file.project_id=#{id}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
|
||||
+8
@@ -1,7 +1,9 @@
|
||||
package com.jero.project.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.project.entity.PayResearchProject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -19,4 +21,10 @@ public interface IPayResearchProjectService extends IService<PayResearchProject>
|
||||
|
||||
void downLoad(Integer fileId,String fileName) throws IOException;
|
||||
|
||||
IPage<PayResearchProject> pageList(Page<PayResearchProject> page, QueryWrapper<PayResearchProject> queryWrapper);
|
||||
|
||||
void saveFile(String id,String fileId, String projectId);
|
||||
|
||||
void deleteFile(String id);
|
||||
|
||||
}
|
||||
|
||||
+35
-2
@@ -2,7 +2,9 @@ package com.jero.project.service.impl;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.project.entity.PayResearchProject;
|
||||
import com.jero.project.mapper.PayResearchProjectMapper;
|
||||
import com.jero.project.service.IPayResearchProjectService;
|
||||
@@ -19,6 +21,7 @@ import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.activation.MimetypesFileTypeMap;
|
||||
import javax.annotation.Resource;
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.SecretKeyFactory;
|
||||
@@ -26,6 +29,8 @@ import javax.crypto.spec.DESKeySpec;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.security.SecureRandom;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
@@ -44,9 +49,12 @@ public class PayResearchProjectServiceImpl extends ServiceImpl<PayResearchProjec
|
||||
|
||||
private String PREFIXF ="appId=QC_APP01&fid=";//文件下载参数
|
||||
|
||||
private String URL ="http://www.catarc.org.cn:8088/zxd/serviceInterface/getProjectInfoPage";
|
||||
private String URL ="http://www.catarc.org.cn:8088/zxd/serviceInterface/getProjectInfoPage";//列表地址
|
||||
|
||||
private String URLF ="http://www.catarc.org.cn:8088/zxd/serviceInterface/downloadProjectFile";
|
||||
private String URLF ="http://www.catarc.org.cn:8088/zxd/serviceInterface/downloadProjectFile";//文件下载地址
|
||||
|
||||
@Resource
|
||||
private PayResearchProjectMapper payResearchProjectMapper;
|
||||
/**
|
||||
* 加密,并将结果转成16进制字符串
|
||||
*
|
||||
@@ -90,6 +98,14 @@ public class PayResearchProjectServiceImpl extends ServiceImpl<PayResearchProjec
|
||||
JSONObject jsonObject = JSONObject.parseObject(s1);
|
||||
return jsonObject;
|
||||
}
|
||||
// //传入时间戳即可
|
||||
// public String conversionTime(String timeStamp) {
|
||||
// //yyyy-MM-dd HH:mm:ss 转换的时间格式 可以自定义
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// //转换
|
||||
// String time = sdf.format(new Date(Long.parseLong(timeStamp)));
|
||||
// return time;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void downLoad(Integer fileId,String fileName) throws IOException {
|
||||
@@ -123,4 +139,21 @@ public class PayResearchProjectServiceImpl extends ServiceImpl<PayResearchProjec
|
||||
bis.close();
|
||||
outputStream.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<PayResearchProject> pageList(Page<PayResearchProject> page, QueryWrapper<PayResearchProject> queryWrapper) {
|
||||
IPage<PayResearchProject> payResearchProjectIPage = payResearchProjectMapper.pageList(page, queryWrapper);
|
||||
return payResearchProjectIPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveFile(String id,String fileId, String projectId) {
|
||||
payResearchProjectMapper.saveFile(id,fileId,projectId);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteFile(String id) {
|
||||
payResearchProjectMapper.deleteFile(id);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user