Browse Source

删除部门入参
修改跨域过滤器

tanzhongran 3 years ago
parent
commit
9f67ae75ce

+ 0 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/QrFormat.java

@@ -26,9 +26,6 @@ public class QrFormat {
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
-    @ApiModelProperty("部门id")
-    private Long deptId;
-
     @ApiModelProperty("码格式名称")
     private String name;
 

+ 4 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrFormatMapper.java

@@ -5,6 +5,7 @@ import com.abi.qms.platform.dao.vo.result.QrFormatVO;
 import com.abi.qms.platform.dto.req.ListQrFormatReq;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -23,9 +24,10 @@ public interface QrFormatMapper extends BaseMapper<QrFormat> {
 
 	/**
 	 * 根据码库id查询与码库关联的,被禁用的码格式
-	 * @param qrRepertoryId 码库id
+	 * @param qrRepertoryId
+	 * @return
 	 */
-	 List<String> selectDisabledQrFormat(Long qrRepertoryId);
+	List<String> selectDisabledQrFormat(@Param("qrRepertoryId") Long qrRepertoryId);
 
 	/**
 	 * 修改使用状态

+ 0 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrFormatReq.java

@@ -17,9 +17,6 @@ import java.io.Serializable;
 @ApiModel
 public class ListQrFormatReq extends PageReq implements Serializable {
 
-	@ApiModelProperty("部门id")
-	private Long deptId;
-
 	@ApiModelProperty("码格式名称")
 	private String name;
 

+ 1 - 5
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveQrFormatReq.java

@@ -21,17 +21,13 @@ public class SaveQrFormatReq implements Serializable {
 	@ApiModelProperty("码格式id")
 	private Long id;
 
-	@NotNull(message = "部门为空")
-	@ApiModelProperty("部门id")
-	private Long deptId;
-
 	@NotNull(message = "码格式名称为空")
 	@Pattern(regexp = "^[a-zA-Z-z0-9\\u4e00-\\u9fa5]{1,20}$", message = "码格式名称限制20字内的汉字or字母or数字")
 	@ApiModelProperty("码格式名称")
 	private String name;
 
 	@NotNull(message = "数据类型为空")
-	@ApiModelProperty("数据类型")
+	@ApiModelProperty("数据类型 0-纯数字 1-数字+字母")
 	private Integer dataType;
 
 	@ApiModelProperty("码变量")

+ 0 - 11
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/config/WebMvcConfig.java

@@ -1,7 +1,6 @@
 package com.abi.qms.platform.infrastructure.config;
 
 
-import com.abi.qms.platform.infrastructure.interceptor.CorsInterceptor;
 import com.abi.qms.platform.infrastructure.interceptor.TokenInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
@@ -16,9 +15,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupp
 @Configuration
 public class WebMvcConfig extends WebMvcConfigurationSupport {
 
-    @Autowired
-    private CorsInterceptor corsInterceptor;
-
     @Autowired
     private TokenInterceptor tokenInterceptor;
 
@@ -31,13 +27,6 @@ public class WebMvcConfig extends WebMvcConfigurationSupport {
 
     @Override
     protected void addInterceptors(InterceptorRegistry registry) {
-        //跨域拦截器
-        registry.addInterceptor(corsInterceptor)
-                .addPathPatterns("/**")
-                .excludePathPatterns("/swagger**/**")
-                .excludePathPatterns("/webjars/**")
-                .excludePathPatterns("/v3/**")
-                .excludePathPatterns("/doc.html");
         //token拦截器
         registry.addInterceptor(tokenInterceptor)
                 .addPathPatterns("/**")

+ 46 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/CorsFilter.java

@@ -0,0 +1,46 @@
+package com.abi.qms.platform.infrastructure.interceptor;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * 跨域过滤器
+ * @author AndyTan
+ */
+@Component
+@Order(Ordered.HIGHEST_PRECEDENCE)
+@WebFilter(urlPatterns = "/**")
+public class CorsFilter extends OncePerRequestFilter {
+
+    @Override
+    public void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
+            throws IOException, ServletException {
+        String origin = request.getHeader("Origin");
+        if (StringUtils.isNotEmpty(origin)) {
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "*");
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "*");
+        }
+        if (HttpMethod.OPTIONS.matches(request.getMethod())) {
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "*");
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "*");
+            response.setHeader(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "3600");
+            return;
+        }
+        filterChain.doFilter(request, response);
+    }
+
+}

