| | |
| | | package com.ltkj.web.tduck; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | | import com.ltkj.tduck.constant.CommonConstants; |
| | | import com.ltkj.tduck.domain.*; |
| | | import com.ltkj.tduck.enums.FormStatusEnum; |
| | | import com.ltkj.tduck.enums.FormTypeEnum; |
| | | import com.ltkj.tduck.request.QueryFormItemRequest; |
| | | import com.ltkj.tduck.request.QueryFormRequest; |
| | | import com.ltkj.tduck.request.QueryFormTemplateTypeRequest; |
| | | import com.ltkj.tduck.request.SortFormItemRequest; |
| | | import com.ltkj.tduck.service.*; |
| | | import com.ltkj.tduck.utils.FormDataUtils; |
| | | import com.ltkj.tduck.utils.Result; |
| | | import com.ltkj.tduck.utils.SortUtils; |
| | | import com.ltkj.tduck.utils.ValidatorUtils; |
| | | import com.ltkj.tduck.vo.FormFieldVO; |
| | | import com.ltkj.tduck.vo.OperateFormItemVO; |
| | | import com.ltkj.tduck.vo.UserFormDetailVO; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.annotation.security.PermitAll; |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * 用户表单 |
| | | **/ |
| | | @RequiredArgsConstructor |
| | | @RestController |
| | | @Slf4j |
| | | //@RequestMapping("/tduck-api") |
| | | public class UserFormController { |
| | | @Resource |
| | | private final UserFormService formService; |
| | | @Resource |
| | | private final UserFormItemService formItemService; |
| | | @Resource |
| | | private final FormTemplateCategoryService formTemplateCategoryService; |
| | | @Resource |
| | | private final SortUtils sortUtils; |
| | | |
| | | private final UserFormThemeService userFormThemeService; |
| | | private final UserFormLogicService userFormLogicService; |
| | | |
| | | |
| | | /** |
| | | * 查询表单 |
| | | */ |
| | | @GetMapping("/user/form/{key}") |
| | | public AjaxResult queryFormByKey(@PathVariable @NotBlank String key) { |
| | | return AjaxResult.success(formService.getByKey(key)); |
| | | } |
| | | |
| | | /** |
| | | * 项目表单项查询 |
| | | */ |
| | | @GetMapping("/user/form/item/list") |
| | | public AjaxResult queryFormItems(QueryFormItemRequest request) { |
| | | ValidatorUtils.validateEntity(request); |
| | | // FormAuthUtils.hasPermission(request.getKey()); |
| | | List<UserFormItemEntity> itemEntityList = formItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getKey()).eq(ObjectUtil.isNotNull(request.getDisplayType()), UserFormItemEntity::getDisplayType, request.getDisplayType())); |
| | | itemEntityList.sort(Comparator.comparing(UserFormItemEntity::getSort)); |
| | | return AjaxResult.success(itemEntityList); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分页查询项目分类 |
| | | * |
| | | * @return |
| | | */ |
| | | @GetMapping("/form/template/type/list") |
| | | public AjaxResult queryFormTemplateTypes(QueryFormTemplateTypeRequest.List request) { |
| | | return AjaxResult.success(formTemplateCategoryService.list(Wrappers.<FormTemplateCategoryEntity>lambdaQuery() |
| | | .orderByDesc(FormTemplateCategoryEntity::getSort))); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 表单更新 |
| | | * |
| | | * @param form |
| | | */ |
| | | @PostMapping("/user/form/update") |
| | | public AjaxResult updateForm(@RequestBody UserFormEntity form) { |
| | | // ValidatorUtils.validateEntity(form, AddGroup.class); |
| | | UserFormEntity oldForm = formService.getByKey(form.getFormKey()); |
| | | if (ObjectUtil.isNotNull(oldForm)) { |
| | | form.setId(oldForm.getId()); |
| | | formService.updateById(form); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 项目表单项创建 |
| | | * |
| | | * @param entity |
| | | */ |
| | | @PostMapping("/user/form/item/create") |
| | | public AjaxResult createFormItem(@RequestBody UserFormItemEntity entity) { |
| | | // ValidatorUtils.validateEntity(entity, AddGroup.class); |
| | | if (ObjectUtil.isNull(entity.getDisplayType())) { |
| | | entity.setDisplayType(false); |
| | | } |
| | | if (ObjectUtil.isNull(entity.getHideType())) { |
| | | entity.setHideType(false); |
| | | } |
| | | //排序下标计算 |
| | | entity.setSort(sortUtils.getInitialSortPosition(entity.getFormKey())); |
| | | entity.setSpecialType(formItemService.isSpecialTypeItem(entity)); |
| | | entity.setCreateTime(new Date()); |
| | | boolean save = formItemService.save(entity); |
| | | return AjaxResult.success(new OperateFormItemVO(entity.getSort(), entity.getId(), save, false)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 批量项目表单项创建 |
| | | */ |
| | | @PostMapping("/user/form/item/batch/create") |
| | | public AjaxResult batchCreateFormItem(@RequestBody List<UserFormItemEntity> itemEntityList) { |
| | | //排序下标计算 |
| | | itemEntityList.forEach(item -> item.setSort(sortUtils.getInitialSortPosition(item.getFormKey()))); |
| | | itemEntityList.forEach(item -> item.setDisplayType(false)); |
| | | itemEntityList.forEach(item -> item.setHideType(false)); |
| | | itemEntityList.forEach(item -> item.setSpecialType(false)); |
| | | boolean save = formItemService.saveBatch(itemEntityList); |
| | | AjaxResult ajaxResult = new AjaxResult(); |
| | | ajaxResult.put("code", 200); |
| | | ajaxResult.put("data", null); |
| | | ajaxResult.put("msg", null); |
| | | return ajaxResult; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 表单项删除 |
| | | */ |
| | | @PostMapping("/user/form/item/delete") |
| | | public AjaxResult deleteFormItem(@RequestBody UserFormItemEntity request) { |
| | | // FormAuthUtils.hasPermission(request.getFormKey()); |
| | | boolean delete = formItemService.remove(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | return AjaxResult.success(delete); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 表单项更新 |
| | | * |
| | | * @param request |
| | | */ |
| | | @PostMapping("/user/form/item/update") |
| | | public AjaxResult updateFormItem(@RequestBody UserFormItemEntity request) { |
| | | // FormAuthUtils.hasPermission(request.getFormKey()); |
| | | // ValidatorUtils.validateEntity(request, UpdateGroup.class); |
| | | request.setSpecialType(formItemService.isSpecialTypeItem(request)); |
| | | boolean update = formItemService.update(request, Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | return AjaxResult.success(update); |
| | | } |
| | | |
| | | /** |
| | | * 表单项排序 |
| | | * |
| | | * @param request |
| | | */ |
| | | @PostMapping("/user/form/item/sort") |
| | | public AjaxResult sortFormItem(@RequestBody SortFormItemRequest request) { |
| | | //package com.ltkj.web.tduck; |
| | | // |
| | | //import cn.hutool.core.util.ObjectUtil; |
| | | //import cn.hutool.core.util.StrUtil; |
| | | //import cn.hutool.json.JSONObject; |
| | | //import cn.hutool.json.JSONUtil; |
| | | //import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | //import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | //import com.ltkj.common.core.domain.AjaxResult; |
| | | //import com.ltkj.tduck.constant.CommonConstants; |
| | | //import com.ltkj.tduck.domain.*; |
| | | //import com.ltkj.tduck.enums.FormStatusEnum; |
| | | //import com.ltkj.tduck.enums.FormTypeEnum; |
| | | //import com.ltkj.tduck.request.QueryFormItemRequest; |
| | | //import com.ltkj.tduck.request.QueryFormRequest; |
| | | //import com.ltkj.tduck.request.QueryFormTemplateTypeRequest; |
| | | //import com.ltkj.tduck.request.SortFormItemRequest; |
| | | //import com.ltkj.tduck.service.*; |
| | | //import com.ltkj.tduck.utils.FormDataUtils; |
| | | //import com.ltkj.tduck.utils.Result; |
| | | //import com.ltkj.tduck.utils.SortUtils; |
| | | //import com.ltkj.tduck.utils.ValidatorUtils; |
| | | //import com.ltkj.tduck.vo.FormFieldVO; |
| | | //import com.ltkj.tduck.vo.OperateFormItemVO; |
| | | //import com.ltkj.tduck.vo.UserFormDetailVO; |
| | | //import lombok.RequiredArgsConstructor; |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | //import org.springframework.web.bind.annotation.*; |
| | | // |
| | | //import javax.annotation.Resource; |
| | | //import javax.annotation.security.PermitAll; |
| | | //import javax.validation.constraints.NotBlank; |
| | | //import java.util.ArrayList; |
| | | //import java.util.Comparator; |
| | | //import java.util.Date; |
| | | //import java.util.List; |
| | | // |
| | | // |
| | | ///** |
| | | // * 用户表单 |
| | | // **/ |
| | | //@RequiredArgsConstructor |
| | | //@RestController |
| | | //@Slf4j |
| | | ////@RequestMapping("/tduck-api") |
| | | //public class UserFormController { |
| | | // @Resource |
| | | // private final UserFormService formService; |
| | | // @Resource |
| | | // private final UserFormItemService formItemService; |
| | | // @Resource |
| | | // private final FormTemplateCategoryService formTemplateCategoryService; |
| | | // @Resource |
| | | // private final SortUtils sortUtils; |
| | | // |
| | | // private final UserFormThemeService userFormThemeService; |
| | | // private final UserFormLogicService userFormLogicService; |
| | | // |
| | | // |
| | | // /** |
| | | // * 查询表单 |
| | | // */ |
| | | // @GetMapping("/user/form/{key}") |
| | | // public AjaxResult queryFormByKey(@PathVariable @NotBlank String key) { |
| | | // return AjaxResult.success(formService.getByKey(key)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 项目表单项查询 |
| | | // */ |
| | | // @GetMapping("/user/form/item/list") |
| | | // public AjaxResult queryFormItems(QueryFormItemRequest request) { |
| | | // ValidatorUtils.validateEntity(request); |
| | | if (ObjectUtil.isNull(request.getAfterPosition()) && ObjectUtil.isNull(request.getBeforePosition())) { |
| | | return AjaxResult.success(); |
| | | } |
| | | UserFormItemEntity itemEntity = formItemService.getOne(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | Long sort = sortUtils.calcSortPosition(request.getBeforePosition(), request.getAfterPosition(), request.getFormKey()); |
| | | if (sortUtils.sortAllList(request.getBeforePosition(), request.getAfterPosition(), request.getFormKey(), sort)) { |
| | | return AjaxResult.success(new OperateFormItemVO(itemEntity.getSort(), itemEntity.getId(), true, true)); |
| | | } |
| | | itemEntity.setSort(sort); |
| | | boolean b = formItemService.updateById(itemEntity); |
| | | return AjaxResult.success(new OperateFormItemVO(itemEntity.getSort(), itemEntity.getId(), b, false)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询表单详情 |
| | | * 包含表单信息 表单字段信息 表单主题 |
| | | * |
| | | * @param key |
| | | */ |
| | | @GetMapping("/user/form/details/{key}") |
| | | @PermitAll |
| | | public AjaxResult queryFormDetails(@PathVariable @NotBlank String key) { |
| | | UserFormEntity form = formService.getByKey(key); |
| | | if (ObjectUtil.isNull(form)) { |
| | | return AjaxResult.success(); |
| | | } |
| | | List<UserFormItemEntity> formItemList = formItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().ne(UserFormItemEntity::getHideType, 1).eq(UserFormItemEntity::getFormKey, key)); |
| | | formItemList.sort(Comparator.comparing(UserFormItemEntity::getSort)); |
| | | UserFormThemeEntity theme = userFormThemeService.getByKey(key); |
| | | UserFormLogicEntity formLogic = userFormLogicService.getOne(Wrappers.<UserFormLogicEntity>lambdaQuery().eq(UserFormLogicEntity::getFormKey, key)); |
| | | // 如果是考试 移除正确答案 避免把正确答案返回到前端 |
| | | if (form.getType() == FormTypeEnum.EXAM.getValue().toString()) { |
| | | formItemList.forEach(item -> { |
| | | JSONObject schemeJson = JSONUtil.parseObj(item.getScheme()); |
| | | if (schemeJson.containsKey("examConfig")) { |
| | | schemeJson.getJSONObject("examConfig").remove("answer"); |
| | | } |
| | | item.setScheme(schemeJson); |
| | | }); |
| | | } |
| | | return AjaxResult.success(new UserFormDetailVO(new UserFormDetailVO.UserForm(form), formItemList, theme, formLogic)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 发布表单 |
| | | */ |
| | | @PostMapping("/user/form/publish") |
| | | public AjaxResult publishForm(@RequestBody UserFormEntity request) { |
| | | // FormAuthUtils.hasPermission(request.getFormKey()); |
| | | long count = formItemService.count(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey())); |
| | | if (count == CommonConstants.ConstantNumber.ZERO) { |
| | | return AjaxResult.error("无有效表单项,无法发布"); |
| | | } |
| | | UserFormEntity entity = formService.getByKey(request.getFormKey()); |
| | | entity.setStatus(2); |
| | | return AjaxResult.success(formService.updateById(entity)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 停止收集 |
| | | * |
| | | * @param request |
| | | */ |
| | | @PostMapping("/user/form/stop") |
| | | public Result stopForm(@RequestBody UserFormEntity request) { |
| | | // FormAuthUtils.hasPermission(request.getFormKey()); |
| | | UserFormEntity entity = formService.getByKey(request.getFormKey()); |
| | | entity.setStatus(3); |
| | | return Result.success(formService.updateById(entity)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的表单分页 |
| | | */ |
| | | @GetMapping("/user/form/page") |
| | | public Result queryMyForms(@RequestAttribute Long userId, QueryFormRequest.Page request) { |
| | | LambdaQueryWrapper<UserFormEntity> queryWrapper = Wrappers.<UserFormEntity>lambdaQuery().eq(UserFormEntity::getUserId, userId) |
| | | .eq(ObjectUtil.isNotNull(request.getFolder()), UserFormEntity::getFolder, request.getFolder()) |
| | | .eq(ObjectUtil.isNotNull(request.getType()), UserFormEntity::getType, request.getType()) |
| | | .eq(UserFormEntity::getDeleted, 0).func(i -> { |
| | | // 通过文件名搜索时 可以搜索到子文件夹下的表单 |
| | | if (StrUtil.isNotBlank(request.getName()) && request.getFolderId() == 0) { |
| | | } else { |
| | | i.eq(UserFormEntity::getFolderId, request.getFolderId()); |
| | | } |
| | | }).eq(ObjectUtil.isNotNull(request.getStatus()), UserFormEntity::getStatus, request.getStatus()).like(StrUtil.isNotBlank(request.getName()), |
| | | UserFormEntity::getName, request.getName()).le(ObjectUtil.isNotNull(request.getEndDateTime()), UserFormEntity::getUpdateTime, |
| | | request.getEndDateTime()).ge(ObjectUtil.isNotNull(request.getBeginDateTime()), UserFormEntity::getUpdateTime, |
| | | request.getBeginDateTime()).orderByDesc(UserFormEntity::getFolder) |
| | | // .orderByDesc(TBaseEntity::getCreateTime) |
| | | ; |
| | | return Result.success(formService.page(request.toMybatisPage(), queryWrapper)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取表单字段 包括系统默认字段 |
| | | */ |
| | | @GetMapping("/user/form/fields/{formKey}") |
| | | public Result queryUserFormFields(@PathVariable String formKey) { |
| | | return Result.success(formItemService.listAllFormFields(formKey)); |
| | | } |
| | | |
| | | /** |
| | | * 获取表单固定字段 |
| | | * 所有表单都包含 用于查看详情右侧显示 |
| | | */ |
| | | @GetMapping("/user/form/fixed/fields/{formKey}") |
| | | public Result queryUserFormFixedFields(@PathVariable String formKey) { |
| | | // 查询表单类型 |
| | | UserFormEntity userFormEntity = formService.getByKey(formKey); |
| | | List<FormFieldVO> fields = new ArrayList<>(); |
| | | FormDataUtils.addFormBaseDataField(fields); |
| | | fields.add(new FormFieldVO("submitUaOs", "操作系统")); |
| | | fields.add(new FormFieldVO("submitUaDevice", "设备")); |
| | | fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitBrowser, "浏览器")); |
| | | fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitAddress, "地址")); |
| | | fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitRequestIp, "IP")); |
| | | fields.add(new FormFieldVO(UserFormDataEntity.Fields.wxUserInfo, "微信用户")); |
| | | return Result.success(fields); |
| | | } |
| | | |
| | | } |
| | | //// FormAuthUtils.hasPermission(request.getKey()); |
| | | // List<UserFormItemEntity> itemEntityList = formItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getKey()).eq(ObjectUtil.isNotNull(request.getDisplayType()), UserFormItemEntity::getDisplayType, request.getDisplayType())); |
| | | // itemEntityList.sort(Comparator.comparing(UserFormItemEntity::getSort)); |
| | | // return AjaxResult.success(itemEntityList); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 分页查询项目分类 |
| | | // * |
| | | // * @return |
| | | // */ |
| | | // @GetMapping("/form/template/type/list") |
| | | // public AjaxResult queryFormTemplateTypes(QueryFormTemplateTypeRequest.List request) { |
| | | // return AjaxResult.success(formTemplateCategoryService.list(Wrappers.<FormTemplateCategoryEntity>lambdaQuery() |
| | | // .orderByDesc(FormTemplateCategoryEntity::getSort))); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 表单更新 |
| | | // * |
| | | // * @param form |
| | | // */ |
| | | // @PostMapping("/user/form/update") |
| | | // public AjaxResult updateForm(@RequestBody UserFormEntity form) { |
| | | //// ValidatorUtils.validateEntity(form, AddGroup.class); |
| | | // UserFormEntity oldForm = formService.getByKey(form.getFormKey()); |
| | | // if (ObjectUtil.isNotNull(oldForm)) { |
| | | // form.setId(oldForm.getId()); |
| | | // formService.updateById(form); |
| | | // } |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 项目表单项创建 |
| | | // * |
| | | // * @param entity |
| | | // */ |
| | | // @PostMapping("/user/form/item/create") |
| | | // public AjaxResult createFormItem(@RequestBody UserFormItemEntity entity) { |
| | | //// ValidatorUtils.validateEntity(entity, AddGroup.class); |
| | | // if (ObjectUtil.isNull(entity.getDisplayType())) { |
| | | // entity.setDisplayType(false); |
| | | // } |
| | | // if (ObjectUtil.isNull(entity.getHideType())) { |
| | | // entity.setHideType(false); |
| | | // } |
| | | // //排序下标计算 |
| | | // entity.setSort(sortUtils.getInitialSortPosition(entity.getFormKey())); |
| | | // entity.setSpecialType(formItemService.isSpecialTypeItem(entity)); |
| | | // entity.setCreateTime(new Date()); |
| | | // boolean save = formItemService.save(entity); |
| | | // return AjaxResult.success(new OperateFormItemVO(entity.getSort(), entity.getId(), save, false)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 批量项目表单项创建 |
| | | // */ |
| | | // @PostMapping("/user/form/item/batch/create") |
| | | // public AjaxResult batchCreateFormItem(@RequestBody List<UserFormItemEntity> itemEntityList) { |
| | | // //排序下标计算 |
| | | // itemEntityList.forEach(item -> item.setSort(sortUtils.getInitialSortPosition(item.getFormKey()))); |
| | | // itemEntityList.forEach(item -> item.setDisplayType(false)); |
| | | // itemEntityList.forEach(item -> item.setHideType(false)); |
| | | // itemEntityList.forEach(item -> item.setSpecialType(false)); |
| | | // boolean save = formItemService.saveBatch(itemEntityList); |
| | | // AjaxResult ajaxResult = new AjaxResult(); |
| | | // ajaxResult.put("code", 200); |
| | | // ajaxResult.put("data", null); |
| | | // ajaxResult.put("msg", null); |
| | | // return ajaxResult; |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 表单项删除 |
| | | // */ |
| | | // @PostMapping("/user/form/item/delete") |
| | | // public AjaxResult deleteFormItem(@RequestBody UserFormItemEntity request) { |
| | | //// FormAuthUtils.hasPermission(request.getFormKey()); |
| | | // boolean delete = formItemService.remove(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | // return AjaxResult.success(delete); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 表单项更新 |
| | | // * |
| | | // * @param request |
| | | // */ |
| | | // @PostMapping("/user/form/item/update") |
| | | // public AjaxResult updateFormItem(@RequestBody UserFormItemEntity request) { |
| | | //// FormAuthUtils.hasPermission(request.getFormKey()); |
| | | //// ValidatorUtils.validateEntity(request, UpdateGroup.class); |
| | | // request.setSpecialType(formItemService.isSpecialTypeItem(request)); |
| | | // boolean update = formItemService.update(request, Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | // return AjaxResult.success(update); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 表单项排序 |
| | | // * |
| | | // * @param request |
| | | // */ |
| | | // @PostMapping("/user/form/item/sort") |
| | | // public AjaxResult sortFormItem(@RequestBody SortFormItemRequest request) { |
| | | //// ValidatorUtils.validateEntity(request); |
| | | // if (ObjectUtil.isNull(request.getAfterPosition()) && ObjectUtil.isNull(request.getBeforePosition())) { |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // UserFormItemEntity itemEntity = formItemService.getOne(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey()).eq(UserFormItemEntity::getFormItemId, request.getFormItemId())); |
| | | // Long sort = sortUtils.calcSortPosition(request.getBeforePosition(), request.getAfterPosition(), request.getFormKey()); |
| | | // if (sortUtils.sortAllList(request.getBeforePosition(), request.getAfterPosition(), request.getFormKey(), sort)) { |
| | | // return AjaxResult.success(new OperateFormItemVO(itemEntity.getSort(), itemEntity.getId(), true, true)); |
| | | // } |
| | | // itemEntity.setSort(sort); |
| | | // boolean b = formItemService.updateById(itemEntity); |
| | | // return AjaxResult.success(new OperateFormItemVO(itemEntity.getSort(), itemEntity.getId(), b, false)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 查询表单详情 |
| | | // * 包含表单信息 表单字段信息 表单主题 |
| | | // * |
| | | // * @param key |
| | | // */ |
| | | // @GetMapping("/user/form/details/{key}") |
| | | // @PermitAll |
| | | // public AjaxResult queryFormDetails(@PathVariable @NotBlank String key) { |
| | | // UserFormEntity form = formService.getByKey(key); |
| | | // if (ObjectUtil.isNull(form)) { |
| | | // return AjaxResult.success(); |
| | | // } |
| | | // List<UserFormItemEntity> formItemList = formItemService.list(Wrappers.<UserFormItemEntity>lambdaQuery().ne(UserFormItemEntity::getHideType, 1).eq(UserFormItemEntity::getFormKey, key)); |
| | | // formItemList.sort(Comparator.comparing(UserFormItemEntity::getSort)); |
| | | // UserFormThemeEntity theme = userFormThemeService.getByKey(key); |
| | | // UserFormLogicEntity formLogic = userFormLogicService.getOne(Wrappers.<UserFormLogicEntity>lambdaQuery().eq(UserFormLogicEntity::getFormKey, key)); |
| | | // // 如果是考试 移除正确答案 避免把正确答案返回到前端 |
| | | // if (form.getType() == FormTypeEnum.EXAM.getValue().toString()) { |
| | | // formItemList.forEach(item -> { |
| | | // JSONObject schemeJson = JSONUtil.parseObj(item.getScheme()); |
| | | // if (schemeJson.containsKey("examConfig")) { |
| | | // schemeJson.getJSONObject("examConfig").remove("answer"); |
| | | // } |
| | | // item.setScheme(schemeJson); |
| | | // }); |
| | | // } |
| | | // return AjaxResult.success(new UserFormDetailVO(new UserFormDetailVO.UserForm(form), formItemList, theme, formLogic)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 发布表单 |
| | | // */ |
| | | // @PostMapping("/user/form/publish") |
| | | // public AjaxResult publishForm(@RequestBody UserFormEntity request) { |
| | | //// FormAuthUtils.hasPermission(request.getFormKey()); |
| | | // long count = formItemService.count(Wrappers.<UserFormItemEntity>lambdaQuery().eq(UserFormItemEntity::getFormKey, request.getFormKey())); |
| | | // if (count == CommonConstants.ConstantNumber.ZERO) { |
| | | // return AjaxResult.error("无有效表单项,无法发布"); |
| | | // } |
| | | // UserFormEntity entity = formService.getByKey(request.getFormKey()); |
| | | // entity.setStatus(2); |
| | | // return AjaxResult.success(formService.updateById(entity)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 停止收集 |
| | | // * |
| | | // * @param request |
| | | // */ |
| | | // @PostMapping("/user/form/stop") |
| | | // public Result stopForm(@RequestBody UserFormEntity request) { |
| | | //// FormAuthUtils.hasPermission(request.getFormKey()); |
| | | // UserFormEntity entity = formService.getByKey(request.getFormKey()); |
| | | // entity.setStatus(3); |
| | | // return Result.success(formService.updateById(entity)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 查询我的表单分页 |
| | | // */ |
| | | // @GetMapping("/user/form/page") |
| | | // public Result queryMyForms(@RequestAttribute Long userId, QueryFormRequest.Page request) { |
| | | // LambdaQueryWrapper<UserFormEntity> queryWrapper = Wrappers.<UserFormEntity>lambdaQuery().eq(UserFormEntity::getUserId, userId) |
| | | // .eq(ObjectUtil.isNotNull(request.getFolder()), UserFormEntity::getFolder, request.getFolder()) |
| | | // .eq(ObjectUtil.isNotNull(request.getType()), UserFormEntity::getType, request.getType()) |
| | | // .eq(UserFormEntity::getDeleted, 0).func(i -> { |
| | | // // 通过文件名搜索时 可以搜索到子文件夹下的表单 |
| | | // if (StrUtil.isNotBlank(request.getName()) && request.getFolderId() == 0) { |
| | | // } else { |
| | | // i.eq(UserFormEntity::getFolderId, request.getFolderId()); |
| | | // } |
| | | // }).eq(ObjectUtil.isNotNull(request.getStatus()), UserFormEntity::getStatus, request.getStatus()).like(StrUtil.isNotBlank(request.getName()), |
| | | // UserFormEntity::getName, request.getName()).le(ObjectUtil.isNotNull(request.getEndDateTime()), UserFormEntity::getUpdateTime, |
| | | // request.getEndDateTime()).ge(ObjectUtil.isNotNull(request.getBeginDateTime()), UserFormEntity::getUpdateTime, |
| | | // request.getBeginDateTime()).orderByDesc(UserFormEntity::getFolder) |
| | | //// .orderByDesc(TBaseEntity::getCreateTime) |
| | | // ; |
| | | // return Result.success(formService.page(request.toMybatisPage(), queryWrapper)); |
| | | // } |
| | | // |
| | | // |
| | | // /** |
| | | // * 获取表单字段 包括系统默认字段 |
| | | // */ |
| | | // @GetMapping("/user/form/fields/{formKey}") |
| | | // public Result queryUserFormFields(@PathVariable String formKey) { |
| | | // return Result.success(formItemService.listAllFormFields(formKey)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 获取表单固定字段 |
| | | // * 所有表单都包含 用于查看详情右侧显示 |
| | | // */ |
| | | // @GetMapping("/user/form/fixed/fields/{formKey}") |
| | | // public Result queryUserFormFixedFields(@PathVariable String formKey) { |
| | | // // 查询表单类型 |
| | | // UserFormEntity userFormEntity = formService.getByKey(formKey); |
| | | // List<FormFieldVO> fields = new ArrayList<>(); |
| | | // FormDataUtils.addFormBaseDataField(fields); |
| | | // fields.add(new FormFieldVO("submitUaOs", "操作系统")); |
| | | // fields.add(new FormFieldVO("submitUaDevice", "设备")); |
| | | // fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitBrowser, "浏览器")); |
| | | // fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitAddress, "地址")); |
| | | // fields.add(new FormFieldVO(UserFormDataEntity.Fields.submitRequestIp, "IP")); |
| | | // fields.add(new FormFieldVO(UserFormDataEntity.Fields.wxUserInfo, "微信用户")); |
| | | // return Result.success(fields); |
| | | // } |
| | | // |
| | | //} |