手持机部分
This commit is contained in:
@@ -103,4 +103,6 @@ public class BasCargoSpaceController extends BaseController
|
||||
{
|
||||
return toAjax(basCargoSpaceService.deleteBasCargoSpaceByCargoSpaceIds(cargoSpaceIds));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface BasCargoSpaceMapper extends BaseMapper<BasCargoSpace>
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasCargoSpaceByCargoSpaceIds(String[] cargoSpaceIds);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface IBasCargoSpaceService extends IService<BasCargoSpace>
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBasCargoSpaceByCargoSpaceId(String cargoSpaceId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.Wrapper;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -95,4 +96,6 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl<BasCargoSpaceMapper,Ba
|
||||
{
|
||||
return basCargoSpaceMapper.deleteBasCargoSpaceByCargoSpaceId(cargoSpaceId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface InStockinMapper
|
||||
public int deleteInStockinByStockinGuids(String[] stockinGuids);
|
||||
|
||||
void insertInStockinHistory(InStockin inStockin);
|
||||
|
||||
List<InStockin> selectStockinByDetail(String stockinDetailId);
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface IInStockinService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInStockinByStockinGuid(String stockinGuid);
|
||||
|
||||
public List<InStockin> selectStockinByDetail(String stockinDetailId);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.in.stockin.service.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
@@ -147,4 +148,9 @@ public class InStockinServiceImpl implements IInStockinService
|
||||
{
|
||||
return inStockinMapper.deleteInStockinByStockinGuid(stockinGuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InStockin> selectStockinByDetail(String stockinDetailId) {
|
||||
return inStockinMapper.selectStockinByDetail(stockinDetailId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package com.ruoyi.pda.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
@@ -7,12 +11,15 @@ import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import com.ruoyi.pda.service.PdaService;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import com.ruoyi.stock.stock.domain.BasStock;
|
||||
import com.ruoyi.stock.stock.service.IBasStockService;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.utils.PageUtils.startPage;
|
||||
@@ -25,6 +32,10 @@ public class PdaController extends BaseController {
|
||||
private PdaService pdaService;
|
||||
@Autowired
|
||||
private IInStockinService inStockinService;
|
||||
@Autowired
|
||||
private IBasStockService basStockService;
|
||||
@Autowired
|
||||
private IBasWarehouseService basWarehouseService;
|
||||
|
||||
/**
|
||||
* 空托盘入库
|
||||
@@ -34,8 +45,16 @@ public class PdaController extends BaseController {
|
||||
@RequestMapping("/emptyTrayIn")
|
||||
@ResponseBody
|
||||
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
AjaxResult ajaxResult = pdaService.emptyTrayIn(trayCodeMsg);
|
||||
return ajaxResult;
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if(basWarehouse==null){
|
||||
return AjaxResult.error("仓库不存在");
|
||||
}else{
|
||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
||||
return AjaxResult.error("请选择高架库货位");
|
||||
}
|
||||
|
||||
}
|
||||
return pdaService.emptyTrayIn(trayCodeMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,12 +67,61 @@ public class PdaController extends BaseController {
|
||||
return ajaxResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* 空托盘库存查询
|
||||
* @param warehouseId
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/selectKTPStcok")
|
||||
@ResponseBody
|
||||
public AjaxResult selectKTPStcok(String warehouseId) {
|
||||
|
||||
List<BasStock> basStockList = basStockService.selectKtpStock(warehouseId);
|
||||
|
||||
if (basStockList.size() != 0) {
|
||||
return AjaxResult.success(basStockList);
|
||||
}else{
|
||||
return AjaxResult.error("此区域没有空托盘库存");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 空托盘出库
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/emptyTrayOut")
|
||||
@ResponseBody
|
||||
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg ) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if (basWarehouse == null){
|
||||
return AjaxResult.error("仓库不存在");
|
||||
}else{
|
||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
||||
return AjaxResult.error("请选择高架库货位");
|
||||
}
|
||||
}
|
||||
return pdaService.emptyTrayOut(trayCodeMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 空料箱出库
|
||||
* @param trayCodeMsg
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/emptyBoxOut")
|
||||
@ResponseBody
|
||||
public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
return pdaService.emptyBoxOut(trayCodeMsg);
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/inorder/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo inoderList(InStockin stockin) {
|
||||
startPage();
|
||||
List<InStockin> stockins = inStockinService.selectInStockinList(stockin);
|
||||
return getDataTable(stockins);
|
||||
public List<InStockin> inoderList(String stockinDetailId) {
|
||||
List<InStockin> stockins = inStockinService.selectStockinByDetail(stockinDetailId);
|
||||
return stockins;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,26 @@ private String quantity;
|
||||
|
||||
private String entranceId;
|
||||
|
||||
private String cargoSpaceId;
|
||||
|
||||
private String exitId;
|
||||
|
||||
public String getExitId() {
|
||||
return exitId;
|
||||
}
|
||||
|
||||
public void setExitId(String exitId) {
|
||||
this.exitId = exitId;
|
||||
}
|
||||
|
||||
public String getCargoSpaceId() {
|
||||
return cargoSpaceId;
|
||||
}
|
||||
|
||||
public void setCargoSpaceId(String cargoSpaceId) {
|
||||
this.cargoSpaceId = cargoSpaceId;
|
||||
}
|
||||
|
||||
public String getEntranceId() {
|
||||
return entranceId;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,8 @@ public interface PdaMapper {
|
||||
void emptyTrayIn(HashMap<String, Object> map);
|
||||
|
||||
void emptyBoxIn(HashMap<String, Object> map);
|
||||
|
||||
void emptyTrayOut(HashMap<String, Object> map);
|
||||
|
||||
void emptyBoxOut(HashMap<String, Object> map);
|
||||
}
|
||||
|
||||
@@ -2,10 +2,15 @@ package com.ruoyi.pda.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
public interface PdaService {
|
||||
|
||||
public AjaxResult emptyTrayIn(TrayCodeMsg trayCodeMsg);
|
||||
|
||||
public AjaxResult emptyBoxIn(TrayCodeMsg trayCodeMsg);
|
||||
|
||||
public AjaxResult emptyTrayOut(TrayCodeMsg trayCodeMsg);
|
||||
|
||||
public AjaxResult emptyBoxOut(TrayCodeMsg trayCodeMsg);
|
||||
}
|
||||
|
||||
@@ -28,15 +28,11 @@ public class PdaServiceImp implements PdaService{
|
||||
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
map.put("v_quantity", "1");
|
||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||
pdaMapper.emptyTrayIn(map);
|
||||
String result = (String) map.get("v_result");
|
||||
String cargoSpaceId = map.get("v_cargo_space_id").toString();
|
||||
if(StrUtil.isNotEmpty(cargoSpaceId)){
|
||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(cargoSpaceId);
|
||||
map.put("v_cargo_space_id", basCargoSpace.getCargoSpaceName());
|
||||
}
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
return AjaxResult.success(map);
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
return AjaxResult.error(map.get("v_resultmsg").toString());
|
||||
}
|
||||
@@ -52,9 +48,10 @@ public class PdaServiceImp implements PdaService{
|
||||
public AjaxResult emptyBoxIn(TrayCodeMsg trayCodeMsg) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
|
||||
pdaMapper.emptyBoxIn(map);
|
||||
String result = (String) map.get("v_result");
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
@@ -63,5 +60,32 @@ public class PdaServiceImp implements PdaService{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult emptyTrayOut(TrayCodeMsg trayCodeMsg) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||
pdaMapper.emptyTrayOut(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult emptyBoxOut(TrayCodeMsg trayCodeMsg) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
map.put("v_exit_id", trayCodeMsg.getExitId());
|
||||
pdaMapper.emptyBoxOut(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface BasStockMapper
|
||||
public int deleteBasStockByStockIds(String[] stockIds);
|
||||
|
||||
void insertBasStockList(List<BasStock> list);
|
||||
|
||||
List<BasStock> selectKtpStock(String warehouseId);
|
||||
}
|
||||
|
||||
@@ -62,4 +62,6 @@ public interface IBasStockService
|
||||
public int deleteBasStockByStockId(String stockId);
|
||||
|
||||
void insertBasStockList(List<BasStock> list);
|
||||
|
||||
List<BasStock> selectKtpStock(String warehouseId);
|
||||
}
|
||||
|
||||
@@ -175,5 +175,8 @@ public class BasStockServiceImpl implements IBasStockService
|
||||
basStockMapper.insertBasStockList(list);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<BasStock> selectKtpStock(String warehouseId) {
|
||||
return basStockMapper.selectKtpStock(warehouseId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,4 +140,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{cargoSpaceId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -188,4 +188,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{stockinGuid}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectStockinByDetail" parameterType="string" resultMap="InStockinResult">
|
||||
select distinct is2.stockin_guid,
|
||||
is2.stockin_id,
|
||||
is2.in_type,
|
||||
is2.create_date,
|
||||
is2.create_man_id,
|
||||
is2.status,
|
||||
is2.warehouse_id,
|
||||
is2.finish_date,
|
||||
is2.erp_bill,
|
||||
is2.stock_source,
|
||||
is2.department_no,
|
||||
is2.customer_no,
|
||||
is2.class_no,
|
||||
is2.supplier_no,
|
||||
is2.spare1,
|
||||
is2.spare2,
|
||||
is2.spare4,
|
||||
is2.spare3,
|
||||
is2.spare5,
|
||||
bw.warehouse_name,
|
||||
bs.supplier_name,
|
||||
sd.dept_name ,
|
||||
su.user_name
|
||||
from in_stockin is2
|
||||
left join bas_warehouse bw on is2.warehouse_id = bw.warehouse_id
|
||||
left join bas_supplier bs on bs.supplier_no = is2.supplier_no
|
||||
left join sys_dept sd on is2.department_no = sd.dept_id
|
||||
left join sys_user su on su.user_id = is2.create_man_id
|
||||
left join in_stockin_detail isd on isd.stockin_id = is2.stockin_id
|
||||
<where>
|
||||
<if test="stockinDetailId != null and stockinDetailId !=''"> stockin_detail_id=#{stockinDetailId}</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -11,17 +11,34 @@
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_quantity,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
</select>
|
||||
|
||||
<select id="emptyBoxIn" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_box_in(
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_entrance_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
</select>
|
||||
<select id="emptyTrayOut" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_tray_out(
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_cargo_space_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
</select>
|
||||
<select id="emptyBoxOut" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_box_out(
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_exit_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -247,4 +247,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{stockId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectKtpStock" parameterType="string" resultMap="BasStockResult">
|
||||
select b.cargo_space_name, b.cargo_space_id from bas_stock s,bas_cargo_space b where s.warehouse_id=#{warehouseId}
|
||||
and s.cargo_space_id=b.cargo_space_id and b.warehouse_id= s.warehouse_id and b.status='2' and s.product_id='KTP0001'
|
||||
order by b.the_platoon,b.the_floor,b.the_column asc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -97,35 +97,35 @@ public class SecurityConfig
|
||||
protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception
|
||||
{
|
||||
return httpSecurity
|
||||
// CSRF禁用,因为不使用session
|
||||
.csrf(csrf -> csrf.disable())
|
||||
// 禁用HTTP响应标头
|
||||
.headers((headersCustomizer) -> {
|
||||
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
|
||||
})
|
||||
// 认证失败处理类
|
||||
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
|
||||
// 基于token,所以不需要session
|
||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||
// 注解标记允许匿名访问的url
|
||||
.authorizeHttpRequests((requests) -> {
|
||||
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html","/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
// 添加Logout filter
|
||||
.logout(logout -> logout.logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler))
|
||||
// 添加JWT filter
|
||||
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
// 添加CORS filter
|
||||
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
|
||||
.addFilterBefore(corsFilter, LogoutFilter.class)
|
||||
.build();
|
||||
// CSRF禁用,因为不使用session
|
||||
.csrf(csrf -> csrf.disable())
|
||||
// 禁用HTTP响应标头
|
||||
.headers((headersCustomizer) -> {
|
||||
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
|
||||
})
|
||||
// 认证失败处理类
|
||||
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
|
||||
// 基于token,所以不需要session
|
||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||
// 注解标记允许匿名访问的url
|
||||
.authorizeHttpRequests((requests) -> {
|
||||
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html","/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/pda/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
// 添加Logout filter
|
||||
.logout(logout -> logout.logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler))
|
||||
// 添加JWT filter
|
||||
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
// 添加CORS filter
|
||||
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
|
||||
.addFilterBefore(corsFilter, LogoutFilter.class)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user