Commit ad67fc05 by huluobin

update

parent 694a80e3
package com.blt.other.common.base;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/21 4:58 下午
*/
@Data
public class SysCompany {
@JSONField(name = "Id")
@JsonProperty("Id")
private Integer id;
@JSONField(name = "CompanyCode")
@JsonProperty("CompanyCode")
private String companyCode;
@JSONField(name = "CompanyName")
@JsonProperty("CompanyName")
private String companyName;
}
package com.blt.other.common.base;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/21 4:58 下午
*/
@Data
public class SysDepartment {
@JSONField(name = "DepartmentId")
@JsonProperty("DepartmentId")
private Integer departmentId;
@JSONField(name = "Name")
@JsonProperty("Name")
private Integer name;
@JSONField(name = "Code")
@JsonProperty("Code")
private Integer code;
}
package com.blt.other.common.base;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
/**
* <p>
* sso jwt 用户
* </p>
*
* @author robbendev
* @since 2020/12/21 4:51 下午
*/
@Data
public class SysUser {
private Long nbf;
private Long exp;
private String iss;
private List<String> aud;
@JSONField(name = "client_id")
@JsonProperty("client_id")
private String clientId;
@JSONField(name = "sub")
@JsonProperty("sub")
private String userName;
@JSONField(name = "OaUserId")
@JsonProperty("OaUserId")
private Integer oaUserId;
@JSONField(name = "Company")
@JsonProperty("Company")
private SysCompany company;
@JSONField(name = "Department")
@JsonProperty("Department")
private SysDepartment department;
@JSONField(name = "auth_time")
@JsonProperty("auth_time")
private Long authTime;
}
...@@ -4,19 +4,13 @@ package com.blt.other.common.config; ...@@ -4,19 +4,13 @@ package com.blt.other.common.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo; import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p> * <p>
* Swagger2配置类 * Swagger2配置类
...@@ -29,39 +23,94 @@ import java.util.List; ...@@ -29,39 +23,94 @@ import java.util.List;
public class Swagger2Config { public class Swagger2Config {
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean @Bean
public Docket createRestApi() { public Docket authApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("鉴权接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.auth"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket commonApi() {
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.groupName("通用接口")
.apiInfo(apiInfo()) .apiInfo(apiInfo())
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other")) .apis(RequestHandlerSelectors.basePackage("com.blt.other.module.common"))
.paths(PathSelectors.any()) .paths(PathSelectors.any())
.build() .build();
// .globalOperationParameters(defaultHeader())
;
} }
// private static List<Parameter> defaultHeader() {
// ParameterBuilder appType = new ParameterBuilder();
// appType.name("sourceFrom")
// .description("应用类型").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
// ParameterBuilder appToken = new ParameterBuilder();
// appToken.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
//
// List<Parameter> pars = new ArrayList<>();
// pars.add(appType.build());
// pars.add(appToken.build());
// return pars;
// }
@Bean
public Docket costApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("费用单接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.cost"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket entrepotApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("库存接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.entrepot"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket purchasingApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("采购接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.purchasing"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket skuApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("sku接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.sku"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket supplierApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("供应商接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.supplier"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket sysApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("费用系统设置接口")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blt.other.module.sys"))
.paths(PathSelectors.any())
.build();
}
/** /**
* 创建该API的基本信息(这些基本信息会展现在文档页面中) * 创建该API的基本信息(这些基本信息会展现在文档页面中)
......
package com.blt.other.common.util; package com.blt.other.common.util;
import com.bailuntec.common.JsonUtilByFsJson; import com.bailuntec.common.JsonUtilByFsJson;
import com.blt.other.common.base.SysUser;
import com.blt.other.common.exception.BizRuntimeException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jose4j.jwk.RsaJsonWebKey; import org.jose4j.jwk.RsaJsonWebKey;
import org.jose4j.jwt.JwtClaims; import org.jose4j.jwt.JwtClaims;
import org.jose4j.jwt.consumer.InvalidJwtException;
import org.jose4j.jwt.consumer.InvalidJwtSignatureException;
import org.jose4j.jwt.consumer.JwtConsumer; import org.jose4j.jwt.consumer.JwtConsumer;
import org.jose4j.jwt.consumer.JwtConsumerBuilder; import org.jose4j.jwt.consumer.JwtConsumerBuilder;
import org.jose4j.lang.JoseException;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
...@@ -27,6 +29,24 @@ public class JwtUtil { ...@@ -27,6 +29,24 @@ public class JwtUtil {
* 前缀 * 前缀
*/ */
public static final String TOKEN_PREFIX = "Bearer "; public static final String TOKEN_PREFIX = "Bearer ";
private static final String PUBLIC_KEY = "{\"kty\":\"RSA\",\"use\":\"sig\",\"kid\":\"0a968baa62e99029a973415887029fbd\",\"e\":\"AQAB\",\"n\":\"1hr9F7WGP6jpixp8kxN2E0BUB23EYiR0jSfdZQsN0ljnZfyqORK6fETVMDxDHB-ueekqieKh7UYJO3Cc3ecC2WCP7Z0KDsGcQBFJd0a9_BBktYv1rDnteJF3v43XkM1gi6gBEtXUb_l-mfpp14His6HtGH8W0v0klBOQ8UsBHDZvOHr2ns_qWPn0i6N86EUe1W47dGSy7fbms3nYQEncNFpnug6x39fJyFxpKjHS_63f2r3QRdf8UlHbjoVsHjg9sJ7pznrxDIIK8heRqH4JiutV8LhagPBVSm8UVHNwdi5IfjmVpYDirBrZDJZq7FwhyZE7ua29a3wP2I08qS9yJw\",\"alg\":\"RS256\"}";
/*
* 获取泛型类Class对象,不是泛型类则返回null
*/
public static Class<?> getActualTypeArgument(Class<?> clazz) {
Class<?> entitiClass = null;
Type genericSuperclass = clazz.getGenericSuperclass();
if (genericSuperclass instanceof ParameterizedType) {
Type[] actualTypeArguments = ((ParameterizedType) genericSuperclass)
.getActualTypeArguments();
if (actualTypeArguments != null && actualTypeArguments.length > 0) {
entitiClass = (Class<?>) actualTypeArguments[0];
}
}
return entitiClass;
}
/** /**
* 功能描述: 解密Bailun Sso Token * 功能描述: 解密Bailun Sso Token
...@@ -35,22 +55,24 @@ public class JwtUtil { ...@@ -35,22 +55,24 @@ public class JwtUtil {
*/ */
public static void validateToken(String token) { public static void validateToken(String token) {
try { try {
Map<String, Object> map = new HashMap<>();
JwtConsumer consumer = new JwtConsumerBuilder() JwtConsumer consumer = new JwtConsumerBuilder()
.setVerificationKey(new RsaJsonWebKey(JsonUtilByFsJson.jsonToBean("{\"kty\":\"RSA\",\"use\":\"sig\",\"kid\":\"0a968baa62e99029a973415887029fbd\",\"e\":\"AQAB\",\"n\":\"1hr9F7WGP6jpixp8kxN2E0BUB23EYiR0jSfdZQsN0ljnZfyqORK6fETVMDxDHB-ueekqieKh7UYJO3Cc3ecC2WCP7Z0KDsGcQBFJd0a9_BBktYv1rDnteJF3v43XkM1gi6gBEtXUb_l-mfpp14His6HtGH8W0v0klBOQ8UsBHDZvOHr2ns_qWPn0i6N86EUe1W47dGSy7fbms3nYQEncNFpnug6x39fJyFxpKjHS_63f2r3QRdf8UlHbjoVsHjg9sJ7pznrxDIIK8heRqH4JiutV8LhagPBVSm8UVHNwdi5IfjmVpYDirBrZDJZq7FwhyZE7ua29a3wP2I08qS9yJw\",\"alg\":\"RS256\"}", Map.class)).getPublicKey()) .setExpectedAudience("http://localhost:5001/resources", "bailunApi")
.setVerificationKey(new RsaJsonWebKey(JsonUtilByFsJson.jsonToBean(PUBLIC_KEY, map.getClass())).getPublicKey())
.build(); .build();
JwtClaims claims = consumer.processToClaims(token.replaceAll(TOKEN_PREFIX, "")); JwtClaims claims = consumer.processToClaims(token.replaceAll(TOKEN_PREFIX, ""));
if (claims != null) { if (claims != null) {
System.out.println("认证通过!"); System.out.println("认证通过!");
log.info(claims.toJson());
SysUser sysUser = JsonUtilByFsJson.jsonToBean(claims.toJson(), SysUser.class);
log.info(sysUser.toString());
} }
} catch (JoseException e) { } catch (Exception e) {
e.printStackTrace();
} catch (InvalidJwtSignatureException e) {
e.printStackTrace();
} catch (InvalidJwtException e) {
e.printStackTrace(); e.printStackTrace();
throw new BizRuntimeException("400", "登陆失效");
} }
} }
......
...@@ -34,15 +34,6 @@ public interface IOaDepartmentService extends IService<OaDepartment> { ...@@ -34,15 +34,6 @@ public interface IOaDepartmentService extends IService<OaDepartment> {
/** /**
* <p> * <p>
* 获取部门审核人列表
* </p>
*
* @return 部门审核人列表
*/
IPage<DepartmentReviewerListItem> reviewerList(DepartmentReviewerListReq req);
/**
* <p>
* 修改部门审核人 * 修改部门审核人
* </p> * </p>
* *
......
...@@ -47,25 +47,6 @@ public class OaDepartmentServiceImpl extends ServiceImpl<OaDepartmentMapper, OaD ...@@ -47,25 +47,6 @@ public class OaDepartmentServiceImpl extends ServiceImpl<OaDepartmentMapper, OaD
} }
@Override @Override
public IPage<DepartmentReviewerListItem> reviewerList(DepartmentReviewerListReq req) {
IPage<DepartmentReviewerListItem> page = new Page<>(req.getPageNum(), req.getPageSize());
page = baseMapper.reviewerList(page, req);
if (ListUtil.isNotEmpty(page.getRecords())) {
List<Integer> oaDepartmentIds = page.getRecords().stream().map(DepartmentReviewerListItem::getDepartmentId).collect(Collectors.toList());
List<CostReviewer> costReviewerList = costReviewerMapper.selectList(new LambdaQueryWrapper<CostReviewer>()
.in(CostReviewer::getReferId, oaDepartmentIds)
.eq(CostReviewer::getType, CostReviewer.departmentReviewer));
Map<Integer, List<CostReviewer>> map = costReviewerList.stream().collect(Collectors.groupingBy(CostReviewer::getReferId));
page.getRecords().forEach(record -> record.setCostReviewerList(map.get(record.getDepartmentId())));
}
return page;
}
@Override
public void modifyDepartmentReviewer(Integer userId, Integer oaDepartmentId, List<Integer> departmentReviewerUserIds) { public void modifyDepartmentReviewer(Integer userId, Integer oaDepartmentId, List<Integer> departmentReviewerUserIds) {
OaUser currentOaUser = oaUserMapper.selectByOaUserId(userId); OaUser currentOaUser = oaUserMapper.selectByOaUserId(userId);
OaDepartment oaDepartment = baseMapper.selectByDepartmentId(oaDepartmentId); OaDepartment oaDepartment = baseMapper.selectByDepartmentId(oaDepartmentId);
......
...@@ -17,7 +17,7 @@ public class CostTypeBaseReq { ...@@ -17,7 +17,7 @@ public class CostTypeBaseReq {
@ApiModelProperty("会计一级科目编号") @ApiModelProperty("会计一级科目编号")
private String accountingSubjectNo; private String accountingSubjectNo;
@ApiModelProperty() @ApiModelProperty("1-费用类型 2-收入类型")
private Integer type; private Integer type;
@ApiModelProperty(value = "费用模版类型作用", hidden = true) @ApiModelProperty(value = "费用模版类型作用", hidden = true)
......
...@@ -3,13 +3,10 @@ package com.blt.other.module.sys.controller; ...@@ -3,13 +3,10 @@ package com.blt.other.module.sys.controller;
import com.bailuntec.cost.api.response.CostResult; import com.bailuntec.cost.api.response.CostResult;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.blt.other.module.sys.dto.request.CompanyReviewerListReq; import com.blt.other.database.model.CostCompanyDomain;
import com.blt.other.module.sys.dto.request.DepartmentReviewerListReq;
import com.blt.other.module.sys.dto.response.DepartmentReviewerListItem;
import com.blt.other.module.auth.service.IOaDepartmentService; import com.blt.other.module.auth.service.IOaDepartmentService;
import com.blt.other.module.cost.service.CostCompanyService; import com.blt.other.module.cost.service.CostCompanyService;
import com.blt.other.database.model.CostCompanyDomain; import com.blt.other.module.sys.dto.request.CompanyReviewerListReq;
import com.google.common.collect.Lists;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -20,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -20,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -34,14 +30,10 @@ import java.util.stream.Collectors; ...@@ -34,14 +30,10 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("/costReviewer") @RequestMapping("/costReviewer")
public class CostReviewerController { public class CostReviewerController {
@Resource
IOaDepartmentService oaDepartmentService;
@Resource @Resource
CostCompanyService costCompanyService; CostCompanyService costCompanyService;
/*财务审核设置 start*/ /*财务审核设置 start*/
@ApiOperation("获取财务审核人、最终审核人呢、行政审核人配置列表") @ApiOperation("获取财务审核人、最终审核人呢、行政审核人配置列表")
@GetMapping("/companyReviewerList") @GetMapping("/companyReviewerList")
...@@ -60,7 +52,6 @@ public class CostReviewerController { ...@@ -60,7 +52,6 @@ public class CostReviewerController {
} }
/*财务审核设置 end*/ /*财务审核设置 end*/
@ApiOperation("/修改最终审核人") @ApiOperation("/修改最终审核人")
@GetMapping("/modifyFinalReviewer") @GetMapping("/modifyFinalReviewer")
public CostResult<Void> modifyFinalReviewer(@RequestParam Integer userId, public CostResult<Void> modifyFinalReviewer(@RequestParam Integer userId,
...@@ -81,5 +72,4 @@ public class CostReviewerController { ...@@ -81,5 +72,4 @@ public class CostReviewerController {
} }
} }
package com.blt.other.module.sys.dto.request; package com.blt.other.module.sys.dto.request;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -17,11 +20,15 @@ import java.util.List; ...@@ -17,11 +20,15 @@ import java.util.List;
@Data @Data
public class AddDepartmentReviewerReq { public class AddDepartmentReviewerReq {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("自动审核金额") @ApiModelProperty(value = "一级部门id")
private BigDecimal autoReviewerAmount; private Integer primaryDepartmentId;
@ApiModelProperty(value = "二级部门id")
private Integer secondDepartmentId;
@ApiModelProperty(value = "自动审核金额")
private BigDecimal autoReviewAmount;
@ApiModelProperty("部门审核人") @ApiModelProperty("部门审核人")
private List<Integer> departmentReviewerUserIdList; private List<Integer> departmentReviewerUserIdList;
......
package com.blt.other.module.sys.service.impl; package com.blt.other.module.sys.service.impl;
import com.bailuntec.common.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.blt.other.module.auth.dao.OaUserMapper;
import com.blt.other.module.sys.dao.CostReviewerMapper; import com.blt.other.module.sys.dao.CostReviewerMapper;
import com.blt.other.module.sys.dao.DepartmentReviewerMapper; import com.blt.other.module.sys.dao.DepartmentReviewerMapper;
import com.blt.other.module.sys.dto.request.AddDepartmentReviewerReq; import com.blt.other.module.sys.dto.request.AddDepartmentReviewerReq;
...@@ -12,6 +14,7 @@ import com.blt.other.module.sys.dto.request.ModifyDepartmentReviewerReq; ...@@ -12,6 +14,7 @@ import com.blt.other.module.sys.dto.request.ModifyDepartmentReviewerReq;
import com.blt.other.module.sys.dto.response.DepartmentReviewerListItem; import com.blt.other.module.sys.dto.response.DepartmentReviewerListItem;
import com.blt.other.module.sys.model.CostReviewer; import com.blt.other.module.sys.model.CostReviewer;
import com.blt.other.module.sys.model.DepartmentReviewer; import com.blt.other.module.sys.model.DepartmentReviewer;
import com.blt.other.module.sys.service.ICostReviewerService;
import com.blt.other.module.sys.service.IDepartmentReviewerService; import com.blt.other.module.sys.service.IDepartmentReviewerService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -33,6 +36,10 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe ...@@ -33,6 +36,10 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
@Resource @Resource
CostReviewerMapper costReviewerMapper; CostReviewerMapper costReviewerMapper;
@Resource
ICostReviewerService costReviewerService;
@Resource
OaUserMapper oaUserMapper;
@Override @Override
public IPage<DepartmentReviewerListItem> departmentReviewerList(DepartmentReviewerListReq req) { public IPage<DepartmentReviewerListItem> departmentReviewerList(DepartmentReviewerListReq req) {
...@@ -42,9 +49,7 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe ...@@ -42,9 +49,7 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
.stream() .stream()
.collect(Collectors.groupingBy(CostReviewer::getReferId)); .collect(Collectors.groupingBy(CostReviewer::getReferId));
page.getRecords().forEach(departmentReviewerListItem -> { page.getRecords().forEach(departmentReviewerListItem -> departmentReviewerListItem.setCostReviewerList(cMap.get(departmentReviewerListItem.getId())));
departmentReviewerListItem.setCostReviewerList(cMap.get(departmentReviewerListItem.getId()));
});
return baseMapper.departmentReviewerList(page, req); return baseMapper.departmentReviewerList(page, req);
} }
...@@ -52,10 +57,33 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe ...@@ -52,10 +57,33 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
@Override @Override
public void modifyDepartmentReviewer(ModifyDepartmentReviewerReq req) { public void modifyDepartmentReviewer(ModifyDepartmentReviewerReq req) {
DepartmentReviewer departmentReviewer = this.getById(req.getId()); DepartmentReviewer departmentReviewer = this.getById(req.getId());
departmentReviewer.setAutoReviewAmount(req.getAutoReviewerAmount());
if (ListUtil.isNotEmpty(req.getDepartmentReviewerUserIdList())) {
costReviewerMapper.delete(new LambdaQueryWrapper<CostReviewer>()
.eq(CostReviewer::getReferId, req.getId()));
costReviewerService.saveBatch(req.getDepartmentReviewerUserIdList().stream()
.map(id -> {
CostReviewer costReviewer = new CostReviewer();
costReviewer.setReferId(req.getId());
costReviewer.setReviewerUserId(id);
costReviewer.setReviewerUserName(oaUserMapper.selectByOaUserId(id).getUserName());
costReviewer.setType(CostReviewer.departmentReviewer);
return costReviewer;
})
.collect(Collectors.toList()));
}
} }
@Override @Override
public void addDepartmentReviewer(AddDepartmentReviewerReq req) { public void addDepartmentReviewer(AddDepartmentReviewerReq req) {
DepartmentReviewer departmentReviewer = new DepartmentReviewer();
departmentReviewer.setAutoReviewAmount(req.getAutoReviewAmount());
} }
} }
...@@ -2,8 +2,6 @@ package com.blt.other.common.util; ...@@ -2,8 +2,6 @@ package com.blt.other.common.util;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/** /**
* <p> * <p>
* *
...@@ -16,6 +14,6 @@ class JwtUtilTest { ...@@ -16,6 +14,6 @@ class JwtUtilTest {
@Test @Test
void validateToken() { void validateToken() {
JwtUtil.validateToken("Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjBhOTY4YmFhNjJlOTkwMjlhOTczNDE1ODg3MDI5ZmJkIiwidHlwIjoiSldUIn0.eyJuYmYiOjE2MDgyNTkyMzcsImV4cCI6MTYwODI5NTIzNywiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi6IOh6aqG5a6-IiwiYXV0aF90aW1lIjoxNjA4MjU5MjM3LCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjI5MTg3OTEiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-56eR5oqA5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJNSjAwNzAiLCJVc2VyQ29kZSI6Ik1KNTU2NjY2NCIsIk9hVXNlcklkIjoiMzEwOCIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyMjksXCJOYW1lXCI6XCLnm7TlsZ5cIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.H80leuAixJCRs1knFxuncACUQg6PfILLdsy_uX7P8u_AzB4hkZWxg1Vc7d8MTLzJSvr_AttEuc5cLjgRsF_3lr_y2RD6z4cS-WCMBl-xOJYF4HF3u5ksHYge4wmOScaxwWoy1Kvv5et2EnDS2RHiZbQM9lS6YQr5-3kOX8TmROiU6fxAetNt7_1lqvADbEfSDRU8dMi2nfcPdbberlRaK-GLp5BcJCBx7gRLc8tKrvbdL9xI_raBvgwa73rauMMPOXQaSKd571j1SZsGUKsLO5PNqTwzLarE5aPttHpiolPDUO3o0Iaf7Nv_XzNFEbrvY6Xu2BXdtQH303ObwiSurQ"); JwtUtil.validateToken("Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjBhOTY4YmFhNjJlOTkwMjlhOTczNDE1ODg3MDI5ZmJkIiwidHlwIjoiSldUIn0.eyJuYmYiOjE2MDg1MzExNDIsImV4cCI6MTYwODU2NzE0MiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi6IOh6aqG5a6-IiwiYXV0aF90aW1lIjoxNjA4NTMxMTQyLCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjI5MTg3OTEiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-56eR5oqA5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJNSjAwNzAiLCJVc2VyQ29kZSI6Ik1KNTU2NjY2NCIsIk9hVXNlcklkIjoiMzEwOCIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyMjksXCJOYW1lXCI6XCLnm7TlsZ5cIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.uxcOZWl3aT1BpADNgtnQ8QW-lazLG0J5TG5Zqy1blGCtAsNQ6f7xOJn4vj5Cxi_8kfG5bn87QUT8ub5QChwPxkGLnNpugj7bnIUxu72eawyXv-Rop0ltMrGb6y81YkDduNeVVxXnX-HCnnlGwUmafIIBbLp2qZVYP49zjOIdQROVsmdOCPrTk9DGwllf6mqNohUdVY4g0s4wx6C-9ea2xT1HL9DzmYMIwdCuyLLwZ_Tc2gF8kmnpFVp2UdmfW7YBq-tjS37BCwZeXBjeQRA1klZyUhtzJEz1Pf0e1rTU3Pm1RUkQj3lhK5T5m0cILxaQ4XuCqKghK4fJX4POPzlwEw");
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment