From cebb05f8d1ddbf5ac415c5471e17d2d94ea1a6de Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 15 五月 2024 18:14:07 +0800 Subject: [PATCH] zjh 2024/05/15-1 --- ltkj-admin/src/main/java/com/ltkj/web/tduck/UserFormResultController.java | 456 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 228 insertions(+), 228 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/tduck/UserFormResultController.java b/ltkj-admin/src/main/java/com/ltkj/web/tduck/UserFormResultController.java index 2ed03de..7f1fca1 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/tduck/UserFormResultController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/tduck/UserFormResultController.java @@ -1,254 +1,254 @@ -//package com.ltkj.web.tduck; -// -//import cn.hutool.core.date.DateUtil; -//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -//import com.ltkj.common.core.domain.AjaxResult; -//import com.ltkj.common.utils.SecurityUtils; -//import com.ltkj.common.utils.http.HttpUtils; -//import com.ltkj.tduck.domain.UserFormDataEntity; -//import com.ltkj.tduck.domain.UserFormViewCountEntity; -//import com.ltkj.tduck.request.QueryFormResultRequest; -//import com.ltkj.tduck.service.UserFormDataService; -//import com.ltkj.tduck.service.UserFormViewCountService; -//import com.ltkj.tduck.utils.Result; -//import com.ltkj.tduck.utils.ValidatorUtils; -//import lombok.RequiredArgsConstructor; -//import lombok.extern.slf4j.Slf4j; -//import org.springframework.web.bind.annotation.*; -// -//import javax.annotation.security.PermitAll; -//import javax.servlet.http.HttpServletRequest; -//import java.util.List; -//import java.util.Map; -//import java.util.concurrent.ConcurrentHashMap; -//import java.util.concurrent.ConcurrentMap; -// -// -///** -// * 琛ㄥ崟鏁版嵁 -// * -// * @author : smalljop -// * @description : 琛ㄥ崟鏁版嵁椤� 褰撳墠鐢ㄦ埛鑷繁浣跨敤鎺ュ彛 -// * @create : 2020-11-18 18:17 -// **/ -// -//@Slf4j -//@RestController -//@RequiredArgsConstructor -//@RequestMapping("/user/form/data") -//public class UserFormResultController { -// private final UserFormDataService formResultService; -//// private final UserFormSettingService userFormSettingService; -//// private final FormDataImportUtils formDataImportUtils; -//// private final FormDataExportUtils formDataExportUtils; -//// private final UserFormService userFormService; -// private final UserFormViewCountService userFormViewCountService; -//// private final MailService mailService; -//// private final WxMpUserMsgService userMsgService; -// private final ConcurrentMap<String, Integer> viewFormMap = new ConcurrentHashMap<>(); -// +package com.ltkj.web.tduck; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.common.utils.SecurityUtils; +import com.ltkj.common.utils.http.HttpUtils; +import com.ltkj.tduck.domain.UserFormDataEntity; +import com.ltkj.tduck.domain.UserFormViewCountEntity; +import com.ltkj.tduck.request.QueryFormResultRequest; +import com.ltkj.tduck.service.UserFormDataService; +import com.ltkj.tduck.service.UserFormViewCountService; +import com.ltkj.tduck.utils.Result; +import com.ltkj.tduck.utils.ValidatorUtils; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.security.PermitAll; +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + + +/** + * 琛ㄥ崟鏁版嵁 + * + * @author : smalljop + * @description : 琛ㄥ崟鏁版嵁椤� 褰撳墠鐢ㄦ埛鑷繁浣跨敤鎺ュ彛 + * @create : 2020-11-18 18:17 + **/ + +@Slf4j +@RestController +@RequiredArgsConstructor +@RequestMapping("/user/form/data") +public class UserFormResultController { + private final UserFormDataService formResultService; +// private final UserFormSettingService userFormSettingService; +// private final FormDataImportUtils formDataImportUtils; +// private final FormDataExportUtils formDataExportUtils; +// private final UserFormService userFormService; + private final UserFormViewCountService userFormViewCountService; +// private final MailService mailService; +// private final WxMpUserMsgService userMsgService; + private final ConcurrentMap<String, Integer> viewFormMap = new ConcurrentHashMap<>(); + + + + /** + * 鏍规嵁浣撴鍙疯幏鍙栭棶鍗疯褰� + */ + @GetMapping("getRecordByTjNumber") + public AjaxResult getRecordByTjNumber(String tjNumber) { + LambdaQueryWrapper<UserFormDataEntity> wq=new LambdaQueryWrapper<>(); + wq.eq(UserFormDataEntity::getTjNumber,tjNumber); + final List<UserFormDataEntity> list = formResultService.list(wq); + AjaxResult ajaxResult = new AjaxResult(); + ajaxResult.put("code", 200); + ajaxResult.put("data", list); + ajaxResult.put("msg", null); + return ajaxResult; + } + + + /*** + * 鏌ョ湅琛ㄥ崟 + * 璁板綍鏌ョ湅鐨処P 缁熻鏌ョ湅鐢ㄦ埛鏁� + */ + @GetMapping("view/{formKey}") + @PermitAll + public Result<Void> viewForm(HttpServletRequest request, @PathVariable("formKey") String formKey) { + if (viewFormMap.containsKey(formKey)) { + userFormViewCountService.increment(formKey); + } else { + // 涓嶅瓨鍦ㄥ垯娣诲姞 + Long count = userFormViewCountService.count(formKey); + if (count == 0) { + UserFormViewCountEntity entity = new UserFormViewCountEntity(); + entity.setFormKey(formKey); + entity.setCount(1L); + userFormViewCountService.save(entity); + } + viewFormMap.put(formKey, 1); + } + return Result.success(); + } + + /** + * 鏌ヨ鏁版嵁 + * + * @param request 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + @PostMapping("query") + public Result queryFormDataTable(@RequestBody QueryFormResultRequest request) { +// FormAuthUtils.hasPermission(request.getFormKey()); + return Result.success(formResultService.listFormDataTable(request)); + } + + /** + * 鑾峰彇鏌愭潯鏁版嵁璇︽儏 + * + * @param dataId 鏁版嵁ID + * @return 鏁版嵁璇︽儏 + */ + @GetMapping("details/{dataId}") + @PermitAll + public Result getFormDataDetails(@PathVariable("dataId") String dataId) { + return formResultService.getFormDataDetails(dataId); + } // // // /** -// * 鏍规嵁浣撴鍙疯幏鍙栭棶鍗疯褰� +// * 濉啓闄勪欢瀵煎嚭 +// * +// * @param request 璇锋眰 +// * @return 鏂囦欢 // */ -// @GetMapping("getRecordByTjNumber") -// public AjaxResult getRecordByTjNumber(String tjNumber) { -// LambdaQueryWrapper<UserFormDataEntity> wq=new LambdaQueryWrapper<>(); -// wq.eq(UserFormDataEntity::getTjNumber,tjNumber); -// final List<UserFormDataEntity> list = formResultService.list(wq); -// AjaxResult ajaxResult = new AjaxResult(); -// ajaxResult.put("code", 200); -// ajaxResult.put("data", list); -// ajaxResult.put("msg", null); -// return ajaxResult; +// @PostMapping("/download/file") +// public Result downloadFormResultFile(@RequestBody QueryFormResultRequest request) { +// return formResultService.downloadFormResultFile(request); // } -// -// -// /*** -// * 鏌ョ湅琛ㄥ崟 -// * 璁板綍鏌ョ湅鐨処P 缁熻鏌ョ湅鐢ㄦ埛鏁� -// */ -// @GetMapping("view/{formKey}") -// @PermitAll -// public Result<Void> viewForm(HttpServletRequest request, @PathVariable("formKey") String formKey) { -// if (viewFormMap.containsKey(formKey)) { -// userFormViewCountService.increment(formKey); -// } else { -// // 涓嶅瓨鍦ㄥ垯娣诲姞 -// Long count = userFormViewCountService.count(formKey); -// if (count == 0) { -// UserFormViewCountEntity entity = new UserFormViewCountEntity(); -// entity.setFormKey(formKey); -// entity.setCount(1L); -// userFormViewCountService.save(entity); -// } -// viewFormMap.put(formKey, 1); + + /** + * 濉啓 + * + * @param entity 濉啓鏁版嵁 + * @param request 璇锋眰 + * @return + */ + @PostMapping("/create") + public AjaxResult createFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { + ValidatorUtils.validateEntity(entity); + entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); + // 濡傛灉宸茬粡鐧婚檰浜嗕篃璁板綍鐢ㄦ埛淇℃伅 try catch 閬垮厤鎶涘嚭寮傚父 + entity.setCreateBy(SecurityUtils.getUserId() != null ? String.valueOf(SecurityUtils.getUserId()) : null); + Map<String, Object> result = formResultService.saveFormResult(entity); + return AjaxResult.success(result); + } + + + /** + * 鍏紑濉啓 + * + * @param entity 濉啓鏁版嵁 + * @param request 璇锋眰 + */ + @PostMapping("/public/create") + @PermitAll + public Result<Map<String, Object>> createPublicFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { + + ValidatorUtils.validateEntity(entity); + entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); +// Result<Boolean> userFormSettingStatus = userFormSettingService.getUserFormWriteSettingStatus(entity.getFormKey(), entity.getSubmitRequestIp(), entity.getWxOpenId(), CommonConstants.ConstantNumber.ONE); +// if (StrUtil.isNotBlank(userFormSettingStatus.getMsg())) { +// return Result.failed(userFormSettingStatus.getMsg()); // } + // 濡傛灉宸茬粡鐧婚檰浜嗕篃璁板綍鐢ㄦ埛淇℃伅 try catch 閬垮厤鎶涘嚭寮傚父 + entity.setCreateBy(SecurityUtils.getUserId() != null ? String.valueOf(SecurityUtils.getUserId()) : null); + Map<String, Object> result = formResultService.saveFormResult(entity); +// ThreadUtil.execAsync(() -> { +// sendWriteResultNotify(entity.getFormKey()); +// }); + return Result.success(result); +// return Result.success(); + } + +// +// /** +// * 鎵归噺鍒犻櫎 +// * +// * @param formKey 琛ㄥ崟key +// * @param dataIdList 鏁版嵁ID +// * @return Result +// */ +// @PostMapping("/delete/{formKey}") +// public Result deleteFormData(@RequestBody List<String> dataIdList, @PathVariable("formKey") String formKey) { +// formResultService.deleteByIds(dataIdList, formKey); +// return Result.success(); +// } + + +// /** +// * 鏇存柊 +// * +// * @param entity 濉啓鏁版嵁 +// * @param request 璇锋眰 +// * @return Result +// */ +// @PostMapping("/update") +// @PermitAll +// public Result<Void> updateFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { +// ValidatorUtils.validateEntity(entity); +// try { +// entity.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); +// } catch (Exception ignored) { +// } +// formResultService.updateFormResult(entity); // return Result.success(); // } // // /** -// * 鏌ヨ鏁版嵁 +// * 涓嬭浇瀵煎叆妯℃澘 // * -// * @param request 鏌ヨ鏉′欢 -// * @return 鏁版嵁 +// * @param response 鍝嶅簲 +// * @param formKey 琛ㄥ崟key // */ -// @PostMapping("query") -// public Result queryFormDataTable(@RequestBody QueryFormResultRequest request) { -//// FormAuthUtils.hasPermission(request.getFormKey()); -// return Result.success(formResultService.listFormDataTable(request)); +// @GetMapping("/import/template") +// public void downloadImportTemplate(HttpServletResponse response, String formKey) { +// formDataImportUtils.importTemplateExcel(response, formKey); // } // // /** -// * 鑾峰彇鏌愭潯鏁版嵁璇︽儏 -// * -// * @param dataId 鏁版嵁ID -// * @return 鏁版嵁璇︽儏 +// * 瀵煎嚭琛ㄥ崟鏁版嵁 // */ -// @GetMapping("details/{dataId}") -// @PermitAll -// public Result getFormDataDetails(@PathVariable("dataId") String dataId) { -// return formResultService.getFormDataDetails(dataId); +// @PostMapping("export") +// public void exportFormData(@RequestBody ExportRequest.FormData exportRequest) { +// formDataExportUtils.exportData(exportRequest); // } -//// -//// -//// /** -//// * 濉啓闄勪欢瀵煎嚭 -//// * -//// * @param request 璇锋眰 -//// * @return 鏂囦欢 -//// */ -//// @PostMapping("/download/file") -//// public Result downloadFormResultFile(@RequestBody QueryFormResultRequest request) { -//// return formResultService.downloadFormResultFile(request); -//// } // // /** -// * 濉啓 +// * 瀵煎叆琛ㄥ崟鏁版嵁 // * -// * @param entity 濉啓鏁版嵁 -// * @param request 璇锋眰 -// * @return +// * @param file 鏂囦欢 +// * @return Result // */ -// @PostMapping("/create") -// public AjaxResult createFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { -// ValidatorUtils.validateEntity(entity); -// entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); -// // 濡傛灉宸茬粡鐧婚檰浜嗕篃璁板綍鐢ㄦ埛淇℃伅 try catch 閬垮厤鎶涘嚭寮傚父 -// entity.setCreateBy(SecurityUtils.getUserId() != null ? String.valueOf(SecurityUtils.getUserId()) : null); -// Map<String, Object> result = formResultService.saveFormResult(entity); -// return AjaxResult.success(result); +// @PostMapping("import") +// public Result importFormData(@RequestParam("file") MultipartFile file, UserFormDataEntity dataEntity) throws IOException { +// return Result.success(formDataImportUtils.importFile(file.getInputStream(), dataEntity.getFormKey())); // } // // -// /** -// * 鍏紑濉啓 -// * -// * @param entity 濉啓鏁版嵁 -// * @param request 璇锋眰 -// */ -// @PostMapping("/public/create") -// @PermitAll -// public Result<Map<String, Object>> createPublicFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { +// private void sendWriteResultNotify(String formKey) { +// FormSettingSchemaStruct formSettingSchema = userFormSettingService.getFormSettingSchema(formKey); +// if (ObjectUtil.isNull(formSettingSchema)) { +// return; +// } +// UserFormEntity form = userFormService.getByKey(formKey); +// if (StrUtil.isNotBlank(formSettingSchema.getNewWriteNotifyEmail())) { +// mailService.sendTemplateHtmlMail(formSettingSchema.getNewWriteNotifyEmail(), "鏂板洖澶嶉�氱煡", "mail/form-write-notify", MapUtil.of("projectName", form.getName())); +// } // -// ValidatorUtils.validateEntity(entity); -// entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); -//// Result<Boolean> userFormSettingStatus = userFormSettingService.getUserFormWriteSettingStatus(entity.getFormKey(), entity.getSubmitRequestIp(), entity.getWxOpenId(), CommonConstants.ConstantNumber.ONE); -//// if (StrUtil.isNotBlank(userFormSettingStatus.getMsg())) { -//// return Result.failed(userFormSettingStatus.getMsg()); -//// } -// // 濡傛灉宸茬粡鐧婚檰浜嗕篃璁板綍鐢ㄦ埛淇℃伅 try catch 閬垮厤鎶涘嚭寮傚父 -// entity.setCreateBy(SecurityUtils.getUserId() != null ? String.valueOf(SecurityUtils.getUserId()) : null); -// Map<String, Object> result = formResultService.saveFormResult(entity); -//// ThreadUtil.execAsync(() -> { -//// sendWriteResultNotify(entity.getFormKey()); -//// }); -// return Result.success(result); -//// return Result.success(); +// if (StrUtil.isNotBlank(formSettingSchema.getNewWriteNotifyWx())) { +// List<String> openIdList = StrUtil.splitTrim(formSettingSchema.getNewWriteNotifyWx(), ";"); +// openIdList.stream().forEach(openId -> { +// userMsgService.sendKfTextMsg("", openId, "鏀跺埌鏂扮殑鍙嶉锛岃鍘籔c绔煡鐪�"); +// }); +// } // } -// -//// -//// /** -//// * 鎵归噺鍒犻櫎 -//// * -//// * @param formKey 琛ㄥ崟key -//// * @param dataIdList 鏁版嵁ID -//// * @return Result -//// */ -//// @PostMapping("/delete/{formKey}") -//// public Result deleteFormData(@RequestBody List<String> dataIdList, @PathVariable("formKey") String formKey) { -//// formResultService.deleteByIds(dataIdList, formKey); -//// return Result.success(); -//// } -// -// -//// /** -//// * 鏇存柊 -//// * -//// * @param entity 濉啓鏁版嵁 -//// * @param request 璇锋眰 -//// * @return Result -//// */ -//// @PostMapping("/update") -//// @PermitAll -//// public Result<Void> updateFormResult(@RequestBody UserFormDataEntity entity, HttpServletRequest request) { -//// ValidatorUtils.validateEntity(entity); -//// try { -//// entity.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); -//// } catch (Exception ignored) { -//// } -//// formResultService.updateFormResult(entity); -//// return Result.success(); -//// } -//// -//// /** -//// * 涓嬭浇瀵煎叆妯℃澘 -//// * -//// * @param response 鍝嶅簲 -//// * @param formKey 琛ㄥ崟key -//// */ -//// @GetMapping("/import/template") -//// public void downloadImportTemplate(HttpServletResponse response, String formKey) { -//// formDataImportUtils.importTemplateExcel(response, formKey); -//// } -//// -//// /** -//// * 瀵煎嚭琛ㄥ崟鏁版嵁 -//// */ -//// @PostMapping("export") -//// public void exportFormData(@RequestBody ExportRequest.FormData exportRequest) { -//// formDataExportUtils.exportData(exportRequest); -//// } -//// -//// /** -//// * 瀵煎叆琛ㄥ崟鏁版嵁 -//// * -//// * @param file 鏂囦欢 -//// * @return Result -//// */ -//// @PostMapping("import") -//// public Result importFormData(@RequestParam("file") MultipartFile file, UserFormDataEntity dataEntity) throws IOException { -//// return Result.success(formDataImportUtils.importFile(file.getInputStream(), dataEntity.getFormKey())); -//// } -//// -//// -//// private void sendWriteResultNotify(String formKey) { -//// FormSettingSchemaStruct formSettingSchema = userFormSettingService.getFormSettingSchema(formKey); -//// if (ObjectUtil.isNull(formSettingSchema)) { -//// return; -//// } -//// UserFormEntity form = userFormService.getByKey(formKey); -//// if (StrUtil.isNotBlank(formSettingSchema.getNewWriteNotifyEmail())) { -//// mailService.sendTemplateHtmlMail(formSettingSchema.getNewWriteNotifyEmail(), "鏂板洖澶嶉�氱煡", "mail/form-write-notify", MapUtil.of("projectName", form.getName())); -//// } -//// -//// if (StrUtil.isNotBlank(formSettingSchema.getNewWriteNotifyWx())) { -//// List<String> openIdList = StrUtil.splitTrim(formSettingSchema.getNewWriteNotifyWx(), ";"); -//// openIdList.stream().forEach(openId -> { -//// userMsgService.sendKfTextMsg("", openId, "鏀跺埌鏂扮殑鍙嶉锛岃鍘籔c绔煡鐪�"); -//// }); -//// } -//// } -// -//} + +} -- Gitblit v1.8.0