动态列接口新增必选字段

pull/1/head
DELL 2 years ago
parent 15e56fc012
commit 62f48bd918

@ -8461,3 +8461,124 @@ java.lang.NullPointerException: null
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748) at java.lang.Thread.run(Thread.java:748)
ERROR [2024-03-16 11:55:08,436][] cn.jyjz.xiaoyao.admin.service.impl.UserTokenServiceImpl:122 - token=eyJrZXlfdXNlciI6eyJleHBpcmVzQXQiOjE3MTA1MDUyNTAwMzIsImlzc3VlZEF0IjoxNzEwNTAzNDQ5ODA5LCJsb2dpbm5hbWUiOiIxMzMxMTExMTExMSIsInJlbWVtYmVyIjpmYWxzZSwic2lnblVzZXIiOm51bGwsInRva2VuaWQiOiI4YzA2MzBkNTM3NGY3MjljZWFmNGJiNTljZjAyYzBkNCIsInRva2VudXVpZCI6Ijg5YTkxODMzMzNlMDRmOTE5N2I1NDY4MzM1ODBkNGQ3IiwidXNlckFnZW50IjpudWxsLCJ1c2VyaWQiOiIyNTA4Nzk1Nzg3MDEwMzc5NjAiLCJ1c2VybmFtZSI6IjEzMzExMTExMTExIn0sInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJpc3MiOiJrZXlfamF2YV9qd3QiLCJleHAiOjE3MTA1MDUyNTAsImlhdCI6MTcxMDUwMzQ0OX0.0w0niG0REB5cCUtP2WUppBSV3wGFxPBo7tkQV1MRmk0getUserToken-error={}
cn.jyjz.xiaoyao.common.base.exception.MyTokenExpiredException: token失效。
at cn.jyjz.xiaoyao.framework.security.utils.JwtUtils.parseToken(JwtUtils.java:200)
at cn.jyjz.xiaoyao.admin.service.impl.UserTokenServiceImpl.getUserToken(UserTokenServiceImpl.java:120)
at cn.jyjz.xiaoyao.framework.security.authentication.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:86)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
ERROR [2024-03-16 11:55:08,454][] org.apache.juli.logging.DirectJDKLog:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [/foodapi] threw exception
cn.jyjz.xiaoyao.common.base.exception.ServiceException: token失效。
at cn.jyjz.xiaoyao.admin.service.impl.UserTokenServiceImpl.getUserToken(UserTokenServiceImpl.java:124)
at cn.jyjz.xiaoyao.framework.security.authentication.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:86)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

File diff suppressed because it is too large Load Diff

