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);
|
||||
|
||||
int batchInsert(List<CompanyContact> list);
|
||||
|
||||
int batchUpdate(List<CompanyContact> list);
|
||||
}
|
||||
|
||||
@@ -14,5 +14,7 @@ import java.util.List;
|
||||
public interface CompanyContactService {
|
||||
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
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
|
||||
@@ -19,4 +23,20 @@ public class CompanyContactServiceImpl extends ServiceImpl<CompanyContactMapper,
|
||||
public List<CompanyContact> getSelectList(CompanyContact 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.StringUtil;
|
||||
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.utils.SiteSecurityUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
@@ -438,7 +439,14 @@ public class ESJobSearchImpl implements IESJobSearchService
|
||||
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);
|
||||
}
|
||||
return wrapper;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.ruoyi.cms.util;
|
||||
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -15,4 +13,8 @@ public class ListUtil {
|
||||
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 String IS_COMPANY_USER = "0";
|
||||
|
||||
public static Boolean isEmptyOrNull(String s){
|
||||
if(Objects.isNull(s)){return true;}
|
||||
return s.isEmpty();
|
||||
|
||||
@@ -49,4 +49,44 @@
|
||||
</foreach>
|
||||
</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>
|
||||
|
||||
Reference in New Issue
Block a user