diff --git a/.gitignore b/.gitignore index a177b4d..ebdeb04 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,7 @@ nbdist/ local.sh .claude -/test-reports/ \ No newline at end of file +/test-reports/ +ruoyi-admin/src/main/resources/application-local.yml +ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java +ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobTitleSuggestServiceImpl.java \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-local.yml b/ruoyi-admin/src/main/resources/application-local.yml index dcc71f5..6fa3ae7 100644 --- a/ruoyi-admin/src/main/resources/application-local.yml +++ b/ruoyi-admin/src/main/resources/application-local.yml @@ -87,8 +87,10 @@ spring: multi-statement-allow: true redis: # 本地 - host: 127.0.0.1 - port: 6379 + #host: 127.0.0.1 + #port: 6379 + host: 124.243.245.42 + port: 5379 # 数据库索引 database: 0 # 密码(本地通常无密码) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java index 4696025..09ed159 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppJobController.java @@ -240,6 +240,7 @@ public class AppJobController extends BaseController String errorMsg = "描述中包含敏感词:" + String.join("、", sensitiveWords); return AjaxResult.error(errorMsg, sensitiveWords); } + job.setDataSource("1");//系统自录 jobService.publishJob(job); return success(); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java new file mode 100644 index 0000000..c08a33a --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java @@ -0,0 +1,82 @@ +package com.ruoyi.cms.controller.app; + +import com.ruoyi.cms.domain.policy.PolicyConsultRecord; +import com.ruoyi.cms.domain.policy.PolicyConsultReplyDTO; +import com.ruoyi.cms.domain.policy.PolicyConsultSatisfactionDTO; +import com.ruoyi.cms.domain.policy.PolicyConsultSubmitDTO; +import com.ruoyi.cms.service.policy.IPolicyConsultRecordService; +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 com.ruoyi.common.utils.StringUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Slf4j +@RestController +@RequestMapping("/app/policyConsultRecord") +@Api(tags = "移动端接口:政策咨询记录") +public class AppPolicyConsultRecordController extends BaseController { + + @Autowired + private IPolicyConsultRecordService policyConsultRecordService; + + /** + * 保存用户提交留言咨询 + */ + @ApiOperation("用户提交留言咨询") + @PostMapping("/submit") + public AjaxResult save(@RequestBody PolicyConsultSubmitDTO policyConsultSubmitDTO){ + log.info("用户提交留言咨询...小程序端"); + if(!SiteSecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + if(SiteSecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + policyConsultSubmitDTO.setUserId(SiteSecurityUtils.getUserId()); + return toAjax(policyConsultRecordService.insert(policyConsultSubmitDTO)); + } + + /** + * 用户查看【自己】的留言咨询记录(留言板只能看自己) + */ + @ApiOperation("用户查看【自己】的留言咨询记录(留言板只能看自己)") + @GetMapping("/my/list/{policyId}") + public TableDataInfo getMyConsult(@ApiParam("政策ID") @PathVariable Long policyId){ + startPage(); + if(SiteSecurityUtils.getUserId() == null){ + throw new RuntimeException("用户ID不能为空"); + } + Long userId = SiteSecurityUtils.getUserId(); + List list = policyConsultRecordService.getUserOwnConsultList(policyId,userId); + return getDataTable(list); + } + + /** + * 用户对咨询进行满意度评价 + */ + @ApiOperation("用户对咨询进行满意度评价") + @PostMapping("/satisfaction") + public AjaxResult satisfaction(@RequestBody PolicyConsultSatisfactionDTO dto){ + if(!SiteSecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + + if(SiteSecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + dto.setUserId(SiteSecurityUtils.getUserId()); + return toAjax(policyConsultRecordService.submitSatisfaction(dto)); + } + + + +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsJobController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsJobController.java index b99c454..0f1b934 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsJobController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsJobController.java @@ -147,6 +147,7 @@ public class CmsJobController extends BaseController return AjaxResult.error(errorMsg, sensitiveWords); } job.setJobStatus("0"); + job.setDataSource("1");//系统自录 // 无敏感词,执行插入 return toAjax(jobService.insertJob(job)); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java new file mode 100644 index 0000000..ed35229 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java @@ -0,0 +1,101 @@ +package com.ruoyi.cms.controller.cms; + +import com.ruoyi.cms.domain.policy.*; +import com.ruoyi.cms.service.policy.IPolicyConsultRecordService; +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.SecurityUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/cms/policyConsultRecord") +@Api(tags = "CMS:政策咨询记录管理") +public class CmsPolicyConsultRecordController extends BaseController { + + @Autowired + private IPolicyConsultRecordService policyConsultRecordService; + + private static final Logger log = LoggerFactory.getLogger(CmsPolicyConsultRecordController.class); + + + /** + * 保存用户提交留言咨询 + */ + @ApiOperation("用户提交留言咨询") + @PostMapping("/submit") + public AjaxResult save(@RequestBody PolicyConsultSubmitDTO policyConsultSubmitDTO){ + log.info("用户提交留言咨询...pc端"); + if(!SecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + if(SecurityUtils.getAppuserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + policyConsultSubmitDTO.setUserId(SecurityUtils.getAppuserId()); + return toAjax(policyConsultRecordService.insert(policyConsultSubmitDTO)); + } + + /** + * 用户查看【自己】的留言咨询记录(留言板只能看自己) + */ + @ApiOperation("用户查看【自己】的留言咨询记录(留言板只能看自己)") + @GetMapping("/my/list/{policyId}") + public TableDataInfo getMyConsult(@ApiParam("政策ID") @PathVariable Long policyId){ + startPage(); + if(SecurityUtils.getAppuserId() == null){ + throw new RuntimeException("用户ID不能为空"); + } + Long userId = SecurityUtils.getAppuserId(); + List list = policyConsultRecordService.getUserOwnConsultList(policyId,userId); + return getDataTable(list); + } + + /** + * 用户对咨询进行满意度评价 + */ + @ApiOperation("用户对咨询进行满意度评价") + @PostMapping("/satisfaction") + public AjaxResult satisfaction(@RequestBody PolicyConsultSatisfactionDTO dto){ + if(!SecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + + if(SecurityUtils.getAppuserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + dto.setUserId(SecurityUtils.getAppuserId()); + return toAjax(policyConsultRecordService.submitSatisfaction(dto)); + } + + + + // ========== 管理员接口 ========== + /** + * 管理员回复留言咨询 + */ + @ApiOperation("管理员回复留言咨询") + @PostMapping("/reply") + public AjaxResult reply(@RequestBody PolicyConsultReplyDTO dto){ + return toAjax(policyConsultRecordService.replyConsult(dto)); + } + + /** + * 管理员查看全部咨询存档记录 + */ + @ApiOperation("管理员查看全部咨询存档记录") + @PostMapping("/list") + public TableDataInfo allRecord(@RequestBody PolicyConsultQueryDTO query){ + startPage(); + List list = policyConsultRecordService.getAllConsultRecord(query); + return getDataTable(list); + } +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/IndustryController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/IndustryController.java index 2cc8e45..270365a 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/IndustryController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/IndustryController.java @@ -243,4 +243,15 @@ public class IndustryController extends BaseController updateIndustry.setParentId(parentId); industryService.updateIndustry(updateIndustry); } + + /** + * 查询第一级行业大类 + */ + @ApiOperation("查询第一级行业大类") + @GetMapping("/first-level") + public AjaxResult getFirstLevelIndustries() + { + List list = industryService.selectFirstLevelIndustryList(); + return success(list); + } } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java index a8b2fd3..97b6bd0 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/Job.java @@ -141,7 +141,7 @@ public class Job extends BaseEntity @ApiModelProperty("是否发布 0未发布 1发布") private Integer isPublish; - @ApiModelProperty("数据来源 5本地石河子模板导入") + @ApiModelProperty("数据来源 5本地石河子模板导入;本地录入1;互联网岗位上传2;") private String dataSource; @ApiModelProperty("岗位链接") diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultQueryDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultQueryDTO.java new file mode 100644 index 0000000..7d3fc30 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultQueryDTO.java @@ -0,0 +1,34 @@ +package com.ruoyi.cms.domain.policy; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel("政策咨询查询") +public class PolicyConsultQueryDTO { + + @ApiModelProperty("页码") + private Integer pageNum = 1; + + @ApiModelProperty("每页条数") + private Integer pageSize = 10; + + @ApiModelProperty("政策名称搜索关键词") + private String searchValue; + + @ApiModelProperty("咨询状态 PENDING待回复、REPLIED已回复") + private String consultStatus; + + @ApiModelProperty("满意度(0-5分)") + private Integer satisfaction; + + // 咨询起始时间 + @ApiModelProperty("咨询起始时间") + private Date beginConsultTime; + // 咨询结束时间 + @ApiModelProperty("咨询结束时间") + private Date endConsultTime; +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultRecord.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultRecord.java new file mode 100644 index 0000000..da3a7ce --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultRecord.java @@ -0,0 +1,83 @@ +package com.ruoyi.cms.domain.policy; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel("政策咨询记录") +public class PolicyConsultRecord extends BaseEntity { + + private static final long serialVersionUID = 1L; + /** 咨询渠道 - 留言板 */ + public static final String CHANNEL_MESSAGE_BOARD = "MESSAGE_BOARD"; + /** 咨询渠道 - 在线客服 */ + public static final String CHANNEL_ONLINE_CHAT = "ONLINE_CHAT"; + /** 状态 - 待回复 */ + public static final String STATUS_PENDING = "PENDING"; + /** 状态 - 已回复 */ + public static final String STATUS_REPLIED = "REPLIED"; + /** 状态 - 已办结 */ + public static final String STATUS_CLOSED = "CLOSED"; + /** 主键 */ + @ApiModelProperty("主键") + @TableId(value = "id",type = IdType.AUTO) + private Long id; + + /** 咨询用户ID */ + @ApiModelProperty("咨询用户ID") + private Long userId; + + /** 管理员ID */ + @ApiModelProperty("管理员ID") + private Long adminId; + + /** 浏览咨询对应的政策ID */ + @ApiModelProperty("浏览咨询对应的政策ID") + private Long policyId; + + /** 政策名称 */ + @ApiModelProperty("政策名称") + private String policyName; + + /** 咨询渠道:MESSAGE_BOARD 留言板、ONLINE_CHAT在线客服等 */ + @ApiModelProperty("咨询渠道:MESSAGE_BOARD 留言板") + private String consultChannel; + + /** 用户咨询问题 */ + @ApiModelProperty("用户咨询问题") + private String questionContent; + + /** 管理员回复内容 */ + @ApiModelProperty("管理员回复内容") + private String replyContent; + + /** 状态 PENDING待回复、REPLIED已回复、CLOSED已办结 */ + @ApiModelProperty("状态 PENDING待回复、REPLIED已回复、CLOSED已办结") + private String consultStatus; + + /** 咨询提交时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("咨询提交时间") + private Date consultTime; + + /** 回复时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("回复时间") + private Date replyTime; + + /** 用户满意度 五颗星 每颗星代表1分 */ + @ApiModelProperty("用户满意度 五颗星 每颗星代表1分") + private Integer satisfaction; +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultReplyDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultReplyDTO.java new file mode 100644 index 0000000..a68461d --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultReplyDTO.java @@ -0,0 +1,20 @@ +package com.ruoyi.cms.domain.policy; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel("管理员回复") +public class PolicyConsultReplyDTO { + + @NotNull(message = "记录ID不能为空") + @ApiModelProperty(value = "记录ID", required = true, example = "1") + private Long recordId; + + @ApiModelProperty(value = "回复内容", required = true, example = "回复内容") + @NotNull(message = "回复内容不能为空") + private String replyContent; +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java new file mode 100644 index 0000000..49dd81c --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java @@ -0,0 +1,23 @@ +package com.ruoyi.cms.domain.policy; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel("政策咨询满意度评价") +public class PolicyConsultSatisfactionDTO { + + @NotNull(message = "记录ID不能为空") + @ApiModelProperty(value = "记录ID", required = true, example = "1") + private Long recordId; + + @ApiModelProperty(value = "满意度", required = true, example = "1") + @NotNull(message = "满意度不能为空") + private Integer satisfaction; + + @ApiModelProperty(value = "用户ID") + private Long userId; +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java new file mode 100644 index 0000000..1474628 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java @@ -0,0 +1,26 @@ +package com.ruoyi.cms.domain.policy; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import javax.validation.constraints.NotNull; + +@Data +@ApiModel("用户提交留言") +public class PolicyConsultSubmitDTO { + + @NotNull(message = "政策ID不能为空") + @ApiModelProperty(value = "政策ID", required = true, example = "1") + private Long policyId; + + @NotNull(message = "咨询问题不能为空") + @ApiModelProperty(value = "咨询问题", required = true, example = "咨询问题") + private String questionContent; + + @NotNull(message = "咨询渠道不能为空( 渠道固定传 MESSAGE_BOARD(留言板渠道))") + @ApiModelProperty(value = "咨询渠道", required = true, example = "MESSAGE_BOARD") + private String consultChannel; + + @ApiModelProperty(value = "咨询用户ID") + private Long userId; +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyInfo.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyInfo.java index f59534e..8a5fd6c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyInfo.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyInfo.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -73,4 +74,36 @@ public class PolicyInfo extends BaseEntity { @ApiModelProperty("状态(0启用 1禁用)") private String status; + + @ApiModelProperty("行业大类") + private String industryBigType; + + @ApiModelProperty("行业大类名称") + private String industryBigTypeName; + + @ApiModelProperty("政策文号") + private String docNo; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty("生效日期") + private Date effectiveTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty("失效日期") + private Date expireTime; + + @ApiModelProperty("政策背景") + private String policyBackground; + + @ApiModelProperty("目标宗旨") + private String policyPurpose; + + @ApiModelProperty("具体条款") + private String policyClause; + + @ApiModelProperty("实施细则") + private String implementRule; + + @ApiModelProperty("电子邮件") + private String email; } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyMapper.java index 76f2eb2..2c18911 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyMapper.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/CompanyMapper.java @@ -41,4 +41,6 @@ public interface CompanyMapper extends BaseMapper /** 查询企业未参加的已结束户外招聘会。 */ List selectMissedOutdoorFairList(@Param("companyId") Long companyId); + + public List selectCompanyCleanList(CompanySearch company); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/policy/PolicyConsultRecordMapper.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/policy/PolicyConsultRecordMapper.java new file mode 100644 index 0000000..12ba7e2 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/mapper/policy/PolicyConsultRecordMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.cms.mapper.policy; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.cms.domain.policy.PolicyConsultRecord; + +public interface PolicyConsultRecordMapper extends BaseMapper { + + int insert(PolicyConsultRecord policyConsultRecord); +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IIndustryService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IIndustryService.java index 1101b5a..41612c4 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IIndustryService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/IIndustryService.java @@ -61,4 +61,10 @@ public interface IIndustryService void importData(); + /** + * 查询第一级行业大类 + * + * @return 行业集合 + */ + public List selectFirstLevelIndustryList(); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java index 037ca8c..d92469d 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java @@ -41,7 +41,7 @@ import java.util.stream.Collectors; /** * 实体模板Service业务层处理 - * + * * @author ruoyi */ @Service @@ -607,7 +607,7 @@ public class ESJobSearchImpl implements IESJobSearchService // 薪资范围筛选:兼容前端字段 salaryMin/salaryMax 和 minSalary/maxSalary Long userMinSalary = Objects.nonNull(esJobSearch.getSalaryMin()) ? esJobSearch.getSalaryMin() : esJobSearch.getMinSalary(); Long userMaxSalary = Objects.nonNull(esJobSearch.getSalaryMax()) ? esJobSearch.getSalaryMax() : esJobSearch.getMaxSalary(); - + // 岗位最高薪资必须在用户筛选范围内 // 条件:岗位最大薪资 <= 用户最大薪资 AND 岗位最大薪资 >= 用户最小薪资 if(Objects.nonNull(userMinSalary) && Objects.nonNull(userMaxSalary)){ @@ -828,17 +828,17 @@ public class ESJobSearchImpl implements IESJobSearchService public EsPageInfo aiList(ESJobSearch jobQuery) { Integer pageNum = jobQuery.getCurrent(); Integer pageSize = jobQuery.getPageSize(); - + // 第一次查询:包含区域条件 EsPageInfo result = doAiListQuery(jobQuery, pageNum, pageSize, true); - + // 降级查询:如果没有找到岗位且有区域条件,忽略区域重新查询 - if ((result.getList() == null || result.getList().isEmpty()) + if ((result.getList() == null || result.getList().isEmpty()) && (hasText(jobQuery.getArea()) || jobQuery.getJobLocationAreaCode() != null)) { logger.info("AI岗位查询降级:忽略区域条件重新查询"); result = doAiListQuery(jobQuery, pageNum, pageSize, false); } - + return result; } @@ -851,7 +851,7 @@ public class ESJobSearchImpl implements IESJobSearchService */ private EsPageInfo doAiListQuery(ESJobSearch jobQuery, Integer pageNum, Integer pageSize, boolean includeArea) { LambdaEsQueryWrapper wrapper = new LambdaEsQueryWrapper<>(); - + if(hasText(jobQuery.getJobTitle())){ wrapper.and(a->a.match(ESJobDocument::getJobTitle,jobQuery.getJobTitle().trim(),5.0f) .or() diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/IndustryServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/IndustryServiceImpl.java index de60b98..c8182c5 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/IndustryServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/IndustryServiceImpl.java @@ -34,6 +34,9 @@ public class IndustryServiceImpl extends ServiceImpl im @Autowired private IndustryMapper industryMapper; + /** 行业根节点父ID */ + public static final Long INDUSTRY_ROOT_PARENT_ID = 0L; + /** * 查询行业 * @@ -234,4 +237,12 @@ public class IndustryServiceImpl extends ServiceImpl im } + @Override + public List selectFirstLevelIndustryList() { + Industry industry = new Industry(); + industry.setParentId(INDUSTRY_ROOT_PARENT_ID); + industry.setStatus("0"); + return industryMapper.selectIndustryList(industry); + } + } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java index a30f334..b461d45 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/JobServiceImpl.java @@ -297,6 +297,8 @@ public class JobServiceImpl extends ServiceImpl implements IJobSe .collect(Collectors.toList()); job.setFilesList(processedFiles); + //浏览量默认添加+1 + this.view(jobId); return job; } @@ -1009,6 +1011,7 @@ public class JobServiceImpl extends ServiceImpl implements IJobSe job.setCreateBy(string); job.setCreateTime(formattedDate); job.setRowId(Long.valueOf(rowWork.getId())); + job.setDataSource("2");//互联网岗位上传 jobBatch.add(job); diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java new file mode 100644 index 0000000..cb3cc65 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java @@ -0,0 +1,18 @@ +package com.ruoyi.cms.service.policy; + +import com.ruoyi.cms.domain.policy.*; + +import java.util.List; + +public interface IPolicyConsultRecordService { + + int insert(PolicyConsultSubmitDTO policyConsultSubmitDTO); + + int replyConsult(PolicyConsultReplyDTO policyConsultReplyDTO); + + int submitSatisfaction(PolicyConsultSatisfactionDTO dto); + + List getUserOwnConsultList(Long policyId, Long userId); + + List getAllConsultRecord(PolicyConsultQueryDTO queryDTO); +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java new file mode 100644 index 0000000..efe6622 --- /dev/null +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java @@ -0,0 +1,128 @@ +package com.ruoyi.cms.service.policy.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cms.domain.policy.*; +import com.ruoyi.cms.mapper.policy.PolicyConsultRecordMapper; +import com.ruoyi.cms.mapper.policy.PolicyInfoMapper; +import com.ruoyi.cms.service.policy.IPolicyConsultRecordService; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.SiteSecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +import static com.ruoyi.common.utils.DateUtils.YYYY_MM_DD_HH_MM_SS; + +@Service +public class PolicyConsultRecordServiceImpl extends ServiceImpl implements IPolicyConsultRecordService { + + @Autowired + private PolicyConsultRecordMapper policyConsultRecordMapper; + + @Autowired + private PolicyInfoMapper policyInfoMapper; + + private static final Logger log = LoggerFactory.getLogger(PolicyConsultRecordServiceImpl.class); + + @Override + public int insert(PolicyConsultSubmitDTO policyConsultSubmitDTO) { + log.info("开始执行保存..."); + PolicyInfo policyInfo = policyInfoMapper.selectPolicyInfoById(policyConsultSubmitDTO.getPolicyId()); + if (policyInfo == null) { + throw new RuntimeException("政策不存在"); + } + PolicyConsultRecord record = new PolicyConsultRecord(); + record.setUserId(policyConsultSubmitDTO.getUserId()); + record.setPolicyId(policyConsultSubmitDTO.getPolicyId()); + record.setPolicyName(policyInfo.getZcmc()); + record.setConsultChannel(policyConsultSubmitDTO.getConsultChannel()); + record.setQuestionContent(policyConsultSubmitDTO.getQuestionContent()); + record.setConsultStatus(PolicyConsultRecord.STATUS_PENDING); + record.setConsultTime(new Date()); + return policyConsultRecordMapper.insert(record); + } + + /** + * 2.管理员回复咨询 + */ + @Override + public int replyConsult(PolicyConsultReplyDTO dto) { + PolicyConsultRecord record = policyConsultRecordMapper.selectById(dto.getRecordId()); + record.setReplyContent(dto.getReplyContent()); + record.setConsultStatus(PolicyConsultRecord.STATUS_REPLIED); + record.setReplyTime(new Date()); + record.setAdminId(SecurityUtils.getUserId());//管理员id + record.setUpdateBy(SecurityUtils.getUsername());//管理员名称 + record.setUpdateTime(DateUtils.dateTimeNow(YYYY_MM_DD_HH_MM_SS)); + return policyConsultRecordMapper.updateById(record); + } + + /** + * 3.用户评价满意度(存档满意度信息) + */ + @Override + public int submitSatisfaction(PolicyConsultSatisfactionDTO dto) { + PolicyConsultRecord record = policyConsultRecordMapper.selectById(dto.getRecordId()); + // 权限校验:只能评价自己的咨询记录 + if (!record.getUserId().equals(dto.getUserId())){ + throw new RuntimeException("无权操作"); + } + record.setSatisfaction(dto.getSatisfaction()); + record.setUpdateTime(DateUtils.dateTimeNow(YYYY_MM_DD_HH_MM_SS)); + return policyConsultRecordMapper.updateById(record); + } + + /** + * 4.【重要】用户查询自己的留言咨询记录 + * 需求备注:留言板自己看自己,只能查询userId匹配的数据 + */ + @Override + public List getUserOwnConsultList(Long policyId, Long userId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PolicyConsultRecord::getUserId, userId); + // 可选:按政策筛选 + if(policyId != null){ + wrapper.eq(PolicyConsultRecord::getPolicyId, policyId); + } + wrapper.orderByDesc(PolicyConsultRecord::getConsultTime); + return policyConsultRecordMapper.selectList(wrapper); + } + + /** + * 管理员后台:查询全部咨询存档记录(用于台账查看) + */ + @Override + public List getAllConsultRecord(PolicyConsultQueryDTO query) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + // 状态 + if(StringUtils.isNotEmpty(query.getConsultStatus())){ + wrapper.eq(PolicyConsultRecord::getConsultStatus, query.getConsultStatus()); + } + // 满意度 + if(query.getSatisfaction() != null){ + wrapper.eq(PolicyConsultRecord::getSatisfaction, query.getSatisfaction()); + } + // 政策 + if(StringUtils.isNotEmpty(query.getSearchValue())){ + wrapper.like(PolicyConsultRecord::getPolicyName, query.getSearchValue()); + } + // 时间区间 + if(query.getBeginConsultTime() != null){ + wrapper.ge(PolicyConsultRecord::getConsultTime, query.getBeginConsultTime()); + } + if(query.getEndConsultTime() != null){ + wrapper.le(PolicyConsultRecord::getConsultTime, query.getEndConsultTime()); + } + // 排序:最新咨询靠前 + wrapper.orderByDesc(PolicyConsultRecord::getConsultTime); + return policyConsultRecordMapper.selectList(wrapper); + } +} diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyInfoServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyInfoServiceImpl.java index bfa252b..36c245f 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyInfoServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyInfoServiceImpl.java @@ -5,7 +5,9 @@ import com.github.pagehelper.PageInfo; import com.ruoyi.cms.domain.policy.PolicyInfo; import com.ruoyi.cms.domain.policy.PolicyInfoQuery; import com.ruoyi.cms.mapper.policy.PolicyInfoMapper; +import com.ruoyi.cms.service.IIndustryService; import com.ruoyi.cms.service.policy.IPolicyInfoService; +import com.ruoyi.common.core.domain.entity.Industry; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; @@ -29,6 +31,12 @@ public class PolicyInfoServiceImpl implements IPolicyInfoService { @Autowired private PolicyInfoMapper policyInfoMapper; + @Autowired + private IIndustryService industryService; + + + + @Override public TableDataInfo getPortalList(PolicyInfoQuery query) { PageHelper.startPage(query.getPageNum(), query.getPageSize()); @@ -58,7 +66,10 @@ public class PolicyInfoServiceImpl implements IPolicyInfoService { @Override public PolicyInfo getDetail(Long id) { - return policyInfoMapper.selectPolicyInfoById(id); + PolicyInfo policyInfo = policyInfoMapper.selectPolicyInfoById(id); + Industry industry = industryService.selectIndustryByIndustryId(Long.valueOf(policyInfo.getIndustryBigType())); + policyInfo.setIndustryBigTypeName(industry.getIndustryName()); + return policyInfo; } @Override diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java index 60916a7..58f699c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/util/remommend/JobRecommendUtil.java @@ -37,6 +37,22 @@ public class JobRecommendUtil { public static final Float EXP_MATCH_LOW1 = 2F; public static final Float EXP_MATCH_LOWER = 1F; + private static final Map CHINA_NUM_MAP; + + static { + CHINA_NUM_MAP = new HashMap<>(); + CHINA_NUM_MAP.put('零', '0'); + CHINA_NUM_MAP.put('一', '1'); + CHINA_NUM_MAP.put('二', '2'); + CHINA_NUM_MAP.put('三', '3'); + CHINA_NUM_MAP.put('四', '4'); + CHINA_NUM_MAP.put('五', '5'); + CHINA_NUM_MAP.put('六', '6'); + CHINA_NUM_MAP.put('七', '7'); + CHINA_NUM_MAP.put('八', '8'); + CHINA_NUM_MAP.put('九', '9'); + } + // =====================基础计算方法===================== /** @@ -48,17 +64,62 @@ public class JobRecommendUtil { if (StrUtil.isBlank(startDateStr)) { return 0; } - LocalDate start = LocalDate.parse(startDateStr + "-01"); + LocalDate start = parseToFirstDayOfMonth(startDateStr); LocalDate end; if (StrUtil.isBlank(endDateStr)) { end = LocalDate.now(); } else { - end = LocalDate.parse(endDateStr + "-01"); + end = parseToFirstDayOfMonth(endDateStr); } Period period = Period.between(start, end); return period.getYears() * 12 + period.getMonths(); } + /** + * 兼容两种格式:yyyy-MM / yyyy-MM-dd,返回当月1号 + */ + private static LocalDate parseToFirstDayOfMonth(String dateStr) { + try { + String source = dateStr.trim(); + //中文年份转阿拉伯数字:二零一六 → 2016 + source = convertChinaYearToNum(source); + + LocalDate date; + if (source.matches("^\\d{4}$")) { + // 仅年份 2016 → 2016-01-01 + date = LocalDate.parse(source + "-01-01"); + } else if (source.matches("^\\d{4}-\\d{2}$")) { + // yyyy-MM + date = LocalDate.parse(source + "-01"); + } else if (source.matches("^\\d{4}-\\d{2}-\\d{2}$")) { + // yyyy-MM-dd + date = LocalDate.parse(source); + } else { + throw new IllegalArgumentException("无法识别日期格式:" + dateStr); + } + return date.withDayOfMonth(1); + } catch (Exception e) { + throw new IllegalArgumentException("日期解析失败,原始值:" + dateStr + + ",支持格式:2016、2016-09、2016-09-09、二零一六", e); + } + } + + /** + * 中文年份字符串转数字年份 + * 例:二零一六 → 2016;二零二五-03 保留后面横杠 + */ + private static String convertChinaYearToNum(String str) { + StringBuilder sb = new StringBuilder(); + for (char c : str.toCharArray()) { + if (CHINA_NUM_MAP.containsKey(c)) { + sb.append(CHINA_NUM_MAP.get(c)); + } else { + sb.append(c); + } + } + return sb.toString(); + } + /** * 计算全部工作经历总月数(简单累加,不处理时间重叠) */ diff --git a/ruoyi-bussiness/src/main/resources/mapper/app/CompanyMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/app/CompanyMapper.xml index d66b3c1..b9afc71 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/app/CompanyMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/app/CompanyMapper.xml @@ -44,16 +44,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select="selectCompanyContactsById" + column="company_id"/> - - - - + + + + + + select company_id, name, location, industry, scale, del_flag, create_by, create_time, update_by, update_time, remark,code,description,nature,company_nature,total_recruitment,registered_address,contact_person,contact_person_phone,is_abnormal,not_pass_reason,status,case when status='2' then update_time else null end reject_time,is_imp_company,imp_company_type,enterprise_type,legal_person,legal_id_card,legal_phone,is_hrs, (select count(1) @@ -155,10 +163,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and fc.del_flag = '0' and fc.review_status = '1' and f.end_time < CURRENT_TIMESTAMP - and coalesce(a.attendance_status, '0') <> '1') as missed_outdoor_fair_count, - cct.contact_person as con_contact_person,cct.contact_person_phone as con_contact_person_phone, - cct.company_id as con_company_id,cct.id as con_company_contact_id from company cp - left join company_contact cct on cp.company_id=cct.company_id and cct.del_flag='0' + and coalesce(a.attendance_status, '0') <> '1') as missed_outdoor_fair_count + from company cp cp.del_flag = '0' and cp.name like concat('%', cast(#{name, jdbcType=VARCHAR} as varchar), '%') and cp.location = #{location} @@ -250,9 +256,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and fc.review_status = '1' and f.end_time < CURRENT_TIMESTAMP and coalesce(a.attendance_status, '0') <> '1') as missed_outdoor_fair_count, - su.lc_userid,su.user_id,cct.contact_person as con_contact_person,cct.contact_person_phone as con_contact_person_phone,cct.company_id as con_company_id from company t + su.lc_userid,su.user_id from company t left join sys_user su on t.code=su.id_card and su.del_flag='0' - left join company_contact cct on t.company_id=cct.company_id and cct.del_flag='0' t.del_flag = '0' and su.lc_userid is not null and t.name like concat('%', cast(#{name, jdbcType=VARCHAR} as varchar), '%') and t.scale = #{scale} @@ -328,4 +333,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY f.end_time DESC, f.id DESC + + + + select company_id, name, location, industry, scale, del_flag, create_by, create_time, update_by, update_time, remark,code,description,nature,company_nature,total_recruitment,registered_address,contact_person,contact_person_phone,is_abnormal,not_pass_reason,status,case when status='2' then update_time else null end reject_time,is_imp_company,imp_company_type,enterprise_type,legal_person,legal_id_card,legal_phone,is_hrs from company cp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyConsultRecordMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyConsultRecordMapper.xml new file mode 100644 index 0000000..2527093 --- /dev/null +++ b/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyConsultRecordMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select id, user_id, admin_id, policy_id, consult_channel, question_content, reply_content, + consult_status, consult_time, reply_time, satisfaction, create_by, update_time + from policy_consult_record + + + + insert into policy_consult_record ( + user_id, admin_id, policy_id, consult_channel, question_content, + reply_content, consult_status, consult_time, reply_time, + satisfaction, create_by, create_time, update_time, del_flag, remark + ) values ( + #{userId}, #{adminId}, #{policyId}, #{consultChannel}, #{questionContent}, + #{replyContent}, #{consultStatus}, #{consultTime}, #{replyTime}, + #{satisfaction}, #{createBy}, now(), now(), '0', #{remark} + ) + + \ No newline at end of file diff --git a/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyInfoMapper.xml b/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyInfoMapper.xml index 980c371..884de50 100644 --- a/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyInfoMapper.xml +++ b/ruoyi-bussiness/src/main/resources/mapper/policy/PolicyInfoMapper.xml @@ -26,17 +26,28 @@ + + + + + + + + + - select id, zcmc, zclx, zc_level, source_unit, accept_unit, publish_time, view_num, create_time, policy_tag, status,policy_category + select id, zcmc, zclx, zc_level, source_unit, accept_unit, publish_time, view_num, create_time, policy_tag, status,policy_category,industry_big_type, + doc_no,effective_time,expire_time,policy_background,policy_purpose,policy_clause,implement_rule,email from policy_info select id, zcmc, zclx, zc_level, source_unit, accept_unit, publish_time, zc_content, subsidy_standard, handle_channel, apply_condition, - file_url, file_name, view_num, create_by, create_time, update_by, update_time, remark, policy_tag, status,policy_category + file_url, file_name, view_num, create_by, create_time, update_by, update_time, remark, policy_tag, status,policy_category,industry_big_type, + doc_no,effective_time,expire_time,policy_background,policy_purpose,policy_clause,implement_rule,email from policy_info @@ -78,11 +89,13 @@ insert into policy_info ( zcmc, zclx, zc_level, source_unit, accept_unit, publish_time, zc_content, subsidy_standard, handle_channel, apply_condition, - file_url, file_name, view_num, create_by, create_time, del_flag, remark, policy_tag, status,policy_category + file_url, file_name, view_num, create_by, create_time, del_flag, remark, policy_tag, status,policy_category,industry_big_type, + doc_no,effective_time,expire_time,policy_background,policy_purpose,policy_clause,implement_rule,email ) values ( #{zcmc}, #{zclx}, #{zcLevel}, #{sourceUnit}, #{acceptUnit}, #{publishTime}, #{zcContent}, #{subsidyStandard}, #{handleChannel}, #{applyCondition}, - #{fileUrl}, #{fileName}, #{viewNum}, #{createBy}, now(), '0', #{remark}, #{policyTag}, #{status},#{policyCategory} + #{fileUrl}, #{fileName}, #{viewNum}, #{createBy}, now(), '0', #{remark}, #{policyTag}, #{status},#{policyCategory},#{industryBigType}, + #{docNo}, #{effectiveTime}, #{expireTime}, #{policyBackground}, #{policyPurpose}, #{policyClause}, #{implementRule}, #{email} ) @@ -105,6 +118,15 @@ policy_tag = #{policyTag}, status = #{status}, policy_category = #{policyCategory}, + industry_big_type = #{industryBigType}, + doc_no = #{docNo}, + effective_time = #{effectiveTime}, + expire_time = #{expireTime}, + policy_background = #{policyBackground}, + policy_purpose = #{policyPurpose}, + policy_clause = #{policyClause}, + implement_rule = #{implementRule}, + email = #{email}, update_by = #{updateBy}, update_time = now() diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java index 192a017..2d995ae 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Company.java @@ -143,6 +143,12 @@ public class Company extends BaseEntity @ApiModelProperty("是否人力资源机构(Y是,N否)") private String isHrs; + @ApiModelProperty("省") + private String companyProvince; + + @ApiModelProperty("市") + private String companyCity; + /** * 岗位列表 */ diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java index cd5fb9b..22f37b7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java @@ -300,6 +300,8 @@ public class SsoService { company.setNature(object.getString("entType")); company.setDescription(object.getString("entIntro")); company.setIsHrs(object.getString("isServiceProvider"));//是否是人力资源机构 + company.setCompanyProvince(object.getString("entProvince")); + company.setCompanyCity(object.getString("entCity")); // company.setScale(object.getString("entSize")); //添加联系人 CompanyContact contact=new CompanyContact();