@ -8,9 +8,9 @@ import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto;
import cn.jyjz.xiaoyao.ocr.service.OcrFieldService; import cn.jyjz.xiaoyao.ocr.service.OcrFieldService;
import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo; import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -29,9 +29,9 @@ public class OcrFieldController extends BaseController {
* *
* @return * @return
*/ */
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") @ApiOperation(value="根据评审类型查询字段列表", notes="根据评审类型查询字段列表")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResultVo<List<OcrFieldDto>> list(@RequestParam(name="reviewType") Integer reviewType) { public ResultVo<List<OcrFieldDto>> list(@RequestParam(name="reviewType") @ApiParam(value = "字段类型(终审:0工单1、一审二审:2、审核填报:3", required = true) Integer reviewType) {
ResultVo<List<OcrFieldDto>> resultVo = new ResultVo<>(); ResultVo<List<OcrFieldDto>> resultVo = new ResultVo<>();
List<OcrFieldDto> ocrFieldDtos = ocrFieldService.list(reviewType); List<OcrFieldDto> ocrFieldDtos = ocrFieldService.list(reviewType);
resultVo.setData(ocrFieldDtos); resultVo.setData(ocrFieldDtos);
@ -43,7 +43,7 @@ public class OcrFieldController extends BaseController {
* *
* @return * @return
*/ */
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") @ApiOperation(value="字段全部列表查询", notes="字段全部列表查询")
@GetMapping(value = "/listAll") @GetMapping(value = "/listAll")
public ResultVo<List<OcrFieldDto>> listAll() { public ResultVo<List<OcrFieldDto>> listAll() {
ResultVo<List<OcrFieldDto>> resultVo = new ResultVo<>(); ResultVo<List<OcrFieldDto>> resultVo = new ResultVo<>();
@ -57,9 +57,9 @@ public class OcrFieldController extends BaseController {
* ID * ID
* @return * @return
*/ */
@ApiOperation(value="删除自定义筛选字段", notes="删除自定义筛选字段") @ApiOperation(value="删除筛选字段", notes="删除筛选字段")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
public ResultVo delete(@RequestParam(name="id") Long id) { public ResultVo delete(@RequestParam(name="id") @ApiParam(value = "字段ID", required = true) Long id) {
OcrFieldDto ocrFieldDto = ocrFieldService.delete(id); OcrFieldDto ocrFieldDto = ocrFieldService.delete(id);
if(ocrFieldDto != null){ if(ocrFieldDto != null){
@ -72,19 +72,15 @@ public class OcrFieldController extends BaseController {
* *
* @return * @return
*/ */
@ApiOperation(value="自定义筛选字段新增和修改", notes="自定义筛选字段新增和修改") @ApiOperation(value="字段新增和修改", notes="字段新增和修改")
@PostMapping(value = "/saveOrUpdate") @PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(OcrFieldVo ocrFieldVo) { public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) {
try { try {
OcrField ocrField = new OcrField(); OcrField ocrField = new OcrField();
ocrField.setId(ocrFieldVo.getId());
ocrField.setName(ocrFieldVo.getName()); ocrField.setName(ocrFieldVo.getName());
ocrField.setReviewType(ocrFieldVo.getReviewType()); ocrField.setReviewType(ocrFieldVo.getReviewType());
ocrField.setFieldDesc(ocrFieldVo.getFieldDesc()); ocrField.setFieldDesc(ocrFieldVo.getFieldDesc());
ocrField.setCreateBy(ocrFieldVo.getCreateBy()); ocrField.setIsrequired(ocrFieldVo.getIsrequired());
ocrField.setCreateTime(ocrFieldVo.getCreateTime());
ocrField.setUpdateBy(ocrFieldVo.getUpdateBy());
ocrField.setUpdateTime(ocrFieldVo.getUpdateTime());
ocrFieldService.saveData(ocrField); ocrFieldService.saveData(ocrField);
} catch (BeansException e) { } catch (BeansException e) {
e.printStackTrace(); e.printStackTrace();

@ -3,24 +3,18 @@ package cn.jyjz.xiaoyao.ocr.controller;
import cn.jyjz.xiaoyao.common.base.controller.BaseController; import cn.jyjz.xiaoyao.common.base.controller.BaseController;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField;
import cn.jyjz.xiaoyao.ocr.dto.OcrFieldDto;
import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto; import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto;
import cn.jyjz.xiaoyao.ocr.service.OcrFieldService;
import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService; import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService;
import cn.jyjz.xiaoyao.ocr.vo.OcrFieldVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrUserFieldVo; import cn.jyjz.xiaoyao.ocr.vo.OcrUserFieldVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController @RestController
@RequestMapping("/ocr/user/field") @RequestMapping("/ocr/user/field")
public class OcrUserFieldController extends BaseController{ public class OcrUserFieldController extends BaseController{
@ -36,31 +30,30 @@ public class OcrUserFieldController extends BaseController{
*/ */
@ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表") @ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表")
@PostMapping(value = "/saveOrUpdate") @PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(OcrUserFieldVo ocrUserFieldVo) { public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) OcrUserFieldVo ocrUserFieldVo) {
try { try {
OcrUserField ocrUserField = new OcrUserField(); OcrUserField ocrUserField = new OcrUserField();
ocrUserField.setId(ocrUserFieldVo.getId());
ocrUserField.setUserId(ocrUserFieldVo.getUserId()); ocrUserField.setUserId(ocrUserFieldVo.getUserId());
ocrUserField.setReviewType(ocrUserFieldVo.getReviewType()); ocrUserField.setReviewType(ocrUserFieldVo.getReviewType());
ocrUserField.setUserField(ocrUserFieldVo.getUserField()); ocrUserField.setUserField(ocrUserFieldVo.getUserField());
ocrUserField.setCreateBy(ocrUserFieldVo.getCreateBy());
ocrUserField.setCreateTime(ocrUserFieldVo.getCreateTime());
ocrUserField.setUpdateBy(ocrUserFieldVo.getUpdateBy());
ocrUserField.setUpdateTime(ocrUserFieldVo.getUpdateTime());
ocrUserFieldService.saveData(ocrUserField); ocrUserFieldService.saveData(ocrUserField);
} catch (BeansException e) { // 调用服务层方法,并处理返回值
ResultVo result = ocrUserFieldService.saveData(ocrUserField);
return result;
}catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ResultVoUtil.error("保存或更新用户展示字段列表失败:未知错误");
} }
return ResultVoUtil.success();
} }
/** /**
* - * -
* @return * @return
*/ */
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询") @ApiOperation(value="用户-筛选字段查询", notes="用户-筛选字段查询")
@GetMapping(value = "/queryFields") @GetMapping(value = "/queryFields")
public ResultVo<OcrUserFieldDto> queryFields(@RequestParam(name="userId") Long userId ,@RequestParam(name="reviewType") Integer reviewType) { public ResultVo<OcrUserFieldDto> queryFields(@ApiParam(value = "用户ID", required = true) @RequestParam(name = "userId") Long userId,
@ApiParam(value = "审核类型(终审:0工单1、一审二审:2、审核填报:3", required = true) @RequestParam(name = "reviewType") Integer reviewType) {
ResultVo<OcrUserFieldDto> resultVo = new ResultVo<>(); ResultVo<OcrUserFieldDto> resultVo = new ResultVo<>();
OcrUserFieldDto ocrUserFieldDto = ocrUserFieldService.queryFields(userId,reviewType); OcrUserFieldDto ocrUserFieldDto = ocrUserFieldService.queryFields(userId,reviewType);
resultVo.setData(ocrUserFieldDto); resultVo.setData(ocrUserFieldDto);

@ -43,6 +43,10 @@ public class OcrField implements Serializable {
@TableField(value="field_desc") @TableField(value="field_desc")
private String fieldDesc; private String fieldDesc;
@Schema(description = "是否必选")
@TableField(value="isrequired")
private Integer isrequired;
@Schema(description = "创建人") @Schema(description = "创建人")
@TableField(value="create_by") @TableField(value="create_by")
private String createBy; private String createBy;

@ -1,20 +1,15 @@
package cn.jyjz.xiaoyao.ocr.dataobject; package cn.jyjz.xiaoyao.ocr.dataobject;
import cn.jyjz.xiaoyao.admin.dataobject.Tenant;
import cn.jyjz.xiaoyao.common.base.jsonDomain.DateSerializer;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Date; import java.sql.Date;

@ -1,7 +1,6 @@
package cn.jyjz.xiaoyao.ocr.dto; package cn.jyjz.xiaoyao.ocr.dto;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -9,7 +8,6 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Date;
@Data @Data
@Builder @Builder
@ -18,7 +16,7 @@ import java.sql.Date;
@Schema(name = "字段信息", title = "字段信息") @Schema(name = "字段信息", title = "字段信息")
public class OcrFieldDto implements Serializable { public class OcrFieldDto implements Serializable {
private static final long serialVersionUID = 8088861709460050761L; private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键") @Schema(description = "字段ID")
private Long id; private Long id;
@Schema(description = "字段名称") @Schema(description = "字段名称")
@ -30,6 +28,9 @@ public class OcrFieldDto implements Serializable {
@Schema(description = "字段描述") @Schema(description = "字段描述")
private String fieldDesc; private String fieldDesc;
@Schema(description = "是否必选")
private Integer isrequired;
@Schema(description = "是否删除0未删除1:已删除") @Schema(description = "是否删除0未删除1:已删除")
private Integer del; private Integer del;
} }

@ -1,7 +1,5 @@
package cn.jyjz.xiaoyao.ocr.dto; package cn.jyjz.xiaoyao.ocr.dto;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -9,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Date;
@Data @Data
@Builder @Builder
@ -18,7 +15,7 @@ import java.sql.Date;
@Schema(name = "用户-展示字段", title = "用户-展示字段") @Schema(name = "用户-展示字段", title = "用户-展示字段")
public class OcrUserFieldDto implements Serializable { public class OcrUserFieldDto implements Serializable {
private static final long serialVersionUID = 8088861709460050761L; private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键") @Schema(description = "用户-字段ID")
private Long id; private Long id;
@Schema(description = "用户ID") @Schema(description = "用户ID")

@ -1,5 +1,6 @@
package cn.jyjz.xiaoyao.ocr.service; package cn.jyjz.xiaoyao.ocr.service;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseService;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField;
@ -14,7 +15,7 @@ public interface OcrUserFieldService extends BaseService<OcrUserField> {
/** /**
* *
*/ */
void saveData(OcrUserField ocrUserField); ResultVo saveData(OcrUserField ocrUserField);
/** /**
* - * -

@ -31,7 +31,9 @@ public class OcrFieldServiceImpl extends BaseServiceImpl<OcrFieldMybatisDao, Ocr
List<OcrFieldDto> ocrFieldDtoList = new ArrayList<>(); List<OcrFieldDto> ocrFieldDtoList = new ArrayList<>();
try { try {
LambdaQueryWrapper<OcrField> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OcrField> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OcrField::getReviewType, reviewType); queryWrapper.and(qw -> qw.eq(OcrField::getIsrequired, 2) // 检查是否必选字段为 2
.or()
.eq(OcrField::getReviewType, reviewType)); // 检查评审类型// 检查评审类型
queryWrapper.eq(OcrField::getDel, 0); queryWrapper.eq(OcrField::getDel, 0);
List<OcrField> ocrFieldList = this.list(queryWrapper); List<OcrField> ocrFieldList = this.list(queryWrapper);
if(ocrFieldList.size()>0){ if(ocrFieldList.size()>0){
@ -41,6 +43,8 @@ public class OcrFieldServiceImpl extends BaseServiceImpl<OcrFieldMybatisDao, Ocr
dto.setName(ocrField.getName()); dto.setName(ocrField.getName());
dto.setReviewType(ocrField.getReviewType()); dto.setReviewType(ocrField.getReviewType());
dto.setFieldDesc(ocrField.getFieldDesc()); dto.setFieldDesc(ocrField.getFieldDesc());
dto.setIsrequired(ocrField.getIsrequired());
dto.setDel(ocrField.getDel());
ocrFieldDtoList.add(dto); ocrFieldDtoList.add(dto);
} }
} }
@ -64,6 +68,8 @@ public class OcrFieldServiceImpl extends BaseServiceImpl<OcrFieldMybatisDao, Ocr
dto.setName(ocrField.getName()); dto.setName(ocrField.getName());
dto.setReviewType(ocrField.getReviewType()); dto.setReviewType(ocrField.getReviewType());
dto.setFieldDesc(ocrField.getFieldDesc()); dto.setFieldDesc(ocrField.getFieldDesc());
dto.setIsrequired(ocrField.getIsrequired());
dto.setDel(ocrField.getDel());
ocrFieldDtoList.add(dto); ocrFieldDtoList.add(dto);
} }
} }

@ -1,10 +1,13 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrUserFieldMybatisDao; import cn.jyjz.xiaoyao.ocr.dataDao.OcrUserFieldMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField; import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField;
import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto; import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto;
import cn.jyjz.xiaoyao.ocr.service.OcrFieldService;
import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService; import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -27,9 +30,25 @@ public class OcrUserFieldServiceImpl extends BaseServiceImpl<OcrUserFieldMybatis
@Autowired @Autowired
private OcrUserFieldMybatisDao ocrUserFieldMybatisDao; private OcrUserFieldMybatisDao ocrUserFieldMybatisDao;
@Autowired
private OcrFieldService ocrFieldService;
@Override @Override
public void saveData(OcrUserField ocrUserField){ public ResultVo saveData(OcrUserField ocrUserField){
try { try {
String fields = ocrUserField.getUserField();
LambdaQueryWrapper<OcrField> ocrFieldLambdaQueryWrapper = new LambdaQueryWrapper<>();
ocrFieldLambdaQueryWrapper.eq(OcrField::getIsrequired,2);
ocrFieldLambdaQueryWrapper.eq(OcrField::getDel,0);
List<OcrField> ocrFieldList = ocrFieldService.list(ocrFieldLambdaQueryWrapper);
for (OcrField ocrField : ocrFieldList) {
String fieldName = ocrField.getName();
if (!fields.contains(fieldName)) {
// 如果有必选字段不在前端传递的字段字符串中,则抛出异常
throw new IllegalArgumentException("字段 " + fieldName + " 是必选字段");
}
}
LambdaQueryWrapper<OcrUserField> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OcrUserField> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OcrUserField::getUserId,ocrUserField.getUserId()); queryWrapper.eq(OcrUserField::getUserId,ocrUserField.getUserId());
queryWrapper.eq(OcrUserField::getReviewType,ocrUserField.getReviewType()); queryWrapper.eq(OcrUserField::getReviewType,ocrUserField.getReviewType());
@ -49,7 +68,9 @@ public class OcrUserFieldServiceImpl extends BaseServiceImpl<OcrUserFieldMybatis
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ResultVoUtil.error("传入字段参数错误");
} }
return ResultVoUtil.success();
} }
@Override @Override

@ -1,6 +1,6 @@
package cn.jyjz.xiaoyao.ocr.vo; package cn.jyjz.xiaoyao.ocr.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -8,7 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Date;
@Data @Data
@Builder @Builder
@ -17,31 +17,16 @@ import java.sql.Date;
@Schema(name = "字段信息", title = "字段信息") @Schema(name = "字段信息", title = "字段信息")
public class OcrFieldVo implements Serializable { public class OcrFieldVo implements Serializable {
private static final long serialVersionUID = 8088861709460050761L; private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
private Long id;
@Schema(description = "字段名称") @Schema(description = "字段名称",required = true)
private String name; private String name;
@Schema(description = "字段类型(终审:0工单1、一审二审:2、审核填报:3") @Schema(description = "字段类型(终审:0工单1、一审二审:2、审核填报:3",required = true)
private Integer reviewType; private Integer reviewType;
@Schema(description = "字段描述") @Schema(description = "字段描述",required = true)
private String fieldDesc; private String fieldDesc;
@Schema(description = "创建人") @Schema(description = "是否必选",required = true)
private String createBy; private Integer isrequired;
@Schema(description = "创建时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@Schema(description = "修改人")
private String updateBy;
@Schema(description = "修改时间")
private Date updateTime;
@Schema(description = "是否删除0未删除1:已删除")
private Integer del;
} }

@ -1,7 +1,5 @@
package cn.jyjz.xiaoyao.ocr.vo; package cn.jyjz.xiaoyao.ocr.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -9,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Date;
@Data @Data
@Builder @Builder
@ -18,34 +15,16 @@ import java.sql.Date;
@Schema(name = "用户-展示字段", title = "用户-展示字段") @Schema(name = "用户-展示字段", title = "用户-展示字段")
public class OcrUserFieldVo implements Serializable { public class OcrUserFieldVo implements Serializable {
private static final long serialVersionUID = 8088861709460050761L; private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
private Long id;
@Schema(description = "用户ID") @Schema(description = "用户ID",required = true)
private long userId; private long userId;
@Schema(description = "评审类型(终审:0工单1、一审二审:2、审核填报:3") @Schema(description = "评审类型(终审:0工单1、一审二审:2、审核填报:3",required = true)
private Integer reviewType; private Integer reviewType;
@Schema(description = "展示字段字符串") @Schema(description = "展示字段字符串",required = true)
private String userField; private String userField;
@Schema(description = "创建人")
private String createBy;
@Schema(description = "创建时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
@Schema(description = "修改人")
private String updateBy;
@Schema(description = "修改时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@Schema(description = "是否删除0未删除1:已删除")
private Integer del;
} }

@ -6,6 +6,7 @@
<result column="name" property="name" jdbcType="VARCHAR"/> <result column="name" property="name" jdbcType="VARCHAR"/>
<result column="review_type" property="reviewType" jdbcType="INTEGER"/> <result column="review_type" property="reviewType" jdbcType="INTEGER"/>
<result column="field_desc" property="fieldDesc" jdbcType="VARCHAR"/> <result column="field_desc" property="fieldDesc" jdbcType="VARCHAR"/>
<result column="isrequired" property="isrequired" jdbcType="INTEGER"/>
<result column="create_by" property="createBy" jdbcType="VARCHAR"/> <result column="create_by" property="createBy" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_by" property="updateBy" jdbcType="VARCHAR"/> <result column="update_by" property="updateBy" jdbcType="VARCHAR"/>

@ -1,3 +1,3 @@
spring: spring:
profiles: profiles:
active: pro active: dev
Loading…
Cancel
Save