diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallApiDao.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallApiDao.java new file mode 100644 index 0000000..f3cb63c --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallApiDao.java @@ -0,0 +1,51 @@ +package com.wabestway.recall.trace.dao; + +import com.wabestway.recall.trace.entity.RecallApiEntity; +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Mapper +public interface RecallApiDao extends BaseMapper { + + /** + * 分页查询 + * @param page 分页对象 + * @param recallApiDTO + * @return + */ + IPage queryRecallApiByCondition(Page page, @Param("recallApiDTO")RecallApiDTO recallApiDTO); + + /** + * 条件查询,不分页 + * @param recallApiDTO + * @return + */ + List queryRecallApiListNoPage(@Param("recallApiDTO")RecallApiDTO recallApiDTO); + + /** + * 根据id更新 + * @param recallApi 对象 + * @return + */ + void updateRecallApiById(@Param("recallApi")RecallApiEntity recallApi); + + /** + * 根据id查询详情 + * @param id + * @return + */ + RecallApiVO queryRecallApiById(@Param("id") String id); +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallProductDao.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallProductDao.java new file mode 100644 index 0000000..ec286b1 --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dao/RecallProductDao.java @@ -0,0 +1,51 @@ +package com.wabestway.recall.trace.dao; + +import com.wabestway.recall.trace.entity.RecallProductEntity; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Mapper +public interface RecallProductDao extends BaseMapper { + + /** + * 分页查询 + * @param page 分页对象 + * @param recallProductDTO + * @return + */ + IPage queryRecallProductByCondition(Page page, @Param("recallProductDTO")RecallProductDTO recallProductDTO); + + /** + * 条件查询,不分页 + * @param recallProductDTO + * @return + */ + List queryRecallProductListNoPage(@Param("recallProductDTO")RecallProductDTO recallProductDTO); + + /** + * 根据id更新 + * @param recallProduct 对象 + * @return + */ + void updateRecallProductById(@Param("recallProduct")RecallProductEntity recallProduct); + + /** + * 根据id查询详情 + * @param id + * @return + */ + RecallProductVO queryRecallProductById(@Param("id") String id); +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallApiDTO.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallApiDTO.java new file mode 100644 index 0000000..ecd1646 --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallApiDTO.java @@ -0,0 +1,35 @@ +package com.wabestway.recall.trace.dto; + +import java.io.Serializable; +import lombok.Data; +import com.wabestway.commons.http.PageDTO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@ApiModel +public class RecallApiDTO extends PageDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** */ + @ApiModelProperty(value = "") + private String id; + /** 可回溯调用appKey */ + @ApiModelProperty(value = "可回溯调用appKey") + private String appKey; + /** 调用方名称 */ + @ApiModelProperty(value = "调用方名称") + private String name; + /** 备注 */ + @ApiModelProperty(value = "备注") + private String remark; + +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallOrderDTO.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallOrderDTO.java index 12edece..712c29c 100644 --- a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallOrderDTO.java +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallOrderDTO.java @@ -22,6 +22,8 @@ public class RecallOrderDTO extends PageDTO implements Serializable { /** 主键 */ @ApiModelProperty(value = "主键") private String id; + @ApiModelProperty(value = "租户ID") + private String tenantId; /** 产品编码 */ @ApiModelProperty(value = "产品编码") private String productCode; diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallProductDTO.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallProductDTO.java new file mode 100644 index 0000000..c3a4e0e --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/dto/RecallProductDTO.java @@ -0,0 +1,44 @@ +package com.wabestway.recall.trace.dto; + +import java.io.Serializable; +import lombok.Data; +import com.wabestway.commons.http.PageDTO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@ApiModel +public class RecallProductDTO extends PageDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** */ + @ApiModelProperty(value = "") + private String id; + /** 产品编码 */ + @ApiModelProperty(value = "产品编码") + private String productCode; + /** 产品名称 */ + @ApiModelProperty(value = "产品名称") + private String productName; + /** 保险公司编码 */ + @ApiModelProperty(value = "保险公司编码") + private String supplierCode; + /** 保险公司名称 */ + @ApiModelProperty(value = "保险公司名称") + private String supplierName; + /** 是否归档 0-否1-是 */ + @ApiModelProperty(value = "是否归档 0-否1-是 ") + private String archived; + /** 是否记录轨迹 0-否1-是 */ + @ApiModelProperty(value = "是否记录轨迹 0-否1-是 ") + private String tracked; + +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallApiEntity.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallApiEntity.java new file mode 100644 index 0000000..7cd1d9f --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallApiEntity.java @@ -0,0 +1,38 @@ +package com.wabestway.recall.trace.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; + +import lombok.Data; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@TableName(value = "recall_api") +public class RecallApiEntity { + /** */ + @TableId + private String id; + /** 可回溯调用appKey */ + private String appKey; + /** 调用方名称 */ + private String name; + /** 租户Id */ + private String tenantId; + /** 备注 */ + private String remark; + /** 创建人 */ + private String createBy; + /** 创建时间 */ + private Long createTime; + /** 更新人 */ + private String updateBy; + /** 更新时间 */ + private Long updateTime; + +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallProductEntity.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallProductEntity.java new file mode 100644 index 0000000..ba1feab --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/entity/RecallProductEntity.java @@ -0,0 +1,44 @@ +package com.wabestway.recall.trace.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableId; + +import lombok.Data; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@TableName(value = "recall_product") +public class RecallProductEntity { + /** */ + @TableId + private String id; + /** 产品编码 */ + private String productCode; + /** 产品名称 */ + private String productName; + /** 保险公司编码 */ + private String supplierCode; + /** 保险公司名称 */ + private String supplierName; + /** 是否归档 0-否1-是 */ + private String archived; + /** 是否记录轨迹 0-否1-是 */ + private String tracked; + /** 租户Id */ + private String tenantId; + /** 创建人 */ + private String createBy; + /** 创建时间 */ + private Long createTime; + /** 更新人 */ + private String updateBy; + /** 更新时间 */ + private Long updateTime; + +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallApiService.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallApiService.java new file mode 100644 index 0000000..df52d26 --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallApiService.java @@ -0,0 +1,55 @@ +package com.wabestway.recall.trace.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wabestway.recall.trace.entity.RecallApiEntity; +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import java.util.List; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +public interface RecallApiService extends IService { + + /** + * 分页查询 + * @param page 分页对象 + * @param recallApiDTO + * @return + */ + IPage queryRecallApiByCondition(long page, long size, RecallApiDTO recallApiDTO); + + /** + * 条件查询,不分页 + * @param recallApiDTO + * @return + */ + List queryRecallApiListNoPage(RecallApiDTO recallApiDTO); + + /** + * 根据id更新 + * @param recallApi 对象 + * @return + */ + void updateRecallApiById(RecallApiEntity recallApi); + + /** + * 根据id查询详情 + * @param id + * @return + */ + RecallApiVO queryRecallApiById(String id); + + /** + * 查询调用app归属租户 + * @param appKey + * @return + */ + String queryApiTenant(String appKey); +} + diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallProductService.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallProductService.java new file mode 100644 index 0000000..c43311c --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/RecallProductService.java @@ -0,0 +1,48 @@ +package com.wabestway.recall.trace.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wabestway.recall.trace.entity.RecallProductEntity; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import java.util.List; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +public interface RecallProductService extends IService { + + /** + * 分页查询 + * @param page 分页对象 + * @param recallProductDTO + * @return + */ + IPage queryRecallProductByCondition(long page, long size, RecallProductDTO recallProductDTO); + + /** + * 条件查询,不分页 + * @param recallProductDTO + * @return + */ + List queryRecallProductListNoPage(RecallProductDTO recallProductDTO); + + /** + * 根据id更新 + * @param recallProduct 对象 + * @return + */ + void updateRecallProductById(RecallProductEntity recallProduct); + + /** + * 根据id查询详情 + * @param id + * @return + */ + RecallProductVO queryRecallProductById(String id); +} + diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiServiceImpl.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiServiceImpl.java new file mode 100644 index 0000000..af37122 --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiServiceImpl.java @@ -0,0 +1,59 @@ +package com.wabestway.recall.trace.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wabestway.recall.trace.dao.RecallApiDao; +import com.wabestway.recall.trace.entity.RecallApiEntity; +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import com.wabestway.recall.trace.service.RecallApiService; + +import java.util.List; + +/** + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Service +public class RecallApiServiceImpl extends ServiceImpl implements RecallApiService { + + @Override + public IPage queryRecallApiByCondition(long page, long size, RecallApiDTO recallApiDTO) { + Page paramReq = new Page<>(page, size); + paramReq.addOrder(new OrderItem().setColumn("create_time").setAsc(false));//创建时间降序排序 + IPage iPage = baseMapper.queryRecallApiByCondition(paramReq, recallApiDTO); + return iPage; + } + + public List queryRecallApiListNoPage(RecallApiDTO recallApiDTO) { + return baseMapper.queryRecallApiListNoPage(recallApiDTO); + } + + @Override + public void updateRecallApiById(RecallApiEntity recallApi) { + baseMapper.updateRecallApiById(recallApi); + } + + @Override + public RecallApiVO queryRecallApiById(String id) { + return baseMapper.queryRecallApiById(id); + } + + @Override + public String queryApiTenant(String appKey) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(RecallApiEntity::getAppKey, appKey); + query.last("limit 1"); + RecallApiEntity recallApi = baseMapper.selectOne(query); + if (recallApi != null) { + return recallApi.getTenantId(); + } + return null; + } +} \ No newline at end of file diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductServiceImpl.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductServiceImpl.java new file mode 100644 index 0000000..68bdc96 --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductServiceImpl.java @@ -0,0 +1,46 @@ +package com.wabestway.recall.trace.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wabestway.recall.trace.dao.RecallProductDao; +import com.wabestway.recall.trace.entity.RecallProductEntity; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import com.wabestway.recall.trace.service.RecallProductService; +import java.util.List; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Service +public class RecallProductServiceImpl extends ServiceImpl implements RecallProductService { + + @Override + public IPage queryRecallProductByCondition(long page, long size, RecallProductDTO recallProductDTO) { + Page paramReq = new Page<>(page,size); + paramReq.addOrder(new OrderItem().setColumn("create_time").setAsc(false));//创建时间降序排序 + IPage iPage = baseMapper.queryRecallProductByCondition(paramReq, recallProductDTO); + return iPage; + } + + public List queryRecallProductListNoPage(RecallProductDTO recallProductDTO) { + return baseMapper.queryRecallProductListNoPage(recallProductDTO); + } + + @Override + public void updateRecallProductById(RecallProductEntity recallProduct) { + baseMapper.updateRecallProductById(recallProduct); + } + + @Override + public RecallProductVO queryRecallProductById(String id ) { + return baseMapper.queryRecallProductById(id); + } +} \ No newline at end of file diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallApiVO.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallApiVO.java new file mode 100644 index 0000000..8e3a47e --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallApiVO.java @@ -0,0 +1,45 @@ +package com.wabestway.recall.trace.vo; + +import java.io.Serializable; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@ApiModel +public class RecallApiVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** */ + @ApiModelProperty(value = "") + private String id; + /** 可回溯调用appKey */ + @ApiModelProperty(value = "可回溯调用appKey") + private String appKey; + /** 调用方名称 */ + @ApiModelProperty(value = "调用方名称") + private String name; + /** 备注 */ + @ApiModelProperty(value = "备注") + private String remark; + /** 创建人 */ + @ApiModelProperty(value = "创建人") + private String createBy; + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + private Long createTime; + /** 更新人 */ + @ApiModelProperty(value = "更新人") + private String updateBy; + /** 更新时间 */ + @ApiModelProperty(value = "更新时间") + private Long updateTime; + +} diff --git a/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallProductVO.java b/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallProductVO.java new file mode 100644 index 0000000..c7aa5bb --- /dev/null +++ b/afis-recall-service/src/main/java/com/wabestway/recall/trace/vo/RecallProductVO.java @@ -0,0 +1,54 @@ +package com.wabestway.recall.trace.vo; + +import java.io.Serializable; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Data +@ApiModel +public class RecallProductVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** */ + @ApiModelProperty(value = "") + private String id; + /** 产品编码 */ + @ApiModelProperty(value = "产品编码") + private String productCode; + /** 产品名称 */ + @ApiModelProperty(value = "产品名称") + private String productName; + /** 保险公司编码 */ + @ApiModelProperty(value = "保险公司编码") + private String supplierCode; + /** 保险公司名称 */ + @ApiModelProperty(value = "保险公司名称") + private String supplierName; + /** 是否归档 0-否1-是 */ + @ApiModelProperty(value = "是否归档 0-否1-是 ") + private String archived; + /** 是否记录轨迹 0-否1-是 */ + @ApiModelProperty(value = "是否记录轨迹 0-否1-是 ") + private String tracked; + /** 创建人 */ + @ApiModelProperty(value = "创建人") + private String createBy; + /** 创建时间 */ + @ApiModelProperty(value = "创建时间") + private Long createTime; + /** 更新人 */ + @ApiModelProperty(value = "更新人") + private String updateBy; + /** 更新时间 */ + @ApiModelProperty(value = "更新时间") + private Long updateTime; + +} diff --git a/afis-recall-service/src/main/resources/mapper/trace/RecallApiDao.xml b/afis-recall-service/src/main/resources/mapper/trace/RecallApiDao.xml new file mode 100644 index 0000000..c2bc6aa --- /dev/null +++ b/afis-recall-service/src/main/resources/mapper/trace/RecallApiDao.xml @@ -0,0 +1,96 @@ + + + + + + + t.id id, + t.app_key appKey, + t.name name, + t.tenant_id tenantId, + t.remark remark, + t.create_by createBy, + t.create_time createTime, + t.update_by updateBy, + t.update_time updateTime + + + + + + + + + + update recall_api t + + + + t.id = #{recallApi.id}, + + + t.app_key = #{recallApi.appKey}, + + + t.name = #{recallApi.name}, + + + t.remark = #{recallApi.remark}, + + + t.update_by = #{recallApi.updateBy}, + + + t.update_time = #{recallApi.updateTime}, + + + where t.id= #{recallApi.id} + + + \ No newline at end of file diff --git a/afis-recall-service/src/main/resources/mapper/trace/RecallOrderDao.xml b/afis-recall-service/src/main/resources/mapper/trace/RecallOrderDao.xml index c0253a2..cd47806 100644 --- a/afis-recall-service/src/main/resources/mapper/trace/RecallOrderDao.xml +++ b/afis-recall-service/src/main/resources/mapper/trace/RecallOrderDao.xml @@ -41,6 +41,9 @@ and t.id = #{recallOrderDTO.id} + + and t.tenant_id = #{recallOrderDTO.tenantId} + and t.product_code = #{recallOrderDTO.productCode} diff --git a/afis-recall-service/src/main/resources/mapper/trace/RecallProductDao.xml b/afis-recall-service/src/main/resources/mapper/trace/RecallProductDao.xml new file mode 100644 index 0000000..8481b66 --- /dev/null +++ b/afis-recall-service/src/main/resources/mapper/trace/RecallProductDao.xml @@ -0,0 +1,126 @@ + + + + + + + t.id id, + t.product_code productCode, + t.product_name productName, + t.supplier_code supplierCode, + t.supplier_name supplierName, + t.archived archived, + t.tracked tracked, + t.tenant_id tenantId, + t.create_by createBy, + t.create_time createTime, + t.update_by updateBy, + t.update_time updateTime + + + + + + + + + + update recall_product t + + + + t.id = #{recallProduct.id}, + + + t.product_code = #{recallProduct.productCode}, + + + t.product_name = #{recallProduct.productName}, + + + t.supplier_code = #{recallProduct.supplierCode}, + + + t.supplier_name = #{recallProduct.supplierName}, + + + t.archived = #{recallProduct.archived}, + + + t.tracked = #{recallProduct.tracked}, + + + t.update_by = #{recallProduct.updateBy}, + + + t.update_time = #{recallProduct.updateTime}, + + + where t.id= #{recallProduct.id} + + + \ No newline at end of file diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallApiController.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallApiController.java new file mode 100644 index 0000000..da65ec9 --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallApiController.java @@ -0,0 +1,63 @@ +package com.wabestway.recall.trace.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import com.wabestway.recall.trace.service.RecallApiApiService; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@RestController +@RequestMapping("/trace/recallApi") +@Api(tags = {"-接口"}, description = "-接口") +public class RecallApiController { + @Autowired + private RecallApiApiService recallApiApiService; + + /** + * 列表 + */ + @PostMapping("/list") + @ApiOperation(value = "分页列表查询", notes = "条件分页查询列表", httpMethod = "POST") + public ResObj> list(@RequestBody RecallApiDTO paramRequest) { + return recallApiApiService.list(paramRequest); + } + + /** + * 信息 + */ + @GetMapping("/info/{id}") + @ApiOperation(value = "根据id查详情", notes = "根据id查详情", httpMethod = "GET") + public ResObj info(@PathVariable("id") String id) { + return recallApiApiService.getRecallApi(id); + } + + /** + * 保存 + */ + @PostMapping("/save") + @ApiOperation(value = "保存", notes = "保存", httpMethod = "POST") + public ResObj saveRecallApi(@RequestBody RecallApiDTO paramRequest) { + return recallApiApiService.saveRecallApi(paramRequest); + } + + /** + * 修改 + */ + @PostMapping("/update") + @ApiOperation(value = "修改", notes = "修改", httpMethod = "POST") + public ResObj updateRecallApi(@RequestBody RecallApiDTO paramRequest) { + return recallApiApiService.updateRecallApi(paramRequest); + } +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallOrderController.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallOrderController.java index 21d0a63..1f6fdeb 100644 --- a/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallOrderController.java +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallOrderController.java @@ -1,6 +1,7 @@ package com.wabestway.recall.trace.controller; +import com.wabestway.recall.util.HeaderDataUtil; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,9 +32,19 @@ public class RecallOrderController { @PostMapping("/list") @ApiOperation(value = "分页列表查询", notes = "条件分页查询列表", httpMethod = "POST") public ResObj> list(@RequestBody RecallOrderDTO paramRequest) { + paramRequest.setTenantId(null); return recallOrderApiService.list(paramRequest); } + + @PostMapping("/tenant/list") + @ApiOperation(value = "租户分页列表查询", notes = "条件分页查询列表", httpMethod = "POST") + public ResObj> tenantList(@RequestBody RecallOrderDTO paramRequest) { + paramRequest.setTenantId(HeaderDataUtil.getTenantId()); + return recallOrderApiService.list(paramRequest); + } + + /** * 信息 */ diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallProductController.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallProductController.java new file mode 100644 index 0000000..b985314 --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/controller/RecallProductController.java @@ -0,0 +1,64 @@ +package com.wabestway.recall.trace.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import com.wabestway.recall.trace.service.RecallProductApiService; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@RestController +@RequestMapping("/trace/recallProduct") +@Api(tags = {"-接口"}, description = "-接口") +public class RecallProductController { + @Autowired + private RecallProductApiService recallProductApiService; + + /** + * 列表 + */ + @PostMapping("/list") + @ApiOperation(value = "分页列表查询", notes = "条件分页查询列表", httpMethod = "POST") + public ResObj> list(@RequestBody RecallProductDTO paramRequest) { + return recallProductApiService.list(paramRequest); + } + + /** + * 信息 + */ + @GetMapping("/info/{id}") + @ApiOperation(value = "根据id查详情", notes = "根据id查详情", httpMethod = "GET") + public ResObj info(@PathVariable("id") String id) { + return recallProductApiService.getRecallProduct(id); + } + + /** + * 保存 + */ + @PostMapping("/save") + @ApiOperation(value = "保存", notes = "保存", httpMethod = "POST") + public ResObj saveRecallProduct(@RequestBody RecallProductDTO paramRequest) { + return recallProductApiService.saveRecallProduct(paramRequest); + } + + /** + * 修改 + */ + @PostMapping("/update") + @ApiOperation(value = "修改", notes = "修改", httpMethod = "POST") + public ResObj updateRecallProduct(@RequestBody RecallProductDTO paramRequest) { + return recallProductApiService.updateRecallProduct(paramRequest); + } + +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallApiApiService.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallApiApiService.java new file mode 100644 index 0000000..55cfa0f --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallApiApiService.java @@ -0,0 +1,47 @@ +package com.wabestway.recall.trace.service; + + +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +public interface RecallApiApiService { + + /** + * 列表 + * @param paramReq + * @return + */ + ResObj> list(RecallApiDTO paramReq); + + /** + * 查询详情 + * @param id + * @return + */ + ResObj getRecallApi(String id); + + /** + * 保存 + * @param paramReq + * @return + */ + ResObj saveRecallApi(RecallApiDTO paramReq); + + /** + * 修改 + * @param paramReq + * @return + */ + ResObj updateRecallApi(RecallApiDTO paramReq); + +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallProductApiService.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallProductApiService.java new file mode 100644 index 0000000..2654d83 --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/RecallProductApiService.java @@ -0,0 +1,46 @@ +package com.wabestway.recall.trace.service; + +import java.util.List; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; + + +/** + * + * + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +public interface RecallProductApiService { + + /** + * 列表 + * @param paramReq + * @return + */ + ResObj> list(RecallProductDTO paramReq); + + /** + * 查询详情 + * @param id + * @return + */ + ResObj getRecallProduct(String id); + + /** + * 保存 + * @param paramReq + * @return + */ + ResObj saveRecallProduct(RecallProductDTO paramReq); + + /** + * 修改 + * @param paramReq + * @return + */ + ResObj updateRecallProduct(RecallProductDTO paramReq); +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiApiServiceImpl.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiApiServiceImpl.java new file mode 100644 index 0000000..0344171 --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallApiApiServiceImpl.java @@ -0,0 +1,71 @@ +package com.wabestway.recall.trace.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; +import com.wabestway.recall.util.HeaderDataUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.BeanUtils; +import com.wabestway.ins.utils.UUIDUtil; +import com.wabestway.recall.trace.entity.RecallApiEntity; +import com.wabestway.recall.trace.dto.RecallApiDTO; +import com.wabestway.recall.trace.vo.RecallApiVO; +import com.wabestway.recall.trace.service.RecallApiApiService; +import com.wabestway.recall.trace.service.RecallApiService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Service +public class RecallApiApiServiceImpl implements RecallApiApiService { + @Autowired + private RecallApiService recallApiService; + + @Override + public ResObj> list(RecallApiDTO paramReq) { + IPage resultPage = recallApiService.queryRecallApiByCondition(paramReq.getPage(), paramReq.getPageSize(), paramReq); + + Paging paging = new Paging(resultPage.getRecords(), paramReq.getPage(), resultPage.getSize(), resultPage.getTotal()); + return ResObj.ok(paging); + } + + @Override + public ResObj getRecallApi(String id) { + RecallApiVO recallApiVO = recallApiService.queryRecallApiById(id); + + return ResObj.ok(recallApiVO); + } + + @Transactional + @Override + public ResObj saveRecallApi(RecallApiDTO paramReq) { + RecallApiEntity recallApi = new RecallApiEntity(); + BeanUtils.copyProperties(paramReq, recallApi); + + recallApi.setId(UUIDUtil.generate());//赋值id + recallApi.setTenantId(HeaderDataUtil.getTenantId()); + recallApi.setCreateBy(HeaderDataUtil.getUserId());//创建人 + recallApi.setCreateTime(System.currentTimeMillis());//创建时间 + recallApi.setUpdateBy(HeaderDataUtil.getUserId());//更新人 + recallApi.setUpdateTime(System.currentTimeMillis());//更新时间 + + recallApiService.save(recallApi); + return ResObj.ok(); + } + + @Transactional + @Override + public ResObj updateRecallApi(RecallApiDTO paramReq) { + RecallApiEntity recallApi = new RecallApiEntity(); + BeanUtils.copyProperties(paramReq, recallApi); + recallApi.setUpdateBy(HeaderDataUtil.getUserId());//更新人 + recallApi.setUpdateTime(System.currentTimeMillis());//更新时间 + recallApiService.updateById(recallApi); + return ResObj.ok(); + } + +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallOrderApiServiceImpl.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallOrderApiServiceImpl.java index d188456..8c3beac 100644 --- a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallOrderApiServiceImpl.java +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallOrderApiServiceImpl.java @@ -77,6 +77,7 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService { orderQuery.eq(RecallOrderEntity::getComplete, "1"); orderQuery.isNull(RecallOrderEntity::getFileId); orderQuery.orderByDesc(RecallOrderEntity::getCompleteDate); + //orderQuery.last("limit 1"); List orderList = recallOrderService.getBaseMapper().selectList(orderQuery); orderList.forEach(order -> { @@ -113,7 +114,7 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService { bw.flush(); bw.close(); fw.close(); - String[] command = {"ts-node", "/opt/review/index.ts"}; + /*String[] command = {"ts-node", " /opt/rrvideo/src/cli.ts --input traces.json"}; ProcessBuilder processBuilder = new ProcessBuilder(command); processBuilder.directory(tempDir.toFile()); // 在临时目录下执行命令 @@ -136,42 +137,26 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService { e.printStackTrace(); } }); - processThread.start(); - - // Continue with other tasks here... - - + processThread.start();*/ try { - processThread.join(); - } catch (InterruptedException e) { + String[] cmd = {"ts-node", "/opt/rrvideo/src/cli.ts"}; + ProcessBuilder processBuilder = new ProcessBuilder(cmd); + processBuilder.directory(tempDir.toFile()); + Process process = processBuilder.start(); + + // 捕获输出 + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + String line; + while ((line = reader.readLine()) != null) { + System.out.println(line); + } + + // 等待进程结束 + int exitCode = process.waitFor(); + System.out.println("Command exited with code " + exitCode); + } catch (Exception e) { e.printStackTrace(); } - - String[] video = {"rrvideo", "--input unpack.json --config /opt/review/config.json --output video.mp4"}; - ProcessBuilder videoBuilder = new ProcessBuilder(video); - videoBuilder.directory(tempDir.toFile()); - Process p2 = videoBuilder.start(); - - - Thread processThread2 = new Thread(() -> { - try { - // 读取命令输出 - BufferedReader reader = new BufferedReader(new InputStreamReader(p2.getInputStream())); - String line; - while ((line = reader.readLine()) != null) { - System.out.println(line); - } - reader.close(); - // 等待命令执行完成 - int exitCode = p2.waitFor(); - - System.out.println("Command exited with code " + exitCode); - } catch (InterruptedException | IOException e) { - e.printStackTrace(); - } - }); - processThread2.start(); - File file = new File(tempDir.toFile(), "video.mp4"); if (file.exists()) { log.info(String.valueOf(file.length())); @@ -198,6 +183,7 @@ public class RecallOrderApiServiceImpl implements RecallOrderApiService { .sorted(Comparator.reverseOrder()) .map(Path::toFile) .forEach(File::delete); + Files.delete(tempDir); } } diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductApiServiceImpl.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductApiServiceImpl.java new file mode 100644 index 0000000..1d023f3 --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallProductApiServiceImpl.java @@ -0,0 +1,73 @@ +package com.wabestway.recall.trace.service.impl; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.wabestway.commons.http.Paging; +import com.wabestway.commons.http.ResObj; +import com.wabestway.commons.enums.DataValidEnum; +import com.wabestway.recall.util.HeaderDataUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.BeanUtils; +import com.wabestway.ins.utils.UUIDUtil; +import com.wabestway.recall.trace.entity.RecallProductEntity; +import com.wabestway.recall.trace.dto.RecallProductDTO; +import com.wabestway.recall.trace.vo.RecallProductVO; +import com.wabestway.recall.trace.service.RecallProductApiService; +import com.wabestway.recall.trace.service.RecallProductService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + + +/** + * @author wangH + * @company 北京华焱坤泰科技有限公司 + * @Time 2023-05-15 09:59:12 + */ +@Service +public class RecallProductApiServiceImpl implements RecallProductApiService { + @Autowired + private RecallProductService recallProductService; + + @Override + public ResObj> list(RecallProductDTO paramReq) { + IPage resultPage = recallProductService.queryRecallProductByCondition(paramReq.getPage(), paramReq.getPageSize(), paramReq); + + Paging paging = new Paging(resultPage.getRecords(), paramReq.getPage(), resultPage.getSize(), resultPage.getTotal()); + return ResObj.ok(paging); + } + + @Override + public ResObj getRecallProduct(String id) { + RecallProductVO recallProductVO = recallProductService.queryRecallProductById(id); + + return ResObj.ok(recallProductVO); + } + + @Transactional + @Override + public ResObj saveRecallProduct(RecallProductDTO paramReq) { + RecallProductEntity recallProduct = new RecallProductEntity(); + BeanUtils.copyProperties(paramReq, recallProduct); + + recallProduct.setId(UUIDUtil.generate());//赋值id + recallProduct.setCreateBy(HeaderDataUtil.getUserId());//创建人 + recallProduct.setCreateTime(System.currentTimeMillis());//创建时间 + recallProduct.setUpdateBy(HeaderDataUtil.getUserId());//更新人 + recallProduct.setUpdateTime(System.currentTimeMillis());//更新时间 + + recallProductService.save(recallProduct); + return ResObj.ok(); + } + + @Transactional + @Override + public ResObj updateRecallProduct(RecallProductDTO paramReq) { + RecallProductEntity recallProduct = new RecallProductEntity(); + BeanUtils.copyProperties(paramReq, recallProduct); + recallProduct.setUpdateBy(HeaderDataUtil.getUserId());//更新人 + recallProduct.setUpdateTime(System.currentTimeMillis());//更新时间 + recallProductService.updateById(recallProduct); + return ResObj.ok(); + } + +} diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java index 4013ab8..9d949ea 100644 --- a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java @@ -7,6 +7,7 @@ import com.wabestway.commons.http.ResObj; import com.wabestway.recall.trace.dto.TraceDTO; import com.wabestway.recall.trace.entity.RecallOrderEntity; import com.wabestway.recall.trace.entity.RecallRecordEntity; +import com.wabestway.recall.trace.service.RecallApiService; import com.wabestway.recall.trace.service.RecallOrderService; import com.wabestway.recall.trace.service.RecallRecordService; import lombok.extern.slf4j.Slf4j; @@ -32,21 +33,24 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService { private RecallRecordService recallRecordService; @Autowired private RecallOrderService recallOrderService; + @Autowired + private RecallApiService recallApiService; @Override public ResObj save(TraceDTO record) { Objects.requireNonNull(record); - String orderId = StringUtils.isBlank(record.getOrderId()) ? UUID.randomUUID().toString().replace("-", "") : record.getOrderId(); - String traceId = StringUtils.isBlank(record.getTraceId()) ? UUID.randomUUID().toString().replace("-", "") : record.getTraceId(); boolean isLastEvent = record.isLast(); - RecallOrderEntity order = Optional.ofNullable(recallOrderService.queryRecallOrderByOrderId(orderId)) + RecallOrderEntity order = Optional.ofNullable(Optional.ofNullable(record.getOrderId()) + .map(recallOrderService::queryRecallOrderByOrderId) + .orElse(null)) .orElseGet(() -> Optional.ofNullable(recallOrderService.queryRecallOrderByTraceId(traceId)).orElseGet(() -> { RecallOrderEntity newOrder = new RecallOrderEntity(); newOrder.setId(UUID.randomUUID().toString().replace("-", "")); - newOrder.setOrderId(orderId); + Optional.ofNullable(record.getOrderId()) + .ifPresent(newOrder::setOrderId); newOrder.setTraceId(traceId); newOrder.setProductCode(record.getProductCode()); newOrder.setProductName(record.getProductName()); @@ -55,6 +59,9 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService { newOrder.setAppKey(record.getAppKey()); newOrder.setArchived("0"); newOrder.setComplete(isLastEvent ? "1" : "0"); + String tenantId = recallApiService.queryApiTenant(record.getAppKey()); + Optional.ofNullable(tenantId) + .ifPresent(newOrder::setTenantId); if (isLastEvent) { newOrder.setCompleteDate(System.currentTimeMillis()); } @@ -68,7 +75,8 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService { recallOrderService.updateRecallOrderById(order); } record.setTraceId(traceId); - record.setOrderId(orderId); + Optional.ofNullable(record.getOrderId()) + .ifPresent(record::setOrderId); RecallRecordEntity recallRecord = new RecallRecordEntity(); BeanUtils.copyProperties(record, recallRecord); recallRecord.setId(UUID.randomUUID().toString().replace("-", "")); diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/util/HeaderDataUtil.java b/afis-recall-web/src/main/java/com/wabestway/recall/util/HeaderDataUtil.java new file mode 100644 index 0000000..3b8fbaa --- /dev/null +++ b/afis-recall-web/src/main/java/com/wabestway/recall/util/HeaderDataUtil.java @@ -0,0 +1,111 @@ +package com.wabestway.recall.util; + +import com.google.gson.Gson; +import com.wabestway.auth.api.user.ReqOrgInfo; +import com.wabestway.auth.api.user.ReqTenantInfo; +import com.wabestway.auth.api.user.ReqUser; +import com.wabestway.auth.api.user.TokenObj; +import com.wabestway.commons.exception.AlertException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.net.URLDecoder; + +public class HeaderDataUtil { + private static Logger logger = LoggerFactory.getLogger(HeaderDataUtil.class); + + public HeaderDataUtil() { + } + + public static ReqUser getUserData() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + ReqUser reqUser = null; + try { + String header = request.getHeader(TokenObj._USER); + if (header != null) { + String str = URLDecoder.decode(header, "UTF-8"); + logger.info("用户信息:{}", str); + reqUser = new Gson().fromJson(str, ReqUser.class); + } + } catch (Exception e) { + logger.error("用户信息转化异常", e); + throw new AlertException("未获取到header用户信息!"); + } + + return reqUser; + } + + public static ReqOrgInfo getOrgInfoData() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + ReqOrgInfo orgInfo = null; + try { + String header = request.getHeader(TokenObj._ORG); + if (header != null) { + String str = URLDecoder.decode(header, "UTF-8"); + logger.info("机构信息:{}", str); + orgInfo = new Gson().fromJson(str, ReqOrgInfo.class); + } + } catch (Exception e) { + logger.error("机构信息转化异常", e); + throw new AlertException("未获取到header机构信息!"); + } + + return orgInfo; + } + + public static ReqTenantInfo getTenantData() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + ReqTenantInfo tenant = null; + try { + String header = request.getHeader(TokenObj._TENANT); + if (header != null) { + String str = URLDecoder.decode(header, "UTF-8"); + logger.info("机构信息:{}", str); + tenant = new Gson().fromJson(str, ReqTenantInfo.class); + } + } catch (Exception e) { + logger.error("租户信息转化异常", e); + } + + return tenant; + } + + public static String getUserId() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String userId = null; + try { + String header = request.getHeader(TokenObj._USERID); + if (header != null) { + userId = URLDecoder.decode(header, "UTF-8"); + } + } catch (Exception e) { + logger.error("用户ID信息转化异常", e); + } + + return userId; + } + + public static String getTenantId() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String tenantId = null; + + try { + String header = request.getHeader(TokenObj._TENANTID); + if (header != null) { + tenantId = URLDecoder.decode(header, "UTF-8"); + } + } catch (Exception e) { + logger.error("租户id信息转化异常", e); + } + + return tenantId; + } +} \ No newline at end of file