动态列接口新增必选字段

pull/1/head
DELL 1 year 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.TaskThread$WrappingRunnable.run(TaskThread.java:61)
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.vo.OcrFieldVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -29,9 +29,9 @@ public class OcrFieldController extends BaseController {
*
* @return
*/
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询")
@ApiOperation(value="根据评审类型查询字段列表", notes="根据评审类型查询字段列表")
@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<>();
List<OcrFieldDto> ocrFieldDtos = ocrFieldService.list(reviewType);
resultVo.setData(ocrFieldDtos);
@ -43,7 +43,7 @@ public class OcrFieldController extends BaseController {
*
* @return
*/
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询")
@ApiOperation(value="字段全部列表查询", notes="字段全部列表查询")
@GetMapping(value = "/listAll")
public ResultVo<List<OcrFieldDto>> listAll() {
ResultVo<List<OcrFieldDto>> resultVo = new ResultVo<>();
@ -57,9 +57,9 @@ public class OcrFieldController extends BaseController {
* ID
* @return
*/
@ApiOperation(value="删除自定义筛选字段", notes="删除自定义筛选字段")
@ApiOperation(value="删除筛选字段", notes="删除筛选字段")
@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);
if(ocrFieldDto != null){
@ -72,19 +72,15 @@ public class OcrFieldController extends BaseController {
*
* @return
*/
@ApiOperation(value="自定义筛选字段新增和修改", notes="自定义筛选字段新增和修改")
@ApiOperation(value="字段新增和修改", notes="字段新增和修改")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(OcrFieldVo ocrFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "字段信息", required = true) OcrFieldVo ocrFieldVo) {
try {
OcrField ocrField = new OcrField();
ocrField.setId(ocrFieldVo.getId());
ocrField.setName(ocrFieldVo.getName());
ocrField.setReviewType(ocrFieldVo.getReviewType());
ocrField.setFieldDesc(ocrFieldVo.getFieldDesc());
ocrField.setCreateBy(ocrFieldVo.getCreateBy());
ocrField.setCreateTime(ocrFieldVo.getCreateTime());
ocrField.setUpdateBy(ocrFieldVo.getUpdateBy());
ocrField.setUpdateTime(ocrFieldVo.getUpdateTime());
ocrField.setIsrequired(ocrFieldVo.getIsrequired());
ocrFieldService.saveData(ocrField);
} catch (BeansException e) {
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.vo.ResultVo;
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.dto.OcrFieldDto;
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.vo.OcrFieldVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrUserFieldVo;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/ocr/user/field")
public class OcrUserFieldController extends BaseController{
@ -36,31 +30,30 @@ public class OcrUserFieldController extends BaseController{
*/
@ApiOperation(value="保存或更新用户展示字段列表", notes="保存或更新用户展示字段列表")
@PostMapping(value = "/saveOrUpdate")
public ResultVo saveOrUpdate(OcrUserFieldVo ocrUserFieldVo) {
public ResultVo saveOrUpdate(@ApiParam(value = "用户字段信息", required = true) OcrUserFieldVo ocrUserFieldVo) {
try {
OcrUserField ocrUserField = new OcrUserField();
ocrUserField.setId(ocrUserFieldVo.getId());
ocrUserField.setUserId(ocrUserFieldVo.getUserId());
ocrUserField.setReviewType(ocrUserFieldVo.getReviewType());
ocrUserField.setUserField(ocrUserFieldVo.getUserField());
ocrUserField.setCreateBy(ocrUserFieldVo.getCreateBy());
ocrUserField.setCreateTime(ocrUserFieldVo.getCreateTime());
ocrUserField.setUpdateBy(ocrUserFieldVo.getUpdateBy());
ocrUserField.setUpdateTime(ocrUserFieldVo.getUpdateTime());
ocrUserFieldService.saveData(ocrUserField);
} catch (BeansException e) {
// 调用服务层方法,并处理返回值
ResultVo result = ocrUserFieldService.saveData(ocrUserField);
return result;
}catch (Exception e) {
e.printStackTrace();
return ResultVoUtil.error("保存或更新用户展示字段列表失败:未知错误");
}
return ResultVoUtil.success();
}
/**
* -
* @return
*/
@ApiOperation(value="自定义筛选字段列表查询", notes="自定义筛选字段列表查询")
@ApiOperation(value="用户-筛选字段查询", notes="用户-筛选字段查询")
@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<>();
OcrUserFieldDto ocrUserFieldDto = ocrUserFieldService.queryFields(userId,reviewType);
resultVo.setData(ocrUserFieldDto);

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

@ -1,20 +1,15 @@
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.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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 lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Date;

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

@ -1,7 +1,5 @@
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 lombok.AllArgsConstructor;
import lombok.Builder;
@ -9,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Date;
@Data
@Builder
@ -18,7 +15,7 @@ import java.sql.Date;
@Schema(name = "用户-展示字段", title = "用户-展示字段")
public class OcrUserFieldDto implements Serializable {
private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
@Schema(description = "用户-字段ID")
private Long id;
@Schema(description = "用户ID")

@ -1,5 +1,6 @@
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.ocr.dataobject.OcrField;
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<>();
try {
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);
List<OcrField> ocrFieldList = this.list(queryWrapper);
if(ocrFieldList.size()>0){
@ -41,6 +43,8 @@ public class OcrFieldServiceImpl extends BaseServiceImpl<OcrFieldMybatisDao, Ocr
dto.setName(ocrField.getName());
dto.setReviewType(ocrField.getReviewType());
dto.setFieldDesc(ocrField.getFieldDesc());
dto.setIsrequired(ocrField.getIsrequired());
dto.setDel(ocrField.getDel());
ocrFieldDtoList.add(dto);
}
}
@ -64,6 +68,8 @@ public class OcrFieldServiceImpl extends BaseServiceImpl<OcrFieldMybatisDao, Ocr
dto.setName(ocrField.getName());
dto.setReviewType(ocrField.getReviewType());
dto.setFieldDesc(ocrField.getFieldDesc());
dto.setIsrequired(ocrField.getIsrequired());
dto.setDel(ocrField.getDel());
ocrFieldDtoList.add(dto);
}
}

@ -1,10 +1,13 @@
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.ocr.dataDao.OcrUserFieldMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrField;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUserField;
import cn.jyjz.xiaoyao.ocr.dto.OcrUserFieldDto;
import cn.jyjz.xiaoyao.ocr.service.OcrFieldService;
import cn.jyjz.xiaoyao.ocr.service.OcrUserFieldService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
@ -27,9 +30,25 @@ public class OcrUserFieldServiceImpl extends BaseServiceImpl<OcrUserFieldMybatis
@Autowired
private OcrUserFieldMybatisDao ocrUserFieldMybatisDao;
@Autowired
private OcrFieldService ocrFieldService;
@Override
public void saveData(OcrUserField ocrUserField){
public ResultVo saveData(OcrUserField ocrUserField){
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<>();
queryWrapper.eq(OcrUserField::getUserId,ocrUserField.getUserId());
queryWrapper.eq(OcrUserField::getReviewType,ocrUserField.getReviewType());
@ -49,7 +68,9 @@ public class OcrUserFieldServiceImpl extends BaseServiceImpl<OcrUserFieldMybatis
}
} catch (Exception e) {
e.printStackTrace();
return ResultVoUtil.error("传入字段参数错误");
}
return ResultVoUtil.success();
}
@Override

@ -1,6 +1,6 @@
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 lombok.AllArgsConstructor;
import lombok.Builder;
@ -8,7 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Date;
@Data
@Builder
@ -17,31 +17,16 @@ import java.sql.Date;
@Schema(name = "字段信息", title = "字段信息")
public class OcrFieldVo implements Serializable {
private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
private Long id;
@Schema(description = "字段名称")
@Schema(description = "字段名称",required = true)
private String name;
@Schema(description = "字段类型(终审:0工单1、一审二审:2、审核填报:3")
@Schema(description = "字段类型(终审:0工单1、一审二审:2、审核填报:3",required = true)
private Integer reviewType;
@Schema(description = "字段描述")
@Schema(description = "字段描述",required = true)
private String fieldDesc;
@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 = "修改时间")
private Date updateTime;
@Schema(description = "是否删除0未删除1:已删除")
private Integer del;
@Schema(description = "是否必选",required = true)
private Integer isrequired;
}

@ -1,7 +1,5 @@
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 lombok.AllArgsConstructor;
import lombok.Builder;
@ -9,7 +7,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Date;
@Data
@Builder
@ -18,34 +15,16 @@ import java.sql.Date;
@Schema(name = "用户-展示字段", title = "用户-展示字段")
public class OcrUserFieldVo implements Serializable {
private static final long serialVersionUID = 8088861709460050761L;
@Schema(description = "主键")
private Long id;
@Schema(description = "用户ID")
@Schema(description = "用户ID",required = true)
private long userId;
@Schema(description = "评审类型(终审:0工单1、一审二审:2、审核填报:3")
@Schema(description = "评审类型(终审:0工单1、一审二审:2、审核填报:3",required = true)
private Integer reviewType;
@Schema(description = "展示字段字符串")
@Schema(description = "展示字段字符串",required = true)
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="review_type" property="reviewType" jdbcType="INTEGER"/>
<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_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_by" property="updateBy" jdbcType="VARCHAR"/>

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