1.修改推荐岗位时,es查询角色时企业时,排除jobIds,企业用户则不排除
2.添加企业联系人新增和修改问题
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
package com.ruoyi.cms.controller.app;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.cms.domain.vo.CompanyContactVo;
|
||||||
|
import com.ruoyi.cms.service.CompanyContactService;
|
||||||
|
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.CompanyContact;
|
||||||
|
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.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司联系人
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @email
|
||||||
|
* @date 2025-09-30 15:57:06
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/companycontact")
|
||||||
|
@Api(tags = "移动端:公司联系人")
|
||||||
|
public class AppCompanyContactController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private CompanyContactService companyContactService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表
|
||||||
|
*/
|
||||||
|
@ApiOperation("公司联系人列表")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(CompanyContact companyContact){
|
||||||
|
List<CompanyContact> list=companyContactService.getSelectList(companyContact);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BussinessLog(title = "移动端保存企业联系人")
|
||||||
|
@PostMapping("/batchInsertUpdate")
|
||||||
|
public AjaxResult batchInsertUpdate(@RequestBody CompanyContactVo contactVo)
|
||||||
|
{
|
||||||
|
if (contactVo == null) {
|
||||||
|
return AjaxResult.error("请求参数不能为空");
|
||||||
|
}
|
||||||
|
List<CompanyContact> contactList = contactVo.getCompanyContactList();
|
||||||
|
if (ListUtil.isListObjectEmptyOrNull(contactList)) { // 假设 ListUtil 工具类判断 null 或空集合
|
||||||
|
return AjaxResult.error("请至少填写一条联系人信息");
|
||||||
|
}
|
||||||
|
companyContactService.insertUpadteCompanyContact(contactList);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.ruoyi.cms.domain.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.entity.CompanyContact;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CompanyContactVo {
|
||||||
|
|
||||||
|
private List<CompanyContact> companyContactList;
|
||||||
|
}
|
||||||
@@ -17,4 +17,6 @@ public interface CompanyContactMapper extends BaseMapper<CompanyContact> {
|
|||||||
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
||||||
|
|
||||||
int batchInsert(List<CompanyContact> list);
|
int batchInsert(List<CompanyContact> list);
|
||||||
|
|
||||||
|
int batchUpdate(List<CompanyContact> list);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,5 +14,7 @@ import java.util.List;
|
|||||||
public interface CompanyContactService {
|
public interface CompanyContactService {
|
||||||
|
|
||||||
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
List<CompanyContact> getSelectList(CompanyContact companyContact);
|
||||||
|
|
||||||
|
int insertUpadteCompanyContact(List<CompanyContact> list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,13 @@ import com.ruoyi.cms.mapper.CompanyContactMapper;
|
|||||||
import com.ruoyi.cms.service.CompanyContactService;
|
import com.ruoyi.cms.service.CompanyContactService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -19,4 +23,20 @@ public class CompanyContactServiceImpl extends ServiceImpl<CompanyContactMapper,
|
|||||||
public List<CompanyContact> getSelectList(CompanyContact companyContact){
|
public List<CompanyContact> getSelectList(CompanyContact companyContact){
|
||||||
return companyContactMapper.getSelectList(companyContact);
|
return companyContactMapper.getSelectList(companyContact);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public int insertUpadteCompanyContact(List<CompanyContact> list) {
|
||||||
|
Map<Boolean, List<CompanyContact>> partitioned = list.stream()
|
||||||
|
.collect(Collectors.partitioningBy(it -> it.getId() != null));
|
||||||
|
List<CompanyContact> add=partitioned.get(false);
|
||||||
|
List<CompanyContact> udp=partitioned.get(true);
|
||||||
|
if(add.size()>0){
|
||||||
|
companyContactMapper.batchInsert(add);
|
||||||
|
}
|
||||||
|
if(udp.size()>0){
|
||||||
|
companyContactMapper.batchUpdate(udp);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.ruoyi.cms.service.IESJobSearchService;
|
|||||||
import com.ruoyi.cms.util.ListUtil;
|
import com.ruoyi.cms.util.ListUtil;
|
||||||
import com.ruoyi.cms.util.StringUtil;
|
import com.ruoyi.cms.util.StringUtil;
|
||||||
import com.ruoyi.common.core.domain.entity.Company;
|
import com.ruoyi.common.core.domain.entity.Company;
|
||||||
|
import com.ruoyi.common.core.domain.model.LoginSiteUser;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.utils.SiteSecurityUtils;
|
import com.ruoyi.common.utils.SiteSecurityUtils;
|
||||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||||
@@ -438,7 +439,14 @@ public class ESJobSearchImpl implements IESJobSearchService
|
|||||||
wrapper.orderByDesc(ESJobDocument::getMaxSalary);
|
wrapper.orderByDesc(ESJobDocument::getMaxSalary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!ListUtil.isListEmptyOrNull(jobIds)){
|
//企业用户排除es去除jobIds
|
||||||
|
boolean needExclude = true;
|
||||||
|
if (SiteSecurityUtils.isLogin()) {
|
||||||
|
LoginSiteUser siteUser = SiteSecurityUtils.getLoginSiteUser();
|
||||||
|
AppUser appUser = siteUser.getUser();
|
||||||
|
needExclude = !StringUtil.IS_COMPANY_USER.equals(appUser.getIsCompanyUser());
|
||||||
|
}
|
||||||
|
if(needExclude && !ListUtil.isListEmptyOrNull(jobIds)){
|
||||||
wrapper.not().in(ESJobDocument::getJobId, jobIds);
|
wrapper.not().in(ESJobDocument::getJobId, jobIds);
|
||||||
}
|
}
|
||||||
return wrapper;
|
return wrapper;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
package com.ruoyi.cms.util;
|
package com.ruoyi.cms.util;
|
||||||
|
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -15,4 +13,8 @@ public class ListUtil {
|
|||||||
return s.isEmpty();
|
return s.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isListObjectEmptyOrNull(List<?> list) {
|
||||||
|
// 先判断 null,再判断空集合(短路逻辑避免 NPE)
|
||||||
|
return list == null || list.isEmpty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ public class StringUtil {
|
|||||||
|
|
||||||
public static final Long COMPANY_ADMIN_ROLE_KEY = 100L;
|
public static final Long COMPANY_ADMIN_ROLE_KEY = 100L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业用户
|
||||||
|
*/
|
||||||
|
public static final String IS_COMPANY_USER = "0";
|
||||||
|
|
||||||
public static Boolean isEmptyOrNull(String s){
|
public static Boolean isEmptyOrNull(String s){
|
||||||
if(Objects.isNull(s)){return true;}
|
if(Objects.isNull(s)){return true;}
|
||||||
return s.isEmpty();
|
return s.isEmpty();
|
||||||
|
|||||||
@@ -49,4 +49,44 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<update id="batchUpdate" parameterType="java.util.List">
|
||||||
|
UPDATE company_contact
|
||||||
|
SET
|
||||||
|
contact_person = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
WHEN id = #{item.id} THEN #{item.contactPerson}
|
||||||
|
</foreach>
|
||||||
|
ELSE contact_person
|
||||||
|
END,
|
||||||
|
contact_person_phone = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
WHEN id = #{item.id} THEN #{item.contactPersonPhone}
|
||||||
|
</foreach>
|
||||||
|
ELSE contact_person_phone
|
||||||
|
END,
|
||||||
|
update_by = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
WHEN id = #{item.id} THEN #{item.updateBy}
|
||||||
|
</foreach>
|
||||||
|
ELSE update_by
|
||||||
|
END,
|
||||||
|
update_time = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
WHEN id = #{item.id} THEN NOW()
|
||||||
|
</foreach>
|
||||||
|
ELSE update_time
|
||||||
|
END,
|
||||||
|
remark = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
WHEN id = #{item.id} THEN #{item.remark}
|
||||||
|
</foreach>
|
||||||
|
ELSE remark
|
||||||
|
END
|
||||||
|
WHERE
|
||||||
|
id IN
|
||||||
|
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||||
|
#{item.id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user