Merge branch 'main' of ssh://124.243.245.42:2222/zkr/shz-backend

This commit is contained in:
2026-07-20 20:49:25 +08:00
9 changed files with 109 additions and 11 deletions

View File

@@ -3,17 +3,22 @@ package com.ruoyi.cms.controller.app;
import com.ruoyi.cms.domain.vo.CompanyContactVo;
import com.ruoyi.cms.service.CompanyContactService;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.cms.util.ListUtil;
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.entity.Company;
import com.ruoyi.common.core.domain.entity.CompanyContact;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@@ -30,6 +35,8 @@ import java.util.List;
public class AppCompanyContactController extends BaseController {
@Autowired
private CompanyContactService companyContactService;
@Autowired
private ICompanyService iCompanyService;
/**
* 列表
@@ -37,6 +44,18 @@ public class AppCompanyContactController extends BaseController {
@ApiOperation("公司联系人列表")
@GetMapping("/list")
public TableDataInfo list(CompanyContact companyContact){
if (SiteSecurityUtils.isLogin()) {
Long userId = SiteSecurityUtils.getUserId();
if(userId != null){
String idCard = SiteSecurityUtils.getIdCard();
if (StringUtils.isNotBlank(idCard)) {
Company company = iCompanyService.queryCodeCompany(idCard);
if(company == null){
return getDataTable(new ArrayList<>());
}
}
}
}
List<CompanyContact> list=companyContactService.getSelectList(companyContact);
return getDataTable(list);
}

View File

@@ -2,10 +2,12 @@ package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.domain.InterviewInvitation;
import com.ruoyi.cms.domain.vo.InterviewInvitationVO;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.cms.service.InterviewInvitationService;
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.SecurityUtils;
@@ -16,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@@ -32,6 +35,8 @@ import java.util.List;
public class CmsInterviewController extends BaseController {
@Autowired
private InterviewInvitationService interviewInvitationService;
@Autowired
private ICompanyService iCompanyService;
/**
* 列表
@@ -40,6 +45,21 @@ public class CmsInterviewController extends BaseController {
@PreAuthorize("@ss.hasPermi('cms:interview:list')")
@GetMapping("/list")
public TableDataInfo list(InterviewInvitation interviewInvitation){
if (SecurityUtils.isLogin()) {
Long userId = SecurityUtils.getUserId();
if(userId != null && !SecurityUtils.isAdmin(userId)){
String idCard = SecurityUtils.getIdcard();
if (StringUtils.isNotBlank(idCard)) {
Company company = iCompanyService.queryCodeCompany(idCard);
if(company == null){
return getDataTable(new ArrayList<>());
}
interviewInvitation.setCompanyId(company.getCompanyId());
//修改数字已展示状态
int i=interviewInvitationService.updateShowTotal(company.getCompanyId());
}
}
}
startPage();
List<InterviewInvitationVO> list = interviewInvitationService.getInterviewInvitationVOList(interviewInvitation);
return getDataTable(list);

View File

@@ -1,16 +1,21 @@
package com.ruoyi.cms.controller.cms;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.common.core.domain.entity.Company;
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 com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
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.ArrayList;
import java.util.List;
@@ -27,6 +32,8 @@ import java.util.List;
public class CompanyContactController extends BaseController {
@Autowired
private CompanyContactService companyContactService;
@Autowired
private ICompanyService iCompanyService;
/**
* 列表
@@ -35,8 +42,21 @@ public class CompanyContactController extends BaseController {
@PreAuthorize("@ss.hasPermi('cms:companycontact:list')")
@RequestMapping("/list")
public TableDataInfo list(CompanyContact companyContact){
if(SecurityUtils.isLogin()){
if (SecurityUtils.isLogin()) {
Long userId = SecurityUtils.getUserId();
if(userId != null && !SecurityUtils.isAdmin(userId)){
String idCard = SecurityUtils.getIdcard();
if (StringUtils.isNotBlank(idCard)) {
Company company = iCompanyService.queryCodeCompany(idCard);
if(company == null){
return getDataTable(new ArrayList<>());
}
}
}
}
}
List<CompanyContact> list=companyContactService.getSelectList(companyContact);
return getDataTable(list);
}
}

View File

@@ -111,4 +111,7 @@ public class InterviewInvitation extends BaseEntity {
@ApiModelProperty("是否已读0未读1已读")
private String isRead;
@ApiModelProperty("是否已读0未展示1已展示")
private String isShow;
}

View File

@@ -36,4 +36,6 @@ public interface InterviewInvitationService {
int updateReadAll(Long userId);
InviteCountDTO selectMsyyhbs(String idCard);
int updateShowTotal(Long companyId);
}

View File

@@ -343,4 +343,14 @@ public class InterviewInvitationServiceImpl implements InterviewInvitationServic
public InviteCountDTO selectMsyyhbs(String idCard){
return interviewInvitationMapper.selectMsyyhbs(idCard);
}
@Override
public int updateShowTotal(Long companyId) {
LambdaUpdateWrapper<InterviewInvitation> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.eq(InterviewInvitation::getDelFlag,"0")
.eq(InterviewInvitation::getCompanyId, companyId)
.eq(InterviewInvitation::getIsShow, "0")
.set(InterviewInvitation::getIsShow, "1");
return interviewInvitationMapper.update(null, updateWrapper);
}
}

View File

@@ -88,7 +88,7 @@
</select>
<select id="selectMsyyhbs" resultType="com.ruoyi.cms.domain.vo.InviteCountDTO">
select count(1) total,sum(case when t.status='accepted' then 1 else 0 END) jss,
select count(1) total,sum(case when t.status='accepted' and is_show='0' then 1 else 0 END) jss,
sum(case when t.status='rejected' then 1 else 0 END) jjs from interview_invitation t
INNER join company cp on t.company_id=cp.company_id
where cp.code=#{idCard}

View File

@@ -135,4 +135,19 @@ public class SiteSecurityUtils
throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);
}
}
/**
* 获取idcard
* @return
*/
public static String getIdCard(){
try
{
return getLoginSiteUser().getUser().getIdCard();
}
catch (Exception e)
{
throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);
}
}
}

