From 62eb499b0c969f246d3245d1429a97da4de1ce28 Mon Sep 17 00:00:00 2001
From: 钟日健 <arsn163@163.com>
Date: Mon, 01 Jun 2026 20:46:13 +0800
Subject: [PATCH] feat: 成绩查询增加年龄查询返回
---
src/main/java/org/springblade/modules/licetuser/controller/LicetuserController.java | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 204 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/licetuser/controller/LicetuserController.java b/src/main/java/org/springblade/modules/licetuser/controller/LicetuserController.java
index 95de386..0f01e27 100644
--- a/src/main/java/org/springblade/modules/licetuser/controller/LicetuserController.java
+++ b/src/main/java/org/springblade/modules/licetuser/controller/LicetuserController.java
@@ -16,23 +16,43 @@
*/
package org.springblade.modules.licetuser.controller;
+import io.minio.*;
+import io.minio.errors.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
+
+import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.config.FileConfig;
+import org.springblade.common.config.FtpConfig;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.licet.entity.Licet;
+import org.springblade.modules.licet.service.ILicetService;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.licetuser.entity.Licetuser;
import org.springblade.modules.licetuser.vo.LicetuserVO;
import org.springblade.modules.licetuser.service.ILicetuserService;
import org.springblade.core.boot.ctrl.BladeController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static org.springblade.common.config.FtpConfig.*;
/**
* 控制器
@@ -48,6 +68,8 @@
private final ILicetuserService licetuserService;
+ private final ILicetService licetService;
+
/**
* 详情
*/
@@ -57,6 +79,56 @@
public R<Licetuser> detail(Licetuser licetuser) {
Licetuser detail = licetuserService.getOne(Condition.getQueryWrapper(licetuser));
return R.data(detail);
+ }
+
+
+ @PostMapping("/liceUp")
+ @ApiOperationSupport(order = 1)
+ public R liceUp(@Valid @RequestBody Licetuser licetuser) {
+ Map map = licetuserService.liceIn(licetuser.getUserid(),licetuser.getPtype());
+ if (map==null){
+ licetuserService.save(licetuser);
+ String url = "";
+ String[] split = licetuser.getLinks().split(",");
+ for (int i = 0; i < split.length; i++) {
+ String s = split[i].substring(26, split[i].length());
+ String[] splits = split[i].split("/");
+ url += FtpConfig.ip +"/zhba/upload/picture/"+ splits[6] + ",";
+ }
+ String substring = url.substring(0, url.length() - 1);
+ licetuser.setLinks(substring);
+ //数据同步
+ String s1 =
+ "insert into sys_licetuser(id,userid,ptype,templateid,links) " +
+ "values(" + "'" + licetuser.getId() + "'" + "," +
+ "'" + licetuser.getUserid() + "'" + "," +
+ "'" + licetuser.getPtype() + "'" + "," +
+ "'" + licetuser.getTemplateid() + "'" + "," +
+ "'" + licetuser.getLinks() + "'" + ")";
+ FtpUtil.sqlFileUpload(s1);
+ }
+ else {
+ String id = map.get("id").toString();
+ Integer a= Integer.parseInt(id);
+ licetuser.setId(a);
+ licetuserService.updateById(licetuser);
+ String url = "";
+ String[] split = licetuser.getLinks().split(",");
+ for (int i = 0; i < split.length; i++) {
+ String s = split[i].substring(26, split[i].length());
+ String[] splits = split[i].split("/");
+ url += FtpConfig.ip +"/zhba/upload/picture/"+ splits[6] + ",";
+ }
+ String substring = url.substring(0, url.length() - 1);
+ licetuser.setLinks(substring);
+ String s1 = "update sys_licetuser set userid = " + "'" + licetuser.getUserid() + "'" +
+ ",ptype = " + "'" + licetuser.getPtype() + "'" +
+ ",templateid = " + "'" + licetuser.getTemplateid() + "'" +
+ ",links = " + "'" + licetuser.getLinks() + "'" +
+ " " + "where id = " + "'" + licetuser.getId() + "'";
+ FtpUtil.sqlFileUpload(s1);
+ }
+ return R.data("成功");
}
/**
@@ -122,5 +194,137 @@
return R.status(licetuserService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 许可审批备案文件上传(对接政务平台)
+ * @param file 文件
+ * @param licetId 附件材料id
+ * @param ptype 类型
+ * @param cardid 用户唯一id
+ * @return
+ */
+ @PostMapping("/liceUpload")
+ public R liceUpload(@RequestParam MultipartFile file, String licetId, String ptype, String cardid, HttpServletRequest request) throws IOException, InvalidResponseException, InvalidKeyException, NoSuchAlgorithmException, ServerException, ErrorResponseException, XmlParserException, InsufficientDataException, InternalException {
+ String fieldNames = request.getHeader("_fieldNames");
+ System.out.println("fieldNames = " + fieldNames);
+ //文件上传
+ String urls = putFile(file);
+ String link = urls.split(",")[0];
+ //内网
+ String inlink = urls.split(",")[1];
+ Licetuser licetuser = new Licetuser();
+ licetuser.setPtype(ptype);
+
+ Licet licet = new Licet();
+ licet.setPtype(ptype);
+ licetuser.setUserid(cardid);
+
+ //查询上传的材料信息
+ Licetuser licetuser1 = licetuserService.getOne(Condition.getQueryWrapper(licetuser));
+ if (null==licetuser1){
+ licetuser.setTemplateid(licetId);
+ licetuser.setLinks(link);
+ //新增
+ licetuserService.save(licetuser);
+
+ //数据同步
+ String s1 =
+ "insert into sys_licetuser(id,userid,ptype,templateid,links) " +
+ "values(" + "'" + licetuser.getId() + "'" + "," +
+ "'" + licetuser.getUserid() + "'" + "," +
+ "'" + licetuser.getPtype() + "'" + "," +
+ "'" + licetuser.getTemplateid() + "'" + "," +
+ "'" + inlink + "'" + ")";
+ FtpUtil.sqlFileUpload(s1);
+ }else {
+ //判断是否是重复上传
+ List<String> asList = Arrays.asList(licetuser1.getTemplateid().split(","));
+ List<String> linksList = Arrays.asList(licetuser1.getLinks().split(","));
+ boolean status = asList.contains(licetId);
+ if(status) {
+ //重复上传
+ int i = 0;
+ for (int j = 0; j < asList.size(); j++) {
+ if (asList.get(j).equals(licetId)){
+ i = j;
+ }
+ }
+ //替换link
+ linksList.set(i,link);
+ licetuser1.setLinks(StringUtils.join(linksList.toArray(), ","));
+ }else {
+ //替换 下标集合,id集合,links
+ licetuser1.setTemplateid(licetuser1.getTemplateid()+","+licetId);
+ licetuser1.setLinks(licetuser1.getLinks()+","+link);
+ }
+ //修改
+ licetuserService.updateById(licetuser1);
+
+ //内网 links
+ String url = "";
+ String[] split = licetuser1.getLinks().split(",");
+ for (int i = 0; i < split.length; i++) {
+ String s = split[i].substring(26);
+ String[] splits = split[i].split("/");
+ url += FtpConfig.ip +"/zhba/upload/picture/"+ splits[6] + ",";
+ }
+ String inlinks = url.substring(0, url.length() - 1);
+
+ //同步数据
+ String s1 = "update sys_licetuser set userid = " + "'" + licetuser1.getUserid() + "'" +
+ ",ptype = " + "'" + licetuser1.getPtype() + "'" +
+ ",templateid = " + "'" + licetuser1.getTemplateid() + "'" +
+ ",links = " + "'" + inlinks + "'" +
+ " " + "where id = " + "'" + licetuser1.getId() + "'";
+ FtpUtil.sqlFileUpload(s1);
+ }
+ return R.data("成功");
+ }
+
+ /**
+ * 文件上传
+ * @param file
+ */
+ private String putFile(MultipartFile file) throws IOException, InvalidKeyException, InvalidResponseException, InsufficientDataException, NoSuchAlgorithmException, ServerException, InternalException, XmlParserException, ErrorResponseException {
+ String url = FileConfig.apiUrl;
+ String access = FileConfig.access;
+ String secret = FileConfig.secret;
+ String bucket = FileConfig.bucket;
+ MinioClient minioClient =
+ MinioClient.builder()
+ .endpoint(url)
+ .credentials(access, secret)
+ .build();
+ // 检查存储桶是否已经存在
+ boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());
+ if (!isExist) {
+ // 创建一个名为zip的存储桶,用于zip文件。
+ minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());
+ minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).build());
+ }
+ String fileName = file.getOriginalFilename();
+ String newName = "upload/picture/" + UUID.randomUUID().toString().replaceAll("-", "")
+ + fileName.substring(fileName.lastIndexOf("."));
+ InputStream in = file.getInputStream();
+ String[] split = newName.split("/");
+ //创建头部信息
+ Map<String, String> headers = new HashMap<>(1 << 2);
+ //添加自定义内容类型
+ headers.put("Content-Type", "application/octet-stream");
+ //上传
+ minioClient.putObject(
+ PutObjectArgs.builder().bucket(bucket).object(newName).stream(
+ in, in.available(), -1)
+ .headers(headers)
+ .build());
+ InputStream inputStream = file.getInputStream();
+ FtpUtil.uploadFile(FtpConfig.ftpHost, ftpPort, FtpConfig.ftpUserName, ftpPassword, ftpPath, "/", split[2], inputStream);
+ in.close();
+ String urls = "http://61.131.136.25/zhba/" + newName;
+ //内网
+ String inUrl = FtpConfig.ip + "/zhba/" + newName;
+ //返回url
+ return urls+","+inUrl;
+ }
+
}
--
Gitblit v1.9.3