This commit is contained in:
zhengziru
2025-09-13 11:04:23 +08:00
@@ -21,6 +21,7 @@ import org.nutz.lang.util.NutMap;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@IocBean(args = {"refer:dao"})
public class ClientActivityServiceImpl extends BaseServiceImpl<Activity> implements ClientActivityService {
@@ -46,12 +47,33 @@ public class ClientActivityServiceImpl extends BaseServiceImpl<Activity> impleme
@Override
public void signUp(ClientActivitySignVO signVO) {
List<ActUser> userList = signVO.getUserList();
// 检查是否有重复的身份证号
boolean hasDuplicateIdCard = userList.stream()
.collect(Collectors.groupingBy(ActUser::getIdCard, Collectors.counting()))
.values().stream()
.anyMatch(count -> count > 1);
// 检查是否有重复的手机号
boolean hasDuplicatePhone = userList.stream()
.collect(Collectors.groupingBy(ActUser::getPhone, Collectors.counting()))
.values().stream()
.anyMatch(count -> count > 1);
if(hasDuplicateIdCard){
throw new BaseException("身份证号重复");
}
if(hasDuplicatePhone){
throw new BaseException("手机号重复");
}
LocalDateTime now = LocalDateTime.now();
Client_user selfUser = dao().fetch(Client_user.class, StpClientUtil.STP.getLoginIdAsLong());
dao().fetchLinks(selfUser, "unit");
List<ActUser> userList = signVO.getUserList();
// 首先检查报名人员是否已经在用户表中
for (ActUser user : userList) {
Client_user clientUser = dao().fetch(Client_user.class, Cnd.where(Client_user::getIdCard, "=", user.getIdCard()).or(Client_user::getPhone, "=", user.getPhone()));