View File

@@ -9,6 +9,7 @@ import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.entity.AppUser;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.common.core.domain.entity.CompanyContact;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginSiteUser;
import com.ruoyi.common.core.domain.model.LoginUser;
@@ -40,10 +41,7 @@ import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
@@ -140,7 +138,7 @@ public class SsoService {
Company company=companyService.queryCodeCompany(personCardNo);
if(company==null){
JSONObject infoJson = userJson.getJSONObject("info");
saveCompany(infoJson);
saveCompany(infoJson,webAppId, webAppSecret);
}
}
}
@@ -192,7 +190,7 @@ public class SsoService {
Company company=companyService.queryCodeCompany(personCardNo);
if(company==null){
JSONObject infoJson = userJson.getJSONObject("info");
saveCompany(infoJson);
saveCompany(infoJson,webAppId, webAppSecret);
}
}
}
@@ -265,7 +263,7 @@ public class SsoService {
Company company=companyService.queryCodeCompany(personCardNo);
if(company==null){
JSONObject infoJson = userJson.getJSONObject("info");
saveCompany(infoJson);
saveCompany(infoJson,webAppId, webAppSecret);
}
}
}
@@ -289,11 +287,12 @@ public class SsoService {
* 保存企业信息
* @param object
*/
public void saveCompany(JSONObject object){
public void saveCompany(JSONObject object,String appId,String appSecret){
String entLegalPersonName=object.getString("entLegalPersonName");
Company company=new Company();
company.setCode(object.getString("entCreditCode"));
company.setName(object.getString("entName"));
company.setLegalPerson(object.getString("entLegalPersonName"));
company.setLegalPerson(entLegalPersonName);
company.setLegalIdCard(object.getString("entLegalPersonCardNo"));
company.setLegalPhone(object.getString("entLegalPersonPhone"));
company.setIndustry(object.getString("entIndustry"));
@@ -302,8 +301,18 @@ public class SsoService {
company.setDescription(object.getString("entIntro"));
// company.setIsHrs(object.getString("isServiceProvider").equals("Y")?"0":null);//是否是人力资源机构
// company.setScale(object.getString("entSize"));
//添加联系人
CompanyContact contact=new CompanyContact();
String phone=object.getString("entAdminPhone");
if (StringUtils.isNotEmpty(phone)) {
phone = EncryptUtil.decryptByAppIdAndSecret(phone, appId, appSecret);
contact.setContactPersonPhone(phone);
}
contact.setContactPerson(entLegalPersonName);
company.setCompanyContactList(new ArrayList<>(Collections.singletonList(contact)));
companyService.insertCompany(company);
}
/**
* pc端监管端单点登录-code
* @param param