联系人管理功能模块开发

This commit is contained in:
梁琦涛
2021-08-27 10:27:52 +08:00
parent 804c81f6e9
commit 3633452576
3 changed files with 54 additions and 21 deletions
@@ -17,4 +17,12 @@ public class PayContactsManagementCommon {
* 报名新增(1:是,0:否)
*/
public final static Integer SIGNING_UP0 = 0;
/**
* 性别(1:男,2:女)
*/
public final static Integer GENDER1 = 1;
/**
* 性别(1:男,2:女)
*/
public final static Integer GENDER2 = 2;
}
@@ -18,7 +18,9 @@ import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.common.PayContactsManagementCommon;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@@ -47,6 +49,8 @@ import io.swagger.annotations.ApiOperation;
public class PayContactsManagementController extends JeroController<PayContactsManagement, IPayContactsManagementService> {
@Autowired
private IPayContactsManagementService payContactsManagementService;
@Autowired
private IPayCompanyManagementService payCompanyManagementService;
/**
* 分页列表查询
@@ -69,12 +73,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!StringUtils.isBlank(payContactsManagement.getCompanyName()) && payContactsManagement.getCompanyName().length() > 50){
return Result.error("企业名称长度应小于50个字符!");
}
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
Pattern pattern = Pattern.compile("^1(3|4|5|7|8)\\d{9}$");
Matcher matcher = pattern.matcher(payContactsManagement.getPhone());
if(!matcher.matches()){
return Result.error("手机号输入错误!");
}
if(!StringUtils.isBlank(payContactsManagement.getPhone()) && payContactsManagement.getPhone().length() > 11){
return Result.error("手机号长度应小于11个字符!");
}
QueryWrapper<PayContactsManagement> queryWrapper = QueryGenerator.initQueryWrapper(payContactsManagement, req.getParameterMap());
Page<PayContactsManagement> page = new Page<PayContactsManagement>(pageNo, pageSize);
@@ -182,7 +182,7 @@ public class PayContactsManagementController extends JeroController<PayContactsM
@GetMapping(value = "/queryByCompanyName")
public Result<?> queryByCompanyName(@RequestParam(name="phone",required=true) String phone) {
if(StringUtils.isBlank(phone)){
return Result.error("企业名称不能为空!");
return Result.error("手机号不能为空!");
}else{
Pattern pattern = Pattern.compile("^1(3|4|5|7|8)\\d{9}$");
Matcher matcher = pattern.matcher(phone);
@@ -215,6 +215,21 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return Result.OK(payContactsManagement);
}
/**
* 通过企业名称查询用户
*
* @param companyName 企业名称
* @return
*/
@ApiOperation(value="联系人管理-通过企业名称查询用户", notes="联系人管理-通过企业名称查询用户")
@GetMapping(value = "/queryByCompany")
public Result<?> queryByCompany(@RequestParam(name="companyName",required=true) String companyName) {
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getCompanyName,companyName);
List<PayContactsManagement> list = payContactsManagementService.list(queryWrapper);
return Result.OK(list);
}
/**
* 导出excel
*
@@ -265,14 +280,15 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!CollectionUtils.isEmpty(list)){
List<PayContactsManagement> listSigning = new ArrayList<>();
List<PayContactsManagement> listRemove = new ArrayList<>();
List<PayContactsManagement> listAll = payContactsManagementService.list();
List<PayContactsManagement> listContactsAll = payContactsManagementService.list();
List<PayCompanyManagement> listCompanyAll = payCompanyManagementService.list();
List<String> listContacts = new ArrayList<>();
StringBuilder msg = new StringBuilder();
list.forEach(p->{
int count = list.indexOf(p);
// 校验 表中是否存在企业名称
if(!CollectionUtils.isEmpty(listAll)){
List<PayContactsManagement> listCompanyEquals = listAll.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList());
// 校验 表中是否存手机号
if(!CollectionUtils.isEmpty(listContactsAll)){
List<PayContactsManagement> listCompanyEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listCompanyEquals)){
// 已存在数据来源是报名,变更来源为管理端,替换掉数据
if(!Objects.equals(listCompanyEquals.get(0).getDataSource(),PayContactsManagementCommon.DATA_SOURCE2)){
@@ -282,14 +298,14 @@ public class PayContactsManagementController extends JeroController<PayContactsM
listSigning.add(payContactsManagement);
listRemove.add(p);
}
msg.append("").append(count + 3).append("行:企业名称已经存在,请修改。</br>");
msg.append("").append(count + 3).append("行:手机号已经存在,请修改。</br>");
}
}
// 校验excel表中是否存在重复企业名称
if(listContacts.contains(p.getCompanyName())){
msg.append("").append(count + 3).append(" 行:企业名称在excel中重复,请修改。</br>");
// 校验excel表中是否存在重复手机号
if(listContacts.contains(p.getPhone())){
msg.append("").append(count + 3).append(" 行:手机号在excel中重复,请修改。</br>");
}
listContacts.add(p.getCompanyName());
listContacts.add(p.getPhone());
p.setDataSource(PayContactsManagementCommon.DATA_SOURCE1);
p.setSigningUp(PayContactsManagementCommon.SIGNING_UP0);
// 校验字段值
@@ -297,6 +313,15 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!StringUtils.isBlank(s)){
msg.append(s);
}
// 根据企业名称获取企业id
if(!CollectionUtils.isEmpty(listCompanyAll)){
List<PayCompanyManagement> listCompany = listCompanyAll.stream().filter(p2->Objects.equals(p2.getCompanyName(),p.getCompanyName())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listCompany)){
p.setCompanyId(listCompany.get(0).getId());
}else{
msg.append("").append(count + 3).append(" 行:企业名称不存在,请修改。</br>");
}
}
});
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
@@ -5,6 +5,7 @@ import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@@ -36,15 +37,13 @@ public class PayContactsManagement implements Serializable {
private String id;
/**企业id*/
@ApiModelProperty(value = "企业id")
@NotEmpty(message = "企业id不能为空!")
@Max(32)
@Min(32)
@Size(max = 32,min = 32,message = "企业id不正确")
private String companyId;
/**企业名称*/
@Excel(name = "企业名称", width = 15)
@ApiModelProperty(value = "企业名称")
@NotEmpty(message = "企业名称不能为空!")
@Size(max = 200, message = "公司地址长度应小于200个字符")
@Size(max = 200, message = "企业名称长度应小于200个字符")
private String companyName;
/**姓名*/
@Excel(name = "姓名", width = 15)
@@ -53,10 +52,11 @@ public class PayContactsManagement implements Serializable {
@Size(max = 20, message = "姓名长度应小于20个字符")
private String name;
/**性别(1:男,2:女)*/
@Excel(name = "性别", width = 15)
@Excel(name = "性别", width = 15,dicCode="sex")
@ApiModelProperty(value = "性别")
@Max(2)
@Min(1)
@Dict(dicCode = "sex")
private Integer gender;
/**职务*/
@Excel(name = "职务", width = 15)