+ 0 - 33
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/CorsInterceptor.java

@@ -1,33 +0,0 @@
-package com.abi.qms.platform.infrastructure.interceptor;
-
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.HandlerInterceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-@Component
-public class CorsInterceptor implements HandlerInterceptor {
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
-        response.setHeader("Access-Control-Allow-Origin", "*");
-        response.setHeader("Access-Control-Allow-Credentials", "true");
-        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS");
-        response.setHeader("Access-Control-Max-Age", "86400");
-        response.setHeader("Access-Control-Allow-Headers", "Content-Type");
-        response.setHeader("Access-Control-Expose-Headers", "*");
-
-        // 如果是OPTIONS则结束请求
-        if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
-            response.setStatus(HttpStatus.NO_CONTENT.value());
-            return false;
-        }
-
-        return true;
-    }
-
-
-}

+ 5 - 8
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrFormatServiceImpl.java

@@ -56,6 +56,7 @@ public class QrFormatServiceImpl implements QrFormatService {
 	@Transactional(rollbackFor = Exception.class)
 	public void saveQrFormat(SaveQrFormatReq req) {
 		Long qrFormatId = req.getId();
+		//1-校验入参
 		// 修改码格式时的条件限制
 		QrFormat qrFormat;
 		if (qrFormatId != null) {
@@ -66,10 +67,8 @@ public class QrFormatServiceImpl implements QrFormatService {
 				throw new BusinessException("码格式不可编辑");
 			}
 		}
-
-		// 同部门下码格式名称不可重复
+		//码格式名称不可重复
 		QueryWrapper<QrFormat> qrFormatQw = new QueryWrapper<>();
-		qrFormatQw.eq("dept_id", req.getDeptId());
 		qrFormatQw.eq("name", req.getName());
 		qrFormatQw.eq("is_delete", 0);
 		if (qrFormatId != null) {
@@ -80,9 +79,9 @@ public class QrFormatServiceImpl implements QrFormatService {
 			throw new BusinessException("码格式名称已存在");
 		}
 
+		//2-保存数据
 		// copy属性值
 		qrFormat = PojoConverterUtils.copy(req, QrFormat.class);
-
 		// 新增or修改
 		Long userId = UserUtil.getUser().getId();
 		qrFormat.setUpdateBy(userId);
@@ -93,10 +92,8 @@ public class QrFormatServiceImpl implements QrFormatService {
 			qrFormatMapper.insert(qrFormat);
 		}
 
-		// 是否进行重复率验证
-//		if (QrFormatVerifyUniqueEnum.VERIFY_UNIQUE.is(qrFormat.getVerifyUnique())) {
-			executorService.execute(new VerifyUniqueTask(qrFormat, qrFormatMapper));
-//		}
+		//3-异步进行重复率验证
+		executorService.execute(new VerifyUniqueTask(qrFormat, qrFormatMapper));
 
 	}
 

+ 1 - 7
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrFormatMapper.xml

@@ -6,7 +6,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <resultMap type="com.abi.qms.platform.dao.entity.QrFormat" id="QrFormatResult">
         <result property="id" column="id"/>
-        <result property="deptId" column="dept_id"/>
         <result property="name" column="name"/>
         <result property="dataType" column="data_type"/>
         <result property="codeVariable" column="code_variable"/>
@@ -54,16 +53,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             qf.create_by,
             qf.update_time,
             qf.update_by,
-            bd.dept_name,
             ui.user_name AS update_by_name
         FROM qr_format qf
-        LEFT JOIN base_department bd ON qf.dept_id = bd.id
         LEFT JOIN user_info ui ON qf.update_by = ui.id
         <where>
             qf.is_delete = 0
-            <if test="param.deptId != null">
-                AND qf.dept_id = #{param.deptId}
-            </if>
             <if test="param.name != null and param.name != ''">
                 AND qf.name LIKE CONCAT('%',#{param.name},'%')
             </if>
@@ -82,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
             qr_format
         WHERE
-            id IN ( SELECT DISTINCT qr_format_id FROM qr_repertory_column WHERE qr_repertory_id = 10 AND is_delete = 0 )
+            id IN ( SELECT DISTINCT qr_format_id FROM qr_repertory_column WHERE qr_repertory_id = #{qrRepertoryId} AND is_delete = 0 )
             AND is_delete = 0
             AND use_status = 2
     </select>