Compare commits
17 Commits
8bb3c7762e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ad695f52d | |||
| b074ae45a5 | |||
| 7c22f78f6a | |||
| bcca13f396 | |||
| 4feffc1c48 | |||
| 133be8a181 | |||
| b479bf8566 | |||
| e4ca1bc13b | |||
| 032668eb3a | |||
| 4d6e4f4309 | |||
| cc85fc9614 | |||
| 71725e7bf9 | |||
| 21c1048e57 | |||
| 4939461402 | |||
| 00340fc63b | |||
|
|
3d1996219e | ||
|
|
f2cd10c73a |
@@ -8,10 +8,10 @@ LOG_PATH=${DES_PATH}/logs
|
||||
LOG_FILE=${LOG_PATH}/backend.log
|
||||
BACK_LOG=${LOG_PATH}/back/backend-info.log
|
||||
MODEL_NAME=${JAR_PATH}
|
||||
PROFILE=dev
|
||||
PROFILE=test
|
||||
|
||||
# JVM配置
|
||||
JVM_MEMORY=" -Xms2048M -Xmx2048M -XX:MaxDirectMemorySize=2048M"
|
||||
JVM_MEMORY=" -Xms2048M -Xmx2048M -XX:MaxDirectMemorySize=2048M -Dlicpath:/root/ks/license.xml"
|
||||
# 远程调试
|
||||
JVM_DEBUG=""
|
||||
# JVM_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6011"
|
||||
|
||||
@@ -16,7 +16,7 @@ ruoyi:
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
port: 9091
|
||||
port: 9096
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
@@ -225,10 +225,10 @@ ocr:
|
||||
ocr_llm_apiKey: NfzPnFRtogHlYCAh2hHIB7ra5EsrSQEM
|
||||
|
||||
cipher-security:
|
||||
socket: 39.102.146.78:11028
|
||||
path: /data/downloadmodel/certTest
|
||||
# socket: 10.98.80.223:8443
|
||||
# path: /data/downloadmodel/cert
|
||||
# socket: 39.102.146.78:11028
|
||||
# path: /data/downloadmodel/certTest
|
||||
socket: 10.98.80.223:8443
|
||||
path: /data/downloadmodel/cert
|
||||
|
||||
#nginx节点健康检查
|
||||
management:
|
||||
|
||||
336
ruoyi-admin/src/main/resources/application-test.yml
Normal file
336
ruoyi-admin/src/main/resources/application-test.yml
Normal file
@@ -0,0 +1,336 @@
|
||||
|
||||
# 项目相关配置
|
||||
ruoyi:
|
||||
# 名称
|
||||
name: RuoYi
|
||||
# 版本
|
||||
version: 3.8.8
|
||||
# 版权年份
|
||||
copyrightYear: 2024
|
||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||
profile: D:/ruoyi/uploadPath
|
||||
# 获取ip地址开关
|
||||
addressEnabled: false
|
||||
# 验证码类型 math 数字计算 char 字符验证
|
||||
captchaType: math
|
||||
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
port: 9091
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
tomcat:
|
||||
# tomcat的URI编码
|
||||
uri-encoding: UTF-8
|
||||
# 连接数满后的排队数,默认为100
|
||||
accept-count: 1000
|
||||
threads:
|
||||
# tomcat最大线程数,默认为200
|
||||
max: 800
|
||||
# Tomcat启动初始化的线程数,默认值10
|
||||
min-spare: 100
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
level:
|
||||
com.ruoyi: debug
|
||||
org.springframework: warn
|
||||
|
||||
# 用户配置
|
||||
user:
|
||||
password:
|
||||
# 密码最大错误次数
|
||||
maxRetryCount: 5
|
||||
# 密码锁定时间(默认10分钟)
|
||||
lockTime: 10
|
||||
|
||||
# Spring配置
|
||||
spring:
|
||||
# 资源信息
|
||||
messages:
|
||||
# 国际化资源文件路径
|
||||
basename: i18n/messages
|
||||
# 文件上传
|
||||
servlet:
|
||||
multipart:
|
||||
# 单个文件大小
|
||||
max-file-size: 10MB
|
||||
# 设置总上传的文件大小
|
||||
max-request-size: 20MB
|
||||
# 服务模块
|
||||
devtools:
|
||||
restart:
|
||||
# 热部署开关
|
||||
enabled: true
|
||||
datasource:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.highgo.jdbc.Driver
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:highgo://127.0.0.1:5866/highgo?useUnicode=true&characterEncoding=utf8¤tSchema=ks_db4&stringtype=unspecified
|
||||
username: sysdba
|
||||
password: ZKR2024@comzkr
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
enabled: false
|
||||
url:
|
||||
username:
|
||||
password:
|
||||
# 初始连接数
|
||||
initialSize: 10
|
||||
# 最小连接池数量
|
||||
minIdle: 30
|
||||
# 最大连接池数量
|
||||
maxActive: 50
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置连接超时时间
|
||||
connectTimeout: 30000
|
||||
# 配置网络超时时间
|
||||
socketTimeout: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
# 配置一个连接在池中最大生存的时间,单位是毫秒
|
||||
maxEvictableIdleTimeMillis: 900000
|
||||
# 配置检测连接是否有效
|
||||
validationQuery: SELECT version()
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
webStatFilter:
|
||||
enabled: true
|
||||
statViewServlet:
|
||||
enabled: true
|
||||
# 设置白名单,不填则允许所有访问
|
||||
allow:
|
||||
url-pattern: /druid/*
|
||||
# 控制台管理用户名和密码
|
||||
login-username: ruoyi
|
||||
login-password: 123456
|
||||
filter:
|
||||
stat:
|
||||
enabled: true
|
||||
# 慢SQL记录
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 1000
|
||||
merge-sql: true
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
redis:
|
||||
# 地址
|
||||
host: 127.0.0.1
|
||||
# 端口,默认为6379
|
||||
port: 5379
|
||||
# 数据库索引
|
||||
database: 5
|
||||
# 密码
|
||||
password: ZKR2024@@.com
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
lettuce:
|
||||
pool:
|
||||
# 连接池中的最小空闲连接
|
||||
min-idle: 0
|
||||
# 连接池中的最大空闲连接
|
||||
max-idle: 8
|
||||
# 连接池的最大数据库连接数
|
||||
max-active: 8
|
||||
# #连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
max-wait: -1ms
|
||||
# redis 配置
|
||||
# token配置
|
||||
token:
|
||||
# 令牌自定义标识
|
||||
header: Authorization
|
||||
# 令牌密钥
|
||||
secret: Abc123!@#Def456$%^Ghi789&*()Jkl0+-=MnoPqrStuVwxYz987$%^654@#$321!@#ZyxWvu
|
||||
# 令牌有效期(默认30分钟)
|
||||
expireTime: 30
|
||||
|
||||
## MyBatis配置
|
||||
#mybatis:
|
||||
# # 搜索指定包别名
|
||||
# typeAliasesPackage: com.ruoyi.**.domain
|
||||
# # 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||||
# mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||||
# # 加载全局的配置文件
|
||||
# configLocation: classpath:mybatis/mybatis-config.xml
|
||||
|
||||
# PageHelper分页插件
|
||||
pagehelper:
|
||||
helperDialect: oracle
|
||||
supportMethodsArguments: true
|
||||
params: count=countSql
|
||||
|
||||
# Swagger配置
|
||||
swagger:
|
||||
# 是否开启swagger
|
||||
enabled: true
|
||||
# 请求前缀
|
||||
pathMapping:
|
||||
|
||||
# 防止XSS攻击
|
||||
xss:
|
||||
# 过滤开关
|
||||
enabled: true
|
||||
# 排除链接(多个用逗号分隔)
|
||||
excludes: /system/notice
|
||||
# 匹配链接
|
||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||
|
||||
|
||||
createSqlSessionFactory:
|
||||
# 选择MyBatis配置方式,mybatis / mybatis-plus
|
||||
use: mybatis-plus
|
||||
|
||||
# MyBatis配置
|
||||
mybatis:
|
||||
# 搜索指定包别名
|
||||
typeAliasesPackage: com.ruoyi.**.domain
|
||||
# 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||||
mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||||
# 加载全局的配置文件
|
||||
configLocation: classpath:mybatis/mybatis-config.xml
|
||||
|
||||
# MyBatis Plus配置
|
||||
mybatis-plus:
|
||||
# 搜索指定包别名
|
||||
typeAliasesPackage: com.ruoyi.**.domain
|
||||
# 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||||
mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||||
# 加载全局的配置文件
|
||||
configLocation: classpath:mybatis/mybatis-config.xml
|
||||
global-config:
|
||||
db-config:
|
||||
# 标识逻辑删除的数据库字段名称
|
||||
logic-delete-field: delFlag
|
||||
# 表示已逻辑删除的值(默认也是如此)
|
||||
logic-delete-value: 2
|
||||
# 表示未逻辑删除的值(默认也是如此)
|
||||
logic-not-delete-value: 0
|
||||
|
||||
file:
|
||||
upload-dir: /data/file
|
||||
|
||||
ocr:
|
||||
ocr_url: http://127.0.0.1:9001/ocr
|
||||
ocr_mutipart: https://qd.zhaopinzao8dian.com/ocr-api/ocr
|
||||
# ocr_mutipart: http://10.98.80.141:9000/ocr
|
||||
ocr_llm_url: http://39.98.44.136:6016/inner-ai/aicoapi/gateway/v2/chatbot/api_run/1763386387_d4c07131-a047-4c0d-9623-7e3c3a45bd7e
|
||||
ocr_llm_apiKey: NfzPnFRtogHlYCAh2hHIB7ra5EsrSQEM
|
||||
|
||||
cipher-security:
|
||||
socket: 39.102.146.78:11028
|
||||
path: /data/downloadmodel/certTest
|
||||
# socket: 10.98.80.223:8443
|
||||
# path: /data/downloadmodel/cert
|
||||
|
||||
#nginx节点健康检查
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health
|
||||
|
||||
#微信小程序
|
||||
wx:
|
||||
appid: wx4aa34488b965a331
|
||||
secret: 558780ecc2750f87e556b0e5496773c9
|
||||
|
||||
|
||||
# easy-es
|
||||
easy-es:
|
||||
enable: true
|
||||
banner: false
|
||||
address: 127.0.0.1:9200
|
||||
global-config:
|
||||
process-index-mode: manual
|
||||
db-config:
|
||||
refresh-policy: immediate
|
||||
username: elastic
|
||||
password: zkr2024@@.com
|
||||
|
||||
#短信服务
|
||||
sms:
|
||||
#API密钥账号
|
||||
# secretName: kszhjyrcjt
|
||||
secretName: kszhjypthydx
|
||||
#API密钥
|
||||
# secretKey: Dwhc9c0IiHecvC5D
|
||||
secretKey: asj1gze3BhG3QtaI
|
||||
#短信模板ID
|
||||
# templateId: 37446
|
||||
templateId: 49566
|
||||
|
||||
#统一门户认证
|
||||
oauth:
|
||||
#客户端的ID
|
||||
appid: 251112100000000015
|
||||
#授权码
|
||||
clientsecretkey: 2a44cb8d21dcf4b0777881ca11ea0d83ebea94bbe1ab1f405508db0873cdcc99
|
||||
#内网
|
||||
usptnw:
|
||||
#获取访问令牌
|
||||
nwGatewayGetTokenUrl: http://10.98.80.146/uspt/serviceAPI/getToken
|
||||
#获取用户信息
|
||||
nwGatewayGetUserInfoUrl: http://10.98.80.146/uspt/serviceAPI/getUserInfo
|
||||
#外网
|
||||
usptww:
|
||||
#门户注册
|
||||
wwRegisterPostUrl: http://10.98.80.50/uspt/webWhiteListServiceAPI/doWebRegister
|
||||
#门户登录
|
||||
wwTokenPostUrl: http://10.98.80.50/uspt/webWhiteListServiceAPI/doWebLogon
|
||||
#查询用户信息
|
||||
wwQueryWebUserInfo: http://10.98.80.50/uspt/webWhiteListServiceAPI/queryWebUserInfo
|
||||
#查询个人信息
|
||||
wwQueryWebPersonalInfoPostUrl: http://10.98.80.50/uspt/webWhiteListServiceAPI/queryWebPersonalInfo
|
||||
#查询单位信息
|
||||
wwQueryWebEnterpriseInfoPostUrl: http://10.98.80.50/uspt//webWhiteListServiceAPI/queryWebEnterpriseInfo
|
||||
#用户新增接口
|
||||
tyAddUserUrl: http://10.98.80.146/qxgl_backend/security/add_user
|
||||
#获取当前用户有权系统列表
|
||||
tyQueryUserSysListUrl: http://10.98.80.146/qxgl_backend/security/get_effective_app_list
|
||||
#获取当前用户有权角色列表
|
||||
tyQueryUserRoleListUrl: http://10.98.80.146/qxgl_backend/security/get_role_by_userid
|
||||
#获取角色功能权限信息
|
||||
tyQueryRoleInfoUrl: http://10.98.80.146/qxgl_backend/security/get_path_by_role
|
||||
#获取用户详细信息
|
||||
tyQueryUserInfo: http://10.98.80.146/qxgl_backend/security/get_user_by_userid
|
||||
#获取机构详细信息
|
||||
tyQueryUnitInfo: http://10.98.80.146/qxgl_backend/security/get_organization_by_organizationid
|
||||
connect-timeout: 10
|
||||
read-timeout: 30
|
||||
write-timeout: 30
|
||||
|
||||
#浪潮
|
||||
lc:
|
||||
#获取人员标签
|
||||
personTag: http://10.98.80.146/prod-api/dispatch/public/person/tag
|
||||
|
||||
#ai
|
||||
chat:
|
||||
baseUrl: http://192.168.133.200:8080
|
||||
chatUrl: /v1/chat/completions
|
||||
chatDetailUrl: /core/chat/getPaginationRecords
|
||||
chatHistoryUrl: /core/chat/getHistories
|
||||
updateNameUrl: /core/chat/updateHistory
|
||||
stickChatUrl: /core/chat/updateHistory
|
||||
delChatUrl: /core/chat/delHistory
|
||||
delAllChatUrl: /core/chat/clearHistories
|
||||
guestUrl: /v1/chat/completions
|
||||
praiseUrl: /core/chat/feedback/updateUserFeedback
|
||||
appId: 67cd49095e947ae0ca7fadd8
|
||||
apiKey: fastgpt-qMl63276wPZvKAxEkW77bur0sSJpmuC6Ngg9lzyEjufLhsBAurjT55j
|
||||
model: qd-job-turbo
|
||||
|
||||
audioText:
|
||||
asr: http://192.168.133.200:8000/asr/file
|
||||
#tts: http://192.168.133.200:19527/synthesize
|
||||
tts: http://10.98.76.104:19528/synthesize
|
||||
@@ -1,17 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<!-- 日志存放路径 -->
|
||||
<property name="log.path" value="/home/lapuda/logs" />
|
||||
<!-- 日志输出格式 -->
|
||||
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
|
||||
<property name="log.path" value="./logs"/>
|
||||
<property name="my.ip" value="${MY_IP:-127.0.0.1}"/>
|
||||
<property name="console.log.pattern"
|
||||
value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %msg%n"/>
|
||||
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
<pattern>${console.log.pattern}</pattern>
|
||||
<charset>utf-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/sys-console.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- 日志文件名格式 -->
|
||||
<fileNamePattern>${log.path}/sys-console.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<!-- 日志最大 15 -->
|
||||
<maxHistory>14</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
<charset>utf-8</charset>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<!-- 过滤的级别 -->
|
||||
<level>DEBUG</level>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- 系统日志输出 -->
|
||||
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/sys-info.log</file>
|
||||
@@ -19,8 +40,8 @@
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- 日志文件名格式 -->
|
||||
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<!-- 日志最大的历史 60天 -->
|
||||
<maxHistory>60</maxHistory>
|
||||
<!-- 日志最大的历史 15天 -->
|
||||
<maxHistory>15</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
@@ -57,37 +78,32 @@
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- 用户访问日志输出 -->
|
||||
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/sys-user.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- 按天回滚 daily -->
|
||||
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<!-- 日志最大的历史 60天 -->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
</encoder>
|
||||
<!-- info异步输出 -->
|
||||
<appender name="async_info" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
|
||||
<discardingThreshold>0</discardingThreshold>
|
||||
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
|
||||
<queueSize>512</queueSize>
|
||||
<!-- 添加附加的appender,最多只能添加一个 -->
|
||||
<appender-ref ref="file_info"/>
|
||||
</appender>
|
||||
|
||||
<!-- 系统模块日志级别控制 -->
|
||||
<logger name="com.ruoyi" level="info" />
|
||||
<!-- Spring日志级别控制 -->
|
||||
<logger name="org.springframework" level="warn" />
|
||||
|
||||
<root level="info">
|
||||
<appender-ref ref="console" />
|
||||
</root>
|
||||
<!-- error异步输出 -->
|
||||
<appender name="async_error" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
|
||||
<discardingThreshold>0</discardingThreshold>
|
||||
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
|
||||
<queueSize>512</queueSize>
|
||||
<!-- 添加附加的appender,最多只能添加一个 -->
|
||||
<appender-ref ref="file_error"/>
|
||||
</appender>
|
||||
|
||||
<!--系统操作日志-->
|
||||
<root level="info">
|
||||
<appender-ref ref="file_info" />
|
||||
<appender-ref ref="file_error" />
|
||||
<appender-ref ref="console"/>
|
||||
<appender-ref ref="async_info"/>
|
||||
<appender-ref ref="async_error"/>
|
||||
<appender-ref ref="file_console"/>
|
||||
</root>
|
||||
|
||||
<!--系统用户操作日志-->
|
||||
<logger name="sys-user" level="info">
|
||||
<appender-ref ref="sys-user"/>
|
||||
</logger>
|
||||
</configuration>
|
||||
@@ -88,6 +88,9 @@ public class CmsJobController extends BaseController
|
||||
{
|
||||
if (RoleUtils.isCompanyAdmin()) {
|
||||
Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard());
|
||||
if(company==null){
|
||||
return getDataTable(new ArrayList<>());
|
||||
}
|
||||
job.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null);
|
||||
}
|
||||
startPage();
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -54,6 +55,9 @@ public class CompanyController extends BaseController
|
||||
{
|
||||
if (RoleUtils.isCompanyAdmin()) {
|
||||
System.out.println("企业社会信用代码============================="+RoleUtils.getCurrentUseridCard());
|
||||
if(company==null){
|
||||
return getDataTable(new ArrayList<>());
|
||||
}
|
||||
company.setCode(RoleUtils.getCurrentUseridCard());
|
||||
}
|
||||
startPage();
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.InterviewInvite;
|
||||
import com.ruoyi.cms.service.InterviewInviteService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 面试邀约Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/interviewInvite")
|
||||
@Api(tags = "后台:面试邀约")
|
||||
public class InterviewInviteController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private InterviewInviteService interviewInviteService;
|
||||
|
||||
/**
|
||||
* 查询面试邀约列表(分页)
|
||||
*/
|
||||
@ApiOperation("查询面试邀约列表")
|
||||
@PreAuthorize("@ss.hasPermi('cms:interviewInvite:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(InterviewInvite interviewInvite)
|
||||
{
|
||||
startPage();
|
||||
List<InterviewInvite> list = interviewInviteService.selectInterviewInviteList(interviewInvite);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取面试邀约详情
|
||||
*/
|
||||
@ApiOperation("获取面试邀约详情")
|
||||
@PreAuthorize("@ss.hasPermi('cms:interviewInvite:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return AjaxResult.success(interviewInviteService.selectInterviewInviteById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增面试邀约(弹窗保存接口)
|
||||
*/
|
||||
@ApiOperation("新增面试邀约")
|
||||
@PreAuthorize("@ss.hasPermi('cms:interviewInvite:add')")
|
||||
@Log(title = "面试邀约", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody InterviewInvite interviewInvite)
|
||||
{
|
||||
return toAjax(interviewInviteService.insertInterviewInvite(interviewInvite));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改面试邀约
|
||||
*/
|
||||
@ApiOperation("修改面试邀约")
|
||||
@PreAuthorize("@ss.hasPermi('cms:interviewInvite:edit')")
|
||||
@Log(title = "面试邀约", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody InterviewInvite interviewInvite)
|
||||
{
|
||||
return toAjax(interviewInviteService.updateInterviewInvite(interviewInvite));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除面试邀约(逻辑删除)
|
||||
*/
|
||||
@ApiOperation("面试邀约删除")
|
||||
@PreAuthorize("@ss.hasPermi('cms:interviewInvite:remove')")
|
||||
@Log(title = "面试邀约", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
return toAjax(interviewInviteService.deleteInterviewInviteByIds(ids));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("面试邀约")
|
||||
@TableName(value = "interview_invite")
|
||||
public class InterviewInvite extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID bigint自增 */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 岗位申请ID 关联job_apply */
|
||||
@Excel(name = "投递记录ID")
|
||||
private Long jobApplyId;
|
||||
|
||||
/** 面试时间 */
|
||||
@Excel(name = "面试时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date interviewTime;
|
||||
|
||||
/** 面试方式 1线上 2线下 */
|
||||
@Excel(name = "面试方式", readConverterExp = "1=线上,2=线下")
|
||||
private Integer interviewType;
|
||||
|
||||
/** 会议链接/线下手机号 */
|
||||
@Excel(name = "联系方式/会议链接")
|
||||
private String contactInfo;
|
||||
|
||||
/** 邀约状态:1待发送 2已发送 3候选人确认 4候选人拒绝 5面试完成 */
|
||||
@Excel(name = "邀约状态", readConverterExp = "1=待发送,2=已发送,3=候选人确认,4=候选人拒绝,5=面试完成")
|
||||
private Integer inviteStatus;
|
||||
|
||||
/** 面试轮次 1一面 2二面 3复试 */
|
||||
@Excel(name = "面试轮次")
|
||||
private Integer interviewRound;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.InterviewInvite;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 面试邀约Mapper
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface InterviewInviteMapper extends BaseMapper<InterviewInvite>
|
||||
{
|
||||
/**
|
||||
* 查询面试邀约列表
|
||||
* @param interviewInvite 查询条件
|
||||
* @return 集合
|
||||
*/
|
||||
List<InterviewInvite> selectInterviewInviteList(@Param("entity") InterviewInvite interviewInvite);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cms.domain.InterviewInvite;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 面试邀约Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface InterviewInviteService extends IService<InterviewInvite>
|
||||
{
|
||||
/**
|
||||
* 查询面试邀约
|
||||
* @param id 主键
|
||||
* @return 实体
|
||||
*/
|
||||
InterviewInvite selectInterviewInviteById(Long id);
|
||||
|
||||
/**
|
||||
* 查询面试邀约列表
|
||||
* @param interviewInvite 条件
|
||||
* @return 集合
|
||||
*/
|
||||
List<InterviewInvite> selectInterviewInviteList(InterviewInvite interviewInvite);
|
||||
|
||||
/**
|
||||
* 新增面试邀约
|
||||
* @param interviewInvite 实体
|
||||
* @return 行数
|
||||
*/
|
||||
int insertInterviewInvite(InterviewInvite interviewInvite);
|
||||
|
||||
/**
|
||||
* 修改面试邀约
|
||||
* @param interviewInvite 实体
|
||||
* @return 行数
|
||||
*/
|
||||
int updateInterviewInvite(InterviewInvite interviewInvite);
|
||||
|
||||
/**
|
||||
* 批量逻辑删除面试邀约
|
||||
* @param ids 主键数组
|
||||
* @return 行数
|
||||
*/
|
||||
int deleteInterviewInviteByIds(Long[] ids);
|
||||
}
|
||||
@@ -491,12 +491,31 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
private LambdaEsQueryWrapper<ESJobDocument> getWrapper(ESJobSearch esJobSearch,List<Long> jobIds){
|
||||
|
||||
LambdaEsQueryWrapper<ESJobDocument> wrapper = new LambdaEsQueryWrapper<>();
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getJobTitle())){
|
||||
/*if(!StringUtil.isEmptyOrNull(esJobSearch.getJobTitle())){
|
||||
for (String keyWord:esJobSearch.getJobTitle().split(",")) {
|
||||
wrapper.and(a -> a.match(ESJobDocument::getJobTitle, keyWord, 5.0f)
|
||||
wrapper.or(a -> a.match(ESJobDocument::getJobTitle, keyWord, 5.0f)
|
||||
);
|
||||
}
|
||||
|
||||
}*/
|
||||
//优化岗位名称查询,只有命中岗位名称或者分类就行
|
||||
String titleStr = esJobSearch.getJobTitle();
|
||||
String cateStr = esJobSearch.getJobCategory();
|
||||
boolean hasTitle = !StringUtil.isEmptyOrNull(titleStr);
|
||||
boolean hasCate = !StringUtil.isEmptyOrNull(cateStr);
|
||||
if (hasTitle || hasCate) {
|
||||
wrapper.and(sub -> {
|
||||
if (hasTitle) {
|
||||
String[] words = titleStr.split(",");
|
||||
for (String w : words) {
|
||||
if (!StringUtil.isEmptyOrNull(w)) {
|
||||
sub.or().match(ESJobDocument::getJobTitle, w, 5.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (hasCate) {
|
||||
sub.or().eq(ESJobDocument::getJobCategory, cateStr);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(esJobSearch.getLongitude()!=null){
|
||||
@@ -509,10 +528,10 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
wrapper.and(x->x.in(ESJobDocument::getEducation,integers));
|
||||
}
|
||||
if(Objects.nonNull(esJobSearch.getMaxSalary())){
|
||||
wrapper.and(x->x.le(ESJobDocument::getMaxSalary,esJobSearch.getMaxSalary()));
|
||||
wrapper.and(x->x.le(ESJobDocument::getMinSalary,esJobSearch.getMaxSalary()));
|
||||
}
|
||||
if(Objects.nonNull(esJobSearch.getMinSalary())){
|
||||
wrapper.and(x->x.ge(ESJobDocument::getMinSalary,esJobSearch.getMinSalary()));
|
||||
wrapper.and(x->x.ge(ESJobDocument::getMaxSalary,esJobSearch.getMinSalary()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getExperience())){
|
||||
//Integer maxValue = StringUtil.findMaxValue(esJobSearch.getExperience());
|
||||
@@ -520,13 +539,13 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
List<Integer> integers = StringUtil.convertStringToIntegerList(esJobSearch.getExperience());
|
||||
wrapper.and(x->x.in(ESJobDocument::getExperience_int,integers));//精准查询
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getJobCategory())){
|
||||
/*if(!StringUtil.isEmptyOrNull(esJobSearch.getJobCategory())){
|
||||
//wrapper.and(x->x.eq(ESJobDocument::getJobCategory,esJobSearch.getJobCategory()));
|
||||
String targetValue = esJobSearch.getJobCategory();
|
||||
wrapper.and(x -> x.like(ESJobDocument::getJobCategory, targetValue)
|
||||
.or()
|
||||
.like(ESJobDocument::getJobTitle, targetValue));
|
||||
}
|
||||
}*/
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getScale())){
|
||||
//Integer maxValue = StringUtil.findMaxValue(esJobSearch.getScale());
|
||||
//wrapper.and(x->x.le(ESJobDocument::getScale,maxValue));
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cms.domain.InterviewInvite;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.Notice;
|
||||
import com.ruoyi.cms.mapper.InterviewInviteMapper;
|
||||
import com.ruoyi.cms.mapper.JobApplyMapper;
|
||||
import com.ruoyi.cms.mapper.JobMapper;
|
||||
import com.ruoyi.cms.mapper.NoticeMapper;
|
||||
import com.ruoyi.cms.service.InterviewInviteService;
|
||||
import com.ruoyi.cms.util.notice.NoticeUtils;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 面试邀约业务层实现
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
public class InterviewInviteServiceImpl extends ServiceImpl<InterviewInviteMapper, InterviewInvite>
|
||||
implements InterviewInviteService
|
||||
{
|
||||
|
||||
@Autowired
|
||||
private InterviewInviteMapper interviewInviteMapper;
|
||||
@Autowired
|
||||
private NoticeMapper noticeMapper;
|
||||
@Autowired
|
||||
private JobApplyMapper jobApplyMapper;
|
||||
@Autowired
|
||||
private JobMapper jobMapper;
|
||||
|
||||
@Override
|
||||
public InterviewInvite selectInterviewInviteById(Long id)
|
||||
{
|
||||
return interviewInviteMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InterviewInvite> selectInterviewInviteList(InterviewInvite interviewInvite)
|
||||
{
|
||||
return interviewInviteMapper.selectInterviewInviteList(interviewInvite);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertInterviewInvite(InterviewInvite interviewInvite)
|
||||
{
|
||||
int i=interviewInviteMapper.insert(interviewInvite);
|
||||
createNotice(interviewInvite);
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateInterviewInvite(InterviewInvite interviewInvite)
|
||||
{
|
||||
createNotice(interviewInvite);
|
||||
return interviewInviteMapper.updateById(interviewInvite);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int deleteInterviewInviteByIds(Long[] ids)
|
||||
{
|
||||
List<Long> upIds=Arrays.asList(ids);
|
||||
int i=interviewInviteMapper.deleteBatchIds(upIds);
|
||||
//删除通知
|
||||
noticeMapper.update(null, Wrappers.<Notice>lambdaUpdate()
|
||||
.in(Notice::getBussinessId, upIds)
|
||||
.set(Notice::getDelFlag, Constants.Del_FLAG_DELETE));
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存通知信息
|
||||
* @param interviewInvite
|
||||
*/
|
||||
public void createNotice(InterviewInvite interviewInvite){
|
||||
JobApply jobApply=jobApplyMapper.selectById(interviewInvite.getJobApplyId());
|
||||
Job job=jobMapper.selectById(jobApply.getJobId());
|
||||
Notice notice = new Notice();
|
||||
notice.setUserId(jobApply.getUserId());
|
||||
notice.setBussinessId(interviewInvite.getId());
|
||||
notice.setIsRead(NoticeUtils.NOTICE_WD);
|
||||
notice.setTitle(NoticeUtils.NOTICE_TYPE_MS);
|
||||
notice.setSubTitle(NoticeUtils.NOTICE_TYPE_MS);
|
||||
notice.setNoticeType(NoticeUtils.NOTICE_TYPE_XTLX);
|
||||
notice.setRemark(NoticeUtils.NOTICE_REMARK);
|
||||
String content = NoticeUtils.mstzMsg(job.getCompanyName(), job.getJobTitle(),interviewInvite.getInterviewType(),interviewInvite.getContactInfo());
|
||||
notice.setNoticeContent(content);
|
||||
noticeMapper.insert(notice);
|
||||
}
|
||||
}
|
||||
@@ -354,13 +354,31 @@ public class JobCollectionServiceImpl extends ServiceImpl<JobCollectionMapper,Jo
|
||||
}
|
||||
//判断薪资
|
||||
Integer userMinSalary = parseSalary(user.getSalaryMin());
|
||||
if (userMinSalary != null && userMinSalary <= job.getMaxSalary()) {
|
||||
Long jobMinSalary = job.getMinSalary();
|
||||
Long jobMaxSalary = job.getMaxSalary();
|
||||
if (userMinSalary != null) {
|
||||
if (jobMinSalary == null && jobMaxSalary == null) {
|
||||
matchScore += 1.0;
|
||||
} else if (!(jobMaxSalary != null && userMinSalary > jobMaxSalary)) {
|
||||
if (jobMinSalary == null) {
|
||||
matchScore += 1.0;
|
||||
} else {
|
||||
double salaryThreshold = jobMinSalary * 0.8;
|
||||
if (userMinSalary >= jobMinSalary) {
|
||||
matchScore += 1.0;
|
||||
} else if (userMinSalary >= salaryThreshold) {
|
||||
matchScore += 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*if (userMinSalary != null && userMinSalary <= job.getMaxSalary()) {
|
||||
if (userMinSalary >= job.getMinSalary()) {
|
||||
matchScore += 1;
|
||||
} else if (userMinSalary >= job.getMinSalary() * 0.8) {
|
||||
matchScore += 0.5;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//判断区域
|
||||
if (user.getArea() != null && job.getJobLocationAreaCode() != null) {
|
||||
//if(user.getArea().contains(job.getJobLocation()) || job.getJobLocation().contains(user.getArea())){
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class NoticeUtils {
|
||||
/**
|
||||
@@ -34,6 +35,17 @@ public class NoticeUtils {
|
||||
|
||||
public static final String NOTICE_TYPE_SXLX="2";
|
||||
|
||||
/*************面试start*************/
|
||||
public static final String NOTICE_TYPE_MS="面试通知";
|
||||
|
||||
public static final String NOTICE_COMENT_MS="诚挚邀请您参加【";
|
||||
|
||||
public static final String INTERVIEW_NOTICE_TPL = "%s%s%s";
|
||||
|
||||
public static final Integer INTERVIEW_TYPE_ONLINE = 1;//线上
|
||||
|
||||
/*************面试end*************/
|
||||
|
||||
/**
|
||||
* 拼装岗位
|
||||
*/
|
||||
@@ -102,4 +114,23 @@ public class NoticeUtils {
|
||||
});
|
||||
return add;
|
||||
}
|
||||
|
||||
/**
|
||||
* 面试通知
|
||||
* @param companyName
|
||||
* @param jobName
|
||||
* @return
|
||||
*/
|
||||
public static String mstzMsg(String companyName,String jobName,Integer lx,String message){
|
||||
String compName = Optional.ofNullable(companyName).orElse("");
|
||||
String jbName = Optional.ofNullable(jobName).orElse("");
|
||||
String msgExtra = Optional.ofNullable(message).orElse("");
|
||||
String typeText = INTERVIEW_TYPE_ONLINE.equals(lx) ? "线上面试" : "线下面试";
|
||||
|
||||
return String.format(INTERVIEW_NOTICE_TPL,
|
||||
compName+",",
|
||||
NoticeUtils.NOTICE_COMENT_MS,
|
||||
jbName +NoticeUtils.NOTICE_COMENT_FF + typeText +","+ msgExtra
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<?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="com.ruoyi.cms.mapper.InterviewInviteMapper">
|
||||
|
||||
<resultMap type="interviewInvite" id="interviewInviteResult">
|
||||
<id column="id" property="id"/>
|
||||
<result column="job_apply_id" property="jobApplyId"/>
|
||||
<result column="interview_time" property="interviewTime"/>
|
||||
<result column="interview_type" property="interviewType"/>
|
||||
<result column="contact_info" property="contactInfo"/>
|
||||
<result column="invite_status" property="inviteStatus"/>
|
||||
<result column="interview_round" property="interviewRound"/>
|
||||
<result column="del_flag" property="delFlag"/>
|
||||
<result column="create_by" property="createBy"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_by" property="updateBy"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="remark" property="remark"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInterviewInviteVo">
|
||||
select id, job_apply_id, interview_time, interview_type, contact_info,
|
||||
invite_status, interview_round, del_flag, create_by, create_time,
|
||||
update_by, update_time, remark
|
||||
from interview_invite
|
||||
</sql>
|
||||
|
||||
<select id="selectInterviewInviteList" resultMap="interviewInviteResult">
|
||||
<include refid="selectInterviewInviteVo"/>
|
||||
where del_flag = '0'
|
||||
<if test="entity.jobApplyId != null">
|
||||
and job_apply_id = #{entity.jobApplyId}
|
||||
</if>
|
||||
<if test="entity.interviewType != null">
|
||||
and interview_type = #{entity.interviewType}
|
||||
</if>
|
||||
<if test="entity.inviteStatus != null">
|
||||
and invite_status = #{entity.inviteStatus}
|
||||
</if>
|
||||
<if test="entity.interviewRound != null">
|
||||
and interview_round = #{entity.interviewRound}
|
||||
</if>
|
||||
<if test="entity.contactInfo != null and entity.contactInfo != ''">
|
||||
and contact_info like '%' || #{entity.contactInfo} || '%'
|
||||
</if>
|
||||
order by interview_time desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -294,6 +294,7 @@ public class OauthLoginHlwService {
|
||||
String code="";
|
||||
String localUsername;
|
||||
SysUser sysUser=new SysUser();
|
||||
String userType=StringUtil.IS_COMPANY_USER;
|
||||
switch (wwTyInfo.getUsertype()){
|
||||
case "1":
|
||||
sysUser.setNickName(wwTyInfo.getName());
|
||||
@@ -306,6 +307,7 @@ public class OauthLoginHlwService {
|
||||
appUserParm.setIsCompanyUser(StringUtil.IS_JOB_REQUEST_USER);
|
||||
code=wwTyInfo.getIdno();
|
||||
localUsername=StringUtil.USER_KEY+QuickValidUtils.getSm4Encrypt(code);
|
||||
userType=StringUtil.IS_JOB_REQUEST_USER;
|
||||
break;
|
||||
default:
|
||||
sysUser.setNickName(wwTyInfo.getEnterprisename());
|
||||
@@ -330,7 +332,7 @@ public class OauthLoginHlwService {
|
||||
sysUser.setPhonenumber(wwTyInfo.getPhone());
|
||||
sysUserService.updateUser(sysUser);
|
||||
//插入app_user
|
||||
AppUser appUser=appUserService.selectAppuserByIdcard(code);
|
||||
AppUser appUser=appUserService.selectAppuserByIdcard(code,userType);
|
||||
if(appUser!=null){
|
||||
appUserParm.setUserId(appUser.getUserId());
|
||||
appUserService.updateAppUser(appUserParm);
|
||||
|
||||
Reference in New Issue
Block a user