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-system/src/main/java/com/ltkj/tduck/service/impl/UserFormDataServiceImpl.java | 312 ++++++++++++++++++++++++++-------------------------- 1 files changed, 156 insertions(+), 156 deletions(-) diff --git a/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormDataServiceImpl.java b/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormDataServiceImpl.java index 3aedf94..6cb5bdd 100644 --- a/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormDataServiceImpl.java +++ b/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormDataServiceImpl.java @@ -1,159 +1,159 @@ -//package com.ltkj.tduck.service.impl; -// -//import cn.hutool.core.bean.BeanUtil; -//import cn.hutool.core.map.MapUtil; -//import cn.hutool.core.util.ObjectUtil; -//import cn.hutool.core.util.StrUtil; -//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -//import com.ltkj.common.utils.ip.AddressUtils; -//import com.ltkj.tduck.constant.CommonConstants; -//import com.ltkj.tduck.domain.UserFormDataEntity; -//import com.ltkj.tduck.mapper.UserFormDataMapper; -//import com.ltkj.tduck.request.QueryFormResultRequest; -//import com.ltkj.tduck.service.UserFormDataService; -//import com.ltkj.tduck.service.UserFormItemService; -//import com.ltkj.tduck.utils.CacheUtils; -//import com.ltkj.tduck.utils.FormDataUtils; -//import com.ltkj.tduck.utils.Result; -//import com.ltkj.tduck.vo.FormDataTableVO; -//import com.ltkj.tduck.vo.FormFieldVO; -//import lombok.RequiredArgsConstructor; -//import lombok.extern.slf4j.Slf4j; -//import org.springframework.stereotype.Service; -//import org.springframework.transaction.annotation.Transactional; -// -//import java.util.HashMap; -//import java.util.List; -//import java.util.Map; -// -//import static com.ltkj.tduck.constant.FormRedisKeyConstants.FORM_RESULT_NUMBER; -// -// -///** -// * 琛ㄥ崟琛ㄥ崟椤�(FormResult)琛ㄦ湇鍔″疄鐜扮被 -// * -// * @author smalljop -// * @since 2020-11-23 14:09:22 -// */ -//@Service -//@Slf4j -//@RequiredArgsConstructor -//public class UserFormDataServiceImpl extends ServiceImpl<UserFormDataMapper, UserFormDataEntity> implements UserFormDataService { -// -// private final UserFormItemService userFormItemService; -// private final CacheUtils redisUtils; -// private final FormDataUtils formDataUtils; -// -// +package com.ltkj.tduck.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ltkj.common.utils.ip.AddressUtils; +import com.ltkj.tduck.constant.CommonConstants; +import com.ltkj.tduck.domain.UserFormDataEntity; +import com.ltkj.tduck.mapper.UserFormDataMapper; +import com.ltkj.tduck.request.QueryFormResultRequest; +import com.ltkj.tduck.service.UserFormDataService; +import com.ltkj.tduck.service.UserFormItemService; +import com.ltkj.tduck.utils.CacheUtils; +import com.ltkj.tduck.utils.FormDataUtils; +import com.ltkj.tduck.utils.Result; +import com.ltkj.tduck.vo.FormDataTableVO; +import com.ltkj.tduck.vo.FormFieldVO; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.ltkj.tduck.constant.FormRedisKeyConstants.FORM_RESULT_NUMBER; + + +/** + * 琛ㄥ崟琛ㄥ崟椤�(FormResult)琛ㄦ湇鍔″疄鐜扮被 + * + * @author smalljop + * @since 2020-11-23 14:09:22 + */ +@Service +@Slf4j +@RequiredArgsConstructor +public class UserFormDataServiceImpl extends ServiceImpl<UserFormDataMapper, UserFormDataEntity> implements UserFormDataService { + + private final UserFormItemService userFormItemService; + private final CacheUtils redisUtils; + private final FormDataUtils formDataUtils; + + + @Override + @Transactional(rollbackFor = Exception.class) + public Map<String, Object> saveFormResult(UserFormDataEntity entity) { + HashMap<String, Object> result = MapUtil.newHashMap(); + String formKey = entity.getFormKey(); + entity.setSubmitAddress(AddressUtils.getRealAddressByIP(entity.getSubmitRequestIp())); + entity.setSerialNumber(redisUtils.incr(StrUtil.format(FORM_RESULT_NUMBER, formKey), CommonConstants.ConstantNumber.ONE)); + this.save(entity); +// formDataUtils.syncSaveFormData(entity); + result.put("id", entity.getId()); + return result; + } + + + /** + * 涓嬭浇琛ㄥ崟缁撴灉涓殑闄勪欢 + * + * @param request + * @return + */ // @Override -// @Transactional(rollbackFor = Exception.class) -// public Map<String, Object> saveFormResult(UserFormDataEntity entity) { -// HashMap<String, Object> result = MapUtil.newHashMap(); -// String formKey = entity.getFormKey(); -// entity.setSubmitAddress(AddressUtils.getRealAddressByIP(entity.getSubmitRequestIp())); -// entity.setSerialNumber(redisUtils.incr(StrUtil.format(FORM_RESULT_NUMBER, formKey), CommonConstants.ConstantNumber.ONE)); -// this.save(entity); -//// formDataUtils.syncSaveFormData(entity); -// result.put("id", entity.getId()); -// return result; -// } -// -// -// /** -// * 涓嬭浇琛ㄥ崟缁撴灉涓殑闄勪欢 -// * -// * @param request -// * @return -// */ -//// @Override -//// public Result downloadFormResultFile(QueryFormResultRequest request) { -//// String uuid = IdUtil.simpleUUID(); -//// List<UserFormItemEntity> userFormItemEntityList = userFormItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).in(UserFormItemEntity::getType, CollUtil.newArrayList(FormItemTypeEnum.UPLOAD.toString(), FormItemTypeEnum.IMAGE_UPLOAD.toString()))); -//// //缁撴灉 -//// List<Map> rows = null; -//// if (ObjectUtil.isNull(request.getCurrent()) && ObjectUtil.isNull(request.getSize())) { -//// rows = formDataUtils.searchAll(request); -//// } else { -//// FormDataTableVO formDataTableVO = this.listFormDataTable(request); -//// rows = formDataTableVO.getRows(); -//// } -//// if (CollectionUtil.isEmpty(rows) || CollectionUtil.isEmpty(userFormItemEntityList)) { -//// return Result.failed("鏆傛棤鏀堕泦闄勪欢锛屾棤娉曚笅杞�"); -//// } -//// List<Map> finalRows = rows; -//// ThreadUtil.execAsync(() -> { -//// TimeInterval timer = DateUtil.timer(); -//// List<String> paths = new ArrayList<>(); -//// List<InputStream> ins = new ArrayList<>(); -//// try { -//// finalRows.forEach(result -> { -//// int index = 0; -//// userFormItemEntityList.forEach(item -> { -//// List<UploadResultStruct> uploadResults = JsonUtils.jsonToList(JsonUtils.objToJson(MapUtil.get(result, item.getFormItemId(), List.class)), UploadResultStruct.class); -//// if (CollectionUtil.isNotEmpty(uploadResults)) { -//// uploadResults.forEach(uFile -> { -//// if (StrUtil.isNotBlank(uFile.getUrl())) { -//// paths.add(FileNameUtil.getName(uFile.getUrl())); -//// byte[] bytes = HttpUtil.downloadBytes(uFile.getUrl()); -//// ins.add(IoUtil.toStream(bytes)); -//// } -//// }); -//// } -//// }); -//// AsyncProcessUtils.setProcess(uuid, ++index / finalRows.size()); -//// }); -//// // 鍘嬬缉涓婁紶oss -//// ByteArrayOutputStream zipOutputStream = new ByteArrayOutputStream(); -//// ZipUtil.zip(zipOutputStream, paths.toArray(new String[]{}), ins.toArray(new InputStream[]{})); -//// String downloadUrl = OssStorageFactory.getStorageService().upload(zipOutputStream.toByteArray(), StorageUtils.generateFileName("download", ".zip")); -//// AsyncProcessUtils.setProcess(uuid, downloadUrl); -//// log.info("export file cost time: {}", timer.interval()); -//// } catch (Exception e) { -//// log.error("download file", e); -//// } -//// }); -//// return Result.success(uuid); -//// } -//// -//// -// @Override -// public FormDataTableVO listFormDataTable(QueryFormResultRequest request) { -// return formDataUtils.search(request); -// } -//// -//// -//// @Override -//// public Boolean deleteByIds(List<String> dataIdList, String formKey) { -//// baseMapper.deleteBatchIds(dataIdList); -//// formDataUtils.asyncDeleteEsDocument(dataIdList, formKey); -//// return true; -//// } -//// -//// @Override -//// public Boolean updateFormResult(UserFormDataEntity entity) { -//// UserFormDataEntity dataEntity = this.getById(entity.getId()); -//// dataEntity.setOriginalData(entity.getOriginalData()); -//// dataEntity.setUpdateBy(entity.getUpdateBy()); -//// boolean update = this.updateById(dataEntity); -//// // 鏌ヨ鏁版嵁 鍚屾鍒癳s 閬垮厤鏁版嵁鍙樼┖琚鐩� -//// formDataUtils.asyncUpdateEsDocument(dataEntity); -//// return update; -//// } -// -// @Override -// public Result getFormDataDetails(String dataId) { -// Map<String, Object> result =new HashMap<>(); -// UserFormDataEntity dataEntity = this.getById(dataId); -// List<FormFieldVO> formFields = userFormItemService.listFormFields(dataEntity.getFormKey()); -// // 琛ㄥ崟瀛楁 -// result.put("formFields", formFields); -// // 琛ㄥ崟濉啓鏁版嵁 -// if (ObjectUtil.isNotNull(dataEntity)) { -// Map<String, Object> originalData = dataEntity.getOriginalData(); -// dataEntity.setOriginalData(null); -// originalData.putAll(BeanUtil.beanToMap(dataEntity, false, true)); -// result.put("formData", originalData); +// public Result downloadFormResultFile(QueryFormResultRequest request) { +// String uuid = IdUtil.simpleUUID(); +// List<UserFormItemEntity> userFormItemEntityList = userFormItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).in(UserFormItemEntity::getType, CollUtil.newArrayList(FormItemTypeEnum.UPLOAD.toString(), FormItemTypeEnum.IMAGE_UPLOAD.toString()))); +// //缁撴灉 +// List<Map> rows = null; +// if (ObjectUtil.isNull(request.getCurrent()) && ObjectUtil.isNull(request.getSize())) { +// rows = formDataUtils.searchAll(request); +// } else { +// FormDataTableVO formDataTableVO = this.listFormDataTable(request); +// rows = formDataTableVO.getRows(); // } -// return Result.success(result); +// if (CollectionUtil.isEmpty(rows) || CollectionUtil.isEmpty(userFormItemEntityList)) { +// return Result.failed("鏆傛棤鏀堕泦闄勪欢锛屾棤娉曚笅杞�"); +// } +// List<Map> finalRows = rows; +// ThreadUtil.execAsync(() -> { +// TimeInterval timer = DateUtil.timer(); +// List<String> paths = new ArrayList<>(); +// List<InputStream> ins = new ArrayList<>(); +// try { +// finalRows.forEach(result -> { +// int index = 0; +// userFormItemEntityList.forEach(item -> { +// List<UploadResultStruct> uploadResults = JsonUtils.jsonToList(JsonUtils.objToJson(MapUtil.get(result, item.getFormItemId(), List.class)), UploadResultStruct.class); +// if (CollectionUtil.isNotEmpty(uploadResults)) { +// uploadResults.forEach(uFile -> { +// if (StrUtil.isNotBlank(uFile.getUrl())) { +// paths.add(FileNameUtil.getName(uFile.getUrl())); +// byte[] bytes = HttpUtil.downloadBytes(uFile.getUrl()); +// ins.add(IoUtil.toStream(bytes)); +// } +// }); +// } +// }); +// AsyncProcessUtils.setProcess(uuid, ++index / finalRows.size()); +// }); +// // 鍘嬬缉涓婁紶oss +// ByteArrayOutputStream zipOutputStream = new ByteArrayOutputStream(); +// ZipUtil.zip(zipOutputStream, paths.toArray(new String[]{}), ins.toArray(new InputStream[]{})); +// String downloadUrl = OssStorageFactory.getStorageService().upload(zipOutputStream.toByteArray(), StorageUtils.generateFileName("download", ".zip")); +// AsyncProcessUtils.setProcess(uuid, downloadUrl); +// log.info("export file cost time: {}", timer.interval()); +// } catch (Exception e) { +// log.error("download file", e); +// } +// }); +// return Result.success(uuid); // } -//} +// +// + @Override + public FormDataTableVO listFormDataTable(QueryFormResultRequest request) { + return formDataUtils.search(request); + } +// +// +// @Override +// public Boolean deleteByIds(List<String> dataIdList, String formKey) { +// baseMapper.deleteBatchIds(dataIdList); +// formDataUtils.asyncDeleteEsDocument(dataIdList, formKey); +// return true; +// } +// +// @Override +// public Boolean updateFormResult(UserFormDataEntity entity) { +// UserFormDataEntity dataEntity = this.getById(entity.getId()); +// dataEntity.setOriginalData(entity.getOriginalData()); +// dataEntity.setUpdateBy(entity.getUpdateBy()); +// boolean update = this.updateById(dataEntity); +// // 鏌ヨ鏁版嵁 鍚屾鍒癳s 閬垮厤鏁版嵁鍙樼┖琚鐩� +// formDataUtils.asyncUpdateEsDocument(dataEntity); +// return update; +// } + + @Override + public Result getFormDataDetails(String dataId) { + Map<String, Object> result =new HashMap<>(); + UserFormDataEntity dataEntity = this.getById(dataId); + List<FormFieldVO> formFields = userFormItemService.listFormFields(dataEntity.getFormKey()); + // 琛ㄥ崟瀛楁 + result.put("formFields", formFields); + // 琛ㄥ崟濉啓鏁版嵁 + if (ObjectUtil.isNotNull(dataEntity)) { + Map<String, Object> originalData = dataEntity.getOriginalData(); + dataEntity.setOriginalData(null); + originalData.putAll(BeanUtil.beanToMap(dataEntity, false, true)); + result.put("formData", originalData); + } + return Result.success(result); + } +} -- Gitblit v1.8.0