From a64a8cd39c6fa141931f71b55c95b068f928d18f Mon Sep 17 00:00:00 2001 From: 杜洪波 <1074825718@qq.com> Date: 星期五, 23 八月 2024 16:17:22 +0800 Subject: [PATCH] 代码提交 --- src/main/java/com/product/file/config/DocumentCode.java | 4 + src/main/java/com/product/file/controller/DocumentController.java | 59 +++++++++++++++---- src/main/java/com/product/file/config/CmnConst.java | 2 src/main/java/com/product/file/service/ide/IDocumentService.java | 1 src/main/java/com/product/file/config/FileCode.java | 2 src/main/java/com/product/file/service/DocumentService.java | 95 +++++++++++++++++++++---------- src/main/java/com/product/file/controller/DocumentDirectoryController.java | 2 7 files changed, 117 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/product/file/config/CmnConst.java b/src/main/java/com/product/file/config/CmnConst.java index 18c8642..6794462 100644 --- a/src/main/java/com/product/file/config/CmnConst.java +++ b/src/main/java/com/product/file/config/CmnConst.java @@ -27,6 +27,8 @@ public static final String PRODUCT_SYS_PRINT_TEMPLATE_RECORD = "product_sys_print_template_reocrd";// 鎵撳嵃妯℃澘璁板綍琛� public static final String PRODUCT_SYS_STAFFS = "product_sys_staffs"; public static final String TABLE_PRODUCT_SYS_ORG_LEVELS = "product_sys_org_levels";// 缁勭粐鏈烘瀯琛� + public static final String PRODUCT_OA_DOCUMENT_COLLECTION = "product_oa_document_collection"; // 鏂囨。鏀惰棌 + public static final String PRODUCT_OA_DOCUMENT_HISTORY = "product_oa_document_history"; public static final String ATTACHMENT_CAPACITY = "attachment_capacity"; public static final String RESULT = "result"; diff --git a/src/main/java/com/product/file/config/DocumentCode.java b/src/main/java/com/product/file/config/DocumentCode.java index c548011..7857aaf 100644 --- a/src/main/java/com/product/file/config/DocumentCode.java +++ b/src/main/java/com/product/file/config/DocumentCode.java @@ -29,6 +29,10 @@ DOCUMENT_LOG_FAIL("鑾峰彇鏃ュ織澶辫触", ModuleEnum.FILE.getValue() + "008"), DOCUMENT_USER_RIGHT_FAIL("鐢ㄦ埛娌℃湁璇ョ洰褰曟潈闄�", ModuleEnum.FILE.getValue() + "009"), DOCUMENT_DIRECTORY_NAME_FAIL("鏂囨。鐩綍閲嶅懡鍚嶅け璐�", ModuleEnum.FILE.getValue() + "010"), + + DOCUMENT_COLLECTION_FAIL("鏂囨。鏀惰棌澶辫触锛�", ModuleEnum.FILE.getValue() + "011"), + DOCUMENT_CANCEL_COLLECTION_FAIL("鏂囨。鍙栨秷鏀惰棌澶辫触", ModuleEnum.FILE.getValue() + "012"), + DOCUMENT_OPERATE_FAIL("鏂囨。鎿嶄綔澶辫触", ModuleEnum.FILE.getValue() + "013"), ; private String text; diff --git a/src/main/java/com/product/file/config/FileCode.java b/src/main/java/com/product/file/config/FileCode.java index 68c335d..e22eca9 100644 --- a/src/main/java/com/product/file/config/FileCode.java +++ b/src/main/java/com/product/file/config/FileCode.java @@ -78,8 +78,8 @@ DOC_MERGE_FALL("鏂囨。鍚堝悓骞跺け璐�", ModuleEnum.FILE.getValue() + "055"), DOC_CONVERT_FILE_NOT_EXIST_FALL("鏂囨。杞崲澶辫触,鏂囦欢涓嶅瓨鍦�", ModuleEnum.FILE.getValue() + "056"), DOC_CONVERT_NOT_SUPPORT_FILE_FALL("鏂囨。杞崲澶辫触,涓嶆敮鎸佺殑鏂囨。绫诲瀷", ModuleEnum.FILE.getValue() + "057"), + ; - private String text; private String value; diff --git a/src/main/java/com/product/file/controller/DocumentConstoller.java b/src/main/java/com/product/file/controller/DocumentController.java similarity index 90% rename from src/main/java/com/product/file/controller/DocumentConstoller.java rename to src/main/java/com/product/file/controller/DocumentController.java index 81c1537..b91da85 100644 --- a/src/main/java/com/product/file/controller/DocumentConstoller.java +++ b/src/main/java/com/product/file/controller/DocumentController.java @@ -39,7 +39,7 @@ */ @RequestMapping("/api/document") @RestController -public class DocumentConstoller extends AbstractBaseController { +public class DocumentController extends AbstractBaseController { @Autowired public DocumentService documentService; @@ -54,18 +54,7 @@ public String addDocument(HttpServletRequest request) { try { //鑾峰彇鍙傛暟 - FieldSetEntity fse = null; - Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); - if (bean != null) { - RequestParameterEntity reqp = (RequestParameterEntity) bean; - fse = reqp.getFormData(); - } - //鍒ゆ柇鍙傛暟鏄惁涓虹┖ - if (fse == null) { - SpringMVCContextHolder - .getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText()); - return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText()); - } + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); IDocumentService service = (IDocumentService) getProxyInstance(documentService); String uuids = service.addDocument(fse); return OK_Add(uuids); @@ -382,6 +371,50 @@ return this.error(DocumentCode.DOCUMENT_LOG_FAIL.getValue(), DocumentCode.DOCUMENT_LOG_FAIL.getText()); } } + + /** + * 鏂囨。鏀惰棌 + * @param request + * @return + */ + @RequestMapping(value = "/collection/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String documentCollection(HttpServletRequest request) { + try { + //鑾峰彇鍙傛暟 + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION); + return OK_Add(documentService.documentCollection(fse)); + } catch (BaseException e) { + e.printStackTrace(); + return this.error(e); + } catch (Exception e) { + e.printStackTrace(); + return this.error(DocumentCode.DOCUMENT_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_COLLECTION_FAIL.getText() + e.getMessage()); + } + } + /** + * 鏂囨。鍙栨秷鏀惰棌 + * @param request + * @return + */ + @RequestMapping(value = "/cancel-collection/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String documentCancelCollection(HttpServletRequest request) { + try { + //鑾峰彇鍙傛暟 + FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION); + if (documentService.documentCancelCollection(fse.getString("document_uuid"))) { + return OK(); + } + return error(DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getText()); + } catch (BaseException e) { + e.printStackTrace(); + return this.error(e); + } catch (Exception e) { + e.printStackTrace(); + return this.error(DocumentCode.DOCUMENT_OPERATE_FAIL.getValue(), DocumentCode.DOCUMENT_OPERATE_FAIL.getText() + e.getMessage()); + } + } @RequestMapping(value = "/getApplyDocument/{version}", method = RequestMethod.POST) diff --git a/src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java b/src/main/java/com/product/file/controller/DocumentDirectoryController.java similarity index 99% rename from src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java rename to src/main/java/com/product/file/controller/DocumentDirectoryController.java index e25fc03..32ed83a 100644 --- a/src/main/java/com/product/file/controller/DocumentDirectoryConstoller.java +++ b/src/main/java/com/product/file/controller/DocumentDirectoryController.java @@ -35,7 +35,7 @@ */ @RequestMapping("/api/directory") @RestController -public class DocumentDirectoryConstoller extends AbstractBaseController { +public class DocumentDirectoryController extends AbstractBaseController { @Autowired DocumentDirectoryService documentDirectoryService; diff --git a/src/main/java/com/product/file/service/DocumentService.java b/src/main/java/com/product/file/service/DocumentService.java index 3d72614..284ed77 100644 --- a/src/main/java/com/product/file/service/DocumentService.java +++ b/src/main/java/com/product/file/service/DocumentService.java @@ -54,35 +54,42 @@ @Override @Transactional - public String addDocument(FieldSetEntity fieldSetEntity) throws BaseException { - //鏂囦欢闄勪欢琛╱uid - String uuIds = fieldSetEntity.getString(CmnConst.ATTACHMENTS_UUID); - String directory_uuid = fieldSetEntity.getString(CmnConst.DIRECTORY_UUID); - String[] uuid = uuIds.split(","); + public String addDocument(FieldSetEntity fse) throws BaseException { + //鑾峰彇闄勪欢鐩綍鍜岄檮浠秛uid + String directory_uuid = fse.getString(CmnConst.DIRECTORY_UUID); + String fileUUIDs = fse.getString(CmnConst.ATTACHMENTS_UUID); + String[] fileUUIDArray = fileUUIDs.split(","); //鑾峰彇闄勪欢淇℃伅 - DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuid.length, true), uuid); + DataTableEntity attachments = baseDao.listTable(CmnConst.PRODUCT_SYS_ATTACHMENTS, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, fileUUIDArray, true)); List<String> uuidList = ListUtils.newArrayList(); List<String> fileNameList = ListUtils.newArrayList(); + //寰幆闄勪欢淇℃伅锛岀敓鎴愭枃妗d俊鎭� for (int i = 0, length = attachments.getRows(); i < length; i++) { - FieldSetEntity fieldSet = new FieldSetEntity(); - fieldSet.setTableName(CmnConst.PRODUCT_OA_DOCUMENT); - FieldSetEntity fse = attachments.getFieldSetEntity(i); - //鏂囦欢鐩綍uuid - fieldSet.setValue(CmnConst.DIRECTORY_UUID, directory_uuid); - //鏂囦欢澶у皬 - fieldSet.setValue(CmnConst.FILE_SIZE, fse.getString(CmnConst.ATTACHMENT_SIZE)); + FieldSetEntity attachment = attachments.getFieldSetEntity(i); + //鍒涘缓鏂囨。鏁版嵁瀹瑰櫒 + FieldSetEntity fseDocument = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT); + fseDocument.setValue(CmnConst.ATTACHMENTS_UUID, attachment.getUUID()); + fseDocument.setValue(CmnConst.DIRECTORY_UUID, directory_uuid); + fseDocument.setValue(CmnConst.FILE_SIZE, attachment.getString(CmnConst.ATTACHMENT_SIZE)); + fseDocument.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id()); + fseDocument.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime()); //鏂囦欢鍚嶇О - String file_name = fse.getString(CmnConst.FILE_NAME); - fieldSet.setValue(CmnConst.FILE_NAME, file_name); + String file_name = attachment.getString(CmnConst.FILE_NAME); + fseDocument.setValue(CmnConst.FILE_NAME, file_name); //鏂囦欢绫诲瀷 String file_type = file_name.substring(file_name.lastIndexOf(".") + 1); - fieldSet.setValue(CmnConst.FILE_TYPE, file_type); - //闄勪欢uuid - fieldSet.setValue(CmnConst.ATTACHMENTS_UUID, fse.getString(CmnConst.UUID)); - fieldSet.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 鍒涘缓浜� - fieldSet.setValue(CmnConst.CREATED_UTC_DATETIME, DateUtils.getDateTime());// 鍒涘缓鏃堕棿 - String file_uuid = baseDao.add(fieldSet); - uuidList.add(file_uuid); + fseDocument.setValue(CmnConst.FILE_TYPE, file_type); + //淇濆瓨鏁版嵁 + String documentUUID = baseDao.add(fseDocument); + + //鍒涘缓鏂囨。鐗堟湰鏁版嵁瀹瑰櫒 + FieldSetEntity fseDocumentHistory = new FieldSetEntity(CmnConst.PRODUCT_OA_DOCUMENT_HISTORY); + BaseUtil.createCreatorAndCreationTime(fseDocumentHistory); + fseDocument.setValue("document_uuid", documentUUID); + fseDocument.setValue("attachment_uuid", attachment.getUUID()); + baseDao.add(fseDocumentHistory); + + uuidList.add(documentUUID); fileNameList.add(file_name); } this.documentation(uuidList.toArray(), "鏂板", fileNameList.toArray(), null); @@ -133,16 +140,20 @@ queryFilter = " AND " + queryFilter; } StringBuffer sql = new StringBuffer(); - sql.append(" SELECT ") - .append(" a.*,CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb,b.show_name name") - // .append(" concat(c.attachment_domain,'/',c.attachment_container,'/',c.module_uuid,'/',c.attachment_title,?) path ") - .append(" FROM ") - .append(" (SELECT * FROM PRODUCT_OA_document WHERE directory_uuid = ? ") - .append(queryFilter) - .append(" ) a LEFT JOIN product_sys_staffs b ON a.created_by = b.user_id ") - .append(" LEFT JOIN product_sys_attachments c ON b.staff_avatar=c.uuid "); - String sostoken = Global.getSystemConfig("upload.key", ""); - DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE)); + sql.append("SELECT \n"); + sql.append(" A.*,B.show_name name, \n"); + sql.append(" CONCAT(CONVERT(a.file_size / 1024, decimal(10,2)), 'KB') file_size_kb, \n"); + sql.append(" CASE WHEN D.document_uuid IS NOT NULL THEN '1' ELSE '0' END AS is_collection \n"); + sql.append("FROM( \n"); + sql.append(" SELECT * FROM product_oa_document \n"); + sql.append(" WHERE directory_uuid = ? \n"); + sql.append(queryFilter); + sql.append(")A \n"); + sql.append("LEFT JOIN product_sys_staffs B ON B.user_id = A.created_by \n"); + sql.append("LEFT JOIN product_sys_attachments C ON C.uuid = B.staff_avatar \n"); + sql.append("LEFT JOIN product_oa_document_collection D ON D.document_uuid = A.uuid AND D.created_by = ?"); + DataTableEntity documentData = baseDao.listTable(sql.toString(), new String[]{directory_uuid, SpringMVCContextHolder.getCurrentUserId()}, + fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE)); baseDao.listInternationDataTable(documentData, null); return documentData; } @@ -469,6 +480,26 @@ return baseDao.listTable("SELECT CONCAT(b.show_name, a.state) log,a.created_utc_datetime FROM PRODUCT_OA_document_log a LEFT JOIN product_sys_staffs b on a.created_by = b.user_id WHERE document_uuid = ? ORDER BY a.created_utc_datetime DESC", new String[]{fieldSetEntity.getString(CmnConst.DOCUMENT_UUID)}, fieldSetEntity.getInteger(CmnConst.PAGESIZE), fieldSetEntity.getInteger(CmnConst.CPAGE)); } + + /** + * 鏂囨。鏀惰棌 + * @param fse + * @return + */ + public String documentCollection(FieldSetEntity fse) { + BaseUtil.createCreatorAndCreationTime(fse); + fse.setValue("document_collector", SpringMVCContextHolder.getCurrentUserId()); + return baseDao.add(fse); + } + + /** + * 鏂囨。鍙栨秷鏀惰棌 + * @param documentUUID + * @return + */ + public boolean documentCancelCollection(String documentUUID) { + return baseDao.delete(CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION, "document_uuid = ? AND document_collector = ?", new Object[] {documentUUID, SpringMVCContextHolder.getCurrentUserId()}); + } @Override public DataTableEntity getApplyDocument(FieldSetEntity fse) throws BaseException { diff --git a/src/main/java/com/product/file/service/ide/IDocumentService.java b/src/main/java/com/product/file/service/ide/IDocumentService.java index 2d2e3a8..0a3203c 100644 --- a/src/main/java/com/product/file/service/ide/IDocumentService.java +++ b/src/main/java/com/product/file/service/ide/IDocumentService.java @@ -4,7 +4,6 @@ import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; -import org.jsoup.Connection; /** * Copyright LX-BASE -- Gitblit v1.9.2