add:1.登录返回用户前端菜单权限列表 2.根据查重任务编号,获取到当前查重任务的结果

pull/1/head
707464720@qq.com 1 year ago
parent c9636fac90
commit 90e4a2a83d

@ -129,6 +129,9 @@ public class User implements java.io.Serializable {
//存放其他平台关联用户的对象信息
private List oauthUserList = new ArrayList(0);
//前端菜单展示列表权限
private List<Object> frontmenuTList = new ArrayList<>();
public UserToken getFormatUserToken(){
//初始化登录用户信息

@ -0,0 +1,20 @@
package cn.jyjz.xiaoyao.admin.dataDao;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author author
* @since 2024-03-25
*/
@Mapper
public interface SFrontmenuTDao extends BaseMapper<SFrontmenuT> {
List<SFrontmenuT> queryUserMenuById(String loginName);
}

@ -0,0 +1,61 @@
package cn.jyjz.xiaoyao.admin.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("s_frontmenu_t")
@ApiModel(value="SFrontmenuT对象", description="前端菜单表")
public class SFrontmenuT implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键ID")
@TableId(value = "id", type = IdType.NONE)
private Long id;
@ApiModelProperty(value = "菜单名")
private String name;
@ApiModelProperty(value = "父级菜单ID")
private Integer parentId;
@ApiModelProperty(value = "资源标识唯一KEY")
private String resKey;
@ApiModelProperty(value = "菜单地址")
private String resUrl;
@ApiModelProperty(value = "菜单级别")
private Integer level;
@ApiModelProperty(value = "菜单图标")
private String icon;
@ApiModelProperty(value = "菜单排序")
private Integer orderNum;
@ApiModelProperty(value = "菜单是否隐藏0:否,1:是)")
private Integer ishide;
@ApiModelProperty(value = "菜单描述")
private String description;
}

@ -178,6 +178,10 @@ public class User implements BaseDto,java.io.Serializable {
@TableField(exist = false)
private List<Department> deptlist = new ArrayList<Department>(0);
//前端菜单展示列表权限
@TableField(exist = false)
private List<SFrontmenuT> frontmenuTList = new ArrayList<>();
public UserToken getUserToken(){
UserToken userToken = BeanUtil.copyProperties(this,UserToken.class);

@ -0,0 +1,19 @@
package cn.jyjz.xiaoyao.admin.service;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
public interface ISFrontmenuTService extends IService<SFrontmenuT> {
List<SFrontmenuT> queryUserMenuById(String loginName);
}

@ -0,0 +1,34 @@
package cn.jyjz.xiaoyao.admin.service.impl;
import cn.jyjz.xiaoyao.admin.dataDao.SFrontmenuTDao;
import cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT;
import cn.jyjz.xiaoyao.admin.service.ISFrontmenuTService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author author
* @since 2024-03-25
*/
@Service
@Slf4j
public class SFrontmenuTServiceImpl extends ServiceImpl<SFrontmenuTDao, SFrontmenuT> implements ISFrontmenuTService {
@Resource
private SFrontmenuTDao sFrontmenuTDao;
@Override
public List<SFrontmenuT> queryUserMenuById(String loginName){
List<SFrontmenuT> sFrontmenuTList = sFrontmenuTDao.queryUserMenuById(loginName);
return sFrontmenuTList;
}
}

@ -9,6 +9,7 @@ import cn.jyjz.xiaoyao.admin.dataDao.UserobjectMybatisDao;
import cn.jyjz.xiaoyao.admin.dataDao.UserpostMybatisDao;
import cn.jyjz.xiaoyao.admin.dataDao.UserrolesMybatisDao;
import cn.jyjz.xiaoyao.admin.dataobject.*;
import cn.jyjz.xiaoyao.admin.service.ISFrontmenuTService;
import cn.jyjz.xiaoyao.admin.service.UserService;
import cn.jyjz.xiaoyao.admin.service.UserTenantService;
import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig;
@ -77,6 +78,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
@Resource
private UserTenantService userTenantService;
@Resource
private ISFrontmenuTService isFrontmenuTService;
/**
*
* @param loginname
@ -102,6 +107,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserMybatisDao,User> imple
user.formatDeptlist(departmentList);
user.setTenantList(this.userTenantService.listUserTenant(user.getId()));
//返回用户前端菜单权限列表
List<SFrontmenuT> frontmenuTList1 = isFrontmenuTService.queryUserMenuById(user.getLoginname());
user.setFrontmenuTList(frontmenuTList1);
return user;
}
/**

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.jyjz.xiaoyao.admin.dataDao.SFrontmenuTDao">
<resultMap id="BaseResultMap" type="cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="parentId" jdbcType="INTEGER" property="parentId" />
<result column="resKey" jdbcType="VARCHAR" property="resKey" />
<result column="resUrl" jdbcType="VARCHAR" property="resKey" />
<result column="level" jdbcType="INTEGER" property="level" />
<result column="icon" jdbcType="VARCHAR" property="icon" />
<result column="orderNum" jdbcType="INTEGER" property="orderNum" />
<result column="ishide" jdbcType="INTEGER" property="ishide" />
<result column="description" jdbcType="VARCHAR" property="description" />
</resultMap>
<sql id="Base_Column_List">
id, `name`, parentId, resKey, resUrl, `level`, icon, orderNum, ishide, description
</sql>
<select id="queryUserMenuById" resultType="cn.jyjz.xiaoyao.admin.dataobject.SFrontmenuT">
SELECT
T3.*
FROM
s_user_frontmenu_t T1
LEFT JOIN s_user_t T2 ON T1.userId = T2.ID
LEFT JOIN s_frontmenu_t T3 on T3.id = T1.menuId
WHERE
T2.LOGINNAME = #{loginname}
ORDER BY T3.orderNum asc
</select>
</mapper>

@ -1,17 +1,23 @@
package cn.jyjz.xiaoyao.ocr.controller;
import cn.hutool.core.collection.CollUtil;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureService;
import cn.jyjz.xiaoyao.ocr.util.DataUtil;
import cn.jyjz.xiaoyao.ocr.util.SearchConfigEnum;
import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@ -22,6 +28,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -86,9 +93,6 @@ public class OcrCheckDuplicateController {
}
}
//取消查重任务接口
@ApiOperation(value = "获取查重任务接口异步状态", notes = "获取查重任务接口异步状态")
@GetMapping("/getCheckDuplicateStatus")
@ResponseBody
@ -154,4 +158,27 @@ public class OcrCheckDuplicateController {
}
return ResultVoUtil.error("取消任务失败!");
}
@ApiOperation(value = "查重图片分页列表查询", notes = "根据查重任务编号,返回查重任务图片结果")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "X-Tenant-Id", value = "租户主键,用户登录时的信息“tenantList”中获得。", dataType = "String", required = true),
@ApiImplicitParam(paramType = "path", name = "checkDuplicateNo", value = "查重任务编号", dataType = "String", required = true)
})
@GetMapping(value = "/queryPageListByCheckNo")
public ResultVo<IPage<OcrPicture>> queryPageListByCheckNo(@RequestParam(name = "checkDuplicateNo") String checkDuplicateNo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
//租户主键,由前端页面传送
String tenantId = req.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
IPage<OcrPicture> pageList = ocrCheckDuplicateService.queryPageListByCheckNo(checkDuplicateNo,tenantId,pageNo,pageSize);
return ResultVoUtil.success(pageList);
}
}

@ -3,6 +3,8 @@ package cn.jyjz.xiaoyao.ocr.service;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
*
@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IOcrCheckDuplicateResultService extends IService<OcrCheckDuplicateResult> {
List<OcrCheckDuplicateResult> selectListByCheckDuplicateNo(String checkDuplicateNo, String tenantId);
}

@ -4,6 +4,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
@ -63,4 +64,6 @@ public interface IOcrCheckDuplicateService extends IService<OcrCheckDuplicate> {
* @return
*/
OcrCheckDuplicate queryByCheckDuplicateNo(String checkDuplicateNo, Long tenantId);
IPage<OcrPicture> queryPageListByCheckNo(String checkDuplicateNo, String tenantId, Integer pageNo, Integer pageSize);
}

@ -1,11 +1,18 @@
package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateMapper;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateResultMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
import cn.jyjz.xiaoyao.ocr.service.IOcrCheckDuplicateResultService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
*
@ -17,4 +24,30 @@ import org.springframework.stereotype.Service;
@Service
public class OcrCheckDuplicateResultServiceImpl extends ServiceImpl<OcrCheckDuplicateResultMapper, OcrCheckDuplicateResult> implements IOcrCheckDuplicateResultService {
@Resource
private OcrCheckDuplicateResultMapper checkDuplicateResultMapper;
@Resource
private OcrCheckDuplicateMapper ocrCheckDuplicateMapper;
@Override
public List<OcrCheckDuplicateResult> selectListByCheckDuplicateNo(String checkDuplicateNo, String tenantId) {
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("tenant_id", tenantId);
queryWrapper1.eq("check_duplicate_no", checkDuplicateNo);
OcrCheckDuplicate ocrCheckDuplicate = ocrCheckDuplicateMapper.selectOne(queryWrapper1);
if(ObjectUtil.isNull(ocrCheckDuplicate)){
return null;
}
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("check_duplicate_id", ocrCheckDuplicate.getId());
List<OcrCheckDuplicateResult> list = checkDuplicateResultMapper.selectList(queryWrapper);
return list;
}
}

@ -2,8 +2,6 @@ package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import cn.jyjz.xiaoyao.admin.dataobject.User;
import cn.jyjz.xiaoyao.admin.service.LogService;
import cn.jyjz.xiaoyao.common.base.exception.CommonExceptionCodeEnum;
import cn.jyjz.xiaoyao.common.base.exception.ServiceException;
@ -13,7 +11,6 @@ import cn.jyjz.xiaoyao.common.base.util.StringUtils;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.redis.cache.ehcache.EhCacheTask;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrCheckDuplicateMapper;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicate;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrCheckDuplicateResult;
@ -24,12 +21,10 @@ import cn.jyjz.xiaoyao.ocr.util.HashCompareUtil;
import cn.jyjz.xiaoyao.ocr.util.ImageClassUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -41,7 +36,6 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Function;
/**
* <p>
@ -395,4 +389,27 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
}
}
@Override
public IPage<OcrPicture> queryPageListByCheckNo(String checkDuplicateNo, String tenantId, Integer pageNo, Integer pageSize){
QueryWrapper<OcrPicture> queryWrapper = new QueryWrapper<>();
List<OcrCheckDuplicateResult> ocrCheckDuplicateResults = checkDuplicateResultService.selectListByCheckDuplicateNo(checkDuplicateNo, tenantId);
//调用查询参数解析方法解析为queryWrapper
List<Long> picIdList = new ArrayList<>();
if(CollUtil.isNotEmpty(ocrCheckDuplicateResults)){
for (OcrCheckDuplicateResult ocrCheckDuplicateResult : ocrCheckDuplicateResults) {
picIdList.add(ocrCheckDuplicateResult.getPictureId());
}
}
queryWrapper.in("id",picIdList);
queryWrapper.eq("tenant_id", tenantId);
//分页返回图片信息
Page<OcrPicture> page = new Page<OcrPicture>(pageNo, pageSize);
IPage<OcrPicture> pageList = pictureService.page(page, queryWrapper);
return pageList;
}
}

Loading…
Cancel
Save