Compare commits
103 Commits
d144992bb0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c7331427a | |||
| 1ed62647de | |||
| ef44b1a19b | |||
| d4683f1299 | |||
| 115f47118f | |||
| 802ea1fe76 | |||
| f65ca791b5 | |||
| d21a9cf882 | |||
| 8b3b7f63f9 | |||
| 9b9e80dc62 | |||
| 7752c74063 | |||
| f4730c60fb | |||
| d57ce9e3fc | |||
| 8988c52594 | |||
| ba3e66a3c4 | |||
| aa55276a81 | |||
| 8c5ec3e0b3 | |||
| c795e63e96 | |||
| 9281eb700b | |||
| 8cf753ad54 | |||
| 65487c073f | |||
| 4c28d07bc3 | |||
| a6d43c0bca | |||
| 070239d1d5 | |||
| 6680622a85 | |||
| 0eee50be78 | |||
| 2616b60283 | |||
| be0b432140 | |||
| fca00d41a2 | |||
| b4da3c25a5 | |||
| b7686c31b1 | |||
| a6b5c06e63 | |||
| 44ec48c49d | |||
| e56a8a285d | |||
| 418c22d78d | |||
| d5473d922c | |||
| c0aa835d19 | |||
| dcc96bf689 | |||
| a4cc7d8dbb | |||
| 7defcb6158 | |||
| 47351f41eb | |||
| da48a9c33a | |||
| ac2d427a71 | |||
| 7994112283 | |||
| 2502d9726b | |||
| 5e1012a3fb | |||
| 64e991155d | |||
| 32424bc404 | |||
| fcb421f97d | |||
| 1181ef0b1c | |||
| 5a6cfd695b | |||
| e3975f557e | |||
| 1ddb62166a | |||
| 98f9182d43 | |||
| d843197e5b | |||
| 60a9445e6f | |||
| 86b28f0071 | |||
| 73d8bdd402 | |||
| 7ee0b08b0d | |||
| db413c57aa | |||
| 0076eeeb48 | |||
| 2f28aa9c4d | |||
| 27746bd727 | |||
| 439b2b65af | |||
| 9df9b42d20 | |||
| 6d6439fbd9 | |||
| 2ec8ab942a | |||
| 131d6dd84f | |||
| cb133254b6 | |||
| eb99236124 | |||
| 97fd823178 | |||
| 3f4558ba51 | |||
| 10cf0369c4 | |||
| 22ffa7db9c | |||
| 70360355a6 | |||
| 195828d706 | |||
| 39a5c380dd | |||
| f8a2ab99e3 | |||
| c934e29ad1 | |||
| e8d18b1fe6 | |||
| bdc8a31b61 | |||
| cd35b9a4dc | |||
| 09b0a350c8 | |||
| fce0d2aa94 | |||
| 50ed24fa65 | |||
| b0f78c0eb6 | |||
| 2092de62f1 | |||
| 16864079e9 | |||
| ecf5dd2c24 | |||
| 92e544d5c4 | |||
| 5fccf7c864 | |||
| 2a064ad812 | |||
| ed00d6202d | |||
| 3b42f1ac0f | |||
| 6588d1115e | |||
| be1004c9ab | |||
| bb3bc5b701 | |||
| 14bbeead60 | |||
| 85d6b57314 | |||
| 230c430284 | |||
| c58f57ff17 | |||
| 312a04a42b | |||
| c85805c336 |
@@ -7,11 +7,11 @@ JAR_PATH=${DES_PATH}/ruoyi-admin/target/ruoyi-admin.jar
|
||||
LOG_PATH=${DES_PATH}/logs
|
||||
LOG_FILE=${LOG_PATH}/backend.log
|
||||
BACK_LOG=${LOG_PATH}/back/backend-info.log
|
||||
MODEL_NAME=backend
|
||||
MODEL_NAME=${JAR_PATH}
|
||||
PROFILE=dev
|
||||
|
||||
# JVM配置
|
||||
JVM_MEMORY=" -Xms256M -Xmx256M -XX:MaxDirectMemorySize=256M"
|
||||
JVM_MEMORY=" -Xms2048M -Xmx2048M -XX:MaxDirectMemorySize=2048M"
|
||||
# 远程调试
|
||||
JVM_DEBUG=""
|
||||
# JVM_DEBUG=" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6011"
|
||||
@@ -32,37 +32,77 @@ __red() {
|
||||
}
|
||||
|
||||
__kill() {
|
||||
local process_name=$1
|
||||
PID=$(ps -ef | grep "${process_name}.jar" | grep -v grep | awk '{print $2}' | xargs)
|
||||
local jar_path="$1"
|
||||
local sleep_seconds=10
|
||||
local cur_sleep_second=1
|
||||
local pids=()
|
||||
|
||||
if [[ -z "$PID" ]]; then
|
||||
__green "进程 ${process_name} 未运行"
|
||||
# 使用临时文件或直接遍历 jps 输出(避免进程替换)
|
||||
jps -l 2>/dev/null | while read -r pid main_class; do
|
||||
if [ "$main_class" = "$jar_path" ]; then
|
||||
echo "$pid"
|
||||
fi
|
||||
done > /tmp/ruoyi_pids.$$
|
||||
|
||||
# 读取匹配的 PID 到数组(在当前 shell 中)
|
||||
while IFS= read -r pid; do
|
||||
[ -n "$pid" ] && pids+=("$pid")
|
||||
done < /tmp/ruoyi_pids.$$
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/ruoyi_pids.$$
|
||||
|
||||
if [ ${#pids[@]} -eq 0 ]; then
|
||||
__green "未找到运行中的进程: $jar_path"
|
||||
return 0
|
||||
fi
|
||||
|
||||
while [[ -n "$PID" && "$sleep_seconds" -ge "$cur_sleep_second" ]]; do
|
||||
__green "尝试kill PID: ${PID}"
|
||||
__green "找到 ${#pids[@]} 个匹配进程: ${pids[*]}"
|
||||
|
||||
if [ "$sleep_seconds" -eq "$cur_sleep_second" ]; then
|
||||
__red "强制关闭: ${cur_sleep_second}"
|
||||
kill -9 $PID >> /dev/null 2>&1
|
||||
else
|
||||
kill $PID >> /dev/null 2>&1
|
||||
fi
|
||||
|
||||
__green "停止程序计时: ${cur_sleep_second}秒"
|
||||
sleep 1
|
||||
cur_sleep_second="$(_math "$cur_sleep_second" + 1)"
|
||||
PID=$(ps -ef | grep "${process_name}.jar" | grep -v grep | awk '{print $2}' | xargs)
|
||||
# 发送 SIGTERM
|
||||
for pid in "${pids[@]}"; do
|
||||
__green "发送 SIGTERM 到 PID: $pid"
|
||||
kill "$pid" >/dev/null 2>&1
|
||||
done
|
||||
|
||||
if [[ -n "$PID" ]]; then
|
||||
__red "无法停止进程 ${process_name}, PID: ${PID}"
|
||||
# 等待退出
|
||||
while [ $cur_sleep_second -le $sleep_seconds ]; do
|
||||
remaining=()
|
||||
for pid in "${pids[@]}"; do
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
remaining+=("$pid")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#remaining[@]} -eq 0 ]; then
|
||||
__green "所有进程已成功停止"
|
||||
return 0
|
||||
fi
|
||||
|
||||
__green "等待进程退出... (${cur_sleep_second}/${sleep_seconds} 秒)"
|
||||
sleep 1
|
||||
cur_sleep_second=$((cur_sleep_second + 1))
|
||||
done
|
||||
|
||||
# 强制 kill -9
|
||||
__red "优雅关闭超时,强制终止剩余进程: ${remaining[*]}"
|
||||
for pid in "${remaining[@]}"; do
|
||||
kill -9 "$pid" 2>/dev/null
|
||||
done
|
||||
|
||||
# 检查是否还有存活
|
||||
still_alive=()
|
||||
for pid in "${remaining[@]}"; do
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
still_alive+=("$pid")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#still_alive[@]} -gt 0 ]; then
|
||||
__red "无法终止进程: ${still_alive[*]}"
|
||||
return 1
|
||||
else
|
||||
__green "进程 ${process_name} 已成功停止"
|
||||
__green "所有进程已强制终止"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -2,11 +2,12 @@ package com.ruoyi.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.ruoyi.common.annotation.BussinessLog;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.SysMenu;
|
||||
@@ -59,6 +60,15 @@ public class SysLoginController
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
@PostMapping("/app/appLogin")
|
||||
public AjaxResult appLogin(@RequestBody LoginBody loginBody)
|
||||
{
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax=loginService.appLogin(loginBody);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
*
|
||||
@@ -91,4 +101,27 @@ public class SysLoginController
|
||||
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
|
||||
return AjaxResult.success(menuService.buildMenus(menus));
|
||||
}
|
||||
@GetMapping("/sso/callback")
|
||||
public String ssoCallback(@RequestParam("ticket") String ticket) {
|
||||
String frontendIndexUrl = "http://domain.com";
|
||||
|
||||
String ruoyiJwtToken = loginService.loginOss(ticket);
|
||||
|
||||
String redirectUrl = frontendIndexUrl + "/index?token=" + ruoyiJwtToken;
|
||||
|
||||
// 返回 "redirect:" 即可触发 302 重定向
|
||||
return "redirect:" + redirectUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存简历-重新返回token
|
||||
*/
|
||||
@ApiOperation("保存注册信息")
|
||||
@PostMapping("/registerUser")
|
||||
@BussinessLog(title = "保存简历")
|
||||
public AjaxResult registerUser(@RequestBody RegisterBody registerBody)
|
||||
{
|
||||
String token=loginService.registerAppUser(registerBody);
|
||||
return AjaxResult.success().put("token",token);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -33,6 +35,8 @@ public class SysOssController extends BaseController
|
||||
@PostMapping("/upload")
|
||||
public AjaxResult upload(@RequestParam("file") MultipartFile file) throws Exception
|
||||
{
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String formattedDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
if (file.isEmpty())
|
||||
{
|
||||
throw new OssException("上传文件不能为空");
|
||||
@@ -48,7 +52,7 @@ public class SysOssController extends BaseController
|
||||
ossEntity.setFileSuffix(suffix);
|
||||
ossEntity.setCreateBy(SecurityUtils.getUsername());
|
||||
ossEntity.setFileName(fileName);
|
||||
ossEntity.setCreateTime(new Date());
|
||||
ossEntity.setCreateTime(formattedDate);
|
||||
ossEntity.setService(storage.getService());
|
||||
return toAjax(sysOssService.save(ossEntity)).put("url", ossEntity.getUrl()).put("fileName",ossEntity.getFileName());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,8 @@ import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -56,6 +57,8 @@ public class SysUserController extends BaseController
|
||||
@Autowired
|
||||
private ISysPostService postService;
|
||||
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
/**
|
||||
* 获取用户列表
|
||||
*/
|
||||
@@ -256,4 +259,34 @@ public class SysUserController extends BaseController
|
||||
{
|
||||
return success(deptService.selectDeptTreeList(dept));
|
||||
}
|
||||
|
||||
@ApiOperation("企业资质审核")
|
||||
@PreAuthorize("@ss.hasPermi('app:company:approval:list')")
|
||||
@PostMapping("/approval")
|
||||
public AjaxResult approval(@RequestBody Company company)
|
||||
{
|
||||
Company company1 = companyService.approval(company);
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setNickName(company1.getContactPerson());
|
||||
sysUser.setDeptId(101L);
|
||||
String contactPersonPhone = company1.getContactPersonPhone();
|
||||
if(StringUtils.isNotEmpty(contactPersonPhone)){
|
||||
String lastSixDigits = contactPersonPhone.substring(contactPersonPhone.length() - 6);
|
||||
sysUser.setPassword(lastSixDigits);
|
||||
sysUser.setUserName(company1.getContactPersonPhone());
|
||||
sysUser.setPhonenumber(company1.getContactPersonPhone());
|
||||
sysUser.setNickName(company1.getContactPersonPhone());
|
||||
}else{
|
||||
sysUser.setPassword("123456");
|
||||
sysUser.setUserName(company1.getName());
|
||||
sysUser.setNickName(company1.getName());
|
||||
}
|
||||
sysUser.setPhonenumber(getUsername());
|
||||
Long[] postIds = {1L};
|
||||
Long[] roleIds = {100L};
|
||||
sysUser.setPostIds(postIds);
|
||||
sysUser.setRoleIds(roleIds);
|
||||
userService.insertUser(sysUser);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ spring:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:highgo://127.0.0.1:5866/highgo?useUnicode=true&characterEncoding=utf8¤tSchema=ks_db4&stringtype=unspecified
|
||||
#username: syssso
|
||||
username: sysdba
|
||||
password: ZKR2024@com
|
||||
password: ZKR2024@comzkr
|
||||
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
@@ -90,3 +92,5 @@ easy-es:
|
||||
process-index-mode: manual
|
||||
db-config:
|
||||
refresh-policy: immediate
|
||||
username: elastic
|
||||
password: zkr2024@@.com
|
||||
@@ -8,7 +8,7 @@ spring:
|
||||
master:
|
||||
url: jdbc:highgo://124.243.245.42:5866/highgo?useUnicode=true&characterEncoding=utf8¤tSchema=ks_db4&stringtype=unspecified
|
||||
username: sysdba
|
||||
password: ZKR2024@com
|
||||
password: ZKR2024@comzkr
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
@@ -59,12 +59,35 @@ spring:
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
redis:
|
||||
# 地址
|
||||
host: 124.243.245.42
|
||||
# 端口,默认为6379
|
||||
port: 5379
|
||||
# 数据库索引
|
||||
database: 5
|
||||
# 密码
|
||||
password: ZKR2024@@.com
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
lettuce:
|
||||
pool:
|
||||
# 连接池中的最小空闲连接
|
||||
min-idle: 0
|
||||
# 连接池中的最大空闲连接
|
||||
max-idle: 8
|
||||
# 连接池的最大数据库连接数
|
||||
max-active: 8
|
||||
# #连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
max-wait: -1ms
|
||||
# easy-es
|
||||
easy-es:
|
||||
enable: true
|
||||
banner: false
|
||||
address: 127.0.0.1
|
||||
address: 124.243.245.42:9200
|
||||
global-config:
|
||||
process-index-mode: manual
|
||||
db-config:
|
||||
refresh-policy: immediate
|
||||
username: elastic
|
||||
password: zkr2024@@.com
|
||||
|
||||
@@ -52,7 +52,7 @@ spring:
|
||||
# 国际化资源文件路径
|
||||
basename: i18n/messages
|
||||
profiles:
|
||||
active: dev
|
||||
active: local
|
||||
# 文件上传
|
||||
servlet:
|
||||
multipart:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.CompanyCard;
|
||||
import com.ruoyi.cms.domain.query.LabelQuery;
|
||||
import com.ruoyi.cms.mapper.CompanyCardMapper;
|
||||
@@ -12,6 +12,7 @@ import com.ruoyi.common.annotation.BussinessLog;
|
||||
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.utils.StringUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
@@ -118,5 +119,37 @@ public class AppCompanyController extends BaseController
|
||||
List<Company> companyList = companyService.label(companyCard,labelQuery);
|
||||
return getDataTable(companyList);
|
||||
}
|
||||
@PostMapping("/register")
|
||||
@ApiOperation("招聘企业登记")
|
||||
@BussinessLog(title = "招聘企业登记")
|
||||
public AjaxResult register(Company company)
|
||||
{
|
||||
companyService.register(company);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
@GetMapping("/register/status")
|
||||
@ApiOperation("招聘企业登记进度查询")
|
||||
public AjaxResult registerStatus()
|
||||
{
|
||||
Company status = companyService.registerStatus();
|
||||
return AjaxResult.success(status);
|
||||
}
|
||||
|
||||
@GetMapping("/queryCodeCompany")
|
||||
@ApiOperation("根据社会信用代码查询企业")
|
||||
public AjaxResult queryCodeCompany(@RequestParam("code") String code)
|
||||
{
|
||||
if (!StringUtils.hasText(code)) {
|
||||
return AjaxResult.error("社会信用代码不能为空");
|
||||
}
|
||||
return AjaxResult.success(companyService.queryCodeCompany(code));
|
||||
}
|
||||
|
||||
@ApiOperation("模糊查询公司列表")
|
||||
@GetMapping("/likeList")
|
||||
public TableDataInfo likeList(Company company)
|
||||
{
|
||||
List<Company> list = companyService.selectLikeCompanyList(company);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.cms.domain.File;
|
||||
import com.ruoyi.cms.service.IFileService;
|
||||
import com.ruoyi.common.annotation.BussinessLog;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/app/file")
|
||||
public class AppFileController {
|
||||
public class AppFileController extends BaseController {
|
||||
@Autowired
|
||||
private IFileService fileService;
|
||||
@BussinessLog(title = "上传文件")
|
||||
@@ -20,4 +22,12 @@ public class AppFileController {
|
||||
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "bussinessId",required = false) Long bussinessId) {
|
||||
return fileService.uploadFile(file,bussinessId);
|
||||
}
|
||||
|
||||
@BussinessLog(title = "获取附件列表")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(File file)
|
||||
{
|
||||
List<File> results = fileService.selectFileList(file);
|
||||
return getDataTable(results);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,25 +3,25 @@ package com.ruoyi.cms.controller.app;
|
||||
import com.ruoyi.cms.domain.ESJobDocument;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import com.ruoyi.cms.domain.vo.CompetitivenessResponse;
|
||||
import com.ruoyi.cms.domain.vo.RadarChart;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.cms.service.IESJobSearchService;
|
||||
import com.ruoyi.cms.service.IJobCollectionService;
|
||||
import com.ruoyi.cms.service.IJobService;
|
||||
import com.ruoyi.cms.util.RoleUtils;
|
||||
import com.ruoyi.cms.util.sensitiveWord.SensitiveWordChecker;
|
||||
import com.ruoyi.common.annotation.BussinessLog;
|
||||
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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* 岗位Controller
|
||||
@@ -40,6 +40,10 @@ public class AppJobController extends BaseController
|
||||
private IJobCollectionService jobCollectionService;
|
||||
@Autowired
|
||||
private IESJobSearchService esJobSearchService;
|
||||
@Autowired
|
||||
private SensitiveWordChecker sensitiveWordChecker;
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
|
||||
/**
|
||||
* 查询岗位列表
|
||||
@@ -70,6 +74,9 @@ public class AppJobController extends BaseController
|
||||
@GetMapping("/recommend")
|
||||
public AjaxResult recommend(ESJobSearch esJobSearch)
|
||||
{
|
||||
if (RoleUtils.getAppCurrentUseridCard() != null) {
|
||||
esJobSearch.setCode(RoleUtils.getAppCurrentUseridCard());
|
||||
}
|
||||
List<ESJobDocument> jobList = jobService.recommend(esJobSearch);
|
||||
return success(jobList);
|
||||
}
|
||||
@@ -192,5 +199,38 @@ public class AppJobController extends BaseController
|
||||
rspData.setTotal(total > 200 ? 200 : total);
|
||||
return rspData;
|
||||
}
|
||||
@BussinessLog(title = "移动端发布岗位")
|
||||
@PostMapping("/publishJob")
|
||||
public AjaxResult fix(@RequestBody Job job)
|
||||
{
|
||||
// 校验描述中的敏感词
|
||||
List<String> sensitiveWords = sensitiveWordChecker.checkSensitiveWords(job.getDescription());
|
||||
if (!sensitiveWords.isEmpty()) {
|
||||
String errorMsg = "描述中包含敏感词:" + String.join("、", sensitiveWords);
|
||||
return AjaxResult.error(errorMsg);
|
||||
}
|
||||
jobService.publishJob(job);
|
||||
return success();
|
||||
}
|
||||
|
||||
@GetMapping("/jobCompare")
|
||||
@ApiOperation("根据多个岗位id查询岗位详情")
|
||||
public AjaxResult jobCompare(@ApiParam("岗位ID数组") @RequestParam("jobIds") Long[] jobIds) {
|
||||
if (ArrayUtils.isEmpty(jobIds)) {
|
||||
return AjaxResult.error("请传递岗位ID参数(jobIds),多个ID用&分隔");
|
||||
}
|
||||
if (jobIds.length > 5) {
|
||||
return AjaxResult.error("最多支持对比5个岗位,请减少参数数量");
|
||||
}
|
||||
return success(esJobSearchService.selectByIds(jobIds));
|
||||
}
|
||||
|
||||
@GetMapping("/applyJobList")
|
||||
@ApiOperation("根据岗位id查询岗位申请人员")
|
||||
public AjaxResult applyJobList(@ApiParam("岗位id") @RequestParam("jobId") Long jobId) {
|
||||
if (jobId==null) {
|
||||
return AjaxResult.error("请传递岗位ID");
|
||||
}
|
||||
return success(jobService.selectApplyJobUserList(jobId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,15 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.cms.domain.ESJobDocument;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import com.ruoyi.cms.domain.vo.CompetitivenessResponse;
|
||||
import com.ruoyi.cms.domain.vo.RadarChart;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.cms.service.IESJobSearchService;
|
||||
import com.ruoyi.cms.service.IJobCollectionService;
|
||||
import com.ruoyi.cms.service.IJobService;
|
||||
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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 岗位Controller
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
|
||||
import com.ruoyi.cms.service.AppSkillService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.AppSkill;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 用户技能信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-21 12:22:09
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/appskill/list")
|
||||
@Api(tags = "移动端:用户技能")
|
||||
public class AppSkillController extends BaseController {
|
||||
@Autowired
|
||||
private AppSkillService appSkillService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(AppSkill appSkill){
|
||||
startPage();
|
||||
List<AppSkill> list=appSkillService.getList(appSkill);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 信息
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult info(@PathVariable("id") Long id){
|
||||
return success(appSkillService.getAppskillById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@PostMapping("/add")
|
||||
public AjaxResult save(@RequestBody AppSkill appSkill){
|
||||
return toAjax(appSkillService.insertAppskill(appSkill));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@PutMapping("/edit")
|
||||
public AjaxResult update(@RequestBody AppSkill appSkill){
|
||||
return toAjax(appSkillService.updateAppskillById(appSkill));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@DeleteMapping("/{id}")
|
||||
public AjaxResult delete(@ApiParam("主键id") @PathVariable Long id){
|
||||
return toAjax(appSkillService.removeAppskillIds(new Long[]{id}));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobFair;
|
||||
import com.ruoyi.cms.domain.query.MineJobQuery;
|
||||
@@ -9,8 +9,9 @@ import com.ruoyi.cms.service.*;
|
||||
import com.ruoyi.common.annotation.BussinessLog;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -45,20 +46,30 @@ public class AppUserController extends BaseController
|
||||
/**
|
||||
* 查询岗位列表
|
||||
*/
|
||||
@ApiOperation("保存注册信息")
|
||||
@PostMapping("/registerUser")
|
||||
@BussinessLog(title = "保存简历")
|
||||
public AjaxResult registerUser(@RequestBody RegisterBody registerBody)
|
||||
{
|
||||
appUserService.registerAppUser(registerBody);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation("保存简历")
|
||||
@PostMapping("/resume")
|
||||
@BussinessLog(title = "保存简历")
|
||||
public AjaxResult saveResume(@RequestBody AppUser appUser)
|
||||
{
|
||||
appUser.setUserId(SecurityUtils.getUserId());
|
||||
appUser.setUserId(SiteSecurityUtils.getUserId());
|
||||
appUserService.updateAppUser(appUser);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation("查看简历")
|
||||
@GetMapping("/resume")
|
||||
public AjaxResult getResume()
|
||||
{
|
||||
AppUser appUser = appUserService.selectAppUserByUserId(SecurityUtils.getUserId());
|
||||
AppUser appUser = appUserService.selectAppUserByUserId(SiteSecurityUtils.getUserId());
|
||||
return AjaxResult.success(appUser);
|
||||
}
|
||||
@ApiOperation("我的浏览")
|
||||
@@ -116,4 +127,12 @@ public class AppUserController extends BaseController
|
||||
HashMap<String,Integer> result = jobApplyService.statistics();
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation("根据条件查询用户信息")
|
||||
@GetMapping("/list")
|
||||
public AjaxResult getUserList(AppUser appUser)
|
||||
{
|
||||
List<AppUser> list = appUserService.selectAppUserList(appUser);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ruoyi.cms.controller.app;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.UserWorkExperiences;
|
||||
import com.ruoyi.cms.service.UserWorkExperiencesService;
|
||||
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.utils.SiteSecurityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 用户工作经历表
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 16:26:26
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/app/userworkexperiences")
|
||||
@Api(tags = "移动端:用户工作经历")
|
||||
public class AppUserWorkExperiencesController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private UserWorkExperiencesService userWorkExperiencesService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("工作经历列表信息")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(UserWorkExperiences userWorkExperiences){
|
||||
if(userWorkExperiences.getUserId()==null){
|
||||
userWorkExperiences.setUserId(SiteSecurityUtils.getUserId());
|
||||
}
|
||||
startPage();
|
||||
List<UserWorkExperiences> list=userWorkExperiencesService.getWorkExperiencesList(userWorkExperiences);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取详细信息
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult query(@PathVariable("id") Long id){
|
||||
return success(userWorkExperiencesService.getWorkExperiencesById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@ApiOperation("新增工作经历")
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody UserWorkExperiences userWorkExperiences){
|
||||
if(userWorkExperiences.getUserId()==null){
|
||||
userWorkExperiences.setUserId(SiteSecurityUtils.getUserId());
|
||||
}
|
||||
return toAjax(userWorkExperiencesService.insertWorkExperiences(userWorkExperiences));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@ApiOperation("修改工作经历")
|
||||
@PutMapping("/edit")
|
||||
public AjaxResult update(@RequestBody UserWorkExperiences userWorkExperiences){
|
||||
return toAjax(userWorkExperiencesService.updateWorkExperiencesById(userWorkExperiences));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
@ApiOperation("删除工作经历")
|
||||
@DeleteMapping("/{id}")
|
||||
public AjaxResult remove(@ApiParam("招聘会id") @PathVariable Long id){
|
||||
|
||||
return toAjax(userWorkExperiencesService.deleteWorkExperiencesIds(new Long[]{id}));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,7 +18,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.cms.service.IAppUserService;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
@@ -41,7 +41,7 @@ public class CmsAppUserController extends BaseController
|
||||
* 查询APP用户列表
|
||||
*/
|
||||
@ApiOperation("查询APP用户列表")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:user:list')")
|
||||
@PreAuthorize("@ss.hasPermi('cms:appUser:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(AppUser appUser)
|
||||
{
|
||||
@@ -54,7 +54,7 @@ public class CmsAppUserController extends BaseController
|
||||
* 导出APP用户列表
|
||||
*/
|
||||
@ApiOperation("导出APP用户列表")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:user:export')")
|
||||
@PreAuthorize("@ss.hasPermi('cms:appUser:export')")
|
||||
@Log(title = "APP用户", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, AppUser appUser)
|
||||
|
||||
@@ -2,11 +2,15 @@ package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.cms.service.IJobService;
|
||||
import com.ruoyi.cms.util.RoleUtils;
|
||||
import com.ruoyi.cms.util.sensitiveWord.SensitiveWordChecker;
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
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.domain.entity.Company;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
@@ -18,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 岗位Controller
|
||||
@@ -33,14 +38,22 @@ public class CmsJobController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IJobService jobService;
|
||||
@Autowired
|
||||
SensitiveWordChecker sensitiveWordChecker;
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
/**
|
||||
* 查询岗位列表
|
||||
*/
|
||||
@ApiOperation("查询岗位列表")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:list')")
|
||||
@PreAuthorize("@ss.hasPermi('cms:job:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Job job)
|
||||
{
|
||||
if (RoleUtils.isCompanyAdmin()) {
|
||||
Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard());
|
||||
job.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null);
|
||||
}
|
||||
startPage();
|
||||
List<Job> list = jobService.selectJobList(job);
|
||||
return getDataTable(list);
|
||||
@@ -61,7 +74,7 @@ public class CmsJobController extends BaseController
|
||||
* 导出岗位列表
|
||||
*/
|
||||
@ApiOperation("导出岗位列表")
|
||||
@PreAuthorize("@ss.hasPermi('app:job:export')")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:export')")
|
||||
@Log(title = "岗位", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, Job job)
|
||||
@@ -74,11 +87,18 @@ public class CmsJobController extends BaseController
|
||||
* 新增岗位
|
||||
*/
|
||||
@ApiOperation("新增岗位")
|
||||
@PreAuthorize("@ss.hasPermi('app:job:add')")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:add')")
|
||||
@Log(title = "岗位", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody Job job)
|
||||
{
|
||||
// 校验描述中的敏感词
|
||||
List<String> sensitiveWords = sensitiveWordChecker.checkSensitiveWords(job.getDescription());
|
||||
if (!sensitiveWords.isEmpty()) {
|
||||
String errorMsg = "描述中包含敏感词:" + String.join("、", sensitiveWords);
|
||||
return AjaxResult.error(errorMsg);
|
||||
}
|
||||
// 无敏感词,执行插入
|
||||
return toAjax(jobService.insertJob(job));
|
||||
}
|
||||
|
||||
@@ -86,11 +106,17 @@ public class CmsJobController extends BaseController
|
||||
* 修改岗位
|
||||
*/
|
||||
@ApiOperation("修改岗位")
|
||||
@PreAuthorize("@ss.hasPermi('app:job:edit')")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:edit')")
|
||||
@Log(title = "岗位", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody Job job)
|
||||
{
|
||||
// 校验描述中的敏感词
|
||||
List<String> sensitiveWords = sensitiveWordChecker.checkSensitiveWords(job.getDescription());
|
||||
if (!sensitiveWords.isEmpty()) {
|
||||
String errorMsg = "描述中包含敏感词:" + String.join("、", sensitiveWords);
|
||||
return AjaxResult.error(errorMsg);
|
||||
}
|
||||
return toAjax(jobService.updateJob(job));
|
||||
}
|
||||
|
||||
@@ -98,32 +124,22 @@ public class CmsJobController extends BaseController
|
||||
* 删除岗位
|
||||
*/
|
||||
@ApiOperation("删除岗位")
|
||||
@PreAuthorize("@ss.hasPermi('app:job:remove')")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:remove')")
|
||||
@Log(title = "岗位", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{jobIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] jobIds)
|
||||
{
|
||||
return toAjax(jobService.deleteJobByJobIds(jobIds));
|
||||
}
|
||||
|
||||
@ApiOperation("候选人查询")
|
||||
@Log(title = "岗位", businessType = BusinessType.DELETE)
|
||||
@GetMapping("/candidates")
|
||||
@PreAuthorize("@ss.hasPermi('bussiness:job:candidates')")
|
||||
public TableDataInfo candidates(Long jobId)
|
||||
{
|
||||
startPage();
|
||||
List<CandidateVO> list = jobService.candidates(jobId);
|
||||
return getDataTable(list);
|
||||
}
|
||||
@GetMapping("/import")
|
||||
public AjaxResult importData()
|
||||
{
|
||||
jobService.importData();
|
||||
return success();
|
||||
}
|
||||
@GetMapping("/importRow")
|
||||
public AjaxResult importRow(@RequestParam String path)
|
||||
{
|
||||
jobService.importRow(path);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||
import com.ruoyi.cms.service.CompanyContactService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* 公司联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/companycontact")
|
||||
@Api(tags = "后台:公司联系人")
|
||||
public class CompanyContactController extends BaseController {
|
||||
@Autowired
|
||||
private CompanyContactService companyContactService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("公司联系人列表")
|
||||
@PreAuthorize("@ss.hasPermi('cms:companycontact:list')")
|
||||
@RequestMapping("/list")
|
||||
public TableDataInfo list(CompanyContact companyContact){
|
||||
List<CompanyContact> list=companyContactService.getSelectList(companyContact);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.cms.service.ICompanyCollectionService;
|
||||
import com.ruoyi.cms.util.RoleUtils;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
@@ -12,7 +12,6 @@ import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -38,10 +37,13 @@ public class CompanyController extends BaseController
|
||||
* 查询公司列表
|
||||
*/
|
||||
@ApiOperation("查询公司列表")
|
||||
@PreAuthorize("@ss.hasPermi('app:company:list')")
|
||||
@PreAuthorize("@ss.hasPermi('cms:company:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Company company)
|
||||
{
|
||||
if (RoleUtils.isCompanyAdmin()) {
|
||||
company.setCode(RoleUtils.getCurrentUseridCard());
|
||||
}
|
||||
startPage();
|
||||
List<Company> list = companyService.selectCompanyList(company);
|
||||
return getDataTable(list);
|
||||
@@ -107,4 +109,23 @@ public class CompanyController extends BaseController
|
||||
{
|
||||
return toAjax(companyService.deleteCompanyByCompanyIds(companyIds));
|
||||
}
|
||||
|
||||
@ApiOperation("企业资质审核列表")
|
||||
@PreAuthorize("@ss.hasPermi('app:company:approval:list')")
|
||||
@GetMapping("/approval/list")
|
||||
public TableDataInfo approvalList(Company company)
|
||||
{
|
||||
startPage();
|
||||
List<Company> list = companyService.approvalList(company);
|
||||
return getDataTable(list);
|
||||
}
|
||||
@ApiOperation("企业资质修改")
|
||||
@PreAuthorize("@ss.hasPermi('app:company:approval:edit')")
|
||||
@GetMapping("/approval/edit")
|
||||
public AjaxResult approvalEdit(Company company)
|
||||
{
|
||||
startPage();
|
||||
List<Company> list = companyService.approvalList(company);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.EmployeeConfirm;
|
||||
import com.ruoyi.cms.service.EmployeeConfirmService;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* 新入职员工确认信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/employeeConfirm")
|
||||
@Api(tags = "后台:新入职员工确认信息")
|
||||
public class EmployeeConfirmController extends BaseController {
|
||||
@Autowired
|
||||
private EmployeeConfirmService employeeConfirmService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("新入职员工确认信息列表")
|
||||
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:list')")
|
||||
@RequestMapping("/list")
|
||||
public TableDataInfo list(EmployeeConfirm employeeConfirm){
|
||||
List<EmployeeConfirm> list=employeeConfirmService.getEmployeeConfirmList(employeeConfirm);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@ApiOperation("新增新入职员工确认信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:add')")
|
||||
@Log(title = "职员工确认信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody EmployeeConfirm employeeConfirm){
|
||||
return toAjax(employeeConfirmService.insertEmployeeConfirm(employeeConfirm));
|
||||
}
|
||||
|
||||
@ApiOperation("修改新入职员工确认信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:employeeConfirm:edit')")
|
||||
@Log(title = "职员工确认信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody EmployeeConfirm employeeConfirm){
|
||||
return toAjax(employeeConfirmService.updateEmployeeConfirm(employeeConfirm));
|
||||
}
|
||||
|
||||
@ApiOperation("删除新入职员工确认信息")
|
||||
@PreAuthorize("@ss.hasPermi('app:employeeConfirm:remove')")
|
||||
@Log(title = "公司", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{employeeConfirmIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] employeeConfirmIds)
|
||||
{
|
||||
return toAjax(employeeConfirmService.deleteEmployeeConfirmIds(employeeConfirmIds));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.cms.service.IJobApplyService;
|
||||
import com.ruoyi.cms.util.RoleUtils;
|
||||
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.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
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 javax.servlet.http.HttpServletResponse;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/cms/jobApply")
|
||||
@Api(tags = "后台:岗位申请")
|
||||
public class JobApplyController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
IJobApplyService iJobApplyService;
|
||||
|
||||
@GetMapping("/trendChart")
|
||||
public AjaxResult trendChart(JobApply jobApply)
|
||||
{
|
||||
HashMap<String,Integer> result = iJobApplyService.trendChart(jobApply);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出APP用户列表
|
||||
*/
|
||||
@ApiOperation("导出岗位申请APP用户")
|
||||
@PreAuthorize("@ss.hasPermi('cms:jobApply:export')")
|
||||
@Log(title = "APP用户", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, Job job)
|
||||
{
|
||||
List<CandidateVO> list = iJobApplyService.selectAppUserList(job);
|
||||
ExcelUtil<CandidateVO> util = new ExcelUtil<CandidateVO>(CandidateVO.class);
|
||||
util.exportExcel(response, list, "APP用户数据");
|
||||
}
|
||||
|
||||
@ApiOperation("获取求职者列表")
|
||||
@PreAuthorize("@ss.hasPermi('cms:jobApply:applyJobUserList')")
|
||||
@GetMapping("/applyJobUserList")
|
||||
public TableDataInfo applyJobList(AppUser appUser)
|
||||
{
|
||||
if (RoleUtils.isCompanyAdmin()) {
|
||||
Company company=new Company();
|
||||
company.setCode(RoleUtils.getCurrentUseridCard());
|
||||
}
|
||||
startPage();
|
||||
List<CandidateVO> list = iJobApplyService.selectApplyJobUserList(appUser);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.JobContact;
|
||||
import com.ruoyi.cms.service.JobContactService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* 岗位联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/jobcontact")
|
||||
@Api(tags = "后台:岗位联系人")
|
||||
public class JobContactController extends BaseController {
|
||||
@Autowired
|
||||
private JobContactService jobContactService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("岗位联系人列表")
|
||||
@PreAuthorize("@ss.hasPermi('cms:jobcontact:list')")
|
||||
@RequestMapping("/list")
|
||||
public TableDataInfo list(JobContact jobContact){
|
||||
startPage();
|
||||
List<JobContact> list = jobContactService.getSelectList(jobContact);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.cms.domain.SensitiveWordData;
|
||||
import com.ruoyi.cms.service.SensitiveWordDataService;
|
||||
import com.ruoyi.cms.util.EasyExcelUtils;
|
||||
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 org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 敏感词库
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/sensitiveworddata")
|
||||
@Api(tags = "后台:敏感词库")
|
||||
public class SensitiveWordDataController extends BaseController {
|
||||
@Autowired
|
||||
private SensitiveWordDataService sensitiveWordDataService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("敏感词库详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(SensitiveWordData sensitiveWordData){
|
||||
startPage();
|
||||
List<SensitiveWordData> list = sensitiveWordDataService.selectSensitiveworddataList(sensitiveWordData);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取详细信息
|
||||
*/
|
||||
@ApiOperation("获取敏感词库详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult list(@PathVariable("id") Long id){
|
||||
return success(sensitiveWordDataService.selectById(id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@ApiOperation("新增敏感词")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:add')")
|
||||
@Log(title = "敏感词", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult save(@RequestBody SensitiveWordData sensitiveWordData){
|
||||
|
||||
return toAjax(sensitiveWordDataService.insertSensitiveworddata(sensitiveWordData));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@ApiOperation("修改敏感词")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:edit')")
|
||||
@Log(title = "敏感词", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody SensitiveWordData sensitiveWordData){
|
||||
return toAjax(sensitiveWordDataService.updateSensitiveworddata(sensitiveWordData));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除敏感词
|
||||
*/
|
||||
@ApiOperation("删除敏感词")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:remove')")
|
||||
@Log(title = "敏感词", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
return toAjax(sensitiveWordDataService.deleteSensitiveworddataIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通用上传请求(单个)
|
||||
*/
|
||||
@PostMapping("/exoprt")
|
||||
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file) throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
InputStream inputStream = file.getInputStream();
|
||||
EasyExcelUtils.readExcelByBatch(inputStream, SensitiveWordData.class, 100, list -> {
|
||||
// 处理逻辑:如批量保存到数据库
|
||||
sensitiveWordDataService.batchInsert(list);
|
||||
});
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return AjaxResult.error(e.getMessage());
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
@@ -85,4 +85,19 @@ public class StaticsController extends BaseController {
|
||||
Map<String,Object> result = service.education(staticsquery);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
//分学历-分薪资
|
||||
@GetMapping("/educationSalaryGen")
|
||||
public AjaxResult educationSalaryGen()
|
||||
{
|
||||
service.educationSalaryGen();
|
||||
return success();
|
||||
}
|
||||
|
||||
@GetMapping("/educationSalary")
|
||||
public AjaxResult educationSalary(Staticsquery staticsquery)
|
||||
{
|
||||
Map<String,Object> result = service.educationSalary(staticsquery);
|
||||
return success(result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.ruoyi.cms.controller.cms;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.UserWorkExperiences;
|
||||
import com.ruoyi.cms.service.UserWorkExperiencesService;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* 用户工作经历表
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 16:26:26
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/cms/userworkexperiences")
|
||||
@Api(tags = "后台:用户工作经历")
|
||||
public class UserWorkExperiencesController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private UserWorkExperiencesService userWorkExperiencesService;
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
@ApiOperation("工作经历列表信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(UserWorkExperiences userWorkExperiences){
|
||||
startPage();
|
||||
List<UserWorkExperiences> list=userWorkExperiencesService.getWorkExperiencesList(userWorkExperiences);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 信息
|
||||
*/
|
||||
/**
|
||||
* 获取详细信息
|
||||
*/
|
||||
@ApiOperation("获取工作经历详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult query(@PathVariable("id") Long id){
|
||||
return success(userWorkExperiencesService.getWorkExperiencesById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@ApiOperation("新增工作经历")
|
||||
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:add')")
|
||||
@Log(title = "工作经历", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody UserWorkExperiences userWorkExperiences){
|
||||
return toAjax(userWorkExperiencesService.insertWorkExperiences(userWorkExperiences));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
@ApiOperation("修改工作经历")
|
||||
@PreAuthorize("@ss.hasPermi('cms:userworkexperiences:edit')")
|
||||
@Log(title = "工作经历", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult update(@RequestBody UserWorkExperiences userWorkExperiences){
|
||||
return toAjax(userWorkExperiencesService.updateWorkExperiencesById(userWorkExperiences));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
@ApiOperation("删除工作经历")
|
||||
@PreAuthorize("@ss.hasPermi('cms:sensitiveworddata:remove')")
|
||||
@Log(title = "工作经历", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(Long[] ids){
|
||||
return toAjax(userWorkExperiencesService.deleteWorkExperiencesIds(ids));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,103 +1,42 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.xss.Xss;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* 通知公告表 sys_notice
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("APP通知")
|
||||
@TableName(value = "app_notice")
|
||||
public class AppNotice extends BaseEntity
|
||||
{
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 公告ID */
|
||||
@TableId(value = "notice_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("公司id")
|
||||
private Long noticeId;
|
||||
|
||||
/** 公告标题 */
|
||||
@Xss(message = "消息标题不能包含脚本字符")
|
||||
@NotBlank(message = "消息标题不能为空")
|
||||
@Size(min = 0, max = 50, message = "消息标题不能超过50个字符")
|
||||
private String noticeTitle;
|
||||
|
||||
/** 公告类型(1通知 2公告) */
|
||||
@ApiModelProperty("消息类型")
|
||||
private String noticeType;
|
||||
|
||||
/** 公告内容 */
|
||||
@ApiModelProperty("消息内容")
|
||||
private String noticeContent;
|
||||
|
||||
/** 公告状态(0正常 1关闭) */
|
||||
@ApiModelProperty("消息状态 0正常 1关闭")
|
||||
private String status;
|
||||
|
||||
public Long getNoticeId()
|
||||
{
|
||||
return noticeId;
|
||||
}
|
||||
|
||||
public void setNoticeId(Long noticeId)
|
||||
{
|
||||
this.noticeId = noticeId;
|
||||
}
|
||||
|
||||
public void setNoticeTitle(String noticeTitle)
|
||||
{
|
||||
this.noticeTitle = noticeTitle;
|
||||
}
|
||||
|
||||
@Xss(message = "公告标题不能包含脚本字符")
|
||||
@NotBlank(message = "公告标题不能为空")
|
||||
@Size(min = 0, max = 50, message = "公告标题不能超过50个字符")
|
||||
public String getNoticeTitle()
|
||||
{
|
||||
return noticeTitle;
|
||||
}
|
||||
|
||||
public void setNoticeType(String noticeType)
|
||||
{
|
||||
this.noticeType = noticeType;
|
||||
}
|
||||
|
||||
public String getNoticeType()
|
||||
{
|
||||
return noticeType;
|
||||
}
|
||||
|
||||
public void setNoticeContent(String noticeContent)
|
||||
{
|
||||
this.noticeContent = noticeContent;
|
||||
}
|
||||
|
||||
public String getNoticeContent()
|
||||
{
|
||||
return noticeContent;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("noticeId", getNoticeId())
|
||||
.append("noticeTitle", getNoticeTitle())
|
||||
.append("noticeType", getNoticeType())
|
||||
.append("noticeContent", getNoticeContent())
|
||||
.append("status", getStatus())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
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;
|
||||
/**
|
||||
* 用户岗位浏览记录对象 app_review_job
|
||||
* @author ${author}
|
||||
@@ -26,14 +25,15 @@ public class AppReviewJob extends BaseEntity
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
|
||||
/** 浏览日期 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "浏览日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@ApiModelProperty("浏览日期")
|
||||
private Date reviewDate;
|
||||
private String reviewDate;
|
||||
|
||||
}
|
||||
@@ -1,177 +1,69 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.annotation.Excel.ColumnType;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* 字典数据表 sys_dict_data
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ApiModel("业务数据表")
|
||||
@TableName(value = "bussiness_dict_data")
|
||||
public class BussinessDictData extends BaseEntity
|
||||
{
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 字典编码 */
|
||||
@ApiModelProperty("字典编码")
|
||||
@Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
|
||||
@TableId(value = "dict_code",type = IdType.AUTO)
|
||||
private Long dictCode;
|
||||
|
||||
/** 字典排序 */
|
||||
@ApiModelProperty("字典排序")
|
||||
@Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
|
||||
private Long dictSort;
|
||||
|
||||
/** 字典标签 */
|
||||
@Excel(name = "字典标签")
|
||||
@ApiModelProperty("字典标签")
|
||||
@NotBlank(message = "字典标签不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
|
||||
private String dictLabel;
|
||||
|
||||
/** 字典键值 */
|
||||
@Excel(name = "字典键值")
|
||||
@ApiModelProperty("字典键值")
|
||||
@NotBlank(message = "字典键值不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
|
||||
private String dictValue;
|
||||
|
||||
/** 字典类型 */
|
||||
@ApiModelProperty("字典类型")
|
||||
@Excel(name = "字典类型")
|
||||
@NotBlank(message = "字典类型不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
|
||||
private String dictType;
|
||||
|
||||
/** 样式属性(其他样式扩展) */
|
||||
@ApiModelProperty("样式属性(其他样式扩展)")
|
||||
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
|
||||
private String cssClass;
|
||||
|
||||
/** 表格字典样式 */
|
||||
@ApiModelProperty("表格字典样式")
|
||||
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
|
||||
private String listClass;
|
||||
|
||||
/** 是否默认(Y是 N否) */
|
||||
@ApiModelProperty("是否默认(Y是 N否)")
|
||||
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
|
||||
private String isDefault;
|
||||
|
||||
/** 状态(0正常 1停用) */
|
||||
@ApiModelProperty("状态 0=正常,1=停用 ")
|
||||
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
|
||||
private String status;
|
||||
|
||||
public Long getDictCode()
|
||||
{
|
||||
return dictCode;
|
||||
}
|
||||
|
||||
public void setDictCode(Long dictCode)
|
||||
{
|
||||
this.dictCode = dictCode;
|
||||
}
|
||||
|
||||
public Long getDictSort()
|
||||
{
|
||||
return dictSort;
|
||||
}
|
||||
|
||||
public void setDictSort(Long dictSort)
|
||||
{
|
||||
this.dictSort = dictSort;
|
||||
}
|
||||
|
||||
@NotBlank(message = "字典标签不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
|
||||
public String getDictLabel()
|
||||
{
|
||||
return dictLabel;
|
||||
}
|
||||
|
||||
public void setDictLabel(String dictLabel)
|
||||
{
|
||||
this.dictLabel = dictLabel;
|
||||
}
|
||||
|
||||
@NotBlank(message = "字典键值不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
|
||||
public String getDictValue()
|
||||
{
|
||||
return dictValue;
|
||||
}
|
||||
|
||||
public void setDictValue(String dictValue)
|
||||
{
|
||||
this.dictValue = dictValue;
|
||||
}
|
||||
|
||||
@NotBlank(message = "字典类型不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
|
||||
public String getDictType()
|
||||
{
|
||||
return dictType;
|
||||
}
|
||||
|
||||
public void setDictType(String dictType)
|
||||
{
|
||||
this.dictType = dictType;
|
||||
}
|
||||
|
||||
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
|
||||
public String getCssClass()
|
||||
{
|
||||
return cssClass;
|
||||
}
|
||||
|
||||
public void setCssClass(String cssClass)
|
||||
{
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
|
||||
public String getListClass()
|
||||
{
|
||||
return listClass;
|
||||
}
|
||||
|
||||
public void setListClass(String listClass)
|
||||
{
|
||||
this.listClass = listClass;
|
||||
}
|
||||
|
||||
public boolean getDefault()
|
||||
{
|
||||
return UserConstants.YES.equals(this.isDefault);
|
||||
}
|
||||
|
||||
public String getIsDefault()
|
||||
{
|
||||
return isDefault;
|
||||
}
|
||||
|
||||
public void setIsDefault(String isDefault)
|
||||
{
|
||||
this.isDefault = isDefault;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("dictCode", getDictCode())
|
||||
.append("dictSort", getDictSort())
|
||||
.append("dictLabel", getDictLabel())
|
||||
.append("dictValue", getDictValue())
|
||||
.append("dictType", getDictType())
|
||||
.append("cssClass", getCssClass())
|
||||
.append("listClass", getListClass())
|
||||
.append("isDefault", getIsDefault())
|
||||
.append("status", getStatus())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.annotation.Excel.ColumnType;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
* 字典类型表 sys_dict_type
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ApiModel("字典类型表")
|
||||
@TableName(value = "bussiness_dict_type")
|
||||
public class BussinessDictType extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -25,73 +25,19 @@ public class BussinessDictType extends BaseEntity
|
||||
|
||||
/** 字典名称 */
|
||||
@Excel(name = "字典名称")
|
||||
@NotBlank(message = "字典名称不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
|
||||
private String dictName;
|
||||
|
||||
/** 字典类型 */
|
||||
@Excel(name = "字典类型")
|
||||
@NotBlank(message = "字典类型不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
|
||||
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
|
||||
private String dictType;
|
||||
|
||||
/** 状态(0正常 1停用) */
|
||||
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
|
||||
private String status;
|
||||
|
||||
public Long getDictId()
|
||||
{
|
||||
return dictId;
|
||||
}
|
||||
|
||||
public void setDictId(Long dictId)
|
||||
{
|
||||
this.dictId = dictId;
|
||||
}
|
||||
|
||||
@NotBlank(message = "字典名称不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
|
||||
public String getDictName()
|
||||
{
|
||||
return dictName;
|
||||
}
|
||||
|
||||
public void setDictName(String dictName)
|
||||
{
|
||||
this.dictName = dictName;
|
||||
}
|
||||
|
||||
@NotBlank(message = "字典类型不能为空")
|
||||
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
|
||||
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
|
||||
public String getDictType()
|
||||
{
|
||||
return dictType;
|
||||
}
|
||||
|
||||
public void setDictType(String dictType)
|
||||
{
|
||||
this.dictType = dictType;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("dictId", getDictId())
|
||||
.append("dictName", getDictName())
|
||||
.append("dictType", getDictType())
|
||||
.append("status", getStatus())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,92 +24,75 @@ public class BussinessOperLog extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 日志主键 */
|
||||
@TableId(value = "oper_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("日志主键")
|
||||
private Long operId;
|
||||
|
||||
/** 模块标题 */
|
||||
@Excel(name = "模块标题")
|
||||
@ApiModelProperty("模块标题")
|
||||
private String title;
|
||||
|
||||
/** 业务类型(0其它 1新增 2修改 3删除) */
|
||||
@Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除")
|
||||
@ApiModelProperty("业务类型(0其它 1新增 2修改 3删除)")
|
||||
private Integer businessType;
|
||||
|
||||
/** 方法名称 */
|
||||
@Excel(name = "方法名称")
|
||||
@ApiModelProperty("方法名称")
|
||||
private String method;
|
||||
|
||||
/** 请求方式 */
|
||||
@Excel(name = "请求方式")
|
||||
@ApiModelProperty("请求方式")
|
||||
private String requestMethod;
|
||||
|
||||
/** 操作类别(0其它 1后台用户 2手机端用户) */
|
||||
@Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
|
||||
@ApiModelProperty("操作类别(0其它 1后台用户 2手机端用户)")
|
||||
private Integer operatorType;
|
||||
|
||||
/** 操作人员 */
|
||||
@Excel(name = "操作人员")
|
||||
@ApiModelProperty("操作人员")
|
||||
private String operName;
|
||||
|
||||
/** 部门名称 */
|
||||
@Excel(name = "部门名称")
|
||||
@ApiModelProperty("部门名称")
|
||||
private String deptName;
|
||||
|
||||
/** 请求URL */
|
||||
@Excel(name = "请求URL")
|
||||
@ApiModelProperty("请求URL")
|
||||
private String operUrl;
|
||||
|
||||
/** 主机地址 */
|
||||
@Excel(name = "主机地址")
|
||||
@ApiModelProperty("主机地址")
|
||||
private String operIp;
|
||||
|
||||
/** 操作地点 */
|
||||
@Excel(name = "操作地点")
|
||||
@ApiModelProperty("操作地点")
|
||||
private String operLocation;
|
||||
|
||||
/** 请求参数 */
|
||||
@Excel(name = "请求参数")
|
||||
@ApiModelProperty("请求参数")
|
||||
private String operParam;
|
||||
|
||||
/** 返回参数 */
|
||||
@Excel(name = "返回参数")
|
||||
@ApiModelProperty("返回参数")
|
||||
private String jsonResult;
|
||||
|
||||
/** 操作状态(0正常 1异常) */
|
||||
@Excel(name = "操作状态", readConverterExp = "0=正常,1=异常")
|
||||
@ApiModelProperty("操作状态(0正常 1异常)")
|
||||
private Integer status;
|
||||
|
||||
/** 错误消息 */
|
||||
@Excel(name = "错误消息")
|
||||
@ApiModelProperty("错误消息")
|
||||
private String errorMsg;
|
||||
|
||||
/** 操作时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@ApiModelProperty("操作时间")
|
||||
private Date operTime;
|
||||
|
||||
/** 消耗时间 */
|
||||
@Excel(name = "消耗时间")
|
||||
@ApiModelProperty("消耗时间")
|
||||
private Long costTime;
|
||||
|
||||
/** 业务类型数组 */
|
||||
@ApiModelProperty("业务类型数组")
|
||||
private Integer[] businessTypes;
|
||||
}
|
||||
@@ -23,26 +23,22 @@ public class CommercialArea extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "commercial_area_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long commercialAreaId;
|
||||
|
||||
/** 商圈名称 */
|
||||
@Excel(name = "商圈名称")
|
||||
@ApiModelProperty("商圈名称")
|
||||
private String commercialAreaName;
|
||||
|
||||
/** 纬度 */
|
||||
@Excel(name = "纬度")
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
|
||||
/** 经度 */
|
||||
@Excel(name = "经度")
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
/** 地址 */
|
||||
|
||||
@Excel(name = "地址")
|
||||
@ApiModelProperty("地址")
|
||||
private String address;
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
/**
|
||||
* 公司对象 company
|
||||
* @author lishundong
|
||||
* @date 2024-09-04
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("公司")
|
||||
@TableName(value = "company")
|
||||
public class Company extends BaseEntity
|
||||
{
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 公司id */
|
||||
@TableId(value = "company_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
|
||||
/** 单位名称 */
|
||||
@Excel(name = "单位名称")
|
||||
@ApiModelProperty("单位名称")
|
||||
private String name;
|
||||
|
||||
/** 单位地点 */
|
||||
@Excel(name = "单位地点")
|
||||
@ApiModelProperty("单位地点")
|
||||
private String location;
|
||||
|
||||
/** 主要行业 */
|
||||
@Excel(name = "主要行业")
|
||||
@ApiModelProperty("主要行业")
|
||||
private String industry;
|
||||
|
||||
/** 单位规模 对应字典scale */
|
||||
@Excel(name = "单位规模 对应字典scale")
|
||||
@ApiModelProperty("单位规模 对应字典scale")
|
||||
private String scale;
|
||||
@Excel(name = "信用代码")
|
||||
@ApiModelProperty("信用代码")
|
||||
private String code;
|
||||
@Excel(name = "单位介绍")
|
||||
@ApiModelProperty("单位介绍")
|
||||
private String description;
|
||||
@Excel(name = "性质")
|
||||
@ApiModelProperty("性质")
|
||||
private String nature;
|
||||
@ApiModelProperty("招聘数量")
|
||||
private Integer totalRecruitment;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("是否收藏")
|
||||
private Integer isCollection;
|
||||
}
|
||||
@@ -22,29 +22,33 @@ public class CompanyCard extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 公司id */
|
||||
@TableId(value = "company_card_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("公司id")
|
||||
@ApiModelProperty("公司卡片id")
|
||||
private Long companyCardId;
|
||||
|
||||
/** 卡片名称 */
|
||||
@Excel(name = "卡片名称")
|
||||
@ApiModelProperty("卡片名称")
|
||||
private String name;
|
||||
|
||||
/** 标签,逗号分开 */
|
||||
@Excel(name = "标签,逗号分开")
|
||||
@ApiModelProperty("标签,逗号分开")
|
||||
private String targ;
|
||||
|
||||
@Excel(name = "企业性质")
|
||||
@ApiModelProperty("企业性质,逗号分开")
|
||||
private String companyNature;
|
||||
/** 背景色 */
|
||||
|
||||
@Excel(name = "背景色")
|
||||
@ApiModelProperty("背景色")
|
||||
private String backgroudColor;
|
||||
|
||||
@ApiModelProperty("状态 0未发布 1发布")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer cardOrder;
|
||||
|
||||
@ApiModelProperty("描述")
|
||||
private String description;
|
||||
|
||||
}
|
||||
@@ -22,16 +22,16 @@ public class CompanyCardCollection extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 公司id */
|
||||
@TableId(value = "company_card_collection_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyCardCollectionId;
|
||||
|
||||
/** 用户id */
|
||||
|
||||
@Excel(name = "用户id")
|
||||
@ApiModelProperty("用户id")
|
||||
private Long userId;
|
||||
@Excel(name = "用户id")
|
||||
@ApiModelProperty("用户id")
|
||||
|
||||
@Excel(name = "公司卡片id")
|
||||
@ApiModelProperty("公司卡片id")
|
||||
private Long companyCardId;
|
||||
}
|
||||
@@ -22,17 +22,14 @@ public class CompanyCollection extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 公司id */
|
||||
@Excel(name = "公司id")
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
|
||||
/** App用户id */
|
||||
@Excel(name = "App用户id")
|
||||
@ApiModelProperty("App用户id")
|
||||
private Long userId;
|
||||
|
||||
@@ -26,8 +26,10 @@ public class CompanyLabel extends BaseEntity
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("公司标签")
|
||||
private String dictValue;
|
||||
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.ruoyi.cms.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.dromara.easyes.annotation.IndexField;
|
||||
import org.dromara.easyes.annotation.IndexId;
|
||||
@@ -20,100 +22,131 @@ import java.util.Date;
|
||||
@Data
|
||||
public class ESJobDocument
|
||||
{
|
||||
/**
|
||||
* es中的唯一id
|
||||
*/
|
||||
|
||||
@ApiModelProperty("es中的唯一id")
|
||||
@IndexId(type = IdType.NONE)
|
||||
@JsonIgnore
|
||||
private String id;
|
||||
|
||||
/** 公告ID */
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
|
||||
/** 公告标题 */
|
||||
@ApiModelProperty("公告标题")
|
||||
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
|
||||
private String jobTitle;
|
||||
|
||||
/** 内容 */
|
||||
@ApiModelProperty("内容")
|
||||
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
|
||||
private String description;
|
||||
|
||||
/** 公告状态 */
|
||||
@JsonIgnore
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("最小薪资(元)")
|
||||
private Long minSalary;
|
||||
|
||||
/** 最大薪资(元) */
|
||||
@ApiModelProperty("最大薪资(元)")
|
||||
private Long maxSalary;
|
||||
|
||||
/** 学历要求 对应字典education */
|
||||
@ApiModelProperty("学历要求 对应字典education")
|
||||
private String education;
|
||||
|
||||
/** 工作经验要求 对应字典experience */
|
||||
@ApiModelProperty("工作经验要求 对应字典experience")
|
||||
private String experience;
|
||||
|
||||
/** 用人单位名称 */
|
||||
@ApiModelProperty("用人单位名称")
|
||||
private String companyName;
|
||||
|
||||
/** 工作地点 */
|
||||
@ApiModelProperty("工作地点")
|
||||
private String jobLocation;
|
||||
|
||||
@ApiModelProperty("工作地点区县字典代码")
|
||||
private Integer jobLocationAreaCode;
|
||||
|
||||
/** 发布时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty("发布时间")
|
||||
private Date postingDate;
|
||||
|
||||
/** 招聘人数 */
|
||||
@ApiModelProperty("招聘人数")
|
||||
private Long vacancies;
|
||||
|
||||
/** 纬度 */
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
|
||||
/** 经度 */
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
|
||||
/** 浏览量 */
|
||||
@ApiModelProperty("浏览量")
|
||||
private Long view;
|
||||
|
||||
/** 公司id */
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty("是否火")
|
||||
private Integer isHot;
|
||||
|
||||
@ApiModelProperty("申请次数")
|
||||
private Integer applyNum;
|
||||
|
||||
@JsonIgnore
|
||||
@ApiModelProperty("公司")
|
||||
private Company company;
|
||||
|
||||
@ApiModelProperty("是否申请 0为否 1为是")
|
||||
private Integer isApply;
|
||||
|
||||
@ApiModelProperty("是否收藏 0为否 1为是")
|
||||
private Integer isCollection;
|
||||
|
||||
@ApiModelProperty("数据来源")
|
||||
private String dataSource;
|
||||
|
||||
@ApiModelProperty("岗位链接")
|
||||
private String jobUrl;
|
||||
|
||||
@JsonIgnore
|
||||
@IndexField(fieldType = FieldType.GEO_POINT)
|
||||
@ApiModelProperty("经纬度")
|
||||
private String latAndLon;
|
||||
|
||||
@JsonIgnore
|
||||
@ApiModelProperty("公司规模")
|
||||
private String scaleDictCode;
|
||||
|
||||
@ApiModelProperty("行业分类")
|
||||
private String industry;
|
||||
|
||||
@ApiModelProperty("岗位分类")
|
||||
private String jobCategory;
|
||||
|
||||
@JsonIgnore
|
||||
@ApiModelProperty("学历要求 对应字典education int类型 es方便查询")
|
||||
private Integer education_int;
|
||||
@JsonIgnore
|
||||
@ApiModelProperty("工作经验要求 对应字典experience int类型 es方便查询")
|
||||
private Integer experience_int;
|
||||
// @JsonIgnore
|
||||
|
||||
@ApiModelProperty("公司规模 int类型 es方便查询")
|
||||
private Integer scale;
|
||||
|
||||
@ApiModelProperty("岗位链接 APP内")
|
||||
private String appJobUrl;
|
||||
|
||||
@ApiModelProperty("公司性质")
|
||||
private String companyNature;
|
||||
|
||||
@ApiModelProperty("是否有视频介绍")
|
||||
private Integer isExplain;
|
||||
|
||||
@ApiModelProperty("视频介绍URL")
|
||||
private String explainUrl;
|
||||
|
||||
@ApiModelProperty("视频封面URL")
|
||||
private String cover;
|
||||
|
||||
@ApiModelProperty("岗位类型 0疆内 1疆外")
|
||||
private String jobType;
|
||||
|
||||
@ApiModelProperty("类型 0常规岗位 1就业见习岗位 2实习实训岗位 3社区实践岗位 对应字段字典position_type")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty("信用代码")
|
||||
private String code;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 新入职员工确认信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
@Data
|
||||
@TableName("employee_confirm")
|
||||
public class EmployeeConfirm extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
/**
|
||||
* 企业id
|
||||
*/
|
||||
@ApiModelProperty("企业id")
|
||||
private Long companyId;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@ApiModelProperty("姓名")
|
||||
private String contactPerson;
|
||||
/**
|
||||
* 身份证
|
||||
*/
|
||||
@ApiModelProperty("身份证")
|
||||
private String idCard;
|
||||
/**
|
||||
* 入职日期
|
||||
*/
|
||||
@ApiModelProperty("入职日期")
|
||||
private String entryDate;
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@ApiModelProperty("联系电话")
|
||||
private String contactPersonPhone;
|
||||
/**
|
||||
* 劳动合同期限
|
||||
*/
|
||||
@ApiModelProperty("劳动合同期限")
|
||||
private String contractTerm;
|
||||
|
||||
@ApiModelProperty("工作id")
|
||||
private Long jobId;
|
||||
|
||||
/**
|
||||
* 申请id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Long applyId;
|
||||
}
|
||||
@@ -23,17 +23,14 @@ public class FairCollection extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 岗位id */
|
||||
@Excel(name = "招聘会id")
|
||||
@ApiModelProperty("招聘会id")
|
||||
private Long fairId;
|
||||
|
||||
/** App用户id */
|
||||
@Excel(name = "App用户id")
|
||||
@ApiModelProperty("App用户id")
|
||||
private Long userId;
|
||||
|
||||
@@ -22,17 +22,14 @@ public class FairCompany extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 公司id */
|
||||
@Excel(name = "公司id")
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
|
||||
/** 招聘会id */
|
||||
@Excel(name = "招聘会id")
|
||||
@ApiModelProperty("招聘会id")
|
||||
private Long jobFairId;
|
||||
|
||||
@@ -22,17 +22,14 @@ public class File extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** url */
|
||||
@Excel(name = "url")
|
||||
@ApiModelProperty("url")
|
||||
private String fileUrl;
|
||||
|
||||
/** 业务id */
|
||||
@Excel(name = "业务id")
|
||||
@ApiModelProperty("业务id")
|
||||
private Long bussinessId;
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位对象 job
|
||||
* @author lishundong
|
||||
@@ -26,42 +29,34 @@ public class Job extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 工作id */
|
||||
@TableId(value = "job_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("工作id")
|
||||
private Long jobId;
|
||||
|
||||
/** 职位名称 */
|
||||
@Excel(name = "职位名称")
|
||||
@ApiModelProperty("职位名称")
|
||||
private String jobTitle;
|
||||
|
||||
/** 最小薪资(元) */
|
||||
@Excel(name = "最小薪资", readConverterExp = "元=")
|
||||
@ApiModelProperty("最小薪资(元)")
|
||||
private Long minSalary;
|
||||
|
||||
/** 最大薪资(元) */
|
||||
@Excel(name = "最大薪资", readConverterExp = "元=")
|
||||
@ApiModelProperty("最大薪资(元)")
|
||||
private Long maxSalary;
|
||||
|
||||
/** 学历要求 对应字典education */
|
||||
@Excel(name = "学历要求 对应字典education")
|
||||
@ApiModelProperty("学历要求 对应字典education")
|
||||
private String education;
|
||||
|
||||
/** 工作经验要求 对应字典experience */
|
||||
@Excel(name = "工作经验要求 对应字典experience")
|
||||
@ApiModelProperty("工作经验要求 对应字典experience")
|
||||
private String experience;
|
||||
|
||||
/** 用人单位名称 */
|
||||
@Excel(name = "用人单位名称")
|
||||
@ApiModelProperty("用人单位名称")
|
||||
private String companyName;
|
||||
|
||||
/** 工作地点 */
|
||||
@Excel(name = "工作地点")
|
||||
@ApiModelProperty("工作地点")
|
||||
private String jobLocation;
|
||||
@@ -69,34 +64,28 @@ public class Job extends BaseEntity
|
||||
@ApiModelProperty("工作地点区县字典代码")
|
||||
private Integer jobLocationAreaCode;
|
||||
|
||||
/** 发布时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@ApiModelProperty("发布时间")
|
||||
private Date postingDate;
|
||||
private String postingDate;
|
||||
|
||||
/** 招聘人数 */
|
||||
@Excel(name = "招聘人数")
|
||||
@ApiModelProperty("招聘人数")
|
||||
private Long vacancies;
|
||||
|
||||
/** 纬度 */
|
||||
@Excel(name = "纬度")
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
|
||||
/** 经度 */
|
||||
@Excel(name = "经度")
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
|
||||
/** 浏览量 */
|
||||
@Excel(name = "浏览量")
|
||||
@ApiModelProperty("浏览量")
|
||||
@TableField("\"VIEW\"")
|
||||
@TableField("\"view\"")
|
||||
private Long view;
|
||||
|
||||
/** 公司id */
|
||||
@Excel(name = "公司id")
|
||||
@ApiModelProperty("公司id")
|
||||
private Long companyId;
|
||||
@@ -120,29 +109,68 @@ public class Job extends BaseEntity
|
||||
@ApiModelProperty("是否收藏 0为否 1为是")
|
||||
private Integer isCollection;
|
||||
|
||||
@ApiModelProperty("工作地点")
|
||||
@ApiModelProperty("岗位描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty("是否发布 0未发布 1发布")
|
||||
private Integer isPublish;
|
||||
|
||||
@ApiModelProperty("数据来源")
|
||||
private String dataSource;
|
||||
@ApiModelProperty("数据来源")
|
||||
|
||||
@ApiModelProperty("岗位链接")
|
||||
private String jobUrl;
|
||||
|
||||
@ApiModelProperty("jobRow对应id")
|
||||
private Long rowId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("公司规模")
|
||||
private String scale;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("行业分类")
|
||||
private String industry;
|
||||
|
||||
@ApiModelProperty("岗位分类")
|
||||
private String jobCategory;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("公司性质")
|
||||
private String companyNature;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("申请时间")
|
||||
private String applyTime;
|
||||
|
||||
@ApiModelProperty("是否有视频介绍")
|
||||
private Integer isExplain;
|
||||
|
||||
@ApiModelProperty("视频介绍URL")
|
||||
private String explainUrl;
|
||||
|
||||
@ApiModelProperty("视频封面URL")
|
||||
private String cover;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("薪酬")
|
||||
private String compensation;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("信用代码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty("岗位类型 0疆内 1疆外")
|
||||
private String jobType;
|
||||
|
||||
@ApiModelProperty("类型 0常规岗位 1就业见习岗位 2实习实训岗位 3社区实践岗位 4零工 对应字段字典position_type")
|
||||
private String type;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("岗位联系人列表")
|
||||
private List<JobContact> jobContactList;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("附件列表")
|
||||
private List<File> filesList;
|
||||
}
|
||||
|
||||
@@ -22,24 +22,22 @@ public class JobApply extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 岗位id */
|
||||
@Excel(name = "岗位id")
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
|
||||
/** App用户id */
|
||||
@Excel(name = "App用户id")
|
||||
@ApiModelProperty("App用户id")
|
||||
private Long userId;
|
||||
|
||||
/** 匹配度 */
|
||||
@Excel(name = "匹配度")
|
||||
@ApiModelProperty("匹配度")
|
||||
private Long matchingDegree;
|
||||
|
||||
@ApiModelProperty("是否录用 0录用 2或null未录用")
|
||||
private String hire;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户岗位收藏对象 job_collection
|
||||
@@ -24,17 +23,14 @@ public class JobCollection extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 岗位id */
|
||||
@Excel(name = "岗位id")
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
|
||||
/** App用户id */
|
||||
@Excel(name = "App用户id")
|
||||
@ApiModelProperty("App用户id")
|
||||
private Long userId;
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 岗位联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("岗位联系人")
|
||||
@TableName("job_contact")
|
||||
public class JobContact extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
/**
|
||||
* 岗位id
|
||||
*/
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
@ApiModelProperty("联系人")
|
||||
private String contactPerson;
|
||||
/**
|
||||
* 联系人电话
|
||||
*/
|
||||
@ApiModelProperty("联系人电话")
|
||||
private String contactPersonPhone;
|
||||
/**
|
||||
* 职务
|
||||
*/
|
||||
@ApiModelProperty("职务")
|
||||
private String position;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@@ -27,56 +28,56 @@ public class JobFair extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 招聘会id */
|
||||
@TableId(value = "job_fair_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("招聘会id")
|
||||
private Long jobFairId;
|
||||
|
||||
/** 招聘会名称 */
|
||||
@Excel(name = "招聘会名称")
|
||||
@ApiModelProperty("招聘会名称")
|
||||
private String name;
|
||||
|
||||
/** 招聘会类型 对应字典 job_fair_type */
|
||||
@Excel(name = "招聘会类型 对应字典 job_fair_type")
|
||||
@ApiModelProperty("招聘会类型 对应字典 job_fair_type")
|
||||
private String jobFairType;
|
||||
|
||||
/** 地点 */
|
||||
@Excel(name = "地点")
|
||||
@ApiModelProperty("地点")
|
||||
private String location;
|
||||
|
||||
/** 纬度 */
|
||||
@Excel(name = "纬度")
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
|
||||
/** 经度 */
|
||||
@Excel(name = "经度")
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
|
||||
@ApiModelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty("地点")
|
||||
private String address;
|
||||
/** 招聘会开始时间 */
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "招聘会开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("招聘会开始时间")
|
||||
private Date startTime;
|
||||
|
||||
/** 招聘会结束时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "招聘会结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("招聘会结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("公司列表")
|
||||
private List<Company> companyList;
|
||||
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty("程序时间")
|
||||
private Date queryDate;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty("是否收藏")
|
||||
public Integer isCollection;
|
||||
}
|
||||
|
||||
@@ -23,17 +23,14 @@ public class JobRecomment extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
/** 岗位id */
|
||||
@Excel(name = "岗位id")
|
||||
@ApiModelProperty("岗位id")
|
||||
private Long jobId;
|
||||
|
||||
/** App用户id */
|
||||
@Excel(name = "App用户id")
|
||||
@ApiModelProperty("App用户id")
|
||||
private Long userId;
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -17,19 +18,34 @@ public class Notice extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** ID */
|
||||
@TableId(value = "notice_id",type = IdType.AUTO)
|
||||
private Long noticeId;
|
||||
/** 公告标题 */
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("副标题")
|
||||
private String subTitle;
|
||||
|
||||
@ApiModelProperty("未读数量")
|
||||
private Integer notReadCount;
|
||||
|
||||
@ApiModelProperty("是否阅读")
|
||||
private Integer isRead;
|
||||
|
||||
@JsonFormat(pattern = "MM-dd")
|
||||
@ApiModelProperty("日期")
|
||||
private Date date;
|
||||
|
||||
@ApiModelProperty("通知类型")
|
||||
private String noticeType;
|
||||
/** 公告内容 */
|
||||
|
||||
@ApiModelProperty("公告内容")
|
||||
private String noticeContent;
|
||||
|
||||
@ApiModelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("业务id")
|
||||
private Long bussinessId;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@Data
|
||||
@TableName(value = "row_work")
|
||||
public class RowWork {
|
||||
|
||||
private String Id;
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 敏感词库
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
@Data
|
||||
@TableName("sensitive_word_data")
|
||||
public class SensitiveWordData extends BaseEntity {
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
/**
|
||||
* 敏感词
|
||||
*/
|
||||
@ExcelProperty(value = "敏感词", index = 0)
|
||||
@ApiModelProperty("敏感词")
|
||||
private String sensitiveWord;
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ExcelProperty(value = "类型", index = 1)
|
||||
@ApiModelProperty("类型")
|
||||
private String type;
|
||||
|
||||
}
|
||||
@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
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;
|
||||
|
||||
@@ -24,8 +22,12 @@ public class Statics extends BaseEntity
|
||||
/** id */
|
||||
@TableId(value = "id",type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ApiModelProperty("时间")
|
||||
private String time;
|
||||
@ApiModelProperty("类型")
|
||||
private String type;
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
@ApiModelProperty("数据")
|
||||
private String data;
|
||||
}
|
||||
|
||||
@@ -25,12 +25,10 @@ public class SubwayLine extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "line_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long lineId;
|
||||
|
||||
/** 线路名称 */
|
||||
@Excel(name = "线路名称")
|
||||
@ApiModelProperty("线路名称")
|
||||
private String lineName;
|
||||
|
||||
@@ -23,37 +23,34 @@ public class SubwayStation extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** id */
|
||||
@TableId(value = "station_id",type = IdType.AUTO)
|
||||
@ApiModelProperty("id")
|
||||
private Long stationId;
|
||||
|
||||
/** 地铁名称 */
|
||||
@Excel(name = "地铁名称")
|
||||
@ApiModelProperty("地铁名称")
|
||||
private String stationName;
|
||||
|
||||
/** 所属线路名称 */
|
||||
@Excel(name = "所属线路名称")
|
||||
@ApiModelProperty("所属线路名称")
|
||||
private String lineName;
|
||||
|
||||
/** 线路id */
|
||||
@Excel(name = "线路id")
|
||||
@ApiModelProperty("线路id")
|
||||
private Long lineId;
|
||||
|
||||
/** 纬度 */
|
||||
@Excel(name = "纬度")
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
|
||||
/** 经度 */
|
||||
@Excel(name = "经度")
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer stationOrder;
|
||||
|
||||
@ApiModelProperty("地址")
|
||||
private String address;
|
||||
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ public class ESJobSearch extends Job
|
||||
|
||||
private String radius;
|
||||
|
||||
@ApiModelProperty("排序方式 0:推荐 1:最热 2:最新发布")
|
||||
@ApiModelProperty("排序方式 0:推荐 1:最热 2:最新发布 3:最大薪资")
|
||||
private Integer order;
|
||||
|
||||
//商圈id
|
||||
@@ -51,6 +51,7 @@ public class ESJobSearch extends Job
|
||||
private String salaryDictCode;
|
||||
|
||||
private String scaleDictCode;
|
||||
|
||||
private String area;
|
||||
|
||||
}
|
||||
|
||||
@@ -194,29 +194,5 @@ public class Staticsquery {
|
||||
return Integer.compare(this.quarter, other.quarter);
|
||||
}
|
||||
}
|
||||
// public static void main(String[] args) {
|
||||
// // Month example
|
||||
// Staticsquery monthQuery = new Staticsquery();
|
||||
// monthQuery.setTimeDimension("月");
|
||||
// monthQuery.setStartTime("2024-01");
|
||||
// monthQuery.setEndTime("2024-04");
|
||||
// System.out.println(monthQuery.generateTimeRange());
|
||||
// // Output: [2024-01, 2024-02, 2024-03, 2024-04]
|
||||
//
|
||||
// // Quarter example
|
||||
// Staticsquery quarterQuery = new Staticsquery();
|
||||
// quarterQuery.setTimeDimension("季度");
|
||||
// quarterQuery.setStartTime("2023-第四季度");
|
||||
// quarterQuery.setEndTime("2024-第二季度");
|
||||
// System.out.println(quarterQuery.generateTimeRange());
|
||||
// // Output: [2023-第4季度, 2024-第1季度, 2024-第2季度]
|
||||
//
|
||||
// // Year example
|
||||
// Staticsquery yearQuery = new Staticsquery();
|
||||
// yearQuery.setTimeDimension("年");
|
||||
// yearQuery.setStartTime("2020");
|
||||
// yearQuery.setEndTime("2024");
|
||||
// System.out.println(yearQuery.generateTimeRange());
|
||||
// // Output: [2020, 2021, 2022, 2023, 2024]
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.ruoyi.cms.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -11,4 +12,10 @@ public class CandidateVO extends AppUser {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date applyDate;
|
||||
private Integer matchingDegree;
|
||||
private String applyId;
|
||||
|
||||
@Excel(name = "公司名称", sort = 0)
|
||||
private String companyName;
|
||||
@Excel(name = "岗位名称", sort = 1)
|
||||
private String jobName;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.common.core.domain.entity.AppSkill;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户技能信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-21 12:22:09
|
||||
*/
|
||||
public interface AppSkillMapper extends BaseMapper<AppSkill> {
|
||||
|
||||
List<AppSkill> getList(AppSkill appSkill);
|
||||
|
||||
int batchInsert(List<AppSkill> list);
|
||||
}
|
||||
@@ -2,7 +2,10 @@ package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
|
||||
/**
|
||||
* APP用户Mapper接口
|
||||
@@ -20,4 +23,10 @@ public interface AppUserMapper extends BaseMapper<AppUser>
|
||||
public List<AppUser> selectAppUserList(AppUser appUser);
|
||||
|
||||
List<AppUser> selectByJobId(Long jobId);
|
||||
|
||||
AppUser selectByOpenid(String openid);
|
||||
|
||||
int insertSysUserRole(Map<String,Object> map);
|
||||
|
||||
int insertSysUser(SysUser sysUser);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.ruoyi.cms.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.CompanyCollection;
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 公司联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
public interface CompanyContactMapper extends BaseMapper<CompanyContact> {
|
||||
|
||||
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
||||
|
||||
int batchInsert(List<CompanyContact> list);
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@@ -25,4 +25,6 @@ public interface CompanyMapper extends BaseMapper<Company>
|
||||
void updateJobCountOfCompany();
|
||||
|
||||
List<Company> label(@Param("companyNature") String companyNature, @Param("targ")String targ,@Param("companyName")String companyName);
|
||||
|
||||
List<Company> selectLikeCompanyList(Company company);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.EmployeeConfirm;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 新入职员工确认信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
public interface EmployeeConfirmMapper extends BaseMapper<EmployeeConfirm> {
|
||||
|
||||
List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm);
|
||||
}
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
|
||||
/**
|
||||
* 岗位申请Mapper接口
|
||||
@@ -26,4 +29,10 @@ public interface JobApplyMapper extends BaseMapper<JobApply>
|
||||
List<Job> applyJob(Long userId);
|
||||
|
||||
List<CandidateVO> candidates(Long jobId);
|
||||
|
||||
HashMap<String,Integer> trendChart(JobApply jobApply);
|
||||
|
||||
List<CandidateVO> selectAppUserList(Job job);
|
||||
|
||||
List<CandidateVO> selectApplyJobUserList(AppUser appUser);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.JobContact;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
public interface JobContactMapper extends BaseMapper<JobContact> {
|
||||
|
||||
List<JobContact> getSelectList(JobContact jobContact);
|
||||
|
||||
int batchInsert(List<JobContact> list);
|
||||
}
|
||||
@@ -4,13 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.RowWork;
|
||||
import com.ruoyi.cms.domain.VectorJob;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
/**
|
||||
* 岗位Mapper接口
|
||||
@@ -50,4 +49,6 @@ public interface JobMapper extends BaseMapper<Job>
|
||||
void insertBatchRowWorkTmp(List<RowWork> batchList);
|
||||
|
||||
VectorJob selectVectorJob(Long jobId);
|
||||
|
||||
List<AppUser> selectApplyJobUserList(Long jobId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.SensitiveWordData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 敏感词库
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
public interface SensitiveWordDataMapper extends BaseMapper<SensitiveWordData> {
|
||||
|
||||
List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveWordData);
|
||||
|
||||
int batchInsert(List<SensitiveWordData> list);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.common.core.domain.entity.UserWorkExperiences;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户工作经历表
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 16:26:26
|
||||
*/
|
||||
public interface UserWorkExperiencesMapper extends BaseMapper<UserWorkExperiences> {
|
||||
|
||||
List<UserWorkExperiences> getWorkExperiencesList(UserWorkExperiences userWorkExperiences);
|
||||
|
||||
int batchInsert(List<UserWorkExperiences> list);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.AppSkill;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户技能信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-21 12:22:09
|
||||
*/
|
||||
public interface AppSkillService{
|
||||
|
||||
List<AppSkill> getList(AppSkill appSkill);
|
||||
|
||||
int insertAppskill(AppSkill appSkill);
|
||||
|
||||
int updateAppskillById(AppSkill appSkill);
|
||||
|
||||
int removeAppskillIds(Long[] ids);
|
||||
|
||||
AppSkill getAppskillById(Long id);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 公司联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
public interface CompanyContactService {
|
||||
|
||||
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.cms.domain.EmployeeConfirm;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新入职员工确认信息
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
public interface EmployeeConfirmService {
|
||||
|
||||
List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm);
|
||||
|
||||
int insertEmployeeConfirm(EmployeeConfirm employeeConfirm);
|
||||
|
||||
int updateEmployeeConfirm(EmployeeConfirm employeeConfirm);
|
||||
|
||||
int deleteEmployeeConfirmIds(Long[] ids);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
|
||||
/**
|
||||
* APP用户Service接口
|
||||
@@ -51,4 +52,9 @@ public interface IAppUserService
|
||||
*/
|
||||
public int deleteAppUserByUserIds(Long[] userIds);
|
||||
|
||||
public AppUser getPhone(String phone);
|
||||
|
||||
AppUser selectByOpenid(String openid);
|
||||
|
||||
public AppUser registerAppUser(RegisterBody registerBody);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.ruoyi.cms.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.CompanyCollection;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.CompanyCard;
|
||||
import com.ruoyi.cms.domain.query.LabelQuery;
|
||||
import com.ruoyi.common.core.page.PageDomain;
|
||||
|
||||
/**
|
||||
* 公司Service接口
|
||||
@@ -68,4 +67,16 @@ public interface ICompanyService
|
||||
void importLabel();
|
||||
|
||||
void importLabelBank();
|
||||
|
||||
void register(Company company);
|
||||
|
||||
Company registerStatus();
|
||||
|
||||
List<Company> approvalList(Company company);
|
||||
|
||||
Company approval(Company company);
|
||||
|
||||
Company queryCodeCompany(String code);
|
||||
|
||||
List<Company> selectLikeCompanyList(Company company);
|
||||
}
|
||||
|
||||
@@ -63,4 +63,10 @@ public interface IESJobSearchService
|
||||
ESJobDocument selectById(Long jobId);
|
||||
|
||||
void fix();
|
||||
|
||||
void updateJob(Long jobId);
|
||||
|
||||
void deleteJob(Long jobId);
|
||||
|
||||
List<ESJobDocument> selectByIds(Long[] jobIds);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.cms.domain.FairCollection;
|
||||
import com.ruoyi.cms.domain.JobFair;
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ import java.util.List;
|
||||
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
|
||||
/**
|
||||
* 岗位申请Service接口
|
||||
@@ -57,4 +59,10 @@ public interface IJobApplyService
|
||||
List<Job> applyJob();
|
||||
|
||||
HashMap<String, Integer> statistics();
|
||||
|
||||
HashMap<String,Integer> trendChart(JobApply jobApply);
|
||||
|
||||
List<CandidateVO> selectAppUserList(Job job);
|
||||
|
||||
List<CandidateVO> selectApplyJobUserList(AppUser appUser);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.cms.util.AppWechatEntity;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||
|
||||
/**
|
||||
@@ -88,4 +89,7 @@ public interface IJobService
|
||||
|
||||
List<ESJobDocument> littleVideoRandom(String uuid, Integer count,String jobTitle);
|
||||
|
||||
void publishJob(Job job);
|
||||
|
||||
List<AppUser> selectApplyJobUserList(Long jobId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.cms.domain.JobContact;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 岗位联系人
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-09-30 15:57:06
|
||||
*/
|
||||
public interface JobContactService{
|
||||
|
||||
List<JobContact> getSelectList(JobContact jobContact);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.cms.domain.SensitiveWordData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 敏感词库
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 10:42:16
|
||||
*/
|
||||
public interface SensitiveWordDataService {
|
||||
|
||||
List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveworddata);
|
||||
|
||||
SensitiveWordData selectById(Long id);
|
||||
|
||||
int insertSensitiveworddata(SensitiveWordData sensitiveWordData);
|
||||
|
||||
int updateSensitiveworddata(SensitiveWordData sensitiveWordData);
|
||||
|
||||
int deleteSensitiveworddataIds(Long[] ids);
|
||||
|
||||
int batchInsert(List<SensitiveWordData> list);
|
||||
}
|
||||
|
||||
@@ -23,4 +23,8 @@ public interface StaticsqueryService {
|
||||
void educationGen();
|
||||
|
||||
Map<String, Object> education(Staticsquery staticsquery);
|
||||
|
||||
void educationSalaryGen();
|
||||
|
||||
Map<String, Object> educationSalary(Staticsquery staticsquery);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.ruoyi.cms.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.UserWorkExperiences;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户工作经历表
|
||||
*
|
||||
* @author
|
||||
* @email
|
||||
* @date 2025-10-10 16:26:26
|
||||
*/
|
||||
public interface UserWorkExperiencesService {
|
||||
|
||||
List<UserWorkExperiences> getWorkExperiencesList(UserWorkExperiences userWorkExperiences);
|
||||
|
||||
int insertWorkExperiences(UserWorkExperiences userWorkExperiences);
|
||||
|
||||
int updateWorkExperiencesById(UserWorkExperiences userWorkExperiences);
|
||||
|
||||
int deleteWorkExperiencesIds(Long[] ids);
|
||||
|
||||
UserWorkExperiences getWorkExperiencesById(Long id);
|
||||
}
|
||||
|
||||
@@ -6,11 +6,11 @@ import com.ruoyi.cms.domain.*;
|
||||
import com.ruoyi.cms.mapper.*;
|
||||
import com.ruoyi.cms.service.IAppNoticeService;
|
||||
import com.ruoyi.cms.util.StringUtil;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -154,14 +154,14 @@ public class AppNoticeServiceImpl implements IAppNoticeService
|
||||
@Override
|
||||
public List<Notice> listNotRead(Integer isRead) {
|
||||
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<Notice> sysNoticeList = noticeInfoMapper.selectList(Wrappers.<Notice>lambdaQuery().eq(Notice::getUserId, userId).eq(Notice::getRemark,"notice_bar").orderByDesc(Notice::getCreateTime));
|
||||
return sysNoticeList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Job> recommend(String jobTitle) {
|
||||
return appNoticeMapper.recommend(jobTitle,SecurityUtils.getUserId());
|
||||
return appNoticeMapper.recommend(jobTitle,SiteSecurityUtils.getUserId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -172,7 +172,7 @@ public class AppNoticeServiceImpl implements IAppNoticeService
|
||||
notice.setIsRead(1);
|
||||
noticeInfoMapper.updateById(notice);
|
||||
});
|
||||
List<Notice> notices1 = noticeInfoMapper.selectList(Wrappers.<Notice>lambdaQuery().eq(Notice::getUserId, SecurityUtils.getUserId()).eq(Notice::getRemark, "notice_bar").eq(Notice::getTitle, "系统通知").orderByDesc(Notice::getCreateTime).last("limit 1"));
|
||||
List<Notice> notices1 = noticeInfoMapper.selectList(Wrappers.<Notice>lambdaQuery().eq(Notice::getUserId, SiteSecurityUtils.getUserId()).eq(Notice::getRemark, "notice_bar").eq(Notice::getTitle, "系统通知").orderByDesc(Notice::getCreateTime).last("limit 1"));
|
||||
Notice notice = notices1.get(0);
|
||||
notice.setNotReadCount(notice.getNotReadCount() - longs.size());
|
||||
if(notice.getNotReadCount()==0){
|
||||
@@ -194,7 +194,7 @@ public class AppNoticeServiceImpl implements IAppNoticeService
|
||||
|
||||
@Override
|
||||
public List<Notice> sysNoticeList() {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<Notice> sysNoticeList = noticeInfoMapper.selectList(Wrappers.<Notice>lambdaQuery().eq(Notice::getUserId, userId).isNotNull(Notice::getNoticeType).notIn(Notice::getNoticeType,"").orderByDesc(Notice::getCreateTime));
|
||||
return sysNoticeList;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.query.MineJobQuery;
|
||||
import com.ruoyi.cms.mapper.AppReviewJobMapper;
|
||||
import com.ruoyi.cms.service.IAppReviewJobService;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -91,13 +91,13 @@ public class AppReviewJobServiceImpl extends ServiceImpl<AppReviewJobMapper, App
|
||||
|
||||
@Override
|
||||
public List<Job> review(MineJobQuery jobQuery) {
|
||||
List<Job> jobs = appReviewJobMapper.review(SecurityUtils.getUserId(),jobQuery);
|
||||
List<Job> jobs = appReviewJobMapper.review(SiteSecurityUtils.getUserId(),jobQuery);
|
||||
return jobs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> reviewArray() {
|
||||
List<AppReviewJob> appReviewJobs = appReviewJobMapper.reviewArray(SecurityUtils.getUserId());
|
||||
List<AppReviewJob> appReviewJobs = appReviewJobMapper.reviewArray(SiteSecurityUtils.getUserId());
|
||||
return appReviewJobs.stream().map(x -> formatter.format(x.getReviewDate())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.cms.mapper.AppSkillMapper;
|
||||
import com.ruoyi.cms.service.AppSkillService;
|
||||
import com.ruoyi.common.core.domain.entity.AppSkill;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
|
||||
@Service
|
||||
public class AppSkillServiceImpl extends ServiceImpl<AppSkillMapper, AppSkill> implements AppSkillService {
|
||||
|
||||
@Autowired
|
||||
AppSkillMapper appSkillMapper;
|
||||
|
||||
public List<AppSkill> getList(AppSkill appSkill){
|
||||
return appSkillMapper.getList(appSkill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertAppskill(AppSkill appSkill) {
|
||||
return appSkillMapper.insert(appSkill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateAppskillById(AppSkill appSkill) {
|
||||
return appSkillMapper.updateById(appSkill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int removeAppskillIds(Long[] ids) {
|
||||
return appSkillMapper.deleteBatchIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppSkill getAppskillById(Long id) {
|
||||
return appSkillMapper.selectById(id);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,23 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.mapper.JobMapper;
|
||||
import com.ruoyi.cms.mapper.JobTitleMapper;
|
||||
import com.ruoyi.common.core.domain.entity.JobTitle;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.cms.mapper.*;
|
||||
import com.ruoyi.cms.util.StringUtil;
|
||||
import com.ruoyi.common.core.domain.entity.*;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.cms.mapper.AppUserMapper;
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.cms.service.IAppUserService;
|
||||
|
||||
/**
|
||||
@@ -29,6 +33,14 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
private AppUserMapper appUserMapper;
|
||||
@Autowired
|
||||
private JobTitleMapper jobTitleMapper;
|
||||
@Autowired
|
||||
private CompanyContactMapper companyContactMapper;
|
||||
@Autowired
|
||||
private UserWorkExperiencesMapper userWorkExperiencesMapper;
|
||||
@Autowired
|
||||
private AppSkillMapper appSkillMapper;
|
||||
@Autowired
|
||||
private CompanyMapper companyMapper;
|
||||
/**
|
||||
* 查询APP用户
|
||||
*
|
||||
@@ -45,6 +57,22 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
List<JobTitle> jobs = jobTitleMapper.selectBatchIds(collect);
|
||||
appUser.setJobTitle(jobs.stream().map(JobTitle::getJobName).collect(Collectors.toList()));
|
||||
}
|
||||
//查询企业信息
|
||||
if("0".equals(appUser.getIsCompanyUser())){
|
||||
Company company=companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getCode, appUser.getIdCard()).orderByDesc(Company::getUpdateTime).last("LIMIT 1"));
|
||||
appUser.setCompany(company);
|
||||
if(company!=null){
|
||||
CompanyContact contact=new CompanyContact();
|
||||
contact.setCompanyId(company.getCompanyId());
|
||||
List<CompanyContact> companyContactList=companyContactMapper.getSelectList(contact);
|
||||
company.setCompanyContactList(companyContactList);
|
||||
}
|
||||
}else if("1".equals(appUser.getIsCompanyUser())){
|
||||
UserWorkExperiences workExperiences=new UserWorkExperiences();
|
||||
workExperiences.setUserId(appUser.getUserId());
|
||||
List<UserWorkExperiences> experiences =userWorkExperiencesMapper.getWorkExperiencesList(workExperiences);
|
||||
appUser.setExperiencesList(experiences);
|
||||
}
|
||||
return appUser;
|
||||
}
|
||||
|
||||
@@ -57,7 +85,14 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
@Override
|
||||
public List<AppUser> selectAppUserList(AppUser appUser)
|
||||
{
|
||||
return appUserMapper.selectAppUserList(appUser);
|
||||
List<AppUser> list=appUserMapper.selectAppUserList(appUser);
|
||||
if(list!=null){
|
||||
//身份证脱敏处理
|
||||
list.forEach(x->{
|
||||
x.setIdCard(StringUtil.desensitizeIdCard(x.getIdCard()));
|
||||
});
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,4 +131,83 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
||||
return appUserMapper.deleteBatchIds(Arrays.asList(userIds));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppUser getPhone(String phone) {
|
||||
return appUserMapper.selectOne(new LambdaQueryWrapper<AppUser>()
|
||||
.eq(AppUser::getPhone, phone));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppUser selectByOpenid(String openid) {
|
||||
return appUserMapper.selectByOpenid(openid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppUser registerAppUser(RegisterBody registerBody) {
|
||||
AppUser appUser=registerBody.getAppUser();
|
||||
System.out.println("userId================"+SiteSecurityUtils.getUserId());
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
AppUser appUserResult=appUserMapper.selectById(SiteSecurityUtils.getUserId());
|
||||
if(appUser==null){
|
||||
appUser=appUserResult;
|
||||
}else{
|
||||
appUser.setPhone(appUserResult.getPhone());
|
||||
appUser.setUserId(appUserResult.getUserId());
|
||||
}
|
||||
}
|
||||
//角色集合
|
||||
Map mapUserRole=new HashMap<>();
|
||||
switch (appUser.getIsCompanyUser()){
|
||||
case "0"://企业
|
||||
if(registerBody.getCompany()!=null){
|
||||
Company company=registerBody.getCompany();
|
||||
Long companyId=company.getCompanyId();
|
||||
if(companyId==null){
|
||||
companyMapper.insert(registerBody.getCompany());
|
||||
registerBody.getCompany().getCompanyContactList().forEach(it->{
|
||||
it.setCompanyId(registerBody.getCompany().getCompanyId());
|
||||
});
|
||||
}
|
||||
if(registerBody.getCompany().getCompanyContactList()!=null){
|
||||
companyContactMapper.batchInsert(registerBody.getCompany().getCompanyContactList());
|
||||
}
|
||||
//保存app_user信息
|
||||
appUser.setIdCard(company.getCode());
|
||||
appUser.setName(company.getName());
|
||||
}
|
||||
mapUserRole.put("roleId",100);
|
||||
break;
|
||||
default://求职者
|
||||
if(registerBody.getExperiencesList()!=null){
|
||||
registerBody.getExperiencesList().forEach(it->{
|
||||
it.setUserId(SiteSecurityUtils.getUserId());
|
||||
});
|
||||
userWorkExperiencesMapper.batchInsert(registerBody.getExperiencesList());
|
||||
}
|
||||
if(registerBody.getAppSkillsList()!=null){
|
||||
registerBody.getAppSkillsList().forEach(it->{
|
||||
it.setUserId(SiteSecurityUtils.getUserId());
|
||||
});
|
||||
appSkillMapper.batchInsert(registerBody.getAppSkillsList());
|
||||
}
|
||||
mapUserRole.put("roleId",1);
|
||||
}
|
||||
//保存sys_user
|
||||
SysUser sysUser=new SysUser();
|
||||
sysUser.setUserName(appUser.getPhone());
|
||||
sysUser.setNickName(StringUtils.isEmpty(appUser.getName())?appUser.getPhone():appUser.getName());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword("123456"));
|
||||
sysUser.setPhonenumber(appUser.getPhone());
|
||||
sysUser.setSex(appUser.getSex());
|
||||
sysUser.setStatus("0");
|
||||
sysUser.setLoginIp(appUser.getLoginIp());
|
||||
sysUser.setLoginDate(appUser.getLoginDate());
|
||||
sysUser.setIdCard(appUser.getIdCard());
|
||||
appUserMapper.insertSysUser(sysUser);
|
||||
//保存sys_user_role
|
||||
mapUserRole.put("userId",appUser.getUserId());
|
||||
appUserMapper.insertSysUserRole(mapUserRole);
|
||||
appUserMapper.updateById(appUser);
|
||||
return appUser;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import com.ruoyi.cms.domain.CompanyCardCollection;
|
||||
import com.ruoyi.cms.domain.vo.CompanyCardVO;
|
||||
import com.ruoyi.cms.mapper.CompanyCardCollectionMapper;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -100,9 +100,9 @@ public class CompanyCardServiceImpl extends ServiceImpl<CompanyCardMapper,Compan
|
||||
CompanyCard companyCard = new CompanyCard();
|
||||
companyCard.setStatus(1);
|
||||
List<CompanyCardVO> companyCards = companyCardMapper.selectCompanyCardListVO(companyCard);
|
||||
if(SecurityUtils.isLogin()){
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
CompanyCardCollection companyCardCollection = new CompanyCardCollection();
|
||||
companyCardCollection.setUserId(SecurityUtils.getUserId());
|
||||
companyCardCollection.setUserId(SiteSecurityUtils.getUserId());
|
||||
List<CompanyCardCollection> companyCardCollections = companyCardCollectionMapper.selectCompanyCardCollectionList(companyCardCollection);
|
||||
for (CompanyCardVO item:companyCards){
|
||||
for(CompanyCardCollection collection:companyCardCollections){
|
||||
@@ -119,7 +119,7 @@ public class CompanyCardServiceImpl extends ServiceImpl<CompanyCardMapper,Compan
|
||||
public void cardCollection(Long companyCardId) {
|
||||
CompanyCardCollection companyCardCollection = new CompanyCardCollection();
|
||||
companyCardCollection.setCompanyCardId(companyCardId);
|
||||
companyCardCollection.setUserId(SecurityUtils.getUserId());
|
||||
companyCardCollection.setUserId(SiteSecurityUtils.getUserId());
|
||||
companyCardCollectionService.save(companyCardCollection);
|
||||
}
|
||||
|
||||
@@ -127,8 +127,8 @@ public class CompanyCardServiceImpl extends ServiceImpl<CompanyCardMapper,Compan
|
||||
public void cardCancel(Long companyCardId) {
|
||||
CompanyCardCollection companyCardCollection = new CompanyCardCollection();
|
||||
companyCardCollection.setCompanyCardId(companyCardId);
|
||||
companyCardCollection.setUserId(SecurityUtils.getUserId());
|
||||
List<CompanyCardCollection> companyCardCollections = companyCardCollectionMapper.selectList(Wrappers.<CompanyCardCollection>lambdaQuery().eq(CompanyCardCollection::getCompanyCardId, companyCardId).eq(CompanyCardCollection::getUserId, SecurityUtils.getUserId()));
|
||||
companyCardCollection.setUserId(SiteSecurityUtils.getUserId());
|
||||
List<CompanyCardCollection> companyCardCollections = companyCardCollectionMapper.selectList(Wrappers.<CompanyCardCollection>lambdaQuery().eq(CompanyCardCollection::getCompanyCardId, companyCardId).eq(CompanyCardCollection::getUserId, SiteSecurityUtils.getUserId()));
|
||||
companyCardCollectionMapper.deleteBatchIds(companyCardCollections.stream().map(CompanyCardCollection::getCompanyCardCollectionId).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,10 @@ import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.cms.domain.Company;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.mapper.JobMapper;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -93,7 +93,7 @@ public class CompanyCollectionServiceImpl extends ServiceImpl<CompanyCollectionM
|
||||
*/
|
||||
@Override
|
||||
public int companyCancel(Long companyId) {
|
||||
List<CompanyCollection> companyCollections = companyCollectionMapper.selectList(Wrappers.<CompanyCollection>lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, SecurityUtils.getUserId()));
|
||||
List<CompanyCollection> companyCollections = companyCollectionMapper.selectList(Wrappers.<CompanyCollection>lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, SiteSecurityUtils.getUserId()));
|
||||
if(companyCollections.size()>0){
|
||||
companyCollectionMapper.deleteBatchIds(companyCollections.stream().map(CompanyCollection::getId).collect(Collectors.toList()));
|
||||
}
|
||||
@@ -104,7 +104,7 @@ public class CompanyCollectionServiceImpl extends ServiceImpl<CompanyCollectionM
|
||||
*/
|
||||
@Override
|
||||
public int companyCollection(Long companyId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<CompanyCollection> companyCollections = companyCollectionMapper.selectList(Wrappers.<CompanyCollection>lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, userId));
|
||||
if(companyCollections.size()>0){
|
||||
companyCollectionMapper.deleteBatchIds(companyCollections.stream().map(CompanyCollection::getId).collect(Collectors.toList()));
|
||||
@@ -118,7 +118,7 @@ public class CompanyCollectionServiceImpl extends ServiceImpl<CompanyCollectionM
|
||||
|
||||
@Override
|
||||
public List<Company> collectionCompany() {
|
||||
List<Company> companies = companyCollectionMapper.collectionJob(SecurityUtils.getUserId());
|
||||
List<Company> companies = companyCollectionMapper.collectionJob(SiteSecurityUtils.getUserId());
|
||||
return companies;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||
import com.ruoyi.cms.mapper.CompanyContactMapper;
|
||||
import com.ruoyi.cms.service.CompanyContactService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
|
||||
|
||||
@Service
|
||||
public class CompanyContactServiceImpl extends ServiceImpl<CompanyContactMapper, CompanyContact> implements CompanyContactService {
|
||||
|
||||
@Autowired
|
||||
CompanyContactMapper companyContactMapper;
|
||||
|
||||
public List<CompanyContact> getSelectList(CompanyContact companyContact){
|
||||
return companyContactMapper.getSelectList(companyContact);
|
||||
}
|
||||
}
|
||||
@@ -3,20 +3,21 @@ package com.ruoyi.cms.service.impl;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.*;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.ruoyi.cms.domain.*;
|
||||
import com.ruoyi.cms.domain.query.LabelQuery;
|
||||
import com.ruoyi.cms.mapper.*;
|
||||
import com.ruoyi.cms.service.ICompanyCollectionService;
|
||||
import com.ruoyi.common.core.page.PageDomain;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||
import com.ruoyi.common.core.domain.model.LoginSiteUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
@@ -34,7 +35,7 @@ import com.ruoyi.cms.service.ICompanyService;
|
||||
* @date 2024-09-04
|
||||
*/
|
||||
@Service
|
||||
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> implements ICompanyService
|
||||
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService
|
||||
{
|
||||
@Autowired
|
||||
private CompanyMapper companyMapper;
|
||||
@@ -46,6 +47,8 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
private CompanyCardMapper companyCardMapper;
|
||||
@Autowired
|
||||
private CompanyLabelMapper companyLabelMapper;
|
||||
@Autowired
|
||||
private CompanyContactMapper companyContactMapper;
|
||||
/**
|
||||
* 查询公司
|
||||
*
|
||||
@@ -56,11 +59,23 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
public Company selectCompanyByCompanyId(Long companyId)
|
||||
{
|
||||
Company company = companyMapper.selectById(companyId);
|
||||
if(SecurityUtils.isLogin()){
|
||||
Long l = companyCollectionMapper.selectCount(Wrappers.<CompanyCollection>lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, SecurityUtils.getUserId()));
|
||||
company.setIsCollection(l>0?1:0);
|
||||
}else {
|
||||
company.setIsCollection(0);
|
||||
Long userId=null;
|
||||
try {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
userId = loginUser.getUserId();
|
||||
}catch (Exception ignored){
|
||||
LoginSiteUser siteUser = SiteSecurityUtils.getLoginSiteUser();
|
||||
userId = siteUser.getUserId();
|
||||
}
|
||||
//收藏
|
||||
Long l = companyCollectionMapper.selectCount(Wrappers.<CompanyCollection>lambdaQuery().eq(CompanyCollection::getCompanyId, companyId).eq(CompanyCollection::getUserId, userId));
|
||||
company.setIsCollection(l>0?1:0);
|
||||
//联系人
|
||||
CompanyContact contact=new CompanyContact();
|
||||
contact.setCompanyId(company.getCompanyId());
|
||||
List<CompanyContact> contacts=companyContactMapper.getSelectList(contact);
|
||||
if(contacts!=null){
|
||||
company.setCompanyContactList(contacts);
|
||||
}
|
||||
return company;
|
||||
}
|
||||
@@ -90,7 +105,16 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
if(count>0){
|
||||
throw new ServiceException(company.getName()+",该公司已存在");
|
||||
}
|
||||
return companyMapper.insert(company);
|
||||
int insert =companyMapper.insert(company);
|
||||
if(insert>0){
|
||||
company.getCompanyContactList().forEach(x->{
|
||||
CompanyContact companyContact=new CompanyContact();
|
||||
BeanUtils.copyProperties(x,companyContact);
|
||||
companyContact.setCompanyId(company.getCompanyId());
|
||||
companyContactMapper.insert(companyContact);
|
||||
});
|
||||
}
|
||||
return insert;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,7 +130,19 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
if(count>1){
|
||||
throw new ServiceException(company.getName()+",该公司已存在");
|
||||
}
|
||||
return companyMapper.updateById(company);
|
||||
int i=companyMapper.updateById(company);
|
||||
if(i>0){
|
||||
companyContactMapper.update(null,Wrappers.<CompanyContact>lambdaUpdate()
|
||||
.eq(CompanyContact::getCompanyId, company.getCompanyId())
|
||||
.set(CompanyContact::getDelFlag, Constants.Del_FLAG_DELETE));
|
||||
if(Objects.isNull(company.getCompanyContactList())){return i;}
|
||||
company.getCompanyContactList().forEach(x -> {
|
||||
CompanyContact companyContact = new CompanyContact();
|
||||
companyContact.setCompanyId(company.getCompanyId());
|
||||
companyContactMapper.insert(companyContact);
|
||||
});
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,7 +159,13 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
if(aLong>0){
|
||||
throw new ServiceException("该公司下存在职位,不能删除");
|
||||
}
|
||||
return companyMapper.deleteBatchIds(Arrays.asList(companyIds));
|
||||
int i=companyMapper.deleteBatchIds(Arrays.asList(companyIds));
|
||||
if(i>0){
|
||||
companyContactMapper.update(null,Wrappers.<CompanyContact>lambdaUpdate()
|
||||
.in(CompanyContact::getCompanyId, Arrays.asList(companyIds))
|
||||
.set(CompanyContact::getDelFlag, Constants.Del_FLAG_DELETE));
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,4 +257,58 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper,Company> imple
|
||||
companyLabelMapper.insert(label);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Company company) {
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
company.setUserId(userId);
|
||||
if(companyMapper.selectCount(Wrappers.<Company>lambdaQuery().eq(Company::getName, company.getName()).in(Company::getStatus,Arrays.asList(0,1)))>0){
|
||||
throw new ServiceException(company.getName()+"已经存在");
|
||||
}
|
||||
company.setStatus(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Company registerStatus() {
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
Company company = companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUserId, userId).orderByDesc(Company::getUpdateTime));
|
||||
return company;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Company> approvalList(Company company) {
|
||||
return companyMapper.selectList(Wrappers.<Company>lambdaQuery().eq(Company::getName, company.getName()).in(Company::getStatus, Arrays.asList(0, 1, 2)).orderByAsc(Company::getStatus).orderByDesc(Company::getCreateTime));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Company approval(Company company) {
|
||||
Company company1 = companyMapper.selectById(company.getCompanyId());
|
||||
if(company1==null){
|
||||
throw new ServiceException("企业不存在");
|
||||
}
|
||||
if(company1.getStatus()!=null){
|
||||
if(company1.getStatus()!=0){
|
||||
throw new ServiceException("企业已审核");
|
||||
}
|
||||
}
|
||||
companyMapper.updateById(company);
|
||||
//创建账号
|
||||
return company1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Company queryCodeCompany(String code) {
|
||||
Company companyResult = companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getCode, code).orderByDesc(Company::getUpdateTime).last("LIMIT 1"));
|
||||
if(companyResult!=null){
|
||||
CompanyContact contact=new CompanyContact();
|
||||
contact.setCompanyId(companyResult.getCompanyId());
|
||||
List<CompanyContact> contacts=companyContactMapper.getSelectList(contact);
|
||||
}
|
||||
return companyResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Company> selectLikeCompanyList(Company company) {
|
||||
return companyMapper.selectLikeCompanyList(company);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.cms.domain.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.cms.domain.ESJobDocument;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import com.ruoyi.cms.mapper.es.EsJobDocumentMapper;
|
||||
import com.ruoyi.cms.mapper.JobMapper;
|
||||
import com.ruoyi.cms.service.IESJobSearchService;
|
||||
import com.ruoyi.cms.util.Base64Util;
|
||||
import com.ruoyi.cms.util.ListUtil;
|
||||
import com.ruoyi.cms.util.StringUtil;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||
import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
|
||||
@@ -140,8 +138,8 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
ESJobSearch newSearch = new ESJobSearch();
|
||||
BeanUtils.copyProperties(esJobSearch,newSearch);
|
||||
//查询
|
||||
if(SecurityUtils.isLogin()){
|
||||
AppUser appUser = appUserService.selectAppUserByUserId(SecurityUtils.getUserId());
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
AppUser appUser = appUserService.selectAppUserByUserId(SiteSecurityUtils.getUserId());
|
||||
if(!ListUtil.isEmptyOrNull(appUser.getJobTitle())){
|
||||
List<String> jobTitle = appUser.getJobTitle();
|
||||
newSearch.setJobTitle(String.join(",", jobTitle));
|
||||
@@ -174,6 +172,21 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
if(!StringUtil.isEmptyOrNull(appUser.getSalaryMin())){
|
||||
newSearch.setMinSalary(Long.valueOf(appUser.getSalaryMin()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getJobType())){
|
||||
newSearch.setJobType(esJobSearch.getJobType());
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getType())){
|
||||
newSearch.setType(esJobSearch.getType());
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getDescription())){
|
||||
newSearch.setDescription(esJobSearch.getDescription());
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getCompanyNature())){
|
||||
newSearch.setCompanyNature(esJobSearch.getCompanyNature());
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getCode())){
|
||||
newSearch.setCode(esJobSearch.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
LambdaEsQueryWrapper<ESJobDocument> wrapper = getWrapper(newSearch,jobIds);
|
||||
@@ -395,6 +408,21 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
List<Integer> integers = StringUtil.convertStringToIntegerList(esJobSearch.getArea());
|
||||
wrapper.and(x->x.in(ESJobDocument::getJobLocationAreaCode,integers));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getJobType())){
|
||||
wrapper.and(x->x.eq(ESJobDocument::getJobType,esJobSearch.getJobType()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getType())){
|
||||
wrapper.and(x->x.eq(ESJobDocument::getType,esJobSearch.getType()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getDescription())){
|
||||
wrapper.and(x->x.like(ESJobDocument::getDescription,esJobSearch.getDescription()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getCompanyNature())){
|
||||
wrapper.and(x->x.eq(ESJobDocument::getCompanyNature,esJobSearch.getCompanyNature()));
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(esJobSearch.getCode())){
|
||||
wrapper.and(x->x.eq(ESJobDocument::getCode,esJobSearch.getCode()));
|
||||
}
|
||||
if(Objects.nonNull(esJobSearch.getOrder())){
|
||||
if(esJobSearch.getOrder()==1){
|
||||
wrapper.orderByDesc(ESJobDocument::getIsHot);
|
||||
@@ -402,6 +430,9 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
if(esJobSearch.getOrder()==2){
|
||||
wrapper.orderByDesc(ESJobDocument::getPostingDate);
|
||||
}
|
||||
if(esJobSearch.getOrder()==3){
|
||||
wrapper.orderByDesc(ESJobDocument::getMaxSalary);
|
||||
}
|
||||
}
|
||||
if(!ListUtil.isListEmptyOrNull(jobIds)){
|
||||
wrapper.not().in(ESJobDocument::getJobId, jobIds);
|
||||
@@ -415,8 +446,8 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
Integer pageNum = jobQuery.getCurrent();
|
||||
Integer pageSize = jobQuery.getPageSize();
|
||||
LambdaEsQueryWrapper<ESJobDocument> wrapper = new LambdaEsQueryWrapper<>();
|
||||
// if(SecurityUtils.isLogin()){
|
||||
// AppUser appUser = appUserService.selectAppUserByUserId(SecurityUtils.getUserId());
|
||||
// if(SiteSecurityUtils.isLogin()){
|
||||
// AppUser appUser = appUserService.selectAppUserByUserId(SiteSecurityUtils.getUserId());
|
||||
// if(!ListUtil.isEmptyOrNull(appUser.getJobTitle())){
|
||||
// List<String> jobTitle = appUser.getJobTitle();
|
||||
// jobQuery.setJobTitle(String.join(",", jobTitle));
|
||||
@@ -497,4 +528,53 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
jobMapper.insert(job);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteJob(Long jobId) {
|
||||
LambdaEsQueryWrapper<ESJobDocument> lambdaEsQueryWrapper = new LambdaEsQueryWrapper();
|
||||
lambdaEsQueryWrapper.eq(ESJobDocument::getJobId,jobId);
|
||||
esJobDocumentMapper.delete(lambdaEsQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateJob(Long jobId) {
|
||||
ESJobDocument esJobDocument = new ESJobDocument();
|
||||
Job job = jobMapper.selectById(jobId);
|
||||
|
||||
BeanUtils.copyBeanProp(esJobDocument, job);
|
||||
esJobDocument.setAppJobUrl("https://ks.zhaopinzao8dian.com/app#/packageA/pages/post/post?jobId="+ Base64.getEncoder().encodeToString(String.valueOf(job.getJobId()).getBytes()));
|
||||
if(!StringUtil.isEmptyOrNull(job.getScale())){
|
||||
esJobDocument.setScale(Integer.valueOf(job.getScale()));
|
||||
}else {
|
||||
esJobDocument.setScale(0);
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(job.getExperience())){
|
||||
esJobDocument.setExperience_int(Integer.valueOf(job.getExperience()));
|
||||
}else {
|
||||
esJobDocument.setExperience("0");
|
||||
esJobDocument.setExperience_int(0);
|
||||
}
|
||||
if(!StringUtil.isEmptyOrNull(job.getEducation())){
|
||||
esJobDocument.setEducation_int(Integer.valueOf(job.getEducation()));
|
||||
}else {
|
||||
esJobDocument.setEducation("-1");
|
||||
esJobDocument.setEducation_int(-1);
|
||||
}
|
||||
if (esJobDocument.getLatitude() != null) {
|
||||
esJobDocument.setLatAndLon(esJobDocument.getLatitude().toString() + "," + esJobDocument.getLongitude().toString());
|
||||
}
|
||||
if(StringUtil.isEmptyOrNull(job.getCompanyNature())){
|
||||
esJobDocument.setCompanyNature("6");
|
||||
}
|
||||
LambdaEsQueryWrapper<ESJobDocument> lambdaEsQueryWrapper = new LambdaEsQueryWrapper();
|
||||
lambdaEsQueryWrapper.eq(ESJobDocument::getJobId,job.getJobId());
|
||||
esJobDocumentMapper.delete(lambdaEsQueryWrapper);
|
||||
esJobDocumentMapper.insert(esJobDocument);
|
||||
}
|
||||
|
||||
public List<ESJobDocument> selectByIds(Long[] jobIds) {
|
||||
LambdaEsQueryWrapper<ESJobDocument> wrapper = new LambdaEsQueryWrapper<>();
|
||||
wrapper.in(ESJobDocument::getJobId,jobIds);
|
||||
return esJobDocumentMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.cms.domain.EmployeeConfirm;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.mapper.EmployeeConfirmMapper;
|
||||
import com.ruoyi.cms.mapper.JobApplyMapper;
|
||||
import com.ruoyi.cms.service.EmployeeConfirmService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Service
|
||||
public class EmployeeConfirmServiceImpl implements EmployeeConfirmService {
|
||||
|
||||
@Autowired
|
||||
EmployeeConfirmMapper employeeConfirmMapper;
|
||||
@Autowired
|
||||
private JobApplyMapper jobApplyMapper;
|
||||
|
||||
@Override
|
||||
public List<EmployeeConfirm> getEmployeeConfirmList(EmployeeConfirm employeeConfirm) {
|
||||
return employeeConfirmMapper.getEmployeeConfirmList(employeeConfirm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertEmployeeConfirm(EmployeeConfirm employeeConfirm) {
|
||||
int t=employeeConfirmMapper.insert(employeeConfirm);
|
||||
if(t>0){
|
||||
JobApply apply=new JobApply();
|
||||
apply.setId(employeeConfirm.getApplyId());
|
||||
apply.setHire("0");
|
||||
jobApplyMapper.updateById(apply);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateEmployeeConfirm(EmployeeConfirm employeeConfirm) {
|
||||
return employeeConfirmMapper.updateById(employeeConfirm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteEmployeeConfirmIds(Long[] ids) {
|
||||
return employeeConfirmMapper.deleteBatchIds(Arrays.asList(ids));
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,12 @@ 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.Company;
|
||||
import com.ruoyi.cms.domain.FairCollection;
|
||||
import com.ruoyi.cms.domain.JobFair;
|
||||
import com.ruoyi.cms.mapper.FairCollectionMapper;
|
||||
import com.ruoyi.cms.mapper.JobFairMapper;
|
||||
import com.ruoyi.cms.service.IFairCollectionService;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -50,7 +49,7 @@ public class FairCollectionServiceImpl extends ServiceImpl<FairCollectionMapper,
|
||||
@Override
|
||||
public List<FairCollection> selectFairCollectionList(FairCollection fairCollection)
|
||||
{
|
||||
List<FairCollection> fairCollections = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getUserId, SecurityUtils.getUserId()));
|
||||
List<FairCollection> fairCollections = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getUserId, SiteSecurityUtils.getUserId()));
|
||||
return fairCollections;
|
||||
}
|
||||
|
||||
@@ -95,7 +94,7 @@ public class FairCollectionServiceImpl extends ServiceImpl<FairCollectionMapper,
|
||||
@Override
|
||||
@Transactional
|
||||
public int fairCollection(Long fairId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<FairCollection> fairCollections = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getFairId, fairId).eq(FairCollection::getUserId, userId));
|
||||
if(fairCollections.size()>0){
|
||||
fairCollectionMapper.deleteBatchIds(fairCollections.stream().map(FairCollection::getId).collect(Collectors.toList()));
|
||||
@@ -111,7 +110,7 @@ public class FairCollectionServiceImpl extends ServiceImpl<FairCollectionMapper,
|
||||
*/
|
||||
@Override
|
||||
public int cancel(Long fairId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<FairCollection> fairCollections = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getFairId, fairId).eq(FairCollection::getUserId, userId));
|
||||
if(fairCollections.size()>0){
|
||||
fairCollectionMapper.deleteBatchIds(fairCollections.stream().map(FairCollection::getId).collect(Collectors.toList()));
|
||||
@@ -123,6 +122,6 @@ public class FairCollectionServiceImpl extends ServiceImpl<FairCollectionMapper,
|
||||
*/
|
||||
@Override
|
||||
public List<JobFair> appCollectionFair(Integer type) {
|
||||
return jobFairMapper.selectAppList(SecurityUtils.getUserId(),type);
|
||||
return jobFairMapper.selectAppList(SiteSecurityUtils.getUserId(),type);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.ruoyi.cms.mapper.FileMapper;
|
||||
import com.ruoyi.cms.service.IFileService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.uuid.IdUtils;
|
||||
import com.ruoyi.common.utils.uuid.UUID;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -6,9 +6,11 @@ import com.ruoyi.cms.domain.FairCollection;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.query.MineJobQuery;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.cms.mapper.*;
|
||||
import com.ruoyi.cms.service.IJobApplyService;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -98,17 +100,17 @@ public class JobApplyServiceImpl extends ServiceImpl<JobApplyMapper,JobApply> im
|
||||
|
||||
@Override
|
||||
public List<Job> applyJob() {
|
||||
List<Job> jobs = jobApplyMapper.applyJob(SecurityUtils.getUserId());
|
||||
List<Job> jobs = jobApplyMapper.applyJob(SiteSecurityUtils.getUserId());
|
||||
return jobs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<String, Integer> statistics() {
|
||||
Integer applyCount = jobApplyMapper.applyJob(SecurityUtils.getUserId()).size();
|
||||
Integer collectionJobCount = jobCollectionMapper.collectionJob(SecurityUtils.getUserId()).size();
|
||||
Integer collectionCompanyCount = companyCollectionMapper.collectionJob(SecurityUtils.getUserId()).size();
|
||||
Integer jobReviewCount = appReviewJobMapper.review(SecurityUtils.getUserId(),new MineJobQuery()).size();
|
||||
Integer fairCollecitonCount = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getUserId, SecurityUtils.getUserId())).size();
|
||||
Integer applyCount = jobApplyMapper.applyJob(SiteSecurityUtils.getUserId()).size();
|
||||
Integer collectionJobCount = jobCollectionMapper.collectionJob(SiteSecurityUtils.getUserId()).size();
|
||||
Integer collectionCompanyCount = companyCollectionMapper.collectionJob(SiteSecurityUtils.getUserId()).size();
|
||||
Integer jobReviewCount = appReviewJobMapper.review(SiteSecurityUtils.getUserId(),new MineJobQuery()).size();
|
||||
Integer fairCollecitonCount = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getUserId, SiteSecurityUtils.getUserId())).size();
|
||||
HashMap<String, Integer> map = new HashMap<>();
|
||||
map.put("applyCount", applyCount);
|
||||
map.put("collectionCount", collectionJobCount+collectionCompanyCount);
|
||||
@@ -116,4 +118,19 @@ public class JobApplyServiceImpl extends ServiceImpl<JobApplyMapper,JobApply> im
|
||||
map.put("fairCollecitonCount", fairCollecitonCount);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<String, Integer> trendChart(JobApply jobApply) {
|
||||
return jobApplyMapper.trendChart(jobApply);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CandidateVO> selectAppUserList(Job job) {
|
||||
return jobApplyMapper.selectAppUserList(job);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CandidateVO> selectApplyJobUserList(AppUser appUser) {
|
||||
return jobApplyMapper.selectApplyJobUserList(appUser);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@ import com.ruoyi.cms.mapper.AppUserMapper;
|
||||
import com.ruoyi.cms.mapper.JobApplyMapper;
|
||||
import com.ruoyi.cms.mapper.JobMapper;
|
||||
import com.ruoyi.cms.service.IBussinessDictTypeService;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -106,7 +107,7 @@ public class JobCollectionServiceImpl extends ServiceImpl<JobCollectionMapper,Jo
|
||||
@Override
|
||||
@Transactional
|
||||
public int jobCollection(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<JobCollection> jobCollections = jobCollectionMapper.selectList(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, userId));
|
||||
if(jobCollections.size()>0){
|
||||
jobCollectionMapper.deleteBatchIds(jobCollections.stream().map(JobCollection::getId).collect(Collectors.toList()));
|
||||
@@ -122,7 +123,7 @@ public class JobCollectionServiceImpl extends ServiceImpl<JobCollectionMapper,Jo
|
||||
*/
|
||||
@Override
|
||||
public int cancel(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<JobCollection> jobCollections = jobCollectionMapper.selectList(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, userId));
|
||||
if(jobCollections.size()>0){
|
||||
jobCollectionMapper.deleteBatchIds(jobCollections.stream().map(JobCollection::getId).collect(Collectors.toList()));
|
||||
@@ -132,7 +133,7 @@ public class JobCollectionServiceImpl extends ServiceImpl<JobCollectionMapper,Jo
|
||||
|
||||
@Override
|
||||
public int apply(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
JobApply jobApply = new JobApply();
|
||||
jobApply.setJobId(jobId);
|
||||
jobApply.setUserId(userId);
|
||||
@@ -149,7 +150,7 @@ public class JobCollectionServiceImpl extends ServiceImpl<JobCollectionMapper,Jo
|
||||
|
||||
@Override
|
||||
public List<Job> collectionJob() {
|
||||
List<Job> jobs = jobCollectionMapper.collectionJob(SecurityUtils.getUserId());
|
||||
List<Job> jobs = jobCollectionMapper.collectionJob(SiteSecurityUtils.getUserId());
|
||||
return jobs;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.cms.domain.JobContact;
|
||||
import com.ruoyi.cms.mapper.JobContactMapper;
|
||||
import com.ruoyi.cms.service.JobContactService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
|
||||
@Service
|
||||
public class JobContactServiceImpl extends ServiceImpl<JobContactMapper, JobContact> implements JobContactService {
|
||||
|
||||
@Autowired
|
||||
JobContactMapper jobContactMapper;
|
||||
|
||||
public List<JobContact> getSelectList(JobContact jobContact){
|
||||
return jobContactMapper.getSelectList(jobContact);
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,9 @@ import com.ruoyi.cms.mapper.CompanyMapper;
|
||||
import com.ruoyi.cms.mapper.FairCollectionMapper;
|
||||
import com.ruoyi.cms.mapper.FairCompanyMapper;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -148,8 +149,8 @@ public class JobFairServiceImpl extends ServiceImpl<JobFairMapper,JobFair> imple
|
||||
List<Company> companyList = companyMapper.selectBatchIds(companyIds);
|
||||
jobFair.setCompanyList(companyList);
|
||||
}
|
||||
if(SecurityUtils.isLogin()){
|
||||
Long count = fairCollectionMapper.selectCount(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getFairId, fairId).eq(FairCollection::getUserId, SecurityUtils.getUserId()));
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
Long count = fairCollectionMapper.selectCount(Wrappers.<FairCollection>lambdaQuery().eq(FairCollection::getFairId, fairId).eq(FairCollection::getUserId, SiteSecurityUtils.getUserId()));
|
||||
jobFair.setIsCollection(count>0?1:null);
|
||||
}
|
||||
return jobFair;
|
||||
@@ -159,10 +160,10 @@ public class JobFairServiceImpl extends ServiceImpl<JobFairMapper,JobFair> imple
|
||||
public List<JobFair> appList(JobFair jobFair) {
|
||||
List<JobFair> fairCompanies = jobFairMapper.appList(jobFair);
|
||||
if(fairCompanies.isEmpty()){return new ArrayList<>();}
|
||||
if(SecurityUtils.isLogin()){
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
//收藏
|
||||
Set<Long> collectionIds = fairCollectionMapper.selectList(Wrappers.<FairCollection>lambdaQuery()
|
||||
.eq(FairCollection::getUserId, SecurityUtils.getUserId())
|
||||
.eq(FairCollection::getUserId, SiteSecurityUtils.getUserId())
|
||||
.in(FairCollection::getFairId, fairCompanies.stream().map(JobFair::getJobFairId).collect(Collectors.toList())))
|
||||
.stream().map(FairCollection::getFairId).collect(Collectors.toSet());
|
||||
for (JobFair j : fairCompanies) {
|
||||
|
||||
@@ -2,16 +2,15 @@ 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.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.cms.domain.Job;
|
||||
import com.ruoyi.cms.domain.JobApply;
|
||||
import com.ruoyi.cms.domain.JobCollection;
|
||||
import com.ruoyi.cms.mapper.AppUserMapper;
|
||||
import com.ruoyi.cms.mapper.JobApplyMapper;
|
||||
import com.ruoyi.cms.mapper.JobCollectionMapper;
|
||||
import com.ruoyi.cms.service.IJobCollectionService;
|
||||
import com.ruoyi.cms.service.IJobRecommentService;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -100,7 +99,7 @@ public class JobRecommentServiceImpl extends ServiceImpl<JobCollectionMapper,Job
|
||||
@Override
|
||||
@Transactional
|
||||
public int jobCollection(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<JobCollection> jobCollections = jobCollectionMapper.selectList(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, userId));
|
||||
if(jobCollections.size()>0){
|
||||
jobCollectionMapper.deleteBatchIds(jobCollections.stream().map(JobCollection::getId).collect(Collectors.toList()));
|
||||
@@ -116,7 +115,7 @@ public class JobRecommentServiceImpl extends ServiceImpl<JobCollectionMapper,Job
|
||||
*/
|
||||
@Override
|
||||
public int cancel(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
List<JobCollection> jobCollections = jobCollectionMapper.selectList(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, userId));
|
||||
if(jobCollections.size()>0){
|
||||
jobCollectionMapper.deleteBatchIds(jobCollections.stream().map(JobCollection::getId).collect(Collectors.toList()));
|
||||
@@ -126,7 +125,7 @@ public class JobRecommentServiceImpl extends ServiceImpl<JobCollectionMapper,Job
|
||||
|
||||
@Override
|
||||
public int apply(Long jobId) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
Long userId = SiteSecurityUtils.getUserId();
|
||||
JobApply jobApply = new JobApply();
|
||||
jobApply.setJobId(jobId);
|
||||
jobApply.setUserId(userId);
|
||||
@@ -143,13 +142,13 @@ public class JobRecommentServiceImpl extends ServiceImpl<JobCollectionMapper,Job
|
||||
|
||||
@Override
|
||||
public List<Job> collectionJob() {
|
||||
List<Job> jobs = jobCollectionMapper.collectionJob(SecurityUtils.getUserId());
|
||||
List<Job> jobs = jobCollectionMapper.collectionJob(SiteSecurityUtils.getUserId());
|
||||
return jobs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String competitiveness(Long jobId) {
|
||||
AppUser appUser = appUserMapper.selectById(SecurityUtils.getUserId());
|
||||
AppUser appUser = appUserMapper.selectById(SiteSecurityUtils.getUserId());
|
||||
String education = appUser.getEducation();
|
||||
return "90.5";
|
||||
}
|
||||
|
||||
@@ -9,16 +9,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.cms.domain.*;
|
||||
import com.ruoyi.cms.domain.File;
|
||||
import com.ruoyi.cms.domain.query.ESJobSearch;
|
||||
import com.ruoyi.cms.domain.vo.CandidateVO;
|
||||
import com.ruoyi.cms.mapper.*;
|
||||
import com.ruoyi.cms.service.*;
|
||||
import com.ruoyi.cms.util.*;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.TreeSelect;
|
||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
||||
import com.ruoyi.common.core.domain.entity.Company;
|
||||
import com.ruoyi.common.core.domain.entity.JobTitle;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import org.dromara.easyes.core.biz.EsPageInfo;
|
||||
@@ -28,11 +32,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -71,6 +75,10 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
private static final String AMAP_URL = "https://restapi.amap.com/v3/place/text";
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
@Autowired
|
||||
private JobContactMapper jobContactMapper;
|
||||
@Autowired
|
||||
private FileMapper fileMapper;
|
||||
|
||||
/**
|
||||
* 更新工作地址的经纬度信息
|
||||
@@ -195,6 +203,21 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
Company company = companyMapper.selectById(job.getCompanyId());
|
||||
job.setCompany(company);
|
||||
}
|
||||
//查询联系人
|
||||
JobContact contact=new JobContact();
|
||||
contact.setJobId(job.getJobId());
|
||||
List<JobContact> contacts=jobContactMapper.getSelectList(contact);
|
||||
if(contacts!=null){
|
||||
job.setJobContactList(contacts);
|
||||
}
|
||||
//查询附件
|
||||
File file=new File();
|
||||
file.setBussinessId(jobId);
|
||||
List<File> filesList=fileMapper.selectFileList(file);
|
||||
if(filesList!=null){
|
||||
job.setFilesList(filesList);
|
||||
}
|
||||
|
||||
return job;
|
||||
}
|
||||
|
||||
@@ -240,6 +263,14 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
HttpUtil.post("http://39.98.44.136:6004/insert_vector", jsonBody);
|
||||
});
|
||||
thread.start();
|
||||
if(insert>0){
|
||||
job.getJobContactList().forEach(x->{
|
||||
JobContact jobContact=new JobContact();
|
||||
BeanUtils.copyProperties(x,jobContact);
|
||||
jobContact.setJobId(job.getJobId());
|
||||
jobContactMapper.insert(jobContact);
|
||||
});
|
||||
}
|
||||
return insert;
|
||||
}
|
||||
|
||||
@@ -253,15 +284,33 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
@Override
|
||||
public int updateJob(Job job)
|
||||
{
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String formattedDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//修改岗位状态
|
||||
//修改岗位状态
|
||||
if(job.getIsPublish()!=null) {
|
||||
if(job.getIsPublish()==1){
|
||||
job.setPostingDate(new Date());
|
||||
job.setPostingDate(formattedDate);
|
||||
iesJobSearchService.updateJob(job.getJobId());
|
||||
}else {
|
||||
job.setPostingDate(null);
|
||||
iesJobSearchService.deleteJob(job.getJobId());
|
||||
}
|
||||
}
|
||||
return jobMapper.updateById(job);
|
||||
int i=jobMapper.updateById(job);
|
||||
//修改岗位联系人列表
|
||||
if(i>0){
|
||||
jobContactMapper.update(null,Wrappers.<JobContact>lambdaUpdate()
|
||||
.eq(JobContact::getJobId, job.getJobId())
|
||||
.set(JobContact::getDelFlag, Constants.Del_FLAG_DELETE));
|
||||
if(Objects.isNull(job.getJobContactList())){return i;}
|
||||
job.getJobContactList().forEach(x -> {
|
||||
JobContact jobContact = new JobContact();
|
||||
jobContact.setJobId(job.getJobId());
|
||||
jobContactMapper.insert(jobContact);
|
||||
});
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,7 +322,13 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
@Override
|
||||
public int deleteJobByJobIds(Long[] jobIds)
|
||||
{
|
||||
return jobMapper.deleteBatchIds(Arrays.asList(jobIds));
|
||||
int i=jobMapper.deleteBatchIds(Arrays.asList(jobIds));
|
||||
if(i>0){
|
||||
jobContactMapper.update(null,Wrappers.<JobContact>lambdaUpdate()
|
||||
.in(JobContact::getJobId, Arrays.asList(jobIds))
|
||||
.set(JobContact::getDelFlag, Constants.Del_FLAG_DELETE));
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -336,23 +391,25 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
Company company = companyMapper.selectById(job.getCompanyId());
|
||||
job.setCompany(company);
|
||||
}
|
||||
if(SecurityUtils.isLogin()){
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
//查询申请信息
|
||||
Long applyCount = jobApplyMapper.selectCount(Wrappers.<JobApply>lambdaQuery().eq(JobApply::getJobId, jobId).eq(JobApply::getUserId, SecurityUtils.getUserId()));
|
||||
Long applyCount = jobApplyMapper.selectCount(Wrappers.<JobApply>lambdaQuery().eq(JobApply::getJobId, jobId).eq(JobApply::getUserId, SiteSecurityUtils.getUserId()));
|
||||
job.setIsApply(applyCount>0?1:0);
|
||||
//查询收藏信息
|
||||
Long collectionCount = jobCollectionMapper.selectCount(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, SecurityUtils.getUserId()));
|
||||
Long collectionCount = jobCollectionMapper.selectCount(Wrappers.<JobCollection>lambdaQuery().eq(JobCollection::getJobId, jobId).eq(JobCollection::getUserId, SiteSecurityUtils.getUserId()));
|
||||
job.setIsCollection(collectionCount>0?1:0);
|
||||
//todo asyn
|
||||
//保存浏览记录
|
||||
List<AppReviewJob> appReviewJobs = appReviewJobMapper.selectList(Wrappers.<AppReviewJob>lambdaQuery().eq(AppReviewJob::getUserId, SecurityUtils.getUserId()).eq(AppReviewJob::getJobId, jobId));
|
||||
List<AppReviewJob> appReviewJobs = appReviewJobMapper.selectList(Wrappers.<AppReviewJob>lambdaQuery().eq(AppReviewJob::getUserId, SiteSecurityUtils.getUserId()).eq(AppReviewJob::getJobId, jobId));
|
||||
//之前相同岗位的记录删除 保存最新的浏览记录
|
||||
if(!appReviewJobs.isEmpty()){
|
||||
appReviewJobMapper.deleteBatchIds(appReviewJobs.stream().map(AppReviewJob::getId).collect(Collectors.toList()));
|
||||
}
|
||||
AppReviewJob appReviewJob = new AppReviewJob();
|
||||
appReviewJob.setUserId(SecurityUtils.getUserId());
|
||||
appReviewJob.setReviewDate(new Date());
|
||||
appReviewJob.setUserId(SiteSecurityUtils.getUserId());
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String formattedDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
appReviewJob.setReviewDate(formattedDate);
|
||||
appReviewJob.setJobId(jobId);
|
||||
appReviewJobMapper.insert(appReviewJob);
|
||||
}
|
||||
@@ -571,7 +628,8 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
int totalJobInserted = 0;
|
||||
String string = UUID.randomUUID().toString();
|
||||
logger.info("生成唯一标识符: {}", string);
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String formattedDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
for (RowWork rowWork : rowWorks) {
|
||||
try {
|
||||
Job job = new Job();
|
||||
@@ -593,7 +651,7 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
}
|
||||
job.setCompanyName(rowWork.getAAB004());
|
||||
job.setJobLocation(rowWork.getAAE006());
|
||||
job.setPostingDate(new Date());
|
||||
job.setPostingDate(formattedDate);
|
||||
job.setJobCategory(rowWork.getJobCategory());
|
||||
if (rowWork.getAcb240() == null) {
|
||||
job.setVacancies(-1L);
|
||||
@@ -620,7 +678,7 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
job.setRemark(string);
|
||||
job.setDelFlag("0");
|
||||
job.setCreateBy(string);
|
||||
job.setCreateTime(new Date());
|
||||
job.setCreateTime(formattedDate);
|
||||
job.setRowId(Long.valueOf(rowWork.getId()));
|
||||
|
||||
jobBatch.add(job);
|
||||
@@ -649,6 +707,7 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
logger.error("导入数据过程中发生异常: {}", e.getMessage(), e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
iesJobSearchService.resetTextCache();
|
||||
}
|
||||
|
||||
private Long getCompanyId(List<Company> allCompany, String aab004) {
|
||||
@@ -665,6 +724,8 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
List<BussinessDictData> natureData = iBussinessDictTypeService.selectDictDataByType("company_nature");
|
||||
List<TreeSelect> treeSelects = industryService.appIndustry();
|
||||
List<Company> companyList = new ArrayList<>();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String formattedDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
for(Company company:companyRowList){
|
||||
Company companyNew = new Company();
|
||||
companyNew.setName(company.getName());
|
||||
@@ -676,7 +737,7 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
}
|
||||
companyNew.setDelFlag("0");
|
||||
companyNew.setCreateBy("system");
|
||||
companyNew.setCreateTime(new Date());
|
||||
companyNew.setCreateTime(formattedDate);
|
||||
companyNew.setRemark("add");
|
||||
companyNew.setDescription(company.getDescription());
|
||||
companyNew.setIndustry(findIndustry(treeSelects,company));
|
||||
@@ -710,10 +771,10 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
|
||||
private List<ESJobDocument> userCollection(List<ESJobDocument> jobs){
|
||||
if(jobs.isEmpty()){return new ArrayList<>();}
|
||||
if(SecurityUtils.isLogin()){
|
||||
if(SiteSecurityUtils.isLogin()){
|
||||
//收藏
|
||||
Set<Long> collectionIds = jobCollectionMapper.selectList(Wrappers.<JobCollection>lambdaQuery()
|
||||
.eq(JobCollection::getUserId, SecurityUtils.getUserId())
|
||||
.eq(JobCollection::getUserId, SiteSecurityUtils.getUserId())
|
||||
.in(JobCollection::getJobId, jobs.stream().map(ESJobDocument::getJobId).collect(Collectors.toList())))
|
||||
.stream().map(JobCollection::getJobId).collect(Collectors.toSet());
|
||||
for (ESJobDocument j : jobs) {
|
||||
@@ -725,4 +786,27 @@ public class JobServiceImpl extends ServiceImpl<JobMapper,Job> implements IJobSe
|
||||
return jobs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void publishJob(Job job) {
|
||||
job.setIsPublish(0);
|
||||
// Long userId = SiteSecurityUtils.getUserId();
|
||||
// Company company = companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUserId, userId).eq(Company::getStatus, 1));
|
||||
// if(Objects.isNull(company)){
|
||||
// throw new ServiceException("请先完成招聘企业登记");
|
||||
// }
|
||||
// job.setCompanyId(company.getCompanyId());
|
||||
jobMapper.insert(job);
|
||||
if(job.getJobContactList()!=null){
|
||||
job.getJobContactList().forEach(it->{
|
||||
it.setJobId(job.getJobId());
|
||||
});
|
||||
jobContactMapper.batchInsert(job.getJobContactList());
|
||||
}
|
||||
iesJobSearchService.updateJob(job.getJobId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppUser> selectApplyJobUserList(Long jobId) {
|
||||
return jobMapper.selectApplyJobUserList(jobId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.ruoyi.cms.service.impl;
|
||||
|
||||
import com.ruoyi.cms.domain.SensitiveWordData;
|
||||
import com.ruoyi.cms.mapper.SensitiveWordDataMapper;
|
||||
import com.ruoyi.cms.service.SensitiveWordDataService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Service
|
||||
public class SensitiveWordDataServiceImpl implements SensitiveWordDataService {
|
||||
|
||||
@Autowired
|
||||
SensitiveWordDataMapper sensitiveWordDataMapper;
|
||||
|
||||
@Override
|
||||
public List<SensitiveWordData> selectSensitiveworddataList(SensitiveWordData sensitiveworddata) {
|
||||
return sensitiveWordDataMapper.selectSensitiveworddataList(sensitiveworddata);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SensitiveWordData selectById(Long id) {
|
||||
return sensitiveWordDataMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertSensitiveworddata(SensitiveWordData sensitiveWordData) {
|
||||
return sensitiveWordDataMapper.insert(sensitiveWordData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateSensitiveworddata(SensitiveWordData sensitiveWordData) {
|
||||
return sensitiveWordDataMapper.updateById(sensitiveWordData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteSensitiveworddataIds(Long[] ids) {
|
||||
return sensitiveWordDataMapper.deleteBatchIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int batchInsert(List<SensitiveWordData> list) {
|
||||
return sensitiveWordDataMapper.batchInsert(list);
|
||||
}
|
||||
}
|
||||
@@ -457,4 +457,98 @@ public class StaticsqueryServiceImpl extends ServiceImpl<StaticsMapper, Statics>
|
||||
}
|
||||
|
||||
|
||||
public void educationSalaryGen() {
|
||||
// 定义岗位分类
|
||||
String[] jobCategories = {
|
||||
"初中及以下",
|
||||
"中专/中技",
|
||||
"高中",
|
||||
"大专",
|
||||
"本科",
|
||||
"硕士",
|
||||
"博士",
|
||||
"MBA/EMBA",
|
||||
"留学-学士",
|
||||
"留学-硕士",
|
||||
"留学-博士",
|
||||
"不限"
|
||||
};
|
||||
//薪资类型
|
||||
String[] salarys = {
|
||||
"3k-5k",
|
||||
"5k-8k",
|
||||
"10k-15K",
|
||||
"15k-20k",
|
||||
"20k+"
|
||||
};
|
||||
|
||||
// 定义时间周期
|
||||
String[] timePeriods = {
|
||||
"2025-01", "2025-02", "2025-03", "2025-04", "2025-05",
|
||||
"2024-11", "2024-12"
|
||||
};
|
||||
|
||||
// 所有支持的类型
|
||||
Map<String, List<String>> typeMap = new HashMap<>();
|
||||
typeMap.put("month", Arrays.asList(
|
||||
"分学历/分薪资/月/岗位发布数量"
|
||||
));
|
||||
|
||||
|
||||
for (String time : timePeriods) {
|
||||
String granularity;
|
||||
|
||||
// 判断时间粒度:月、季度、年
|
||||
if (time.matches("\\d{4}-\\d{2}")) {
|
||||
granularity = "month"; // 如 "2025-01"
|
||||
} else if (time.matches("\\d{4}-第[一二三四]季度")) {
|
||||
granularity = "quarter"; // 如 "2024-第一季度"
|
||||
} else if (time.matches("\\d{4}")) {
|
||||
granularity = "year"; // 如 "2025"
|
||||
} else {
|
||||
continue; // 非法格式跳过
|
||||
}
|
||||
|
||||
List<String> applicableTypes = typeMap.get(granularity);
|
||||
|
||||
for (String type : applicableTypes) {
|
||||
for (String category : jobCategories) {
|
||||
for(String salary:salarys){
|
||||
Statics stat = new Statics();
|
||||
stat.setTime(time);
|
||||
stat.setType(type);
|
||||
stat.setName(category+"/"+salary);
|
||||
|
||||
// 设置数据值
|
||||
if (type.contains("岗位发布数量")) {
|
||||
int baseValue = 1000;
|
||||
if (granularity.equals("quarter")) baseValue = 300;
|
||||
if (granularity.equals("year")) baseValue = 1200;
|
||||
|
||||
int variation = (int)(baseValue * 0.2 * (Math.random() - 0.5));
|
||||
stat.setData(String.valueOf(baseValue + variation));
|
||||
} else {
|
||||
double baseRate = 0.05;
|
||||
double variation = 0.01 * (Math.random() - 0.5);
|
||||
stat.setData(String.format("%.2f", baseRate + variation));
|
||||
}
|
||||
|
||||
stat.setDelFlag("0");
|
||||
staticsMapper.insert(stat);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> educationSalary(Staticsquery staticsquery) {
|
||||
HashMap<String, Object> result = new HashMap<>();
|
||||
List<String> query = staticsquery.generateTimeRange();
|
||||
for (String time : query) {
|
||||
List<Statics> statics = staticsMapper.selectList(Wrappers.<Statics>lambdaQuery().eq(Statics::getType, "分学历/分薪资/" + staticsquery.getTimeDimension()+"/"+staticsquery.getType()).eq(Statics::getTime, time));
|
||||
result.put(time, statics);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user